B14006 - monsters and lava
- water elementals now get a special message when they land in lava - rather than track down all places where non-moving monsters can end up in lava (or water, not that it currently matters), add a check to mcalcdistress to catch all such cases, once per turn.
This commit is contained in:
@@ -325,6 +325,7 @@ mimics that are detected but not seen should not display as their mimiced
|
||||
not all cavemen are human, so avoid using human in quest messages
|
||||
tengu is singular and plural, some rumors were incorrect
|
||||
don't let leader or nemesis be renamed
|
||||
non-moving monster are not affected by liquid
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
11
src/mon.c
11
src/mon.c
@@ -380,7 +380,9 @@ register struct monst *mtmp;
|
||||
if (!is_clinger(mtmp->data) && !likes_lava(mtmp->data)) {
|
||||
if (!resists_fire(mtmp)) {
|
||||
if (cansee(mtmp->mx,mtmp->my))
|
||||
pline("%s burns to a crisp.", Monnam(mtmp));
|
||||
pline("%s %s.", Monnam(mtmp),
|
||||
mtmp->data == &mons[PM_WATER_ELEMENTAL] ?
|
||||
"boils aways" : "burns to a crisp");
|
||||
mondead(mtmp);
|
||||
}
|
||||
else {
|
||||
@@ -473,6 +475,13 @@ mcalcdistress()
|
||||
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
|
||||
if (DEADMONSTER(mtmp)) continue;
|
||||
|
||||
/* must check non-moving monsters once/turn in case
|
||||
* they managed to end up in liquid */
|
||||
if (mtmp->data->mmove == 0) {
|
||||
if (vision_full_recalc) vision_recalc(0);
|
||||
if (minliquid(mtmp)) continue;
|
||||
}
|
||||
|
||||
/* regenerate hit points */
|
||||
mon_regen(mtmp, FALSE);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user