Double Trouble trouble

From the newsgroup:  if cloned Wizard arrives out of view of the
hero (and vice versa), it will sit and wait until hero moves into
his view or until suffering some damage (usually via pet).  So if a
mob causes the clone to arrive on the far side of a wall, he might
not come into play until the hero goes to another level and some
future harassment action pulls him off the migrating monsters list.
Treat clones like the resurrected Wizard:  don't start out waiting.
This commit is contained in:
PatR
2020-05-01 12:12:47 -07:00
parent 5457cbe0e3
commit 488e045156
2 changed files with 7 additions and 1 deletions

View File

@@ -493,12 +493,15 @@ aggravate()
}
}
/* "Double Trouble" spell cast by the Wizard; caller is responsible for
only casting this when there is currently one wizard in existence;
the clone can't use it unless/until its creator has been killed off */
void
clonewiz()
{
register struct monst *mtmp2;
if ((mtmp2 = makemon(&mons[PM_WIZARD_OF_YENDOR], u.ux, u.uy, NO_MM_FLAGS))
if ((mtmp2 = makemon(&mons[PM_WIZARD_OF_YENDOR], u.ux, u.uy, MM_NOWAIT))
!= 0) {
mtmp2->msleeping = mtmp2->mtame = mtmp2->mpeaceful = 0;
if (!u.uhave.amulet && rn2(2)) { /* give clone a fake */