Fix: hurtling into wall of water
A hero hurtled into a wall of water while levitating, flying, or wearing water-walking boots wouldn't be stopped by it unless it was on the Plane of Water. Make it stop hurtling heroes immediately no matter the location. I also noticed that once I was hurtled safely into the wall of water, it was described as a "pool" when I examined it with ':'. Fix that, too, even though I think it shouldn't really be encountered in-game.
This commit is contained in:
@@ -924,8 +924,7 @@ hurtle_step(genericptr_t arg, coordxy x, coordxy y)
|
||||
check_special_room(FALSE);
|
||||
|
||||
if (is_pool(x, y) && !u.uinwater) {
|
||||
if ((Is_waterlevel(&u.uz) && is_waterwall(x,y))
|
||||
|| !(Levitation || Flying || Wwalking)) {
|
||||
if (is_waterwall(x, y) || !(Levitation || Flying || Wwalking)) {
|
||||
/* couldn't move while hurtling; allow movement now so that
|
||||
drown() will give a chance to crawl out of pool and survive */
|
||||
gm.multi = 0;
|
||||
|
||||
@@ -4218,6 +4218,8 @@ dfeature_at(coordxy x, coordxy y, char *buf)
|
||||
cmap = S_lava; /* "molten lava" */
|
||||
else if (is_ice(x, y))
|
||||
dfeature = ice_descr(x, y, altbuf), cmap = -1; /* "ice" */
|
||||
else if (IS_WATERWALL(ltyp))
|
||||
dfeature = "wall of water";
|
||||
else if (is_pool(x, y))
|
||||
dfeature = "pool of water";
|
||||
else if (IS_SINK(ltyp))
|
||||
|
||||
Reference in New Issue
Block a user