]> granicus.if.org Git - nethack/commit
fix #H7136 - iron bars vs non-diggable walls
authorPatR <rankin@nethack.org>
Tue, 25 Sep 2018 23:43:06 +0000 (16:43 -0700)
committerPatR <rankin@nethack.org>
Tue, 25 Sep 2018 23:43:06 +0000 (16:43 -0700)
commit3a62075070d4560b013ddd08f20aa7da859e6de6
tree8d607ff4ccccf310ee88f15b67d473742600f419
parentd86e9eaec405049d1e5e931f5aceb6ad6da5e307
fix #H7136 - iron bars vs non-diggable walls

Iron bars can be destroyed in some circumstances (hit by yellow
dragon breath or thrown potion of acid, being eaten by rust monser
or black pudding, or by poly'd hero in those forms) and should act
like walls for diggable/non-diggable purposes.  But they aren't
walls, so the non-diggable flag was not being set for them by the
special level loader.  Even once that was changed, they weren't
being handled consistently.  Some places checked for non-diggable
directly (zap_over_floor of acid breath, potion of acid hitting bars)
and started working as intended, others used may_dig() to check
non-diggable (poly'd hero attempting to eat iron bars) but it doesn't
handle iron bars, and still others didn't check at all (bars-eating
monster who moved onto bars location in expectation of eating those
next).
doc/fixes36.2
include/rm.h
src/hack.c
src/mon.c
src/monmove.c
src/sp_lev.c