wall symbol not replaced when digging while blind and levitating

- 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
This commit is contained in:
cohrs
2002-03-23 22:27:54 +00:00
parent d66603827b
commit f777aceb74
2 changed files with 12 additions and 0 deletions
+1
View 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" 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 two bad wizkit items in a row shouldn't make the user hit space many times
kicking thrones no longer loosens rocks kicking thrones no longer loosens rocks
wall symbol not replaced when digging while blind and levitating
Platform- and/or Interface-Specific Fixes Platform- and/or Interface-Specific Fixes
+11
View File
@@ -536,6 +536,12 @@ feel_location(x, y)
* underneath if already seen. Otherwise, show the appropriate * underneath if already seen. Otherwise, show the appropriate
* floor symbol. * 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 * This isn't quite correct. If the boulder was on top of some
* other objects they should be seen once the boulder is removed. * other objects they should be seen once the boulder is removed.
* However, we have no way of knowing that what is there now * 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); cmap_to_glyph(S_stone);
show_glyph(x,y,lev->glyph); 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 { } else {
/* We feel it (I think hallways are the only things left). */ /* We feel it (I think hallways are the only things left). */