[comp.sources.games] v07i097: NetHack3 - display oriented dungeons & dragons

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