Fog clouds maintain any gas clouds

This commit is contained in:
Pasi Kallinen
2023-10-02 13:05:15 +03:00
parent 4df37c1eb2
commit 9b4eaafe8c
3 changed files with 13 additions and 1 deletions

View File

@@ -1249,7 +1249,8 @@ coughing due to stinking cloud wakes up nearby monsters
stop occupation when timed levitation or choking issues a message
use #monster to make dragon steed breathe
wand of probing reveals tin contents
steam vortices leave steam clouds behind
steam vortices and fog clouds leave steam clouds behind
fog clouds maintain any clouds they are in, even poisonous ones
Fixes to 3.7.0-x General Problems Exposed Via git Repository

View File

@@ -1015,6 +1015,13 @@ movemon_singlemon(struct monst *mtmp)
if (mon_offmap(mtmp))
return FALSE;
if (mtmp->data == &mons[PM_FOG_CLOUD]) {
NhRegion *reg = visible_region_at(mtmp->mx, mtmp->my);
if (!reg)
create_gas_cloud(mtmp->mx, mtmp->my, 1, 0); /* harmless vapor */
}
/* Find a monster that we have not treated yet. */
if (mtmp->movement < NORMAL_SPEED)
return FALSE;

View File

@@ -1010,6 +1010,10 @@ inside_gas_cloud(genericptr_t p1, genericptr_t p2)
* start next to water and spread over it.
*/
/* fog clouds maintain gas clouds, even poisonous ones */
if (reg->ttl < 20 && mtmp && mtmp->data == &mons[PM_FOG_CLOUD])
reg->ttl += 5;
if (dam < 1)
return FALSE; /* if no damage then there's nothing to do here... */