fog cloud and aquatic monsters

<Someone> pointed out the inappropriate appearance of the 3.4.2 message when
fog clouds have you engulfed if you happen to be polymorphed into an aquatic
creature.  It does seem that a fog cloud should not cause added damage to
amphibious creatures, which includes breathless (but non-flaming) monsters.
I also thought another message was more appropriate for flaming creatures
(see on_fire()), and added a special case for that.
gulpum was missing symmetric code and I added it there too.
This commit is contained in:
cohrs
2003-09-26 01:03:46 +00:00
parent 929f9ce2c7
commit c72aafcd40
3 changed files with 21 additions and 6 deletions

View File

@@ -1687,11 +1687,15 @@ gulpmu(mtmp, mattk) /* monster swallows you, or damage if u.uswallow */
}
break;
case AD_PHYS:
if (mtmp->data == &mons[PM_FOG_CLOUD])
You("are laden with moisture and can barely %s!",
!breathless(youmonst.data) ? "breathe" :
"stay conscious");
else {
if (mtmp->data == &mons[PM_FOG_CLOUD]) {
You("are laden with moisture and %s",
flaming(youmonst.data) ? "are smoldering out!" :
Breathless ? "find it mildly uncomfortable." :
amphibious(youmonst.data) ? "feel comforted." :
"can barely breathe!");
/* NB: Amphibious includes Breathless */
if (Amphibious && !flaming(youmonst.data)) tmp = 0;
} else {
You("are pummeled with debris!");
exercise(A_STR, FALSE);
}

View File

@@ -1827,7 +1827,17 @@ register struct attack *mattk;
end_engulf();
return(2);
case AD_PHYS:
pline("%s is pummeled with your debris!",Monnam(mdef));
if (youmonst.data == &mons[PM_FOG_CLOUD]) {
pline("%s is laden with your moisture.",
Monnam(mdef));
if (amphibious(mdef->data) &&
!flaming(mdef->data)) {
dam = 0;
pline("%s seems unharmed.", Monnam(mdef));
}
} else
pline("%s is pummeled with your debris!",
Monnam(mdef));
break;
case AD_ACID:
pline("%s is covered with your goo!", Monnam(mdef));