gas cloud dissipation
If hero was in a cloud spot when it expired, the feedback would be |The gas cloud around you dissipates. |You see a gas cloud dissipate.
This commit is contained in:
@@ -1456,6 +1456,8 @@ the #terrain command didn't know how to cope with visible gas/cloud regions;
|
|||||||
if/when a spot contains both region and trap, show the trap
|
if/when a spot contains both region and trap, show the trap
|
||||||
region expiration reported "the gas cloud around you dissipates" even when the
|
region expiration reported "the gas cloud around you dissipates" even when the
|
||||||
hero was swallowed
|
hero was swallowed
|
||||||
|
region expiration could report "the gas cloud around you dissipates" and also
|
||||||
|
"you see a gas cloud dissipate" for the same cloud spot
|
||||||
reduce shopkeeper's innate speed from 18 to 16 so that a hasted shopkeeper
|
reduce shopkeeper's innate speed from 18 to 16 so that a hasted shopkeeper
|
||||||
doesn't always get 2 moves per turn
|
doesn't always get 2 moves per turn
|
||||||
|
|
||||||
|
|||||||
28
src/region.c
28
src/region.c
@@ -448,12 +448,20 @@ run_regions(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gg.gas_cloud_diss_within)
|
if (gg.gas_cloud_diss_within) {
|
||||||
pline_The("gas cloud around you dissipates.");
|
pline_The("gas cloud around you dissipates.");
|
||||||
if (gg.gas_cloud_diss_seen)
|
/* normally won't see additional dissipation when within */
|
||||||
You_see("%s dissipate.",
|
/* FIXME? this assumes that additional dissipation is close by */
|
||||||
gg.gas_cloud_diss_seen == 1
|
if (u.xray_range <= 1)
|
||||||
? "a gas cloud" : "some gas clouds");
|
gg.gas_cloud_diss_seen = 0;
|
||||||
|
gg.gas_cloud_diss_within = FALSE;
|
||||||
|
}
|
||||||
|
if (gg.gas_cloud_diss_seen) {
|
||||||
|
You_see("%s gas cloud%s dissipate.",
|
||||||
|
(gg.gas_cloud_diss_seen == 1) ? "a" : "some",
|
||||||
|
plur(gg.gas_cloud_diss_seen));
|
||||||
|
gg.gas_cloud_diss_seen = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1086,11 +1094,13 @@ expire_gas_cloud(genericptr_t p1, genericptr_t p2 UNUSED)
|
|||||||
if (pass == 1) {
|
if (pass == 1) {
|
||||||
if (!does_block(x, y, &levl[x][y]))
|
if (!does_block(x, y, &levl[x][y]))
|
||||||
unblock_point(x, y);
|
unblock_point(x, y);
|
||||||
if (u_at(x, y) && !u.uswallow)
|
|
||||||
gg.gas_cloud_diss_within = TRUE;
|
|
||||||
} else { /* pass==2 */
|
} else { /* pass==2 */
|
||||||
if (cansee(x, y))
|
if (!u.uswallow) {
|
||||||
gg.gas_cloud_diss_seen++;
|
if (u_at(x, y))
|
||||||
|
gg.gas_cloud_diss_within = TRUE;
|
||||||
|
else if (cansee(x, y))
|
||||||
|
gg.gas_cloud_diss_seen++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user