From 87513ad6bf80de5a9bbafbe145518b3fe14f569c Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Sat, 28 Mar 2020 15:43:00 +0200 Subject: [PATCH] Fix polymorphing monster trying to dig undiggable wall Not sure if this can actually happen in a non-modified game, but my fuzz testing stopped here, so deal with it. If a polymorphing monster turns into an earth elemental or other wall-phasing monster, it can wander into a non-diggable area, and then turn into a tunneling monster. This caused mdig_tunnel to issue an impossible. --- src/monmove.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/monmove.c b/src/monmove.c index e88ab0464..923e373ec 100644 --- a/src/monmove.c +++ b/src/monmove.c @@ -1483,7 +1483,8 @@ register int after; } /* possibly dig */ - if (can_tunnel && mdig_tunnel(mtmp)) + if (can_tunnel && may_dig(mtmp->mx, mtmp->my) + && mdig_tunnel(mtmp)) return 2; /* mon died (position already updated) */ /* set also in domove(), hack.c */ -- 2.50.1