mon interaction with terrain was postponed

Fix #576

Reported initially by @copperwater for polymorphed monsters:
"observe how the [polymorphed-monster] hovers placidly above the water for
several turns like Wile E. Coyote before it gets a move, realizes it's
above water, and drowns. Ditto for lava."

A comment in the GitHub issue thread by @Tomsod pointed out that a
revived corpse could do the same.

This should set things up for other terrain fallout if discovered or
implemented in the future.
   - consume an additional bit in enum mon_terrain_effects (hack.h)
   - include the additional bit in TERRAIN_FALLOUT_MASK (monst.h)
   - add detection to maybe_set_terrain_effects (mon.c)
   - add action to terrain_effects (mon.c)

Implemented by stealing some upper unused mstate bits to avoid
invalidating existing save and bones.
This commit is contained in:
nhmall
2026-08-23 18:51:13 -04:00
parent f913cb3704
commit 9b4a8dfb05
13 changed files with 114 additions and 16 deletions
+2
View File
@@ -85,6 +85,8 @@ don't refer to pet as "Your pet" until after the taming process has finished
checkpoint fixes (pr #1660 by k21971)
upon return to a level, catch up on remaining nutrition value by the same
percentage as the catch up for the weight
after polymorph or revival from corpse, monsters were not interacting with
the terrain until that monster's next move
Platform- and/or Interface-Specific Fixes