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

@@ -541,6 +541,7 @@ dig(void)
if (IS_DOOR(lev->typ) && (lev->doormask & D_TRAPPED)) {
lev->doormask = D_NODOOR;
b_trapped("door", NO_PART);
recalc_block_point(dpx, dpy);
newsym(dpx, dpy);
}
cleanup:
@@ -1682,7 +1683,7 @@ zap_dig(void)
pline_The("door is razed!");
watch_dig((struct monst *) 0, zx, zy, TRUE);
room->doormask = D_NODOOR;
unblock_point(zx, zy); /* vision */
recalc_block_point(zx, zy); /* vision */
digdepth -= 2;
if (maze_dig)
break;