diff --git a/src/hack.c b/src/hack.c index 7c1bce07f..420ccd676 100644 --- a/src/hack.c +++ b/src/hack.c @@ -2263,7 +2263,7 @@ switch_terrain(void) { struct rm *lev = &levl[u.ux][u.uy]; boolean blocklev = (IS_ROCK(lev->typ) || closed_door(u.ux, u.uy) - || (Is_waterlevel(&u.uz) && lev->typ == WATER)), + || lev->typ == WATER), was_levitating = !!Levitation, was_flying = !!Flying; if (blocklev) { diff --git a/src/trap.c b/src/trap.c index 4b513c07e..3c109d4b4 100644 --- a/src/trap.c +++ b/src/trap.c @@ -4178,6 +4178,7 @@ drown(void) const char *pool_of_water; boolean inpool_ok = FALSE, crawl_ok; int i, x, y; + boolean is_solid = (levl[u.ux][u.uy].typ == WATER); feel_newsym(u.ux, u.uy); /* in case Blind, map the water here */ /* happily wading in the same contiguous pool */ @@ -4191,10 +4192,11 @@ drown(void) } if (!u.uinwater) { - You("%s into the %s%c", Is_waterlevel(&u.uz) ? "plunge" : "fall", + You("%s into the %s%s%c", is_solid ? "plunge" : "fall", + is_solid ? "wall of " : "", hliquid("water"), Amphibious || Swimming ? '.' : '!'); - if (!Swimming && !Is_waterlevel(&u.uz)) + if (!Swimming && !is_solid) You("sink like %s.", Hallucination ? "the Titanic" : "a rock"); }