From: cohrs Date: Fri, 26 Sep 2003 01:03:46 +0000 (+0000) Subject: fog cloud and aquatic monsters X-Git-Tag: MOVE2GIT~1754 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c72aafcd40370cc2da4db788659a73e3861e555e;p=nethack fog cloud and aquatic monsters 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. --- diff --git a/doc/fixes34.3 b/doc/fixes34.3 index cfa67376e..b68347c80 100644 --- a/doc/fixes34.3 +++ b/doc/fixes34.3 @@ -29,6 +29,7 @@ accept wish for "grey spell book" not just "grey spellbook" do not double credit when putting gold into an unpaid container manes are nonliving poles and grappling hook worked thru walls when wearing Eyes of the Overworld +more tweaks to fog cloud behavior Platform- and/or Interface-Specific Fixes diff --git a/src/mhitu.c b/src/mhitu.c index dce914090..d5fb64bfc 100644 --- a/src/mhitu.c +++ b/src/mhitu.c @@ -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); } diff --git a/src/uhitm.c b/src/uhitm.c index 55231f3ff..e80b9b8f6 100644 --- a/src/uhitm.c +++ b/src/uhitm.c @@ -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));