inappropriate lit_corridor check
To reproduce: disable lit_corridor, enter a corridor, read a scroll of light, then read a cursed scroll of light. The corridor won't darken again. A test of flags.lit_corridor in newsym was at fault. I'm guessing this was never noticed because lit_corridor is on by default on Windows and the default lit and unlit corridor symbols are the same on most other platforms.
This commit is contained in:
@@ -746,14 +746,14 @@ newsym(x,y)
|
||||
* Note: If flags.lit_corridor is set, then corridors act like room
|
||||
* squares. That is, they light up if in night vision range.
|
||||
* If flags.lit_corridor is not set, then corridors will
|
||||
* remain dark unless lit by a light spell.
|
||||
* remain dark unless lit by a light spell and may darken
|
||||
* again, as discussed above.
|
||||
*
|
||||
* These checks and changes must be here and not in back_to_glyph().
|
||||
* They are dependent on the position being out of sight.
|
||||
*/
|
||||
else if (!lev->waslit) {
|
||||
if (flags.lit_corridor && lev->glyph == cmap_to_glyph(S_litcorr) &&
|
||||
lev->typ == CORR)
|
||||
if (lev->glyph == cmap_to_glyph(S_litcorr) && lev->typ == CORR)
|
||||
show_glyph(x, y, lev->glyph = cmap_to_glyph(S_corr));
|
||||
else if (lev->glyph == cmap_to_glyph(S_room) && lev->typ == ROOM)
|
||||
show_glyph(x, y, lev->glyph = cmap_to_glyph(S_stone));
|
||||
|
||||
Reference in New Issue
Block a user