]> granicus.if.org Git - nethack/commitdiff
wall symbol not replaced when digging while blind and levitating
authorcohrs <cohrs>
Sat, 23 Mar 2002 22:27:54 +0000 (22:27 +0000)
committercohrs <cohrs>
Sat, 23 Mar 2002 22:27:54 +0000 (22:27 +0000)
- this was reported to the mailing list just before 3.4.0 shipped
- treat in a manner similar to chopping a boulder while blind and levitating

doc/fixes34.1
src/display.c

index 68aab9bc2a0d86c9935271789920aaf4c8d5d53c..d6ab81e05651e02e11ea58fecb821a00d5935dd4 100644 (file)
@@ -13,6 +13,7 @@ allow both wishing and genocide to accept either "none" or "nothing" when
 left word in format string in get_wet() causing "The spellbook fadefades"
 two bad wizkit items in a row shouldn't make the user hit space many times
 kicking thrones no longer loosens rocks
+wall symbol not replaced when digging while blind and levitating
 
 
 Platform- and/or Interface-Specific Fixes
index 268f7cf6bf99440f6c0cdfb4523d8f8051473614..709e68d00caa4490b3e2206f8658b485dae50e52 100644 (file)
@@ -536,6 +536,12 @@ feel_location(x, y)
             * underneath if already seen.  Otherwise, show the appropriate
             * floor symbol.
             *
+            * Similarly, if the hero digs a hole in a wall.  In this case,
+            * there's no reason to assume anything was underneath, so
+            * just show the appropriate floor symbol.  If something was
+            * embedded in the wall, the glyph will probably already
+            * reflect that.  Don't change the symbol in this case.
+            *
             * This isn't quite correct.  If the boulder was on top of some
             * other objects they should be seen once the boulder is removed.
             * However, we have no way of knowing that what is there now
@@ -551,6 +557,11 @@ feel_location(x, y)
                                               cmap_to_glyph(S_stone);
                    show_glyph(x,y,lev->glyph);
                }
+           } else if (lev->glyph >= cmap_to_glyph(S_stone) &&
+                      lev->glyph < cmap_to_glyph(S_room)) {
+               lev->glyph = lev->waslit ? cmap_to_glyph(S_room) :
+                                          cmap_to_glyph(S_stone);
+               show_glyph(x,y,lev->glyph);
            }
        } else {
            /* We feel it (I think hallways are the only things left). */