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

@@ -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... */