Skip to content

Commit

Permalink
covetous mons vs temple priests (trunk only)
Browse files Browse the repository at this point in the history
     Prevent monsters who kill other monsters to obtain the Amulet from
targetting a priest inside his temple.  Blocks players from just staying
on the Sanctum stairs while a teleporting arch-lich or Asmodeus fetchs the
Amulet from Moloch's high priest for them.  A previous post-3.4.3 change
prevented monsters from targetting the Wizard; this extends that (and
assumes that we can ignore the possibility of other temple priests ever
handling the Amulet).  The earlier patch went into the branch code, but
inhistemple() isn't available there so this one is trunk only.
  • Loading branch information
nethack.rankin committed Sep 13, 2007
1 parent 01f954a commit 9df113a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
1 change: 1 addition & 0 deletions doc/fixes35.0
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,7 @@ some variations of attempting to use open or close commands on a drawbridge
tin contents can now sometimes be accessed on the same turn that the tin
starts being opened; when not, the opening feedback is more accurate
Nth adjustment of feedback when observing a pet eating
monsters who want the Amulet won't attack temple priests to try to get it


Platform- and/or Interface-Specific Fixes
Expand Down
8 changes: 5 additions & 3 deletions src/wizard.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SCCS Id: @(#)wizard.c 3.5 2007/04/15 */
/* SCCS Id: @(#)wizard.c 3.5 2007/08/26 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */

Expand Down Expand Up @@ -226,8 +226,10 @@ target_on(mask, mtmp)
else if((otmp = on_ground(otyp)))
return(STRAT(STRAT_GROUND, otmp->ox, otmp->oy, mask));
else if ((mtmp2 = other_mon_has_arti(mtmp, otyp)) != 0 &&
/* avoid targetting the Wizard for the Amulet */
(!mtmp2->iswiz || otyp != AMULET_OF_YENDOR))
/* when seeking the Amulet, avoid targetting the Wizard
or temple priests (to protect Moloch's high priest) */
(otyp != AMULET_OF_YENDOR ||
(!mtmp2->iswiz && !inhistemple(mtmp2))))
return(STRAT(STRAT_MONSTR, mtmp2->mx, mtmp2->my, mask));
}
return (unsigned long)STRAT_NONE;
Expand Down

0 comments on commit 9df113a

Please sign in to comment.