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