From 5617f32eb4f8e78980148342c03cf173acc8d530 Mon Sep 17 00:00:00 2001 From: PatR Date: Fri, 16 Aug 2024 12:26:17 -0700 Subject: [PATCH] region bit When hero was swallowed and a temporary region at swallower's spot expired, hero was told "the gas cloud around you dissipates". This just suppresses the message rather than changing it into "the gas cloud around dissipates". --- doc/fixes3-7-0.txt | 2 ++ src/region.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index 8e801bdd9..6ec26dce7 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -1454,6 +1454,8 @@ when there was a trap on a no-dig level, the floor beneath it was always the #terrain command didn't know how to cope with visible gas/cloud regions; treat as traps as far as player choice of whether to show or hide; if/when a spot contains both region and trap, show the trap +region expiration reported "the gas cloud around you dissipates" even when the + hero was swallowed Fixes to 3.7.0-x General Problems Exposed Via git Repository diff --git a/src/region.c b/src/region.c index 4dfef5530..c01bfa031 100644 --- a/src/region.c +++ b/src/region.c @@ -1085,7 +1085,7 @@ expire_gas_cloud(genericptr_t p1, genericptr_t p2 UNUSED) if (pass == 1) { if (!does_block(x, y, &levl[x][y])) unblock_point(x, y); - if (u_at(x, y)) + if (u_at(x, y) && !u.uswallow) gg.gas_cloud_diss_within = TRUE; } else { /* pass==2 */ if (cansee(x, y)) @@ -1209,6 +1209,9 @@ make_gas_cloud( if (!gi.in_mklev && !inside_cloud && is_hero_inside_gas_cloud()) { You("are enveloped in a cloud of %s!", + /* FIXME: "steam" is wrong if this cloud is just the trail of + a fog cloud's movmement; changing to "vapor" would handle + that but seems a step backward when it really is steam */ damage ? "noxious gas" : "steam"); iflags.last_msg = PLNMSG_ENVELOPED_IN_GAS; }