From 4b270099ecbd6745e8c23279727d8a0a584ec344 Mon Sep 17 00:00:00 2001 From: Patric Mueller Date: Mon, 17 Feb 2020 10:27:38 +0100 Subject: [PATCH] Stop monsters from interacting with protected items on the floor This fixes the issue of chests with the wand of wishing on the castle level being stolen by soldiers. Commit b12ea03d1 revealed that searches_for_item() didn't check for onscary() and allowed monsters to pick up items even though they were protected by a scroll of scare monsters. --- src/muse.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/muse.c b/src/muse.c index ab5f41668..0d3847c76 100644 --- a/src/muse.c +++ b/src/muse.c @@ -2174,6 +2174,13 @@ struct obj *obj; { int typ = obj->otyp; + /* don't let monsters interact with protected items on the floor */ + if ((obj->where == OBJ_FLOOR) + && (obj->ox == mon->mx) && (obj->oy == mon->my) + && onscary(obj->ox, obj->oy, mon)) { + return FALSE; + } + if (is_animal(mon->data) || mindless(mon->data) || mon->data == &mons[PM_GHOST]) /* don't loot bones piles */ return FALSE;