From 7c93acbaf8291ed3dd3a5cb49a83d1886a5b4585 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Sun, 7 Jan 2007 05:11:09 +0000 Subject: [PATCH] shopkeeper/priest movement From a bug report: shopkeeper wouldn't move to block his doorway if there was a grave at that location. Nothing supernatural; shopkeeper and temple priest movement was too specific about what sort of terrain might be present and didn't know that room floor might be replaced by a grave. --- doc/fixes34.4 | 1 + src/priest.c | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/fixes34.4 b/doc/fixes34.4 index f394ad44d..38e4f5b85 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -292,6 +292,7 @@ monster killed in midst of multi-shot volley throwing/shooting might cause freed memory to be accessed, potentially triggering a crash can't arm bear traps or land mines on Planes of Air or Water statues that "come to life" when trap activates shouldn't start out sleeping +shopkeepers and priests wouldn't step on graves put in their rooms by bones Platform- and/or Interface-Specific Fixes diff --git a/src/priest.c b/src/priest.c index 1e60d104d..09ed521c9 100644 --- a/src/priest.c +++ b/src/priest.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)priest.c 3.5 2006/12/27 */ +/* SCCS Id: @(#)priest.c 3.5 2007/01/06 */ /* Copyright (c) Izchak Miller, Steve Linhart, 1989. */ /* NetHack may be freely redistributed. See license for details. */ @@ -87,9 +87,7 @@ pick_move: for(i=0; iispriest && - levl[nx][ny].typ == ALTAR) || + if (IS_ROOM(levl[nx][ny].typ) || (mtmp->isshk && (!in_his_shop || ESHK(mtmp)->following))) { if(avoid && (info[i] & NOTONL)) -- 2.40.0