fix github issue #372 - Wizard escaping dungeon

If the Wizard fled up the stairs on level 1 and escaped the dungeon
(which can only happen if he isn't carrying the Amulet or any of
the invocation items), the number_of_wizards counter wasn't being
decremented.  If that was the only Wizard, he couldn't be brought
back into play because he wasn't on the migrating monsters list, and
he wouldn't appear on the Plane of Earth when the hero eventually
went there.  If that was one of two, the remaining one couldn't use
Double Trouble anymore.  (I'm not sure about Earth handling in that
situation; should be moot now.)

Wizard mode blessed genocide of "*" when the Wizard is on current
level caused the same problem.

Fix by keeping the number_of_wizards counter up to date if mongone()
is called for the Wizard, handling both cases.  Also, don't let the
Wizard escape the dungeon unless he's one of two at the time, making
the first case no longer possible.

If wizard mode blessed genocide of "*" is used on the level where
the quest nemesis is present, the killed-the-nemesis feedback will
now be given.  I'm not completely convinced that this was the right
thing to do, but it only applies to wizard mode so may not matter.

Fixes #372
This commit is contained in:
PatR
2020-07-13 01:58:44 -07:00
parent 2980aaa4cb
commit 12498ffa44
3 changed files with 19 additions and 4 deletions
+5 -1
View File
@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.245 $ $NHDT-Date: 1594395803 2020/07/10 15:43:23 $
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.246 $ $NHDT-Date: 1594630713 2020/07/13 08:58:33 $
General Fixes and Modified Features
-----------------------------------
@@ -217,6 +217,10 @@ the default engraving, epitaph, and bogus monster inserted by 'makedefs -s'
when the corresponding file wasn't actually empty its first line ended
up concatenated; default portion of the bad combined entry would be
decrypted properly but the portion from the file's first line wouldn't
if the Wizard of Yendor fled up the stairs on level 1, the game would behave
as if he was still in play, but he wouldn't be on migrating monsters
list so couldn't be brought back and wouldn't appear on Plane of Earth
(stale non-zero value for context.no_of_wizards)
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository