]> granicus.if.org Git - nethack/commitdiff
fix part of #H43 - probing feedback when engulfed
authornethack.rankin <nethack.rankin>
Tue, 21 Feb 2006 06:07:22 +0000 (06:07 +0000)
committernethack.rankin <nethack.rankin>
Tue, 21 Feb 2006 06:07:22 +0000 (06:07 +0000)
     From a bug report, feedback of the form

Status of the fog cloud (neutral):  Level 2  HP 5(5)  AC 0, engulfed you.

sounds odd.  "Engulfing you" seems a little odd as well, since the engulf
has already taken place, but I think it works out better.  For symmetry,
replace "swallowed you" by "swallowing you".  But that one will never
occur, because all the animals with engulfing attacks will now yield the
more precise and much more significant "digesting you".

     The code formatting is strange.  Lining up the text parts works out
a lot better than attempting to fit the associated tests within the space
left after the large indentation being used.

doc/fixes34.4
src/pline.c

index 0cca84fff1dceebc3ba9cf332587d4a38774a495..d664c3bf210f3dc1f3ad720b326e49f7b173916e 100644 (file)
@@ -193,7 +193,8 @@ candles should not be fireproof
 monsters could end up off the left side of the Ranger quest start level
 worms don't have scales, krakens have tentacles, stalkers have a head
 you no longer "fry to a crisp" as a water elemental
-leather spellbooks violate vegetarian conduct
+eating leather spellbook violates vegetarian conduct
+more precise probing/stethoscope feedback when engulfed
 
 
 Platform- and/or Interface-Specific Fixes
index 2edc9bf4aa802c107e76a68f83f6f6de97bd3a75..1eac6094a78ec105af38da76511e328308f56978 100644 (file)
@@ -1,4 +1,4 @@
-/*     SCCS Id: @(#)pline.c    3.5     2005/10/01      */
+/*     SCCS Id: @(#)pline.c    3.5     2006/02/20      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -357,11 +357,12 @@ register struct monst *mtmp;
        if (mtmp->mundetected)    Strcat(info, ", concealed");
        if (mtmp->minvis)         Strcat(info, ", invisible");
        if (mtmp == u.ustuck)     Strcat(info,
-                       (sticks(youmonst.data)) ? ", held by you" :
-                               u.uswallow ? (is_animal(u.ustuck->data) ?
-                               ", swallowed you" :
-                               ", engulfed you") :
-                               ", holding you");
+                      sticks(youmonst.data) ? ", held by you" :
+                                !u.uswallow ? ", holding you" :
+                     attacktype_fordmg(u.ustuck->data, AT_ENGL, AD_DGST) ?
+                                              ", digesting you" :
+                  is_animal(u.ustuck->data) ? ", swallowing you" :
+                                              ", engulfing you");
 #ifdef STEED
        if (mtmp == u.usteed)     Strcat(info, ", carrying you");
 #endif