billr@saab.CNA.TEK.COM (Bill Randle) (08/03/89)
Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
Posting-number: Volume 7, Issue 97
Archive-name: NetHack3/Patch1d
Patch-To: NetHack3: Volume 7, Issue 56-93
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 4 (of 6)."
# Contents: src2.diff
# Wrapped by billr@saab on Thu Aug 3 09:57:22 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'src2.diff' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'src2.diff'\"
else
echo shar: Extracting \"'src2.diff'\" \(51559 characters\)
sed "s/^X//" >'src2.diff' <<'END_OF_FILE'
XSource patches, part 2
X
X-----------------------------------Cut-----------------------------------
X*** src/Old/monst.c Mon Jul 31 14:19:14 1989
X--- src/monst.c Sat Jul 29 22:25:12 1989
X***************
X*** 15,26 ****
X
X #define NO_ATTK { 0, 0, 0, 0 }
X
X struct permonst playermon = { /* used by weapons bonus code */
X "player", S_HUMAN, 1, 10, 10, 0, 0, G_GENO | G_NOGEN,
X { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 40, 400, PL_NSIZ, MS_SILENT, M1_HUMANOID | M1_COLLECT,
X M2_HUMAN | M2_STRONG | M2_NEEDPICK
X }, *uasmon = &playermon;
X
X /*
X * Rule #1: monsters of a given class are contiguous in the
X--- 15,28 ----
X
X #define NO_ATTK { 0, 0, 0, 0 }
X
X+ #ifndef SPLITMON_2
X struct permonst playermon = { /* used by weapons bonus code */
X "player", S_HUMAN, 1, 10, 10, 0, 0, G_GENO | G_NOGEN,
X { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 400, PL_NSIZ, MS_SILENT, M1_HUMANOID | M1_COLLECT,
X M2_HUMAN | M2_STRONG | M2_NEEDPICK
X }, *uasmon = &playermon;
X+ #endif /* SPLITMON_2 */
X
X /*
X * Rule #1: monsters of a given class are contiguous in the
X***************
X*** 34,39 ****
X--- 36,42 ----
X * be skipped during generation.
X */
X
X+ #ifndef SPLITMON_2
X struct permonst mons[] = {
X /* ants */
X { "giant ant", S_ANT, 2, 18, 3, 0, 0, (G_GENO | G_SGROUP | 3),
X***************
X*** 196,202 ****
X { "manes", S_IMP, 1, 3, 7, 0, -7, (G_GENO | G_LGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_JEER, M1_VSMALL | M1_POIS | M1_STALK, 0 },
X { "homunculus", S_IMP, 2, 12, 6, 10, -7, (G_GENO | 2),
X { { AT_BITE, AD_SLEE, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X 20, 200, 0, MS_SILENT, M1_VSMALL | M1_FLY | M1_POIS | M1_POIS_RES |
X--- 199,205 ----
X { "manes", S_IMP, 1, 3, 7, 0, -7, (G_GENO | G_LGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_JEER, M1_VSMALL | M1_POIS | M1_STALK, 0 },
X { "homunculus", S_IMP, 2, 12, 6, 10, -7, (G_GENO | 2),
X { { AT_BITE, AD_SLEE, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X 20, 200, 0, MS_SILENT, M1_VSMALL | M1_FLY | M1_POIS | M1_POIS_RES |
X***************
X*** 204,210 ****
X { "lemure", S_IMP, 3, 3, 7, 0, -7,
X (G_HELL | G_GENO | G_LGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT, M1_POIS | M1_SLEE_RES | M1_REGEN | M1_STALK,
X M2_HOSTILE | M2_WANDER },
X { "imp", S_IMP, 3, 12, 2, 20, -7, (G_GENO | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X--- 207,213 ----
X { "lemure", S_IMP, 3, 3, 7, 0, -7,
X (G_HELL | G_GENO | G_LGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_SILENT, M1_POIS | M1_SLEE_RES | M1_REGEN | M1_STALK,
X M2_HOSTILE | M2_WANDER },
X { "imp", S_IMP, 3, 12, 2, 20, -7, (G_GENO | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X***************
X*** 453,486 ****
X /* vortices */
X { "fog cloud", S_VORTEX, 3, 1, 0, 0, 0, (G_GENO | G_NOCORPSE | 2),
X { { AT_ENGL, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES, M2_HOSTILE |
X M2_NOLIMBS },
X { "dust vortex", S_VORTEX, 4, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 2),
X { { AT_ENGL, AD_BLND, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES, M2_HOSTILE |
X M2_NOLIMBS },
X { "energy vortex", S_VORTEX, 6, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1),
X { { AT_ENGL, AD_ELEC, 1, 6 }, { AT_ENGL, AD_DREN, 0, 0 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_ELEC_RES,
X M2_HOSTILE | M2_NOLIMBS },
X { "ice vortex", S_VORTEX, 5, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1),
X { { AT_ENGL, AD_COLD, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_COLD_RES,
X M2_HOSTILE | M2_NOLIMBS },
X { "steam vortex", S_VORTEX, 7, 22, 2, 30, 0,
X (G_HELL | G_GENO | G_NOCORPSE | 2),
X { { AT_ENGL, AD_FIRE, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FIRE_RES,
X M2_HOSTILE | M2_NOLIMBS },
X { "fire vortex", S_VORTEX, 8, 22, 2, 30, 0,
X (G_HELL | G_GENO | G_NOCORPSE | 1),
X { { AT_ENGL, AD_FIRE, 1, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FIRE_RES,
X M2_HOSTILE | M2_NOLIMBS },
X /* worms */
X--- 456,489 ----
X /* vortices */
X { "fog cloud", S_VORTEX, 3, 1, 0, 0, 0, (G_GENO | G_NOCORPSE | 2),
X { { AT_ENGL, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES, M2_HOSTILE |
X M2_NOLIMBS },
X { "dust vortex", S_VORTEX, 4, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 2),
X { { AT_ENGL, AD_BLND, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 20, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES, M2_HOSTILE |
X M2_NOLIMBS },
X { "energy vortex", S_VORTEX, 6, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1),
X { { AT_ENGL, AD_ELEC, 1, 6 }, { AT_ENGL, AD_DREN, 0, 0 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 20, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_ELEC_RES,
X M2_HOSTILE | M2_NOLIMBS },
X { "ice vortex", S_VORTEX, 5, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1),
X { { AT_ENGL, AD_COLD, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 30, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_COLD_RES,
X M2_HOSTILE | M2_NOLIMBS },
X { "steam vortex", S_VORTEX, 7, 22, 2, 30, 0,
X (G_HELL | G_GENO | G_NOCORPSE | 2),
X { { AT_ENGL, AD_FIRE, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 30, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FIRE_RES,
X M2_HOSTILE | M2_NOLIMBS },
X { "fire vortex", S_VORTEX, 8, 22, 2, 30, 0,
X (G_HELL | G_GENO | G_NOCORPSE | 1),
X { { AT_ENGL, AD_FIRE, 1, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 3, 0, 0, MS_SILENT,
X M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FIRE_RES,
X M2_HOSTILE | M2_NOLIMBS },
X /* worms */
X***************
X*** 487,498 ****
X #ifdef WORM
X { "baby long worm", S_WORM, 8, 3, 5, 0, 0, G_GENO,
X { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_SILENT, M1_ANIMAL | M1_NOHANDS, M2_HOSTILE |
X M2_NOLIMBS | M2_CARNIVORE },
X #endif
X { "baby purple worm", S_WORM, 8, 3, 5, 0, 0, G_GENO,
X { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_SILENT, M1_ANIMAL | M1_NOHANDS, M2_HOSTILE |
X M2_NOLIMBS | M2_CARNIVORE },
X #ifdef WORM
X { "long worm", S_WORM, 8, 3, 5, 10, 0, (G_GENO | 2),
X--- 490,501 ----
X #ifdef WORM
X { "baby long worm", S_WORM, 8, 3, 5, 0, 0, G_GENO,
X { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 25, 250, 0, MS_SILENT, M1_ANIMAL | M1_NOHANDS, M2_HOSTILE |
X M2_NOLIMBS | M2_CARNIVORE },
X #endif
X { "baby purple worm", S_WORM, 8, 3, 5, 0, 0, G_GENO,
X { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 25, 250, 0, MS_SILENT, M1_ANIMAL | M1_NOHANDS, M2_HOSTILE |
X M2_NOLIMBS | M2_CARNIVORE },
X #ifdef WORM
X { "long worm", S_WORM, 8, 3, 5, 10, 0, (G_GENO | 2),
X***************
X*** 651,672 ****
X /* Elementals */
X { "air elemental", S_ELEMENTAL, 8, 36, 2, 30, 0, (G_NOCORPSE | 1),
X { { AT_ENGL, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FLY,
X M2_STRONG | M2_NOLIMBS },
X { "fire elemental", S_ELEMENTAL, 8, 12, 2, 30, 0, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_FIRE, 3, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FLY | M1_FIRE_RES,
X M2_STRONG | M2_NOLIMBS },
X { "earth elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 4, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_BIG | M1_WALLWALK | M1_NOEYES | M1_NOHANDS | M1_POIS_RES |
X M1_STON_RES, M2_STRONG | M2_NOLIMBS | M2_THICK_HIDE },
X { "water elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 5, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_SWIM,
X M2_STRONG | M2_NOLIMBS },
X /* Fungi */
X--- 654,675 ----
X /* Elementals */
X { "air elemental", S_ELEMENTAL, 8, 36, 2, 30, 0, (G_NOCORPSE | 1),
X { { AT_ENGL, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 5, 0, 0, MS_SILENT,
X M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FLY,
X M2_STRONG | M2_NOLIMBS },
X { "fire elemental", S_ELEMENTAL, 8, 12, 2, 30, 0, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_FIRE, 3, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 5, 0, 0, MS_SILENT,
X M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FLY | M1_FIRE_RES,
X M2_STRONG | M2_NOLIMBS },
X { "earth elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 4, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 50, 0, 0, MS_SILENT,
X M1_BIG | M1_WALLWALK | M1_NOEYES | M1_NOHANDS | M1_POIS_RES |
X M1_STON_RES, M2_STRONG | M2_NOLIMBS | M2_THICK_HIDE },
X { "water elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 5, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 50, 0, 0, MS_SILENT,
X M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_SWIM,
X M2_STRONG | M2_NOLIMBS },
X /* Fungi */
X***************
X*** 704,714 ****
X { "gnomish wizard", S_GNOME, 3, 10, 4, 10, 0, (G_GENO | 1),
X { { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X 15, 120, 0, MS_ORC, M1_HUMANOID | M1_MAGIC, 0 },
X /* giant Humanoids */
X { "ettin", S_GIANT, 10, 12, 3, 0, 0, (G_GENO | 1),
X { { AT_WEAP, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 },
X NO_ATTK, NO_ATTK, NO_ATTK },
X! 30, 300, 0, MS_GRUNT, M1_BIG | M1_ANIMAL | M1_HUMANOID | M1_COLLECT,
X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE },
X { "giant", S_GIANT, 6, 6, 0, 0, 2, (G_GENO | G_NOGEN | 1),
X { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X--- 707,733 ----
X { "gnomish wizard", S_GNOME, 3, 10, 4, 10, 0, (G_GENO | 1),
X { { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X 15, 120, 0, MS_ORC, M1_HUMANOID | M1_MAGIC, 0 },
X+ #ifdef SPLITMON_1
X+ };
X+ #endif
X+ #endif /* !SPLITMON_2 */
X+
X+ /* horrible kludge alert: splitting monst.o into two parts depends on
X+ the two files monst1.o and monst2.o being loaded consecutively into
X+ memory, i.e. _mons2 must immediately follow mons. Needless to say,
X+ don't depend on this unless you have to (I had to; my compiler was
X+ too much of a memory pig to produce monst.o in a measly 2 megabytes
X+ of memory -- ERS */
X+
X+ #ifndef SPLITMON_1
X+ #ifdef SPLITMON_2
X+ struct permonst _mons2[] = {
X+ #endif
X /* giant Humanoids */
X { "ettin", S_GIANT, 10, 12, 3, 0, 0, (G_GENO | 1),
X { { AT_WEAP, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 },
X NO_ATTK, NO_ATTK, NO_ATTK },
X! 50, 500, 0, MS_GRUNT, M1_BIG | M1_ANIMAL | M1_HUMANOID | M1_COLLECT,
X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE },
X { "giant", S_GIANT, 6, 6, 0, 0, 2, (G_GENO | G_NOGEN | 1),
X { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X***************
X*** 796,828 ****
X /* Mummies */
X { "kobold mummy", S_MUMMY, 3, 8, 6, 20, -2, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 20, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
X { "gnome mummy", S_MUMMY, 4, 10, 6, 20, -3, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 20, 25, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
X { "orc mummy", S_MUMMY, 5, 10, 5, 20, -4, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 30, 30, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
X M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC },
X { "elf mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 35, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_SLEE_RES,
X M2_HOSTILE | M2_ELF },
X { "human mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
X NO_ATTK, NO_ATTK, NO_ATTK },
X! 40, 40, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
X { "ettin mummy", S_MUMMY, 7, 12, 4, 30, -6, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_CLAW, AD_PHYS, 2, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 70, 50, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG,
X M2_HOSTILE | M2_STRONG },
X { "giant mummy", S_MUMMY, 8, 14, 3, 30, -7, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 70, 50, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG | M1_JEWELS,
X M2_HOSTILE | M2_GIANT | M2_STRONG },
X /* Nymphs */
X--- 815,847 ----
X /* Mummies */
X { "kobold mummy", S_MUMMY, 3, 8, 6, 20, -2, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
X { "gnome mummy", S_MUMMY, 4, 10, 6, 20, -3, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
X { "orc mummy", S_MUMMY, 5, 10, 5, 20, -4, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 15, 150, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
X M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC },
X { "elf mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 350, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_SLEE_RES,
X M2_HOSTILE | M2_ELF },
X { "human mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
X NO_ATTK, NO_ATTK, NO_ATTK },
X! 40, 400, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
X { "ettin mummy", S_MUMMY, 7, 12, 4, 30, -6, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_CLAW, AD_PHYS, 2, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG,
X M2_HOSTILE | M2_STRONG },
X { "giant mummy", S_MUMMY, 8, 14, 3, 30, -7, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 75, 750, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG | M1_JEWELS,
X M2_HOSTILE | M2_GIANT | M2_STRONG },
X /* Nymphs */
X***************
X*** 974,991 ****
X /* Wraiths */
X { "barrow wight", S_WRAITH, 3, 12, 5, 5, -3, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_MAGC, AD_SPEL, 0, 0 },
X! { AT_WEAP, AD_DRLI, 0, 0 }, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT,
X M2_HOSTILE },
X { "wraith", S_WRAITH, 6, 12, 4, 15, -6, (G_GENO | 2),
X { { AT_TUCH, AD_DRLI, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT,
X M1_FLY | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK,
X M2_HOSTILE },
X #ifdef TOLKIEN
X { "Nazgul", S_WRAITH, 13, 12, 0, 25, -17, (G_GENO | G_NOCORPSE | 1),
X { { AT_WEAP, AD_DRLI, 1, 4 }, { AT_BREA, AD_SLEE, 0, 0 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT,
X M2_STRONG },
X #endif
X--- 993,1010 ----
X /* Wraiths */
X { "barrow wight", S_WRAITH, 3, 12, 5, 5, -3, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_MAGC, AD_SPEL, 0, 0 },
X! { AT_WEAP, AD_DRLI, 0, 0 }, NO_ATTK, NO_ATTK }, 30, 0, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT,
X M2_HOSTILE },
X { "wraith", S_WRAITH, 6, 12, 4, 15, -6, (G_GENO | 2),
X { { AT_TUCH, AD_DRLI, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 30, 0, 0, MS_SILENT,
X M1_FLY | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK,
X M2_HOSTILE },
X #ifdef TOLKIEN
X { "Nazgul", S_WRAITH, 13, 12, 0, 25, -17, (G_GENO | G_NOCORPSE | 1),
X { { AT_WEAP, AD_DRLI, 1, 4 }, { AT_BREA, AD_SLEE, 0, 0 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 30, 0, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT,
X M2_STRONG },
X #endif
X***************
X*** 1005,1039 ****
X /* Zombies */
X { "kobold zombie", S_ZOMBIE, 0, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 0, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
X M1_POIS_RES | M1_STALK, M2_HOSTILE },
X { "gnome zombie", S_ZOMBIE, 1, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 5 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 20, 0, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
X M1_POIS_RES | M1_STALK, M2_HOSTILE },
X { "orc zombie", S_ZOMBIE, 2, 6, 9, 0, -3,
X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 30, 0, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
X M1_STALK | M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC },
X { "elf zombie", S_ZOMBIE, 3, 6, 9, 0, -3,
X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 7 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 0, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
X M1_STALK | M1_SLEE_RES, M2_HOSTILE | M2_ELF },
X { "human zombie", S_ZOMBIE, 4, 6, 8, 0, -3,
X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 40, 0, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK, M2_HOSTILE },
X { "ettin zombie", S_ZOMBIE, 6, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 10 }, { AT_CLAW, AD_PHYS, 1, 10 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 70, 0, 0, MS_SILENT,
X M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK,
X M2_HOSTILE | M2_STRONG },
X { "giant zombie", S_ZOMBIE, 8, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 70, 0, 0, MS_SILENT,
X M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK |
X M1_JEWELS, M2_HOSTILE | M2_GIANT | M2_STRONG },
X /* Golems */
X--- 1024,1058 ----
X /* Zombies */
X { "kobold zombie", S_ZOMBIE, 0, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
X M1_POIS_RES | M1_STALK, M2_HOSTILE },
X { "gnome zombie", S_ZOMBIE, 1, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 5 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
X M1_POIS_RES | M1_STALK, M2_HOSTILE },
X { "orc zombie", S_ZOMBIE, 2, 6, 9, 0, -3,
X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 15, 150, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
X M1_STALK | M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC },
X { "elf zombie", S_ZOMBIE, 3, 6, 9, 0, -3,
X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 7 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 350, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
X M1_STALK | M1_SLEE_RES, M2_HOSTILE | M2_ELF },
X { "human zombie", S_ZOMBIE, 4, 6, 8, 0, -3,
X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 40, 400, 0, MS_SILENT,
X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK, M2_HOSTILE },
X { "ettin zombie", S_ZOMBIE, 6, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 10 }, { AT_CLAW, AD_PHYS, 1, 10 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, 0, MS_SILENT,
X M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK,
X M2_HOSTILE | M2_STRONG },
X { "giant zombie", S_ZOMBIE, 8, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 75, 750, 0, MS_SILENT,
X M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK |
X M1_JEWELS, M2_HOSTILE | M2_GIANT | M2_STRONG },
X /* Golems */
X***************
X*** 1077,1095 ****
X /* Humans */
X { "human", S_HUMAN, 0, 12, 10, 0, 0, G_NOGEN,
X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
X M2_HUMAN | M2_PEACEFUL | M2_STRONG }, /* for corpses */
X { "wererat", S_HUMAN, 2, 12, 7, 10, -7, 1,
X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 400, 0, MS_SILENT, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
X { "werejackal", S_HUMAN, 2, 12, 7, 10, -7, 1,
X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
X { "werewolf", S_HUMAN, 5, 12, 6, 20, -7, 1,
X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
X #ifdef TOLKIEN
X { "Woodland-elf", S_HUMAN, 4, 12, 5, 10, 5, (G_GENO | G_SGROUP | 2),
X--- 1096,1114 ----
X /* Humans */
X { "human", S_HUMAN, 0, 12, 10, 0, 0, G_NOGEN,
X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
X M2_HUMAN | M2_PEACEFUL | M2_STRONG }, /* for corpses */
X { "wererat", S_HUMAN, 2, 12, 7, 10, -7, 1,
X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 400, 0, MS_SILENT, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
X { "werejackal", S_HUMAN, 2, 12, 7, 10, -7, 1,
X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
X { "werewolf", S_HUMAN, 5, 12, 6, 20, -7, 1,
X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
X #ifdef TOLKIEN
X { "Woodland-elf", S_HUMAN, 4, 12, 5, 10, 5, (G_GENO | G_SGROUP | 2),
X***************
X*** 1117,1127 ****
X M1_SLEE_RES, M2_ELF | M2_STRONG },
X { "nurse", S_HUMAN, 11, 6, 0, 0, 0, (G_GENO | 3),
X { { AT_CLAW, AD_HEAL, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 400, 0, MS_NURSE, M1_NOPOLY | M1_HUMANOID | M1_POIS_RES,
X M2_HUMAN | M2_HOSTILE },
X { "shopkeeper", S_HUMAN, 12, 18, 0, 50, 0, G_NOGEN,
X { { AT_WEAP, AD_PHYS, 4, 4 }, { AT_WEAP, AD_PHYS, 4, 4 }, NO_ATTK,
X! NO_ATTK, NO_ATTK }, 40, 400, sizeof(struct eshk), MS_SELL,
X M1_NOPOLY | M1_HUMANOID | M1_MAGIC | M1_COLLECT,
X M2_HUMAN | M2_PEACEFUL | M2_STRONG },
X { "guard", S_HUMAN, 12, 12, -1, 40, 10, G_NOGEN,
X--- 1136,1146 ----
X M1_SLEE_RES, M2_ELF | M2_STRONG },
X { "nurse", S_HUMAN, 11, 6, 0, 0, 0, (G_GENO | 3),
X { { AT_CLAW, AD_HEAL, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 400, 0, MS_NURSE, M1_NOPOLY | M1_HUMANOID | M1_POIS_RES,
X M2_HUMAN | M2_HOSTILE },
X { "shopkeeper", S_HUMAN, 12, 18, 0, 50, 0, G_NOGEN,
X { { AT_WEAP, AD_PHYS, 4, 4 }, { AT_WEAP, AD_PHYS, 4, 4 }, NO_ATTK,
X! NO_ATTK, NO_ATTK }, 45, 400, sizeof(struct eshk), MS_SELL,
X M1_NOPOLY | M1_HUMANOID | M1_MAGIC | M1_COLLECT,
X M2_HUMAN | M2_PEACEFUL | M2_STRONG },
X { "guard", S_HUMAN, 12, 12, -1, 40, 10, G_NOGEN,
X***************
X*** 1172,1178 ****
X #endif
X { "Wizard of Yendor", S_HUMAN, 30, 12, -8, 100, -20, G_NOGEN,
X { { AT_CLAW, AD_SAMU, 2, 12 }, { AT_MAGC, AD_SPEL, 0, 0 },
X! { AT_BITE, AD_CUSS, 0, 0 }, NO_ATTK, NO_ATTK }, 40, 400, PL_NSIZ,
X MS_CUSS, M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS_RES |
X M1_FIRE_RES | M1_REGEN | M1_SEE_INVIS | M1_TPORT |
X M1_TPORT_CONTROL | M1_MAGIC,
X--- 1191,1197 ----
X #endif
X { "Wizard of Yendor", S_HUMAN, 30, 12, -8, 100, -20, G_NOGEN,
X { { AT_CLAW, AD_SAMU, 2, 12 }, { AT_MAGC, AD_SPEL, 0, 0 },
X! { AT_BITE, AD_CUSS, 0, 0 }, NO_ATTK, NO_ATTK }, 45, 400, PL_NSIZ,
X MS_CUSS, M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS_RES |
X M1_FIRE_RES | M1_REGEN | M1_SEE_INVIS | M1_TPORT |
X M1_TPORT_CONTROL | M1_MAGIC,
X***************
X*** 1181,1187 ****
X { "Medusa", S_HUMAN, 20, 12, 2, 50, -15, G_NOGEN | G_UNIQ,
X { { AT_CLAW, AD_PHYS, 1, 8 }, { AT_GAZE, AD_STON, 0, 0 },
X { AT_BITE, AD_DRST, 1, 6 }, { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK },
X! 40, 400, 0, MS_HISS,
X M1_NOPOLY | M1_BIG | M1_HUMANOID | M1_POIS | M1_POIS_RES |
X M1_STON_RES | M1_FEM, M2_HOSTILE | M2_STRONG | M2_PNAME },
X #endif
X--- 1200,1206 ----
X { "Medusa", S_HUMAN, 20, 12, 2, 50, -15, G_NOGEN | G_UNIQ,
X { { AT_CLAW, AD_PHYS, 1, 8 }, { AT_GAZE, AD_STON, 0, 0 },
X { AT_BITE, AD_DRST, 1, 6 }, { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK },
X! 45, 400, PL_NSIZ, MS_HISS,
X M1_NOPOLY | M1_BIG | M1_HUMANOID | M1_POIS | M1_POIS_RES |
X M1_STON_RES | M1_FEM, M2_HOSTILE | M2_STRONG | M2_PNAME },
X #endif
X***************
X*** 1188,1194 ****
X #ifdef ORACLE
X { "oracle", S_HUMAN, 12, 0, 0, 50, 0, G_NOGEN | G_UNIQ,
X { { AT_NONE, AD_MAGM, 0, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 400, 0, MS_ORACLE, M1_NOPOLY | M1_HUMANOID | M1_FEM,
X M2_HUMAN | M2_PEACEFUL },
X #endif
X #ifdef CHARON
X--- 1207,1213 ----
X #ifdef ORACLE
X { "oracle", S_HUMAN, 12, 0, 0, 50, 0, G_NOGEN | G_UNIQ,
X { { AT_NONE, AD_MAGM, 0, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 400, 0, MS_ORACLE, M1_NOPOLY | M1_HUMANOID | M1_FEM,
X M2_HUMAN | M2_PEACEFUL },
X #endif
X #ifdef CHARON
X***************
X*** 1195,1201 ****
X { "Charon", S_HUMAN, 76, 18, -5, 120, 0,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_TUCH, AD_PLYS, 1, 8 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_FERRY,
X M1_NOPOLY | M1_HUMANOID | M1_POIS_RES | M1_FIRE_RES | M1_COLLECT,
X M2_HUMAN | M2_PEACEFUL },
X #endif
X--- 1214,1220 ----
X { "Charon", S_HUMAN, 76, 18, -5, 120, 0,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_TUCH, AD_PLYS, 1, 8 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 45, 400, PL_NSIZ, MS_FERRY,
X M1_NOPOLY | M1_HUMANOID | M1_POIS_RES | M1_FIRE_RES | M1_COLLECT,
X M2_HUMAN | M2_PEACEFUL },
X #endif
X***************
X*** 1202,1220 ****
X /* Ghost */
X { "ghost", S_GHOST, 10, 3, -5, 50, -5, (G_NOCORPSE | G_NOGEN),
X { { AT_TUCH, AD_PHYS, 1, 1 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, PL_NSIZ, MS_SILENT, M1_NOPOLY | M1_FLY | M1_WALLWALK |
X M1_HUMANOID | M1_UNDEAD | M1_STALK | M1_POIS_RES, M2_HOSTILE },
X /* (major) Demons */
X { "water demon", S_DEMON, 8, 12,-4, 30, -7, (G_NOCORPSE | G_NOGEN),
X { { AT_WEAP, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK },
X! 60, 0, 0, MS_SILENT, M1_SWIM | M1_POIS | M1_FIRE_RES |
X M1_STALK | M1_COLLECT, M2_DEMON | M2_HOSTILE | M2_NASTY },
X #ifndef HARD /* generic type */
X { "demon", S_DEMON, 10, 12,-4, 30, -7, (G_NOCORPSE | 1),
X { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
X! 60, 0, 0, MS_JEER, M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X #else /* used in hell for bigger, badder demons! */
X /* standard demons & devils */
X--- 1221,1239 ----
X /* Ghost */
X { "ghost", S_GHOST, 10, 3, -5, 50, -5, (G_NOCORPSE | G_NOGEN),
X { { AT_TUCH, AD_PHYS, 1, 1 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 0, PL_NSIZ, MS_SILENT, M1_NOPOLY | M1_FLY | M1_WALLWALK |
X M1_HUMANOID | M1_UNDEAD | M1_STALK | M1_POIS_RES, M2_HOSTILE },
X /* (major) Demons */
X { "water demon", S_DEMON, 8, 12,-4, 30, -7, (G_NOCORPSE | G_NOGEN),
X { { AT_WEAP, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK },
X! 45, 450, 0, MS_SILENT, M1_SWIM | M1_POIS | M1_FIRE_RES |
X M1_STALK | M1_COLLECT, M2_DEMON | M2_HOSTILE | M2_NASTY },
X #ifndef HARD /* generic type */
X { "demon", S_DEMON, 10, 12,-4, 30, -7, (G_NOCORPSE | 1),
X { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
X! 45, 450, 0, MS_JEER, M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X #else /* used in hell for bigger, badder demons! */
X /* standard demons & devils */
X***************
X*** 1221,1248 ****
X { "horned devil", S_DEMON, 6, 9, -5, 50, 11, (G_HELL | G_NOCORPSE | 2),
X { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_BITE, AD_PHYS, 2, 3 }, { AT_STNG, AD_PHYS, 1, 3 }, NO_ATTK },
X! 0, 0, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE },
X #ifdef SEDUCE
X { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
X { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 0, 0, 0, MS_SEDUCE,
X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
X { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 0, 0, 0, MS_SEDUCE,
X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X #else
X { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 0, 0, 0, MS_SEDUCE,
X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 0, 0, 0, MS_SEDUCE,
X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X #endif
X--- 1240,1267 ----
X { "horned devil", S_DEMON, 6, 9, -5, 50, 11, (G_HELL | G_NOCORPSE | 2),
X { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_BITE, AD_PHYS, 2, 3 }, { AT_STNG, AD_PHYS, 1, 3 }, NO_ATTK },
X! 45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE },
X #ifdef SEDUCE
X { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
X { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
X { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X #else
X { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X #endif
X***************
X*** 1249,1260 ****
X { "erinyes", S_DEMON, 7, 12, 2, 30, 10,
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X { { AT_WEAP, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK |
X! M1_COLLECT | M1_FEM, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
X { "marilith", S_DEMON, 7, 12, -6, 80, -12, (G_HELL | G_NOCORPSE | 1),
X { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
X { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
X! { AT_WEAP, AD_PHYS, 2, 4 }, }, 0, 0, 0, MS_SILENT, M1_HUMANOID |
X M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_FEM,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "barbed devil", S_DEMON, 8, 12, 0, 35, 8,
X--- 1268,1280 ----
X { "erinyes", S_DEMON, 7, 12, 2, 30, 10,
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X { { AT_WEAP, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 450, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES |
X! M1_STALK | M1_COLLECT | M1_FEM,
X! M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
X { "marilith", S_DEMON, 7, 12, -6, 80, -12, (G_HELL | G_NOCORPSE | 1),
X { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
X { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
X! { AT_WEAP, AD_PHYS, 2, 4 }, }, 45, 450, 0, MS_SILENT, M1_HUMANOID |
X M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_FEM,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "barbed devil", S_DEMON, 8, 12, 0, 35, 8,
X***************
X*** 1261,1267 ****
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
X { AT_STNG, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE },
X { "vrock", S_DEMON, 8, 12, 0, 50, -9,
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X--- 1281,1287 ----
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
X { AT_STNG, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK },
X! 45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE },
X { "vrock", S_DEMON, 8, 12, 0, 50, -9,
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X***************
X*** 1268,1319 ****
X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_CLAW, AD_PHYS, 1, 8 }, { AT_CLAW, AD_PHYS, 1, 8 },
X { AT_BITE, AD_PHYS, 1, 6 }, },
X! 0, 0, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "hezrou", S_DEMON, 9, 6, -2, 55, -10,
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_BITE, AD_PHYS, 4, 4 }, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
X! M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "bone devil", S_DEMON, 9, 15, -1, 40, -9,
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_STNG, AD_DRST, 2, 4 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
X M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "nalfeshnee", S_DEMON, 11, 9, -1, 65, -11, (G_HELL | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_BITE, AD_PHYS, 2, 4 }, { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK },
X! 0, 0, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "ice devil", S_DEMON, 11, 6, -4, 55, -12, (G_HELL | G_NOCORPSE | 2),
X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_COLD, 3, 4 }, NO_ATTK },
X! 0, 0, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_COLD_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "pit fiend", S_DEMON, 13, 6, -3, 65, -13, (G_HELL | G_NOCORPSE | 2),
X { { AT_WEAP, AD_PHYS, 4, 2 }, { AT_WEAP, AD_PHYS, 4, 2 },
X! { AT_HUGS, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_GROWL,
X! M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "balrog", S_DEMON, 16, 5, -2, 75, -14, (G_HELL | G_NOCORPSE | 1),
X { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 },
X NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_SILENT, M1_FLY | M1_BIG | M1_COLLECT | M1_STALK |
X M1_POIS | M1_FIRE_RES, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
X /* Named demon lords & princes plus Arch-Devils */
X { "Juiblex", S_DEMON, 50, 3, -7, 65, -15,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_ENGL, AD_DISE, 4, 10 }, { AT_SPIT, AD_ACID, 3, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_GURGLE, M1_NOPOLY |
X! M1_FLY | M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK | M1_LORD,
X! M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_AMORPHOUS },
X { "Yeenoghu", S_DEMON, 56, 18, -5, 80, -15,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_WEAP, AD_PHYS, 3, 6 }, { AT_WEAP, AD_CONF, 2, 8 },
X { AT_WEAP, AD_PLYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, NO_ATTK },
X! 0, 0, PL_NSIZ, MS_ORC, M1_NOPOLY | M1_FLY | M1_POIS |
X M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_LORD,
X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X { "Orcus", S_DEMON, 66, 9, -6, 85, -20,
X--- 1288,1339 ----
X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_CLAW, AD_PHYS, 1, 8 }, { AT_CLAW, AD_PHYS, 1, 8 },
X { AT_BITE, AD_PHYS, 1, 6 }, },
X! 45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "hezrou", S_DEMON, 9, 6, -2, 55, -10,
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
X! { AT_BITE, AD_PHYS, 4, 4 }, NO_ATTK, NO_ATTK }, 45, 450, 0,
X! MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "bone devil", S_DEMON, 9, 15, -1, 40, -9,
X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
X { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_STNG, AD_DRST, 2, 4 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 45, 450, 0, MS_SILENT,
X M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "nalfeshnee", S_DEMON, 11, 9, -1, 65, -11, (G_HELL | G_NOCORPSE | 1),
X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_BITE, AD_PHYS, 2, 4 }, { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK },
X! 45, 450, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "ice devil", S_DEMON, 11, 6, -4, 55, -12, (G_HELL | G_NOCORPSE | 2),
X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
X { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_COLD, 3, 4 }, NO_ATTK },
X! 45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_COLD_RES | M1_STALK,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "pit fiend", S_DEMON, 13, 6, -3, 65, -13, (G_HELL | G_NOCORPSE | 2),
X { { AT_WEAP, AD_PHYS, 4, 2 }, { AT_WEAP, AD_PHYS, 4, 2 },
X! { AT_HUGS, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK }, 45, 450, 0,
X! MS_GROWL, M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
X M2_DEMON | M2_HOSTILE | M2_NASTY },
X { "balrog", S_DEMON, 16, 5, -2, 75, -14, (G_HELL | G_NOCORPSE | 1),
X { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 },
X NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 450, 0, MS_SILENT, M1_FLY | M1_BIG | M1_COLLECT | M1_STALK |
X M1_POIS | M1_FIRE_RES, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
X /* Named demon lords & princes plus Arch-Devils */
X { "Juiblex", S_DEMON, 50, 3, -7, 65, -15,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_ENGL, AD_DISE, 4, 10 }, { AT_SPIT, AD_ACID, 3, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_GURGLE,
X! M1_NOPOLY | M1_FLY | M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
X! M1_LORD, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_AMORPHOUS },
X { "Yeenoghu", S_DEMON, 56, 18, -5, 80, -15,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_WEAP, AD_PHYS, 3, 6 }, { AT_WEAP, AD_CONF, 2, 8 },
X { AT_WEAP, AD_PLYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, NO_ATTK },
X! 50, 500, PL_NSIZ, MS_ORC, M1_NOPOLY | M1_FLY | M1_POIS |
X M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_LORD,
X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X { "Orcus", S_DEMON, 66, 9, -6, 85, -20,
X***************
X*** 1320,1338 ****
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_WEAP, AD_PHYS, 3, 6 },
X { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
X! { AT_STNG, AD_DRST, 2, 4 }, }, 0, 0, PL_NSIZ, MS_ORC,
X M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
X M1_COLLECT | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X { "Geryon", S_DEMON, 72, 3, -3, 75, 15,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_CLAW, AD_PHYS, 3, 6 }, { AT_CLAW, AD_PHYS, 3, 6 },
X! { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ,
X MS_JEER, M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES |
X M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X { "Dispater", S_DEMON, 78, 15, -2, 80, 15,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_WEAP, AD_PHYS, 4, 6 }, { AT_MAGC, AD_SPEL, 6, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_JEER,
X M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
X M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_PRINCE,
X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X--- 1340,1358 ----
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_WEAP, AD_PHYS, 3, 6 },
X { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
X! { AT_STNG, AD_DRST, 2, 4 }, }, 50, 500, PL_NSIZ, MS_ORC,
X M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
X M1_COLLECT | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X { "Geryon", S_DEMON, 72, 3, -3, 75, 15,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_CLAW, AD_PHYS, 3, 6 }, { AT_CLAW, AD_PHYS, 3, 6 },
X! { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ,
X MS_JEER, M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES |
X M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X { "Dispater", S_DEMON, 78, 15, -2, 80, 15,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_WEAP, AD_PHYS, 4, 6 }, { AT_MAGC, AD_SPEL, 6, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
X M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
X M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_PRINCE,
X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X***************
X*** 1339,1351 ****
X { "Baalzebul", S_DEMON, 89, 9, -5, 85, 20,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_BITE, AD_DRST, 2, 6 }, { AT_GAZE, AD_STUN, 2, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_JEER,
X M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
X M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X { "Asmodeus", S_DEMON, 105, 12, -7, 90, 20,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_CLAW, AD_PHYS, 4, 4 }, { AT_MAGC, AD_COLD, 6, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_JEER,
X M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
X M1_FIRE_RES | M1_COLD_RES | M1_STALK | M1_PRINCE,
X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY },
X--- 1359,1371 ----
X { "Baalzebul", S_DEMON, 89, 9, -5, 85, 20,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_BITE, AD_DRST, 2, 6 }, { AT_GAZE, AD_STUN, 2, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
X M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
X M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X { "Asmodeus", S_DEMON, 105, 12, -7, 90, 20,
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_CLAW, AD_PHYS, 4, 4 }, { AT_MAGC, AD_COLD, 6, 6 },
X! NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
X M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
X M1_FIRE_RES | M1_COLD_RES | M1_STALK | M1_PRINCE,
X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY },
X***************
X*** 1353,1372 ****
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_STNG, AD_DRLI, 1, 4 },
X { AT_CLAW, AD_DISE, 1, 6 }, { AT_CLAW, AD_DISE, 1, 6 },
X! NO_ATTK }, 0, 0, PL_NSIZ, MS_GROWL, M1_NOPOLY | M1_FLY |
X M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
X M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X #endif
X #ifdef MAIL
X { "mail daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE),
X! { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
X! M1_NOPOLY | M1_FLY | M1_SWIM | M1_HUMANOID | M1_POIS | M1_FIRE_RES |
X! M1_COLD_RES | M1_SLEE_RES | M1_STALK, M2_PEACEFUL },
X /* Neither rain nor sleet nor gloom of night shall stay this courier... */
X #endif
X { "djinni", S_DEMON, 7, 12, 4, 30, 0, (G_NOGEN | G_NOCORPSE),
X { { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 0, 0, 0, MS_DJINNI,
X M1_NOPOLY | M1_FLY | M1_POIS | M1_STALK | M1_COLLECT, 0 },
X /* eels */
X { "giant eel", S_EEL, 5, 9, -1, 0, 0, (G_GENO | G_NOGEN),
X--- 1373,1392 ----
X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_STNG, AD_DRLI, 1, 4 },
X { AT_CLAW, AD_DISE, 1, 6 }, { AT_CLAW, AD_DISE, 1, 6 },
X! NO_ATTK }, 50, 500, PL_NSIZ, MS_GROWL, M1_NOPOLY | M1_FLY |
X M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
X M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
X #endif
X #ifdef MAIL
X { "mail daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE),
X! { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0,
X! MS_SILENT, M1_NOPOLY | M1_FLY | M1_SWIM | M1_HUMANOID | M1_POIS |
X! M1_FIRE_RES | M1_COLD_RES | M1_SLEE_RES | M1_STALK, M2_PEACEFUL },
X /* Neither rain nor sleet nor gloom of night shall stay this courier... */
X #endif
X { "djinni", S_DEMON, 7, 12, 4, 30, 0, (G_NOGEN | G_NOCORPSE),
X { { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 40, 400, 0, MS_DJINNI,
X M1_NOPOLY | M1_FLY | M1_POIS | M1_STALK | M1_COLLECT, 0 },
X /* eels */
X { "giant eel", S_EEL, 5, 9, -1, 0, 0, (G_GENO | G_NOGEN),
X***************
X*** 1389,1395 ****
X /* chameleon */
X { "chameleon", S_CHAMELEON, 6, 5, 6, 10, 0, (G_GENO | 2),
X { { AT_BITE, AD_PHYS, 4, 2 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 1, 10, 0, MS_SILENT, M1_VSMALL | M1_ANIMAL,
X M2_HOSTILE | M2_CARNIVORE },
X
X /* character classes */
X--- 1409,1415 ----
X /* chameleon */
X { "chameleon", S_CHAMELEON, 6, 5, 6, 10, 0, (G_GENO | 2),
X { { AT_BITE, AD_PHYS, 4, 2 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 10, 100, 0, MS_SILENT, M1_VSMALL | M1_ANIMAL,
X M2_HOSTILE | M2_CARNIVORE },
X
X /* character classes */
X***************
X*** 1409,1417 ****
X { {AT_WEAP, AD_PHYS, 2, 4}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT | M1_FEM,
X M2_HUMAN | M2_STRONG | M2_CARNIVORE },
X { "elf", S_HUMAN, 1, 12, 10, 2, 3, G_NOGEN,
X { {AT_WEAP, AD_PHYS, 1, 8}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
X M1_SLEE_RES | M1_SEE_INVIS, M2_ELF | M2_STRONG },
X { "healer", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN,
X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X--- 1429,1440 ----
X { {AT_WEAP, AD_PHYS, 2, 4}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT | M1_FEM,
X M2_HUMAN | M2_STRONG | M2_CARNIVORE },
X+ /* Note: players who are elves still get normal carrying capacity,
X+ * even though this is strictly speaking inconsistent.
X+ */
X { "elf", S_HUMAN, 1, 12, 10, 2, 3, G_NOGEN,
X { {AT_WEAP, AD_PHYS, 1, 8}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X! 35, 350, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
X M1_SLEE_RES | M1_SEE_INVIS, M2_ELF | M2_STRONG },
X { "healer", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN,
X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X***************
X*** 1456,1458 ****
X--- 1479,1482 ----
X { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
X 0, 0, 0, 0, 0, 0 }
X };
X+ #endif /* !SPLITMON_1 */
X*** src/Old/mthrowu.c Sat Jul 22 08:19:57 1989
X--- src/mthrowu.c Mon Jul 31 21:56:30 1989
X***************
X*** 42,53
X } else {
X if(Blind || !flags.verbose) You("are hit!");
X else You("are hit by %s!", buf);
X- Strcpy(buf,name);
X- /* If name came from xname() we must copy it, otherwise if
X- * you die, the possession identify will call xname(),
X- * overwriting xname's buffer, and your tombstone will say
X- * you were killed by a green gem or some such.
X- */
X #ifdef POLYSELF
X if (acidic && resists_acid(uasmon))
X pline("It doesn't seem to hurt you.");
X
X--- 42,47 -----
X } else {
X if(Blind || !flags.verbose) You("are hit!");
X else You("are hit by %s!", buf);
X #ifdef POLYSELF
X if (acidic && resists_acid(uasmon))
X pline("It doesn't seem to hurt you.");
X***************
X*** 54,60
X else {
X #endif
X if (acidic) pline("It burns!");
X! losehp(dam, buf);
X #ifdef POLYSELF
X }
X #endif
X
X--- 48,54 -----
X else {
X #endif
X if (acidic) pline("It burns!");
X! losehp(dam, name);
X #ifdef POLYSELF
X }
X #endif
X***************
X*** 191,197
X if (dam < 1) dam = 1;
X hitu = thitu(8+obj->spe, dam, xname(singleobj));
X }
X! if (obj->opoisoned)
X /* it's safe to call xname twice because it's the
X same object both times... */
X poisoned(xname(singleobj), A_STR, xname(singleobj));
X
X--- 185,191 -----
X if (dam < 1) dam = 1;
X hitu = thitu(8+obj->spe, dam, xname(singleobj));
X }
X! if (hitu && obj->opoisoned)
X /* it's safe to call xname twice because it's the
X same object both times... */
X poisoned(xname(singleobj), A_STR, xname(singleobj));
X*** src/Old/objects.c Mon Jul 31 14:23:38 1989
X--- src/objects.c Wed Jul 26 19:33:48 1989
X***************
X*** 58,64 ****
X--- 58,68 ----
X FOOD("pear", 7, 0, 1, 0, 50),
X FOOD("melon", 7, 0, 1, 0, 100),
X FOOD("banana", 7, 0, 1, 0, 80),
X+ #ifdef TUTTI_FRUTTI
X FOOD("slime mold", 75, 0, 1, 0, 250),
X+ #else
X+ FOOD("slice of pizza", 75, 0, 1, 0, 250),
X+ #endif
X FOOD("carrot", 15, 0, 1, 0, 50),
X FOOD("clove of garlic", 5, 0, 1, 0, 40),
X /* human food */
END_OF_FILE
if test 51559 -ne `wc -c <'src2.diff'`; then
echo shar: \"'src2.diff'\" unpacked with wrong size!
fi
# end of 'src2.diff'
fi
echo shar: End of archive 4 \(of 6\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 5 6 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 6 archives.
echo "now type ./do_patch.sh"
rm -f ark[1-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0