From 5ba79391101239dbf4865a4837cdf7cb5b15472b Mon Sep 17 00:00:00 2001 From: Michael Meyer Date: Thu, 2 Nov 2023 10:29:36 -0400 Subject: [PATCH] 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. --- src/dothrow.c | 3 +-- src/invent.c | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dothrow.c b/src/dothrow.c index cea2f77dc..4a57a0804 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -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; diff --git a/src/invent.c b/src/invent.c index dfb9e22a8..ef7a6489c 100644 --- a/src/invent.c +++ b/src/invent.c @@ -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))