]> granicus.if.org Git - nethack/commitdiff
Wizard strategy
authornethack.rankin <nethack.rankin>
Thu, 11 Apr 2002 02:24:15 +0000 (02:24 +0000)
committernethack.rankin <nethack.rankin>
Thu, 11 Apr 2002 02:24:15 +0000 (02:24 +0000)
     When the Wizard uses STRAT_MONSTR to get next to any monster
which is carrying the Amulet, he was actually displacing the other
monster to take its map location.  It was possible--and still is,
actually, although it takes a lot longer now--for the excessive
summoning by spell casting monsters to entirely fill up the temple
on the Sanctum level, so the Wizard would sometimes knock Moloch's
high priest right out of his temple.  And since that priest doesn't
turn hostile until you enter the temple, you might have needed to
kill a peaceful human in order to get the Amulet.

     Now when there's no elbow room in the temple, the Wizard will
stay outside instead of bumping the high priest out.

doc/fixes34.1
src/wizard.c

index ac7eaedea7d459dee5ddd5e1cfe83215104b9e25..f036f508fb6379fe75e945e0b4a1adde6d256993 100644 (file)
@@ -64,6 +64,8 @@ attempting to dig iron bars will wake nearby monsters instead of yielding
 autodig won't accept iron bars as candidate location
 allow knight to retaliate for all thefts except those "you gladly hand over..."
 randomize starting position on goal level for M, P, and S quests
+prevent the Wizard of Yendor from displacing the high priest of Moloch out of
+       the Sanctum's temple
 
 
 Platform- and/or Interface-Specific Fixes
index c9d00a0189b96e44bf365ade174ff23c358ebe5d..56aa1052a1ca85c8cd81d599c32a7abb9f583b85 100644 (file)
@@ -1,4 +1,4 @@
-/*     SCCS Id: @(#)wizard.c   3.4     2001/12/06      */
+/*     SCCS Id: @(#)wizard.c   3.4     2002/04/09      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -361,7 +361,7 @@ tactics(mtmp)
                        return(0);
                    }
                } else { /* a monster has it - 'port beside it. */
-                   (void) mnearto(mtmp, tx, ty, TRUE);
+                   (void) mnearto(mtmp, tx, ty, FALSE);
                    return(0);
                }
            }