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:
Michael Meyer
2023-11-02 10:29:36 -04:00
committed by PatR
parent a6051dae81
commit 5ba7939110
2 changed files with 3 additions and 2 deletions

View File

@@ -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;

View File

@@ -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))