mapping/detection hangup handling (trunk only)
Noticed while looking at the magic mapping code: u.uinwater is
cleared during mapping and detection so that map updating isn't suppressed
due to underwater vision restrictions, and it was possible for a hangup
save to take place before that state field was reset. After restore, the
hero would end up standing on water, then fall in on the next turn. This
saves it in struct `u' rather than in a local variable, so that the stored
value is accessible during restore.
The u.uburied flag was being ignored, but presumeably it would also
impose severe vision restrictions if it ever gets implemented, so it is
now saved, temporarily cleared, and restored along with u.uinwater during
monster/object/gold/trap detection and magic mapping.
This commit is contained in:
@@ -398,6 +398,8 @@ wand/scroll/spell of light now hurts gremlins (lamp/candle light doesn't)
|
||||
ditto for hero in gremlin form (camera too)
|
||||
autosearch finds and transforms secret doors and corridors even while blind,
|
||||
but it wasn't updating the map to show them unless the hero could see
|
||||
panic save made during magic mapping or <foo> detection performed while
|
||||
underwater could put hero on top of the water after restore
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
Reference in New Issue
Block a user