Skip to content

Commit 9c5fbbb

Browse files
committed
Fix: Demogorgon special door dissipation did not recalculate vision
Interestingly, the fuzzer managed to find this issue. It doesn't cause a crash, just a sanity check failure, but definitely is incorrect behavior. While touching this code, I changed the newsym() on the door's space to feel_newsym() since the message about the door vanishing is not conditional on being non-blind, and you should be able to tell the door is now gone even if you are blind.
1 parent cdfc27a commit 9c5fbbb

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

src/lock.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,8 @@ picklock(void)
212212
* conceivably trap themselves in part of the level with no keys to
213213
* escape with */
214214
set_door_iron(gx.xlock.door, FALSE);
215-
newsym(doorx, doory);
215+
feel_newsym(doorx, doory);
216+
recalc_block_point(doorx, doory);
216217
useup(gx.xlock.pick);
217218
reset_pick();
218219
}

0 commit comments

Comments
 (0)