From f4cd5ed0651e8cff9b3250ffdddfc4bd85d47274 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Mon, 6 Jan 2025 20:22:51 +0200 Subject: [PATCH] Fix vision with pushing a boulder and temp clouds remove_object cleared the vision when the last boulder was removed from a location, without considering temporary [poison] clouds. This particular case happened when pushing a boulder. --- src/mkobj.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/mkobj.c b/src/mkobj.c index e6d55fcf3..d57d8fa80 100644 --- a/src/mkobj.c +++ b/src/mkobj.c @@ -2443,9 +2443,8 @@ remove_object(struct obj *otmp) panic("remove_object: obj not on floor"); extract_nexthere(otmp, &svl.level.objects[x][y]); extract_nobj(otmp, &fobj); - /* update vision iff this was the only boulder at its spot */ - if (otmp->otyp == BOULDER && !sobj_at(BOULDER, x, y)) - unblock_point(x, y); /* vision */ + if (otmp->otyp == BOULDER) + recalc_block_point(x, y); /* vision */ if (otmp->timed) obj_timer_checks(otmp, x, y, 0); }