From: Pasi Kallinen Date: Sat, 28 Mar 2020 13:43:00 +0000 (+0200) Subject: Fix polymorphing monster trying to dig undiggable wall X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=87513ad6bf80de5a9bbafbe145518b3fe14f569c;p=nethack 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. --- 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 */