Add vision sanity checking, fix more vision

- Add a vision sanity checking routine

- Recalc block point when digging a door for temporary clouds

- Add recalc_block_point after cvt_sdoor_to_door, because doorways
  on the Rogue level have no doors, and otherwise the sanity checking
  would complain.  This doesn't actually change how the Rogue level
  vision works, as it uses a different vision system

- Monster using a trap in a secret corridor revealed the corridor,
  but didn't unblock the vision unless you saw the location
This commit is contained in:
Pasi Kallinen
2025-01-09 17:26:58 +02:00
parent 83c0d430c9
commit 843b02ec1d
9 changed files with 40 additions and 4 deletions

View File

@@ -3707,6 +3707,7 @@ zap_map(
/* secret door gets revealed, converted into regular door */
if (ltyp == SDOOR) {
cvt_sdoor_to_door(&levl[x][y]); /* .typ = DOOR */
recalc_block_point(x, y);
newsym(x, y);
if (cansee(x, y)) {
pline("Probing reveals a secret door.");
@@ -5331,6 +5332,7 @@ zap_over_floor(
/* secret door gets revealed, converted into regular door */
if (levl[x][y].typ == SDOOR) {
cvt_sdoor_to_door(&levl[x][y]); /* .typ = DOOR */
recalc_block_point(x, y);
/* target spot will now pass closed_door() test below
(except on rogue level) */
newsym(x, y);