]> granicus.if.org Git - nethack/commitdiff
anatomy bits
authornethack.allison <nethack.allison>
Sun, 19 Feb 2006 21:57:54 +0000 (21:57 +0000)
committernethack.allison <nethack.allison>
Sun, 19 Feb 2006 21:57:54 +0000 (21:57 +0000)
Subject: Some problems to report!
Date: Tue, 17 May 2005 07:01:40 -0700 (<email deleted>
<email deleted>

Hi. I'm a sourcediver but not a source compiler.
I use the Mac carbon port under Mac OS X. But enough
about me; I noticed these things:

Polyself/Anatomy Bugs:

- Mimics are amorphous, so they should have jelly
parts rather than animal parts.
- Piercers, trappers and lurkers above have animal
parts, including "head," but they are M1_NOHEAD.
- All elementals have vortex body parts. This should
only be the case for air elementals.
(Remember: stalkers, unlike the other elementals, have
heads.)
- Krakens ought to have tentacles, like jellyfish. ("A
gush of water hits the kraken's left fin!")
- Worms have snake body parts, but they shouldn't have
scales.
[...]

 This patch:
- adds worm_parts
- gives krakens tentacles
- ensures that stalkers have a head

doc/fixes34.4
src/polyself.c

index 8e11c37929b01eeed353bcf6861ba4acccf257dd..d1c5283d11e911859110988f23e12f18534f514d 100644 (file)
@@ -191,6 +191,7 @@ ensure monsters cannot teleport to or be created outside nonpassable bounds
        of special levels
 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
 
 
 Platform- and/or Interface-Specific Fixes
index 687242abca880ac695618667c3a0b1539ff9b46d..454a09380a5fc8b6233870ae054033a5c9343d12 100644 (file)
@@ -1229,6 +1229,10 @@ int part;
                "large scale tip", "rear region", "scale gap", "scale gapped",
                "head", "rear region", "light headed", "neck", "length",
                "rear scale", "scales", "blood", "lung", "forked tongue", "stomach" },
+       *worm_parts[] = { "anterior segment", "light sensitive cell", "clitellum", "setae",
+               "setae", "posterior segment", "segment", "segmented",
+               "anterior segment", "posterior", "over stretched", "clitellum", "length",
+               "posterior setae", "setae", "blood", "skin", "prostomium", "stomach" },
        *fish_parts[] = { "fin", "eye", "premaxillary", "pelvic axillary",
                "pelvic fin", "anal fin", "pectoral fin", "finned", "head", "peduncle",
                "played out", "gills", "dorsal fin", "caudal fin",
@@ -1258,8 +1262,9 @@ int part;
            return "trunk";
        if (mptr == &mons[PM_SHARK] && part == HAIR)
            return "skin";      /* sharks don't have scales */
-       if (mptr == &mons[PM_JELLYFISH] && (part == ARM || part == FINGER ||
-           part == HAND || part == FOOT || part == TOE))
+       if ((mptr == &mons[PM_JELLYFISH] || mptr == &mons[PM_KRAKEN]) &&
+               (part == ARM || part == FINGER ||
+                   part == HAND || part == FOOT || part == TOE))
            return "tentacle";
        if (mptr == &mons[PM_FLOATING_EYE] && part == EYE)
            return "cornea";
@@ -1278,8 +1283,12 @@ int part;
                                part == FINGERTIP || part == HAND) return "ray";
                else return "beam";
        }
+       if (mptr == &mons[PM_STALKER] && part == HEAD)
+               return "head";
        if (mptr->mlet == S_EEL && mptr != &mons[PM_JELLYFISH])
            return fish_parts[part];
+       if (mptr->mlet == S_WORM)
+           return worm_parts[part];
        if (slithy(mptr) || (mptr->mlet == S_DRAGON && part == HAIR))
            return snake_parts[part];
        if (mptr->mlet == S_EYE)