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 <engulfer> dissipates".
This commit is contained in:
PatR
2024-08-16 12:26:17 -07:00
parent 4fb7dd2cd0
commit 5617f32eb4
2 changed files with 6 additions and 1 deletions

View File

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

View File

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