[comp.sources.games] v02i071: umoria - single player dungeon simulation, Part06/16

games-request@tekred.TEK.COM (11/05/87)

Submitted by: "James E. Wilson" <wilson@ji.berkeley.edu>
Comp.sources.games: Volume 2, Issue 71
Archive-name: umoria/Part06




#! /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 6 (of 16)."
# Contents:  MISC_NOTES Moria_news magic.c monsters.c
# Wrapped by billr@tekred on Wed Nov  4 09:59:49 1987
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f MISC_NOTES -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"MISC_NOTES\"
else
echo shar: Extracting \"MISC_NOTES\" \(1338 characters\)
sed "s/^X//" >MISC_NOTES <<'END_OF_MISC_NOTES'
X
XThe most recent version of UNIX Moria can be obtained via
Xanonymous ftp from ucbarpa.Berkeley.EDU at present.
XIn the future, I shall try to keep the sources available on
Xucbarpa.Berkeley.EDU and/or ucbvax.Berkeley.EDU.
X
XThe two parts of the moria manual should be concatenated together
Xinto a single file (i.e.: cat moria.doc.? >moria.orig.doc).
XWork is under way to create an updated troff form of the manual.
X
XThe game needs to be installed setuid for the scoreboard to work.
XUse the command 'chmod 4511 moria' to do this.
XThe file Highscores should be mode 644 with the same owner as moria.
XThe files Moria_hours and Moria_news must be publicly readable with
Xmode 444.
X
XRestoring touched save files is possible, but not very easy.
XThe following is a rough outline of the steps necessary:
X1) User changes mode of save file so that wizard can read it.
X2) Wizard changes umask so that files created will be publicly writable
X    i.e. for csh type 'umask 0'
X   Also, the directory that this is done in must be publicly writable.
X3) Wizard uses 'wizard restore' command to read in touched save file.
X4) While still in wizard mode, save the game.
X5) User can then read in the new save file, deleting it in the process.
X6) Wizard changes umask back to original value, i.e. 'umask 22'.
X
X
XJim Wilson
Xwilson@ji.Berkeley.EDU
Xucbvax!ucbji!wilson
END_OF_MISC_NOTES
if test 1338 -ne `wc -c <MISC_NOTES`; then
    echo shar: \"MISC_NOTES\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f Moria_news -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"Moria_news\"
else
echo shar: Extracting \"Moria_news\" \(418 characters\)
sed "s/^X//" >Moria_news <<'END_OF_Moria_news'
X                         *********************
X                         **   Moria 4.85    **
X                         *********************
X                   COPYRIGHT (c) Robert Alan Koeneke
X 
XProgrammers : Robert Alan Koeneke / University of Oklahoma
X             Jimmey Wayne Todd   / University of Oklahoma
X 
XUNIX Port : James E. Wilson    / UC Berkeley
X 
XDungeon Master: This file may contain updates and news.
END_OF_Moria_news
if test 418 -ne `wc -c <Moria_news`; then
    echo shar: \"Moria_news\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f magic.c -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"magic.c\"
else
echo shar: Extracting \"magic.c\" \(5960 characters\)
sed "s/^X//" >magic.c <<'END_OF_magic.c'
X#include "constants.h"
X#include "types.h"
X#include "externs.h"
X
X
X/* Throw a magic spell					-RAK-	*/
Xcast()
X{
X  int i, j, item_val, dir;
X  int choice, chance, result;
X  int dumy, y_dumy, x_dumy;
X  int redraw;
X  struct flags *f_ptr;
X  struct misc *p_ptr;
X  treasure_type *i_ptr;
X  spell_type *m_ptr;
X  
X  reset_flag = TRUE;
X  if (py.flags.blind > 0)
X    msg_print("You can't see to read your spell book!");
X  else if (no_light())
X    msg_print("You have no light to read by.");
X  else if (py.flags.confused > 0)
X    msg_print("You are too confused...");
X  else if (class[py.misc.pclass].mspell)
X    if (inven_ctr > 0) 
X      {
X 	if (find_range(90, -1, &i, &j))
X	  {
X	    redraw = FALSE;
X	    if (get_item(&item_val, "Use which spell-book?",
X			 &redraw, i, j))
X	      { 
X		if ((result = cast_spell("Cast which spell?", item_val,
X			       &choice, &chance, &redraw)) == TRUE)
X		  {
X		    m_ptr = &magic_spell[py.misc.pclass][choice];
X		    reset_flag = FALSE;
X		    
X		    if (randint(100) < chance) 
X		      msg_print("You failed to get the spell off!");
X		    else 		
X		      {
X 			y_dumy = char_row;
X 			x_dumy = char_col;
X 			/* Spells...  */ 
X			choice++;
X			switch(choice) 		
X			  {
X			  case 1:
X			    if (get_dir("Which direction?", &dir, 	
X					&dumy, &y_dumy, &x_dumy)) 	
X			      fire_bolt(0, dir, char_row, char_col, 
X					damroll("2d6")+1, "Magic Missile");
X			    break;
X			  case 2:
X			    (void) detect_monsters();
X			    break;
X			  case 3:
X			    teleport(10);
X			    break;
X			  case 4:
X			    (void) light_area(char_row, char_col);
X			    break;
X			  case 5:
X			    (void) hp_player(damroll("4d4"), "a magic spell.");
X			    break;
X			  case 6:
X			    (void) detect_sdoor();
X			    (void) detect_trap();
X			    break;
X			  case 7:
X			    if (get_dir("Which direction?", &dir, 
X					&dumy, &y_dumy, &x_dumy)) 	
X			      fire_ball(2, dir, char_row, char_col, 9, 
X					"Stinking Cloud");
X			    break;
X			  case 8:
X			    if (get_dir("Which direction?", &dir, 
X					&dumy, &y_dumy, &x_dumy))
X			      (void) confuse_monster(dir, char_row, char_col);
X			    break;
X			  case 9:
X			    if (get_dir("Which direction?", &dir,
X					&dumy, &y_dumy, &x_dumy))
X			      fire_bolt(1, dir, char_row, char_col,
X					damroll("3d8")+1, "Lightning Bolt");
X			    break;
X			  case 10:
X			    (void) td_destroy();
X			    break;
X			  case 11:
X			    if (get_dir("Which direction?", &dir,
X					&dumy, &y_dumy, &x_dumy))
X			      (void) sleep_monster(dir, char_row, char_col);
X			    break;
X			  case 12:
X			    (void) cure_poison();
X			    break;
X			  case 13:
X			    teleport((int)(py.misc.lev*5));
X			    break;
X			  case 14:
X			    for (i = 22; i < INVEN_MAX; i++) 		
X			      {
X 				i_ptr = &inventory[i];
X 				i_ptr->flags = (i_ptr->flags & 0x7FFFFFFF);
X			      }
X			    break;
X			  case 15:
X			    if (get_dir("Which direction?", &dir, 
X					&dumy, &y_dumy, &x_dumy)) 
X 			      fire_bolt(4, dir, char_row, char_col, 
X 					damroll("4d8")+1, "Frost Bolt");
X 			    break;
X 			  case 16:
X 			    if (get_dir("Which direction?", &dir, 
X 					&dumy, &y_dumy, &x_dumy))  	
X			      (void) wall_to_mud(dir, char_row, char_col);
X 			    break;
X 			  case 17:
X 			    (void) create_food();
X 			    break;
X 			  case 18:
X 			    (void) recharge(20);
X 			    break;
X 			  case 19:
X 			    (void) sleep_monsters1(char_row, char_col);
X 			    break;
X 			  case 20:
X 			    if (get_dir("Which direction?", &dir, 
X 					&dumy, &y_dumy, &x_dumy))  	
X			      (void) poly_monster(dir, char_row, char_col);
X 			    break;
X 			  case 21:
X 			    (void) ident_spell();
X 			    break;
X 			  case 22:
X  			    (void) sleep_monsters2();
X 			    break;
X 			  case 23:
X 			    if (get_dir("Which direction?", &dir,  
X					&dumy, &y_dumy, &x_dumy))  	
X			      fire_bolt(5, dir, char_row, char_col,  	
X					damroll("6d8")+1, "Fire Bolt");
X 			    break;
X 			  case 24:
X 			    if (get_dir("Which direction?", &dir,  	
X					&dumy, &y_dumy, &x_dumy))
X			      (void)speed_monster(dir, char_row, char_col, -1);
X 			    break;
X			  case 25:
X 			    if (get_dir("Which direction?", &dir,  
X					&dumy, &y_dumy, &x_dumy))  	
X			      fire_ball(4, dir, char_row, char_col, 33,
X					"Frost Ball");
X 			    break;
X 			  case 26:
X 			    (void) recharge(60);
X 			    break;
X 			  case 27:
X 			    if (get_dir("Which direction?", &dir, 
X 					&dumy, &y_dumy, &x_dumy))
X			      (void) teleport_monster(dir, char_row, char_col);
X 			    break;
X 			  case 28:
X 			    f_ptr = &py.flags;
X 			    f_ptr->fast += randint(20) + py.misc.lev;
X 			    break;
X 			  case 29:
X 			    if (get_dir("Which direction?", &dir, 
X 					&dumy, &y_dumy, &x_dumy))  	
X			      fire_ball(5, dir, char_row, char_col, 49, 
X					"Fire Ball");
X 			    break;
X 			  case 30:
X 			    (void) destroy_area(char_row, char_col);
X 			    break;
X 			  case 31:
X 			    (void) genocide();
X 			  default:
X 			    break;
X 			  }
X 			/* End of spells...                              */ 
X			if (!reset_flag)  			
X			  {
X 			    p_ptr = &py.misc;
X 			    p_ptr->exp += m_ptr->sexp;
X 			    prt_experience();
X 			    m_ptr->sexp = 0;
X 			  }
X 		      }
X 		    p_ptr = &py.misc;
X 		    if (!reset_flag)
X		      {
X 			if (m_ptr->smana > p_ptr->cmana)
X			  {
X 			    msg_print("You faint from the effort!");
X 			    py.flags.paralysis = 
X			      randint(5*(int)(m_ptr->smana-(int)p_ptr->cmana));
X 			    p_ptr->cmana = 0.0;
X 			    if (randint(3) == 1)
X			      {
X 				msg_print("You have damaged your health!");
X 				py.stats.ccon = de_statp(py.stats.ccon);
X 				prt_constitution();
X 			      }
X 			  }
X 			else
X			  p_ptr->cmana -= (double)m_ptr->smana;
X 			prt_cmana();
X 		      }
X 		  }
X		else if (result == -1)
X		  msg_print("You don't know any spells in that book.");
X 	      }
X 	    else 
X	      if (redraw)  draw_cave();
X 	  }
X 	else 
X	  msg_print("But you are not carrying any spell-books!");
X      }
X    else 
X      msg_print("But you are not carrying any spell-books!");
X  else
X    msg_print("You can't cast spells!");
X} 
END_OF_magic.c
if test 5960 -ne `wc -c <magic.c`; then
    echo shar: \"magic.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f monsters.c -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"monsters.c\"
else
echo shar: Extracting \"monsters.c\" \(44552 characters\)
sed "s/^X//" >monsters.c <<'END_OF_monsters.c'
X#include "constants.h"
X#include "types.h"
X
X/* Following are creature arrays and variables			*/
X	/* Creatures must be defined here				*/
X	/*       See TYPES.INC under creature_type for a complete list
X		of all variables for creatures.  Some of the less obvious
X		are explained below.
X
X	Hit points:	'#1d#2' where #2 is the range of each roll and
X			#1 is the number of added up rolls to make.
X			Example: a creature with 5 eight-sided hit die
X			is given '5d8'.
X
X		Attack types:
X		1       Normal attack
X		2       Poison Strength
X		3       Confusion attack
X		4       Fear attack
X		5       Fire attack
X		6       Acid attack
X		7       Cold attack
X		8       Lightning attack
X		9       Corrosion attack
X		10      Blindness attack
X		11      Paralysis attack
X		12      Steal Money
X		13      Steal Object
X		14      Poison
X		15      Lose dexterity
X		16      Lose constitution
X		17      Lose intelligence
X		18      Lose wisdom
X		19      Lose experience
X		20      Aggravation
X		21      Disenchants
X		22      Eats food
X		23      Eats light
X		24      Eats charges
X		99      Blank
X
X		Attack descriptions:
X		1       hits you.
X		2       bites you.
X		3       claws you.
X		4       stings you.
X		5       touches you.
X		6       kicks you.
X		7       gazes at you.
X		8       breathes on you.
X		9       spits on you.
X		10      makes a horrible wail.
X		11      embraces you.
X		12      crawls on you.
X		13      releases a cloud of spores.
X		14      begs you for money.
X		15      You've been slimed.
X		16      crushes you.
X		17      tramples you.
X		18      drools on you.
X		19      insults you.
X		99      is repelled.
X
X	Example:  For a creature which bites for 1d6, then stings for
X		  2d4 and loss of dex you would use:
X			'1 2 1d6|15 4 2d4'
X
X		CMOVE flags:
XMovement.       00000001        Move only to attack
X	.       00000002        Move, attack normal
X	.       00000008        20% random movement
X	.       00000010        40% random movement
X	.       00000020        75% random movement
XSpecial +       00010000        Invisible movement
X	+       00020000        Move through door
X	+       00040000        Move through wall
X	+       00080000        Move through creatures
X	+       00100000        Picks up objects
X	+       00200000        Multiply monster
XCarries =       01000000        Carries objects.
X	=       02000000        Carries gold.
X	=       04000000        Has 60% of time.
X	=       08000000        Has 90% of time.
X	=       10000000        1d2 objects/gold.
X	=       20000000        2d2 objects/gold.
X	=       40000000        4d2 objects/gold.
XSpecial ~       80000000        Win-the-Game creature.
X
X		SPELL Flags:
XFrequency       000001    1     These add up to x.  Then
X(1 in x).       000002    2     if RANDINT(X) = 1 the
X	.       000004    4     creature casts a spell.
X	.       000008    8
XSpells  =       000010  Teleport short (blink)
X	=       000020  Teleport long
X	=       000040  Teleport player to monster
X	=       000080  Cause light wound
X	=       000100  Cause serious wound
X	=       000200  Hold person (Paralysis)
X	=       000400  Cause blindness
X	=       000800  Cause confusion
X	=       001000  Cause fear
X	=       002000  Summon monster
X	=       004000  Summon undead
X	=       008000  Slow Person
X	=       010000  Drain Mana
X	=       020000  Not Used
X	=       040000  Not Used
XBreaths +       080000  Breath Lightning
X	+       100000  Breath Gas
X	+       200000  Breath Acid
X	+       400000  Breath Frost
X	+       800000  Breath Fire
X
X		CDEFENSE flags:
X		0001    Hurt by Slay Dragon.
X		0002    Hurt by Slay Monster.
X		0004    Hurt by Slay Evil.
X		0008    Hurt by Slay Undead.
X		0010    Hurt by Frost.
X		0020    Hurt by Fire.
X		0040    Hurt by Poison.
X		0080    Hurt by Acid.
X		0100    Hurt by Light-Wand.
X		0200    Hurt by Stone-to-Mud.
X		0400    Not used.
X		0800    Not used.
X		1000    Cannot be charmed or slept.
X		2000    Can be seen with infra-vision.
X		4000    Max Hit points.
X		8000    Not used.
X
X
X	Sleep (sleep)	:	A measure in turns of how fast creature
X				will notice player (on the average).
X	Area of affect (aaf) :  Max range that creature is able to "notice"
X				the player.
X									*/
X
Xcreature_type c_list[MAX_CREATURES] = {
X{"Filthy Street Urchin"     ,0x0012000A,0x00000000,0x2034,  400,    0,
X   4,   1, 1, 'p', "1d4"   , "1 14 0d0|12 5 0d0"              ,    0},
X{"Blubbering Idiot"         ,0x0012000A,0x00000000,0x2030,  000,    0,
X   6,   1, 1, 'p', "1d2"   , "1 18 0d0"                       ,    0},
X{"Pitiful Looking Beggar"   ,0x0012000A,0x00000000,0x2030,  400,    0,
X  10,   1, 1, 'p', "1d4"   , "1 14 0d0"                       ,    0},
X{"Mangy Looking Leper"      ,0x0012000A,0x00000000,0x2030,  500,    0,
X  10,   1, 1, 'p', "1d1"   , "1 14 0d0"                       ,    0},
X{"Squint Eyed Rogue"        ,0x07120002,0x00000000,0x2034,  999,    0,
X  10,   8, 1, 'p', "2d8"   , "1 1 1d6|13 5 0d0"               ,    0},
X{"Singing, Happy Drunk"     ,0x06120038,0x00000000,0x2030,    0,    0,
X  10,   1, 1, 'p', "2d3"   , "1 14 0d0"                       ,    0},
X{"Mean Looking Mercenary"   ,0x0B12000A,0x00000000,0x2034,25000,    0,
X  10,  20, 1, 'p', "5d8"   , "1 1 1d10"                       ,    0},
X{"Battle Scarred Veteran"   ,0x0B12000A,0x00000000,0x2030,25000,    0,
X  10,  30, 1, 'p', "7d8"   , "1 1 2d6"                        ,    0},
X{"Grey Mushroom patch"      ,0x00000001,0x00000000,0x10A0,    0,    1,
X   2,   1, 1, ',', "1d2"   , "3 13 1d4"                       ,    1},
X{"Giant Yellow Centipede"   ,0x00000002,0x00000000,0x0002,  300,    2,
X   8,  12, 1, 'c', "2d6"   , "1 2 1d3|1 4 1d3"                ,    1},
X{"Giant White Centipede"    ,0x0000000A,0x00000000,0x0002,  400,    2,
X   7,  10, 1, 'c', "3d5"   , "1 2 1d2|1 4 1d2"                ,    1},
X{"White Icky-Thing"         ,0x00000012,0x00000000,0x0022,  100,    2,
X  12,   7, 1, 'i', "3d5"   , "1 5 1d2"                        ,    1},
X{"Clear Icky-Thing"         ,0x00010002,0x00000000,0x0022,  100,    1,
X  12,   6, 1, 'i', "2d5"   , "1 5 1d2"                        ,    1},
X{"Giant White Mouse"        ,0x0020000A,0x00000000,0x2070,  200,    1,
X   8,   4, 1, 'r', "1d3"   , "1 2 1d2"                        ,    1},
X{"Large Brown Snake"        ,0x0000000A,0x00000000,0x00B0,  999,    3,
X   4,  35, 0, 'R', "4d6"   , "1 2 1d3|1 16 1d4"               ,    1},
X{"Large White Snake"        ,0x00000012,0x00000000,0x00B0,  999,    2,
X   4,  30, 1, 'R', "3d6"   , "1 2 1d1"                        ,    1},
X{"Kobold"                   ,0x07020002,0x00000000,0x2032,  100,    5,
X  20,  16, 1, 'k', "3d7"   , "1 1 1d6"                        ,    1},
X{"White Worm mass"          ,0x00200022,0x00000000,0x01B0,    1,    2,
X   6,   1, 0, 'w', "4d4"   , "14 12 1d2"                      ,    1},
X{"Floating Eye"             ,0x00000001,0x0001000D,0x2102,  100,    1,
X   2,   6, 1, 'e', "3d6"   , "11 7 0d0"                       ,    1},
X{"Shrieker Mushroom patch"  ,0x00000001,0x00000000,0x10A0,    0,    1,
X   2,   1, 1, ',', "1d1"   , "20 10 0d0"                      ,    2},
X{"Blubbering Icky-Thing"    ,0x0B180012,0x00000000,0x0022,  100,    8,
X  10,   4, 1, 'i', "5d8"   , "14 12 1d4|22 12 0d0"            ,    2},
X{"Metallic Green Centipedes",0x00000012,0x00000000,0x0000,  100,    3,
X   5,   4, 2, 'c', "4d4"   , "1 12 1d1"                       ,    2},
X{"Novice Warrior"           ,0x07020002,0x00000000,0x2030,   50,    6,
X  20,  16, 1, 'p', "9d4"   , "1 1 1d7"                        ,    2},
X{"Novice Rogue"             ,0x07020002,0x00000000,0x2030,   50,    6,
X  20,  12, 1, 'p', "8d4"   , "1 1 1d6|12 5 0d0"               ,    2},
X{"Novice Priest"            ,0x07020002,0x0000108C,0x2030,  100,    7,
X  20,  10, 1, 'p', "7d4"   , "1 1 1d5"                        ,    2},
X{"Novice Mage"              ,0x07020002,0x0000089C,0x2030,   50,    7,
X  20,   6, 1, 'p', "6d4"   , "1 1 1d4"                        ,    2},
X{"Yellow Mushroom patch"    ,0x00000001,0x00000000,0x10A0,    0,    2,
X   2,   1, 1, ',', "1d1"   , "4 13 1d6"                       ,    2},
X{"White Jelly"              ,0x0B000001,0x00000000,0x01A0,  999,   10,
X   2,   1, 2, 'J', "8d8"   , "14 5 1d2"                       ,    2},
X{"Giant Green Frog"         ,0x0000000A,0x00000000,0x0082,  300,    6,
X  14,   8, 1, 'f', "2d8"   , "1 2 1d3"                        ,    2},
X{"Giant Black Ant"          ,0x0000000A,0x00000000,0x0002,  400,    8,
X  14,  20, 1, 'a', "3d6"   , "1 2 1d4"                        ,    2},
X{"White Harpy"              ,0x00000012,0x00000000,0x2036,  100,    5,
X  16,  17, 1, 'h', "2d5"   , "1 3 1d1|1 3 1d1|1 2 1d2"        ,    2},
X{"Blue Yeek"                ,0x07020002,0x00000000,0x2030,  100,    4,
X  18,  14, 1, 'y', "2d6"   , "1 1 1d5"                        ,    2},
X{"Green Worm mass"          ,0x00200022,0x00000000,0x01B0,  100,    3,
X   7,   3, 0, 'w', "6d4"   , "9 12 1d3"                       ,    2},
X{"Large Black Snake"        ,0x0000000A,0x00000000,0x00B0,  750,    9,
X   5,  38, 0, 'R', "4d8"   , "1 2 1d4|1 16 1d6"               ,    2},
X{"Poltergeist"              ,0x0F15003A,0x0000001F,0x100C,  750,    6,
X   8,  15, 3, 'G', "2d5"   , "4 1 1d1"                        ,    3},
X{"Metallic Blue Centipedes" ,0x00000012,0x00000000,0x0000,  150,    7,
X   6,   6, 2, 'c', "4d5"   , "1 12 1d2"                       ,    3},
X{"Giant White Lice"         ,0x00200022,0x00000000,0x01F0,  100,    1,
X   6,   5, 2, 'l', "1d1"   , "1 2 1d1"                        ,    3},
X{"Black Naga"               ,0x0710000A,0x00000000,0x20E6, 1200,   20,
X  16,  40, 1, 'n', "6d8"   , "1 16 1d8"                       ,    3},
X{"Spotted Mushroom patch"   ,0x00000001,0x00000000,0x10A0,    0,    3,
X   2,   1, 1, ',', "1d1"   , "14 13 2d4"                      ,    3},
X{"Yellow Jelly"             ,0x0B000001,0x0001000F,0x01A0,  999,   12,
X   2,   1, 2, 'J', "10d8"  , "14 5 1d3"                       ,    3},
X{"Scruffy looking Hobbit"   ,0x05020002,0x00000000,0x2030,  100,    4,
X  16,   8, 1, 'p', "3d5"   , "1 1 1d4|12 5 0d0"               ,    3},
X{"Huge Brown Bat"           ,0x00000022,0x00000000,0x2160,  400,    4,
X   8,  12, 3, 'b', "2d6"   , "1 2 1d2"                        ,    3},
X{"Giant White Ant"          ,0x00000002,0x00000000,0x0002,  800,    7,
X   8,  16, 1, 'a', "3d6"   , "1 2 1d4"                        ,    3},
X{"Yellow Mold"              ,0x0B000001,0x00000000,0x10A0,  999,    9,
X   2,  10, 1, 'm', "8d8"   , "1 1 1d4"                        ,    3},
X{"Metallic Red Centipedes"  ,0x0000000A,0x00000000,0x0000,  200,   12,
X   8,   9, 2, 'c', "4d8"   , "1 12 1d2"                       ,    3},
X{"Yellow Worm mass"         ,0x00200022,0x00000000,0x01B0,  100,    4,
X   7,   4, 0, 'w', "4d8"   , "15 12 1d3"                      ,    3},
X{"Large Grey Snake"         ,0x0000000A,0x00000000,0x00B0,  700,   10,
X   5,  40, 0, 'R', "6d8"   , "1 2 1d4|1 16 1d6"               ,    3},
X{"Radiation Eye"            ,0x00000001,0x0001000B,0x2102,  100,    6,
X   2,   6, 1, 'e', "3d6"   , "2 7 1d6"                        ,    3},
X{"Drooling Harpy"           ,0x00000012,0x00000000,0x2036,  100,    7,
X  16,  22, 1, 'h', "2d8"   , "1 3 1d1|1 3 1d1|1 2 1d2|1 18 0d0",   3},
X{"Silver Mouse"             ,0x0020000A,0x00000000,0x2072,  100,    1,
X   8,   5, 1, 'r', "1d1"   , "23 1 1d1"                       ,    4},
X{"Black Mushroom patch"     ,0x00000001,0x00000000,0x10A0,    0,    8,
X   2,   1, 1, ',', "8d8"   , "1 13 1d3"                       ,    4},
X{"Blue Jelly"               ,0x0B000001,0x00000000,0x01A0,  999,   14,
X   2,   1, 1, 'J', "12d8"  , "7 5 1d6"                        ,    4},
X{"Creeping Copper Coins"    ,0x00000002,0x00000000,0x0002,  100,    9,
X   3,  24, 0, '$', "7d8"   , "1 2 1d4|14 8 2d4"               ,    4},
X{"Giant White Rat"          ,0x0020000A,0x00000000,0x2070,  300,    1,
X   8,   7, 1, 'r', "2d2"   , "14 2 1d3"                       ,    4},
X{"Giant Black Centipede"    ,0x00000022,0x00000000,0x0002,  300,   11,
X   8,  20, 1, 'c', "5d8"   , "1 2 1d2|1 4 1d2"                ,    4},
X{"Giant Blue Centipede"     ,0x00000002,0x00000000,0x0002,  500,   10,
X   8,  20, 1, 'c', "4d8"   , "1 2 1d3|1 4 1d4"                ,    4},
X{"Blue Worm mass"           ,0x00200022,0x00000000,0x01B0,  100,    5,
X   7,  12, 0, 'w', "5d8"   , "7 12 1d4"                       ,    4},
X{"Large Grey Snake"         ,0x0000000A,0x00000000,0x00B0,  500,   14,
X   6,  41, 0, 'R', "6d8"   , "1 2 1d5|1 16 1d8"               ,    4},
X{"Jackal"                   ,0x00000012,0x00000000,0x2030,  300,    8,
X  12,  16, 1, 'j', "3d8"   , "1 2 1d6"                        ,    4},
X{"Green Naga"               ,0x0710000A,0x00000000,0x2066, 1200,   30,
X  20,  40, 1, 'n', "9d8"   , "1 16 1d8|6 9 2d6"               ,    5},
X{"Green Glutton Ghost"      ,0x0F150032,0x0000003F,0x100C,  100,   15,
X  10,  20, 3, 'G', "3d6"   , "22 15 1d1"                      ,    5},
X{"White Mushroom patch"     ,0x00000001,0x00000000,0x10A0,    0,    5,
X   2,   1, 1, ',', "1d1"   , "11 13 2d4"                      ,    5},
X{"Green Jelly"              ,0x0B000001,0x00000000,0x01A0,  999,   18,
X   2,   1, 2, 'J', "22d8"  , "9 5 1d2"                        ,    5},
X{"Skeleton Kobold"          ,0x00020002,0x00000000,0x000C,  400,   12,
X  20,  26, 1, 's', "5d8"   , "1 1 1d6"                        ,    5},
X{"Silver Jelly"             ,0x0B000001,0x00000000,0x00B0,    1,   15,
X   2,  25, 1, 'J', "20d8"  , "23 5 1d3"                       ,    5},
X{"Giant Black Frog"         ,0x0000000A,0x00000000,0x00A2,  400,   12,
X  12,  18, 1, 'f', "4d8"   , "1 2 1d6"                        ,    5},
X{"Grey Icky-Thing"          ,0x00000012,0x00000000,0x0022,  150,   10,
X  14,  12, 1, 'i', "4d8"   , "1 5 1d5"                        ,    5},
X{"Disenchanter Eye"         ,0x00000009,0x00010009,0x2102,  100,   20,
X   4,  10, 0, 'e', "7d8"   , "21 7 0d0"                       ,    5},
X{"Black Yeek"               ,0x07020002,0x00000000,0x2030,  100,    8,
X  18,  16, 1, 'y', "2d8"   , "1 1 1d5"                        ,    5},
X{"Red Worm mass"            ,0x00200022,0x00000000,0x21B0,  100,    6,
X   7,  12, 0, 'w', "5d8"   , "5 12 1d6"                       ,    5},
X{"Giant House Fly"          ,0x00000022,0x00000000,0x0062,  200,   10,
X  12,  16, 3, 'F', "3d8"   , "1 2 1d2"                        ,    5},
X{"Copperhead Snake"         ,0x00000012,0x00000000,0x00B0,    1,   15,
X   6,  20, 1, 'R', "4d6"   , "14 2 2d4"                       ,    5},
X{"Rot Jelly"                ,0x0B000001,0x00000000,0x00B0,    1,   15,
X   2,  30, 1, 'J', "20d8"  , "22 5 2d3"                       ,    5},
X{"Purple Mushroom patch"    ,0x00000001,0x00000000,0x10A0,    0,   12,
X   2,   1, 2, ',', "1d1"   , "16 13 1d2"                      ,    6},
X{"Brown Mold"               ,0x0B000001,0x00000000,0x10A0,  999,   20,
X   2,  12, 1, 'm', "15d8"  , "3 1 1d4"                        ,    6},
X{"Giant Brown Bat"          ,0x0000001A,0x00000000,0x2160,  300,   10,
X  10,  15, 3, 'b', "3d8"   , "1 2 1d3"                        ,    6},
X{"Creeping Silver Coins"    ,0x00000002,0x00000000,0x0002,  100,   18,
X   4,  30, 0, '$', "12d8"  , "1 2 1d6|14 8 2d6"               ,    6},
X{"Orc"                      ,0x0B020002,0x00000000,0x2036,  300,   16,
X  20,  32, 1, 'o', "9d8"   , "1 1 1d8"                        ,    6},
X{"Grey Harpy"               ,0x00000012,0x00000000,0x2036,  100,   14,
X  16,  20, 2, 'h', "3d8"   , "1 3 1d2|1 3 1d2|1 2 1d2"        ,    6},
X{"Blue Icky-Thing"          ,0x00000012,0x00000000,0x0022,  200,   12,
X  18,  14, 1, 'i', "4d8"   , "7 5 2d3"                        ,    6},
X{"Rattlesnake"              ,0x00000012,0x00000000,0x00B0,    1,   20,
X   6,  24, 1, 'R', "6d7"   , "14 2 2d5"                       ,    6},
X{"Bloodshot Eye"            ,0x00000001,0x00010007,0x2102,  100,   15,
X   2,   6, 1, 'e', "4d8"   , "10 7 2d6"                       ,    7},
X{"Red Naga"                 ,0x0710000A,0x00000000,0x20E6, 1200,   40,
X  20,  40, 1, 'n', "11d8"  , "1 16 1d10|2 2 1d4"              ,    7},
X{"Red Jelly"                ,0x0B000001,0x00000000,0x01A0,  999,   26,
X   2,   1, 1, 'J', "26d8"  , "2 5 1d5"                        ,    7},
X{"Giant Red Frog"           ,0x0000000A,0x00000000,0x00A2,  500,   16,
X  12,  16, 1, 'f', "5d8"   , "2 2 2d4"                        ,    7},
X{"Green Icky-Thing"         ,0x00000012,0x00000000,0x0022,  200,   18,
X  14,  12, 1, 'i', "5d8"   , "9 5 2d5"                        ,    7},
X{"Zombie Kobold"            ,0x00020002,0x00000000,0x002E,  300,   14,
X  20,  14, 1, 'z', "6d8"   , "1 1 1d2|1 1 1d2"                ,    7},
X{"Lost Soul"                ,0x0015001A,0x0001002F,0x100C,  100,   18,
X   4,  10, 1, 'G', "2d8"   , "1 1 2d2|18 5 0d0"               ,    7},
X{"Greedy little Gnome"      ,0x0B020002,0x00000000,0x2030,  100,   13,
X  18,  14, 1, 'p', "3d8"   , "1 1 1d7|13 5 0d0"               ,    7},
X{"Giant Green Fly"          ,0x00000022,0x00000000,0x0062,  500,   15,
X  12,  14, 2, 'F', "3d8"   , "1 2 1d4"                        ,    7},
X{"Brown Yeek"               ,0x07020002,0x00000000,0x2030,  100,   11,
X  18,  18, 1, 'y', "3d8"   , "1 1 1d6"                        ,    8},
X{"Green Mold"               ,0x0B000001,0x00000000,0x10A0,  750,   28,
X   2,  14, 1, 'm', "21d8"  , "4 1 1d4"                        ,    8},
X{"Skeleton Orc"             ,0x00020002,0x00000000,0x100C,  400,   26,
X  20,  36, 1, 's', "10d8"  , "1 1 2d5"                        ,    8},
X{"Seedy looking Human"      ,0x13020002,0x00000000,0x2034,  200,   22,
X  20,  26, 1, 'p', "8d8"   , "1 1 3d4"                        ,    8},
X{"Red Icky-Thing"           ,0x00000012,0x00000000,0x0022,  200,   22,
X  14,  18, 2, 'i', "4d8"   , "1 5 1d3|6 8 1d5"                ,    8},
X{"Bandit"                   ,0x13020002,0x00000000,0x2030,  999,   26,
X  20,  24, 1, 'p', "8d8"   , "1 1 2d4|12 5 0d0"               ,    8},
X{"Yeti"                     ,0x00020002,0x00000000,0x2024,  100,   30,
X  20,  24, 1, 'Y', "11d8"  , "1 3 1d3|1 3 1d3|1 2 1d4"        ,    9},
X{"Bloodshot Icky-Thing"     ,0x0000000A,0x0001000B,0x2022,  800,   24,
X  14,  18, 1, 'i', "7d8"   , "1 5 1d4|9 8 2d4"                ,    9},
X{"Giant Grey Rat"           ,0x0020000A,0x00000000,0x2070,  200,    2,
X  10,  12, 1, 'r', "2d3"   , "14 2 1d4"                       ,    9},
X{"Black Harpy"              ,0x0000000A,0x00000000,0x2036,  100,   19,
X  16,  22, 2, 'h', "3d8"   , "1 3 1d2|1 3 1d2|1 2 1d3"        ,    9},
X{"Giant Black Bat"          ,0x00000012,0x00000000,0x2060,  250,   16,
X  12,  18, 3, 'b', "2d8"   , "1 2 1d6"                        ,    9},
X{"Clear Yeek"               ,0x07030002,0x00000000,0x0030,  100,   14,
X  18,  24, 1, 'y', "3d6"   , "1 1 1d5"                        ,    9},
X{"Orc Shaman"               ,0x0B020002,0x00008085,0x2036,  200,   30,
X  20,  15, 1, 'o', "7d8"   , "1 1 1d6"                        ,    9},
X{"Giant Red Ant"            ,0x00000002,0x00000000,0x0002,  600,   22,
X  12,  34, 1, 'a', "4d8"   , "1 2 1d4|2 4 1d4"                ,    9},
X{"King Cobra"               ,0x00000012,0x00000000,0x00B0,    1,   28,
X   8,  30, 1, 'R', "8d8"   , "10 9 1d2|14 2 3d4"              ,    9},
X{"Clear Mushroom patch"     ,0x00210001,0x00000000,0x00A0,    0,    1,
X   4,   1, 2, ',', "1d1"   , "1 13 1d1"                       ,   10},
X{"Giant White Tick"         ,0x0000000A,0x00000000,0x0022,  200,   27,
X  12,  40, 0, 't', "15d8"  , "14 2 2d6"                       ,   10},
X{"Hairy Mold"               ,0x0B000001,0x00000000,0x10A0,  700,   32,
X   2,  15, 1, 'm', "15d8"  , "14 1 1d3"                       ,   10},
X{"Disenchanter Mold"        ,0x0B000001,0x0001000B,0x10A0,  100,   40,
X   2,  20, 1, 'm', "16d8"  , "21 5 1d6"                       ,   10},
X{"Giant Red Centipede"      ,0x00000002,0x00000000,0x0082,  500,   24,
X  12,  26, 2, 'c', "3d8"   , "1 2 1d2|14 4 1d2"               ,   10},
X{"Creeping Gold Coins"      ,0x00000002,0x00000000,0x0002,  100,   32,
X   5,  36, 0, '$', "18d8"  , "1 2 2d5|14 8 3d5"               ,   10},
X{"Giant Fruit Fly"          ,0x00200022,0x00000000,0x0062,  500,    4,
X   8,  14, 2, 'F', "2d2"   , "1 2 1d2"                        ,   10},
X{"Brigand"                  ,0x13020002,0x00000000,0x2030,  100,   35,
X  20,  32, 1, 'p', "9d8"   , "1 1 2d4|13 5 0d0"               ,   10},
X{"Orc Zombie"               ,0x00020002,0x00000000,0x102E,  250,   30,
X  20,  24, 1, 'z', "11d8"  , "1 1 1d4|1 1 1d4"                ,   11},
X{"Orc Warrior"              ,0x0F020002,0x00000000,0x2036,  250,   34,
X  20,  36, 1, 'o', "11d8"  , "1 1 2d6"                        ,   11},
X{"Vorpal Bunny"             ,0x0020000A,0x00000000,0x2070,  300,    2,
X   8,  10, 2, 'r', "2d3"   , "1 2 1d5"                        ,   11},
X{"Nasty little Gnome"       ,0x0B020002,0x000020B5,0x2030,   10,   32,
X  18,  10, 1, 'p', "4d8"   , "1 1 1d5"                        ,   11},
X{"Hobgoblin"                ,0x0F020002,0x00000000,0x2036,  300,   38,
X  20,  38, 1, 'H', "12d8"  , "1 1 1d10"                       ,   11},
X{"Black Mamba"              ,0x00000012,0x00000000,0x00B0,    1,   40,
X  20,  32, 2, 'R', "10d8"  , "14 2 4d4"                       ,   12},
X{"Grape Jelly"              ,0x0B000001,0x0001000B,0x01A0,  999,   60,
X   2,   1, 1, 'J', "52d8"  , "19 5 5d8"                       ,   12},
X{"Master Yeek"              ,0x07020002,0x00008018,0x2030,  100,   28,
X  18,  24, 1, 'y', "5d8"   , "1 1 1d8"                        ,   12},
X{"Priest"                   ,0x13020002,0x00000285,0x2030,  400,   36,
X  20,  22, 1, 'p', "7d8"   , "1 1 2d3"                        ,   12},
X{"Giant Clear Ant"          ,0x00010002,0x00000000,0x0102,  600,   24,
X  12,  18, 1, 'a', "3d7"   , "1 2 1d4"                        ,   12},
X{"Air Spirit"               ,0x00030022,0x00000000,0x0010,  200,   40,
X  12,  20, 3, 'E', "5d8"   , "1 1 1d3"                        ,   12},
X{"Skeleton Human"           ,0x00020002,0x00000000,0x100C,  300,   38,
X  20,  30, 1, 's', "12d8"  , "1 1 1d8"                        ,   12},
X{"Human Zombie"             ,0x00020002,0x00000000,0x102E,  200,   34,
X  20,  24, 1, 'z', "11d8"  , "1 1 1d4|1 1 1d4"                ,   12},
X{"Moaning Spirit"           ,0x0F15000A,0x0001002E,0x100C,  300,   44,
X   6,  20, 1, 'G', "4d8"   , "4 10 0d0|15 5 1d8"              ,   12},
X{"Swordsman"                ,0x13020002,0x00000000,0x2030,  999,   40,
X  20,  34, 1, 'p', "11d8"  , "1 1 3d5"                        ,   12},
X{"Killer Brown Beetle"      ,0x0000000A,0x00000000,0x0002,  300,   38,
X  10,  40, 1, 'K', "13d8"  , "1 2 3d4"                        ,   13},
X{"Ogre"                     ,0x07020002,0x00000000,0x2036,  300,   42,
X  20,  32, 1, 'o', "13d8"  , "1 1 2d8"                        ,   13},
X{"Giant Red Speckled Frog"  ,0x0000000A,0x00000000,0x00A2,  300,   32,
X  12,  20, 1, 'f', "6d8"   , "1 2 3d4"                        ,   13},
X{"Magic User"               ,0x13020002,0x00002413,0x2030,  100,   35,
X  20,  10, 1, 'p', "7d8"   , "1 1 2d2"                        ,   13},
X{"Black Orc"                ,0x0B020002,0x00000000,0x2036,  200,   40,
X  20,  36, 1, 'o', "12d8"  , "1 1 3d4"                        ,   13},
X{"Giant Long-Eared Bat"     ,0x0000001A,0x00000000,0x2160,  200,   20,
X  12,  20, 3, 'b', "5d8"   , "1 2 1d4|1 3 1d2|1 3 1d2"        ,   13},
X{"Giant Gnat"               ,0x00200022,0x00000000,0x0062,  100,    1,
X   8,   4, 3, 'F', "1d2"   , "1 2 1d1"                        ,   13},
X{"Killer Green Beetle"      ,0x00000012,0x00000000,0x0002,  300,   46,
X  12,  45, 1, 'K', "16d8"  , "1 2 4d4"                        ,   14},
X{"Giant Flea"               ,0x00200022,0x00000000,0x0062,  100,    1,
X   8,  25, 2, 'F', "2d2"   , "1 2 1d2"                        ,   14},
X{"Giant White Dragon Fly"   ,0x00000012,0x0040000A,0x0060,  500,   54,
X  20,  20, 1, 'F', "5d8"   , "7 2 1d6"                        ,   14},
X{"Hill Giant"               ,0x07020002,0x00000000,0x2034,  500,   52,
X  20,  36, 1, 'P', "16d8"  , "1 1 3d6"                        ,   14},
X{"Skeleton Hobgoblin"       ,0x00020002,0x00000000,0x100C,  300,   46,
X  20,  34, 1, 's', "13d8"  , "1 1 2d5"                        ,   14},
X{"Flesh Golem"              ,0x00020002,0x00000000,0x11B0,  100,   48,
X  12,  10, 1, 'g', "12d8"  , "1 1 1d6|1 1 1d6"                ,   14},
X{"White Dragon Bat"         ,0x00000012,0x00400004,0x2150,  500,   40,
X  12,  20, 3, 'b', "2d6"   , "7 2 1d3"                        ,   14},
X{"Giant Black Lice"         ,0x00200012,0x00000000,0x01F2,  100,    1,
X   6,   7, 2, 'l', "1d1"   , "1 2 1d2"                        ,   14},
X{"Guardian Naga"            ,0x1710000A,0x00000000,0x20E6, 1200,   60,
X  20,  50, 1, 'n', "24d8"  , "1 16 2d8|1 2 1d8"               ,   15},
X{"Giant Grey Bat"           ,0x00000012,0x00000000,0x2160,  150,   22,
X  12,  22, 3, 'b', "4d8"   , "1 2 1d6|1 3 1d2|1 3 1d2"        ,   15},
X{"Giant Clear Centipede"    ,0x00010002,0x00000000,0x0002,  300,   30,
X  10,  30, 1, 'c', "5d8"   , "1 2 2d4|1 4 2d4"                ,   15},
X{"Giant Yellow Tick"        ,0x0000000A,0x00000000,0x0022,  200,   48,
X  12,  48, 0, 't', "20d8"  , "14 2 3d9"                       ,   15},
X{"Giant Ebony Ant"          ,0x00200002,0x00000000,0x0002,  600,    3,
X  12,  24, 1, 'a', "3d4"   , "1 2 2d3"                        ,   15},
X{"Frost Giant"              ,0x07020002,0x00000000,0x0024,  500,   54,
X  20,  38, 1, 'P', "17d8"  , "7 1 3d6"                        ,   15},
X{"Clay Golem"               ,0x00020002,0x00000000,0x1200,  100,   50,
X  12,  20, 1, 'g', "14d8"  , "1 1 1d8|1 1 1d8"                ,   15},
X{"Huge White Bat"           ,0x00200012,0x00000000,0x2160,  400,    3,
X   7,  12, 2, 'b', "3d8"   , "1 2 1d6"                        ,   15},
X{"Giant Tan Bat"            ,0x00000012,0x00000000,0x2160,  400,   18,
X  12,  18, 2, 'b', "3d8"   , "4 2 1d2|1 3 1d1|1 3 1d1"        ,   15},
X{"Violet Mold"              ,0x0B000001,0x00010009,0x10A0,  700,   50,
X   2,  15, 1, 'm', "17d8"  , "11 1 1d2"                       ,   15},
X{"Umber Hulk"               ,0x00020002,0x00000000,0x2126,  100,   75,
X  20,  20, 1, 'U', "20d8"  , "3 7 0d0|1 1 1d6|1 1 1d6|1 2 2d6",   16},
X{"Gelatinous Cube"          ,0x2F18000A,0x00000000,0x00A2,    1,   36,
X  12,  18, 0, 'C', "45d8"  , "6 5 1d10"                       ,   16},
X{"Giant Black Rat"          ,0x0020000A,0x00000000,0x2070,  200,    3,
X   8,  16, 1, 'r', "3d4"   , "14 2 1d5"                       ,   16},
X{"Giant Green Dragon Fly"   ,0x00000012,0x0010000A,0x0070,  500,   58,
X  20,  20, 1, 'F', "5d8"   , "14 2 1d6"                       ,   16},
X{"Fire Giant"               ,0x07020002,0x00000000,0x2014,  500,   62,
X  20,  40, 1, 'P', "20d8"  , "5 1 3d7"                        ,   16},
X{"Green Dragon Bat"         ,0x00000012,0x00100004,0x2150,  500,   44,
X  12,  22, 3, 'b', "2d7"   , "14 2 1d3"                       ,   16},
X{"Quasit"                   ,0x1103000A,0x000010FA,0x0004,  200,   48,
X  20,  30, 1, 'q', "5d8"   , "15 2 1d6|1 3 1d3|1 3 1d3"       ,   16},
X{"Troll"                    ,0x07020002,0x00000000,0x2026,  400,   64,
X  20,  40, 1, 'T', "17d8"  , "1 1 1d4|1 1 1d4|1 2 1d6"        ,   17},
X{"Water Spirit"             ,0x0000000A,0x00000000,0x0020,  400,   58,
X  12,  28, 2, 'E', "8d8"   , "1 1 2d4"                        ,   17},
X{"Giant Brown Scorpion"     ,0x0000000A,0x00000000,0x0002,  200,   62,
X  14,  44, 1, 'S', "11d8"  , "1 2 2d4|2 4 1d7"                ,   17},
X{"Earth Spirit"             ,0x0000000A,0x00000000,0x0200,  500,   64,
X  10,  40, 1, 'E', "13d8"  , "1 1 1d8|1 1 1d8"                ,   17},
X{"Fire Spirit"              ,0x00000002,0x00000000,0x2010,  200,   66,
X  20,  30, 2, 'E', "10d8"  , "5 1 2d6"                        ,   18},
X{"Urik-Hai Orc"             ,0x0B020002,0x00000000,0x2036,  200,   68,
X  20,  42, 1, 'o', "14d8"  , "1 1 3d5"                        ,   18},
X{"Stone Giant"              ,0x07020002,0x00000000,0x2204,  500,   80,
X  20,  40, 1, 'P', "22d8"  , "1 1 3d8"                        ,   18},
X{"Stone Golem"              ,0x00020002,0x00000000,0x1200,  100,  100,
X  12,  75, 0, 'g', "28d8"  , "1 1 1d10|1 1 1d10"              ,   19},
X{"Grey Ooze"                ,0x071A0022,0x00000000,0x00A2,    1,   40,
X  15,  10, 1, 'O', "6d8"   , "7 5 2d6"                        ,   19},
X{"Disenchanter Ooze"        ,0x071A0022,0x00000000,0x00A2,    1,   50,
X  15,  15, 1, 'O', "6d8"   , "21 5 0d0"                       ,   19},
X{"Giant Spotted Rat"        ,0x0020000A,0x00000000,0x2070,  200,    3,
X   8,  20, 1, 'r', "4d3"   , "14 2 1d5"                       ,   19},
X{"Mummified Kobold"         ,0x0B020002,0x00000000,0x102C,  750,   46,
X  20,  24, 1, 'M', "13d8"  , "1 1 1d6|1 1 1d6"                ,   19},
X{"Killer Black Beetle"      ,0x0000000A,0x00000000,0x0002,  300,   75,
X  14,  46, 1, 'K', "18d8"  , "1 2 4d5"                        ,   19},
X{"Red Mold"                 ,0x0B000001,0x00000000,0x30A0,  700,   64,
X   2,  16, 1, 'm', "17d8"  , "5 5 4d4"                        ,   19},
X{"Quylthulg"                ,0x00010000,0x00002017,0x5000,    0,  200,
X  10,   1, 1, 'Q', "4d8"   , "0 0 0d0"                        ,   20},
X{"Giant Red Bat"            ,0x0000000A,0x00000000,0x2060,  200,   40,
X  12,  24, 2, 'b', "5d8"   , "1 2 1d7|1 3 1d3|1 3 1d3"        ,   20},
X{"Giant Black Dragon Fly"   ,0x00000012,0x00200009,0x0072,  500,   58,
X  20,  22, 1, 'F', "4d8"   , "10 2 1d6"                       ,   20},
X{"Cloud Giant"              ,0x07020002,0x00000000,0x2134,  500,  125,
X  20,  44, 1, 'P', "24d8"  , "8 1 3d8"                        ,   20},
X{"Black Dragon Bat"         ,0x00000012,0x00200004,0x2150,  500,   50,
X  12,  24, 3, 'b', "2d8"   , "6 2 1d3"                        ,   21},
X{"Blue Dragon Bat"          ,0x00000012,0x00080004,0x2150,  500,   54,
X  12,  26, 3, 'b', "3d6"   , "8 2 1d3"                        ,   21},
X{"Mummified Orc"            ,0x0B020002,0x00000000,0x102C,  750,   56,
X  20,  28, 1, 'M', "14d8"  , "1 1 2d4|1 1 2d4"                ,   21},
X{"Killer Boring Beetle"     ,0x00000002,0x00000000,0x0002,  300,   70,
X  12,  48, 1, 'K', "18d8"  , "1 2 4d5"                        ,   21},
X{"Killer Stag Beetle"       ,0x0000000A,0x00000000,0x0002,  300,   80,
X  12,  50, 1, 'K', "20d8"  , "1 2 3d4|1 1 1d12"               ,   22},
X{"Black Mold"               ,0x0B000081,0x00000000,0x10A0,  500,   68,
X   2,  18, 1, 'm', "15d8"  , "1 1 4d3"                        ,   22},
X{"Iron Golem"               ,0x00020002,0x00000000,0x1080,  100,  160,
X  12,  99,-1, 'g', "80d8"  , "1 1 1d12|1 1 1d12"              ,   22},
X{"Giant Yellow Scorpion"    ,0x0000000A,0x00000000,0x0002,  200,   60,
X  12,  38, 1, 'S', "12d8"  , "1 2 1d8|14 4 2d5"               ,   22},
X{"Green Ooze"               ,0x00200001,0x00000000,0x00B2,    1,    6,
X  15,   5, 0, 'O', "4d8"   , "6 5 2d3"                        ,   22},
X{"Black Ooze"               ,0x003A0012,0x0001000B,0x0192,    1,    7,
X  10,   6,-1, 'O', "6d8"   , "9 5 2d6"                        ,   23},
X{"Warrior"                  ,0x13120002,0x00000000,0x2030,  400,   60,
X  20,  40, 1, 'p', "15d8"  , "1 1 3d5"                        ,   23},
X{"Red Dragon Bat"           ,0x00000012,0x00800004,0x2150,  500,   60,
X  12,  28, 3, 'b', "3d8"   , "5 2 1d3"                        ,   23},
X{"Killer Blue Beetle"       ,0x0000000A,0x00000000,0x0002,  300,   85,
X  15,  50, 1, 'K', "20d8"  , "1 2 4d5"                        ,   23},
X{"Giant Silver Ant"         ,0x0000000A,0x00000000,0x0002,  600,   45,
X  15,  38, 1, 'a', "6d8"   , "6 2 4d4"                        ,   23},
X{"Crimson Mold"             ,0x0B000001,0x00000000,0x10A0,  500,   65,
X   2,  18, 1, 'm', "16d8"  , "1 1 1d3|4 5 0d0"                ,   23},
X{"Forest Wight"             ,0x0F00000A,0x0000100F,0x112E,  300,  140,
X  20,  30, 1, 'W', "12d8"  , "1 1 1d6|1 1 1d6|19 5 12d8"      ,   24},
X{"Berzerker"                ,0x07020002,0x00000000,0x2030,  100,   65,
X  20,  20, 1, 'p', "15d8"  , "1 1 1d8|1 1 1d8"                ,   24},
X{"Mummified Human"          ,0x0B020002,0x00000000,0x102C,  600,   70,
X  20,  34, 1, 'M', "17d8"  , "1 1 2d4|1 1 2d4"                ,   24},
X{"Banshee"                  ,0x0F15001A,0x0001002F,0x100C,  100,   60,
X  20,  24, 2, 'G', "6d8"   , "4 10 0d0|19 5 14d8"             ,   24},
X{"Giant Troll"              ,0x0F020002,0x00000000,0x2026,  500,   85,
X  20,  40, 1, 'T', "19d8"  , "1 1 1d6|1 1 1d6|1 2 3d4"        ,   25},
X{"Giant Brown Tick"         ,0x00000012,0x00000000,0x0022,  200,   70,
X  12,  50, 0, 't', "18d8"  , "14 2 1d10|10 4 1d1"             ,   25},
X{"Killer Red Beetle"        ,0x00000012,0x00000000,0x0002,  300,   85,
X  15,  50, 1, 'K', "20d8"  , "2 2 4d4"                        ,   25},
X{"Wooden Mold"              ,0x00000001,0x00000000,0x10A0,  999,  100,
X   2,  50, 1, 'm', "25d8"  , "14 8 2d6"                       ,   25},
X{"Giant Blue Dragon Fly"    ,0x00000012,0x00080009,0x0030,  500,   75,
X  20,  24, 1, 'F', "6d8"   , "1 2 1d6"                        ,   25},
X{"Giant Grey Ant Lion"      ,0x0008000A,0x00000000,0x0032,  400,   90,
X  10,  40, 1, 'A', "19d8"  , "1 2 2d12"                       ,   26},
X{"Disenchanter Bat"         ,0x00000012,0x00000000,0x2060,    1,   75,
X  14,  24, 3, 'b', "4d8"   , "21 1 0d0"                       ,   26},
X{"Giant Fire Tick"          ,0x0000000A,0x00000000,0x2012,  200,   90,
X  14,  54, 1, 't', "16d8"  , "5 9 3d7"                        ,   26},
X{"White Wraith"             ,0x0F02000A,0x00000000,0x112E,  100,  165,
X  20,  40, 1, 'W', "15d8"  , "1 1 1d6|1 1 1d6|19 5 15d8"      ,   26},
X{"Giant Black Scorpion"     ,0x00000002,0x00000000,0x0002,  200,   85,
X  12,  50, 1, 'S', "13d8"  , "1 2 1d10|14 4 2d5"              ,   26},
X{"Clear Ooze"               ,0x000B000A,0x00000000,0x00B2,    1,   12,
X  10,  14, 1, 'O', "4d8"   , "3 5 1d8"                        ,   26},
X{"Killer Fire Beetle"       ,0x00000012,0x00000000,0x2012,  300,   95,
X  14,  45, 1, 'K', "13d8"  , "1 2 3d4|5 9 4d5"                ,   27},
X{"Vampire"                  ,0x17000002,0x00001209,0x112E,  100,  175,
X  20,  45, 1, 'V', "20d8"  , "1 1 1d6|1 1 1d6|19 5 18d8"      ,   27},
X{"Giant Red Dragon Fly"     ,0x00000012,0x00800008,0x2050,  500,   75,
X  20,  24, 1, 'F', "7d8"   , "4 2 1d6"                        ,   27},
X{"Shimmering Mold"          ,0x0B000081,0x00000000,0x10A0,  100,  180,
X   2,  24, 1, 'm', "32d8"  , "8 5 5d4"                        ,   27},
X{"Black Knight"             ,0x17020002,0x0000010F,0x2030,  100,  140,
X  20,  60, 1, 'p', "25d8"  , "1 1 5d5"                        ,   28},
X{"Mage"                     ,0x13020002,0x00002C73,0x2030,  100,  150,
X  20,  30, 1, 'p', "10d8"  , "1 1 2d5"                        ,   28},
X{"Ice Troll"                ,0x0F020002,0x00000000,0x0026,  500,  160,
X  20,  46, 1, 'T', "22d8"  , "1 1 1d5|1 1 1d5|7 2 3d6"        ,   28},
X{"Giant Purple Worm"        ,0x0000000A,0x00000000,0x2030,  300,  400,
X  14,  65, 1, 'w', "65d8"  , "1 1 1d8|6 2 2d8|14 4 1d8"       ,   29},
X{"Young Blue Dragon"        ,0x1F00000A,0x0008100B,0x2005,  700,  300,
X  20,  50, 1, 'd', "33d8"  , "1 3 1d4|1 3 1d4|1 2 1d6"        ,   29},
X{"Young White Dragon"       ,0x1F00000A,0x0040100B,0x2005,  700,  275,
X  20,  50, 1, 'd', "32d8"  , "1 3 1d4|1 3 1d4|1 2 1d6"        ,   29},
X{"Young Green Dragon"       ,0x1F00000A,0x0010100B,0x2005,  700,  290,
X  20,  50, 1, 'd', "32d8"  , "1 3 1d4|1 3 1d4|1 2 1d6"        ,   29},
X{"Giant Fire Bat"           ,0x00000012,0x00000000,0x2050,  100,   85,
X  14,  30, 2, 'b', "5d8"   , "5 2 3d6|1 3 1d4|1 3 1d4"        ,   29},
X{"Giant Glowing Rat"        ,0x0020000A,0x00000000,0x2070,  200,    4,
X   8,  24, 1, 'r', "3d3"   , "8 2 2d6"                        ,   29},
X	/* Now things are going to get tough...                  */
X	/* Some of the creatures have Max hit points, denoted in */
X	/* their CDEFENSE flags as the '4000' bit set            */
X{"Skeleton Troll"           ,0x00020002,0x00000000,0x500C,  400,  225,
X  20,  55, 1, 's', "14d8"  , "1 1 1d6|1 1 1d6|1 2 3d4"        ,   30},
X{"Giant Lightning Bat"      ,0x0000000A,0x00000000,0x2042,  100,   80,
X  15,  34, 2, 'b', "8d8"   , "8 2 3d8|1 3 1d5|1 3 1d5"        ,   30},
X{"Giant Static Ant"         ,0x0000000A,0x00000000,0x0002,  600,   80,
X  10,  40, 1, 'a', "8d8"   , "8 2 5d5"                        ,   30},
X{"Grave Wight"              ,0x0F02000A,0x0000190A,0x512E,  300,  325,
X  20,  35, 1, 'W', "12d8"  , "1 1 1d7|1 1 1d7|19 5 20d8"      ,   30},
X{"Killer Slicer Beetle"     ,0x0000000A,0x00000000,0x0012,  300,  200,
X  14,  55, 1, 'K', "22d8"  , "1 2 5d8"                        ,   30},
X{"Giant White Ant Lion"     ,0x0008000A,0x00000000,0x0022,  400,  175,
X  12,  45, 1, 'A', "20d8"  , "7 2 3d10"                       ,   30},
X{"Ghost"                    ,0x1715000A,0x0001002F,0x500C,  100,  350,
X  20,  30, 2, 'G', "13d8"  , "4 7 0d0|19 5 22d8|17 3 1d10"    ,   31},
X{"Giant Black Ant Lion"     ,0x0008000A,0x00000000,0x0032,  400,  170,
X  14,  45, 1, 'A', "23d8"  , "1 2 2d12|6 9 3d6"               ,   31},
X{"Death Watch Beetle"       ,0x0000000A,0x00000000,0x0012,  300,  190,
X  16,  60, 1, 'K', "25d8"  , "1 2 5d4|1 10 5d6"               ,   31},
X{"Ogre Magi"                ,0x07020002,0x0000A356,0x403C,  300,  250,
X  20,  42, 1, 'o', "14d8"  , "1 1 3d6"                        ,   31},
X{"Crystal Ooze"             ,0x07390009,0x00000000,0x0092,  600,    8,
X   5,  30,-1, 'O', "12d8"  , "7 5 4d4"                        ,   31},
X{"Two-Headed Troll"         ,0x0F020002,0x00000000,0x6026,  500,  275,
X  20,  48, 1, 'T', "14d8"  , "1 1 1d8|1 1 1d8|1 2 1d6|1 2 1d6",   32},
X{"Invisible Stalker"        ,0x00030022,0x00000000,0x0000,  200,  200,
X  20,  46, 3, 'E', "19d8"  , "1 1 1d6"                        ,   32},
X{"Giant Hunter Ant"         ,0x00000002,0x00000000,0x0002,   10,  150,
X  16,  40, 1, 'a', "12d8"   , "1 2 4d8"                        ,   32},
X{"Ninja"                    ,0x0F020002,0x00000000,0x6030,  100,  300,
X  20,  65, 1, 'p', "15d8"  , "14 1 3d4|2 1 3d4"               ,   32},
X{"Barrow Wight"             ,0x0F02000A,0x00001308,0x512E,  100,  375,
X  20,  40, 1, 'W', "13d8"  , "1 1 1d8|1 1 1d8|19 5 26d8"      ,   33},
X{"Skeleton 2-Headed Troll"  ,0x00020002,0x00000000,0x500C,  200,  325,
X  20,  48, 1, 's', "20d8"  , "1 1 1d9|1 1 1d9|1 2 1d5|1 2 1d5",   33},
X{"Water Elemental"          ,0x0000000A,0x00000000,0x0020,  500,  325,
X  12,  36, 1, 'E', "25d8"  , "1 1 1d10|1 1 1d10"              ,   33},
X{"Fire Elemental"           ,0x000A0012,0x00000000,0x2010,  700,  350,
X  16,  40, 0, 'E', "25d8"  , "5 1 4d6"                        ,   33},
X{"Lich"                     ,0x1F020002,0x00019F75,0x500C,  600,  750,
X  20,  50, 1, 'L', "25d8"  , "15 5 2d8|19 5 30d8|24 5 0d0"    ,   34},
X{"Master Vampire"           ,0x17000002,0x00001307,0x512E,  100,  700,
X  20,  55, 1, 'V', "23d8"  , "1 1 1d6|1 1 1d6|19 5 32d8"      ,   34},
X{"Spirit Troll"             ,0x00040002,0x00000000,0x402E,  100,  425,
X  20,  56, 1, 'T', "15d8"  , "1 3 1d5|1 3 1d5|1 2 1d6"        ,   34},
X{"Giant Red Scorpion"       ,0x0000000A,0x00000000,0x0002,  400,  275,
X  12,  50, 2, 'S', "18d8"  , "1 2 1d6|14 4 1d4"               ,   34},
X{"Earth Elemental"          ,0x001A0002,0x00000000,0x0200,  900,  375,
X  10,  60, 0, 'E', "30d8"  , "1 1 4d6|1 1 4d6"                ,   34},
X{"Young Black Dragon"       ,0x1F00000A,0x0020100B,0x6005,  500,  600,
X  20,  55, 1, 'd', "32d8"  , "1 3 1d5|1 3 1d5|1 2 1d6"        ,   35},
X{"Young Red Dragon"         ,0x1F00000A,0x0080100A,0x6015,  500,  650,
X  20,  60, 1, 'd', "36d8"  , "1 3 1d8|1 3 1d8|1 2 2d8"        ,   35},
X{"Necromancer"              ,0x13020002,0x00005762,0x6030,  100,  600,
X  20,  40, 1, 'p', "17d8"  , "1 1 2d6"                        ,   35},
X{"Mummified Troll"          ,0x0F020002,0x00000000,0x502C,  500,  400,
X  20,  38, 1, 'M', "18d8"  , "1 1 2d6|1 1 2d6"                ,   35},
X{"Giant Red Ant Lion"       ,0x00080009,0x00000000,0x0032,  400,  350,
X  14,  48, 1, 'A', "23d8"  , "5 2 3d12"                       ,   35},
X{"Mature White Dragon"      ,0x2F00000A,0x0040100A,0x4005,  700, 1000,
X  20,  65, 1, 'd', "48d8"  , "1 3 1d8|1 3 1d8|1 2 2d8"        ,   35},
X{"Xorn"                     ,0x00160002,0x00000000,0x4200,  100,  650,
X  20,  80, 1, 'X', "20d8"  , "1 1 1d6|1 1 1d6|1 1 1d6"        ,   36},
X{"Giant Mottled Ant Lion"   ,0x0008000A,0x00000000,0x0032,  400,  350,
X  14,  50, 2, 'A', "24d8 " , "1 2 2d10"                       ,   36},
X{"Grey Wraith"              ,0x0F02000A,0x00011308,0x512E,  100,  700,
X  20,  50, 1, 'W', "23d8"  , "1 1 1d10|1 1 1d10|19 5 34d8"    ,   36},
X{"Young Multi-Hued Dragon"  ,0x7F00000A,0x00F81005,0x6005,  500, 1250,
X  20,  55, 1, 'd', "40d8"  , "1 3 1d9|1 3 1d9|1 2 2d10"       ,   36},
X{"Mature Blue Dragon"       ,0x2F00000A,0x00081009,0x6005,  400, 1200,
X  20,  75, 1, 'd', "48d8"  , "1 3 1d8|1 3 1d8|1 2 2d10"       ,   36},
X{"Mature Green Dragon"      ,0x1F00000A,0x0010100A,0x6005,  700, 1100,
X  20,  70, 1, 'd', "48d8"  , "1 3 1d4|1 3 1d4|1 2 1d6"        ,   36},
X{"Iridescent Beetle"        ,0x0000000A,0x00000000,0x0012,  300,  850,
X  16,  60, 1, 'K', "32d8"  , "1 2 4d6|1 1 1d12|11 7 0d0"      ,   37},
X{"King Vampire"             ,0x17000002,0x00001307,0x512E,  100, 1000,
X  20,  65, 1, 'V', "38d8"  , "1 1 1d6|1 1 1d6|19 5 38d8"      ,   37},
X{"King Lich"                ,0x1F020002,0x00019F73,0x500C,  500, 1400,
X  20,  65, 1, 'L', "52d8"  , "15 5 2d10|19 5 36d8|24 5 0d0"   ,   37},
X{"Mature Red Dragon"        ,0x2F00000A,0x00801808,0x6015,  300, 1400,
X  20,  80, 1, 'd', "60d8"  , "1 3 1d10|1 3 1d10|1 2 2d12"     ,   37},
X{"Mature Black Dragon"      ,0x2F00000A,0x00201009,0x6005,  700, 1350,
X  20,  55, 1, 'd', "58d8"  , "1 3 1d8|1 3 1d8|1 2 2d10"       ,   37},
X{"Mature Multi-Hued Dragon" ,0x7F00000A,0x00F81A05,0x6005,  500, 1650,
X  20,  65, 1, 'd', "80d8"  , "1 3 1d10|1 3 1d10|1 2 2d12"     ,   38},
X{"Ancient White Dragon"     ,0x4F000002,0x00401A08,0x4005,  800, 1500,
X  20,  80, 2, 'D', "88d8"  , "1 3 1d8|1 3 1d8|1 2 2d8"        ,   38},
X{"Emperor Wight"            ,0x1B02000A,0x00001306,0x512E,  100, 1600,
X  20,  40, 2, 'W', "48d8"  , "1 1 1d12|1 1 1d12|19 5 42d8"    ,   38},
X{"Black Wraith"             ,0x1F02000A,0x00001307,0x512E,  100, 1700,
X  20,  55, 1, 'W', "50d8"  , "1 1 1d12|1 1 1d12|19 5 44d8"    ,   38},
X{"Nether Wraith"            ,0x1F07000A,0x00005316,0x512E,  100, 2100,
X  20,  55, 1, 'W', "58d8"  , "1 1 1d12|1 1 1d12|19 5 52d8"    ,   39},
X{"Sorcerer"                 ,0x13020002,0x0000FF73,0x6030,  100, 2150,
X  20,  50, 2, 'p', "30d8"  , "1 1 2d8"                        ,   39},
X{"Ancient Blue Dragon"      ,0x4F000002,0x00081A08,0x6005,  800, 2500,
X  20,  90, 2, 'D', "87d8"  , "1 3 1d9|1 3 1d9|1 2 2d12"       ,   39},
X{"Ancient Green Dragon"     ,0x4F000002,0x00101A09,0x6005,  700, 2400,
X  20,  85, 2, 'D', "90d8"  , "1 3 1d8|1 3 1d8|1 2 2d10"       ,   39},
X{"Ancient Black Dragon"     ,0x4F000002,0x00201A07,0x6005,  700, 2500,
X  20,  90, 2, 'D', "90d8"  , "1 3 1d9|1 3 1d9|1 2 2d10"       ,   39},
X{"Disenchanter Worms"       ,0x00200022,0x00000000,0x01B0,  100,   30,
X   5,   5, 0, 'w', "10d8"  , "21 12 1d4"                      ,   40},
X{"Rotting Quylthulg"        ,0x00010000,0x00004014,0x5000,    0, 1000,
X  20,   1, 2, 'Q', "12d8"  , "0 0 0d0"                        ,   40},
X{"Ancient Red Dragon"       ,0x7F000002,0x00801E06,0x6015,  500, 2750,
X  20, 100, 2, 'D', "105d8" , "1 3 1d10|1 3 1d10|1 2 2d14"     ,   40},
X{"Death Quasit"             ,0x1103000A,0x000010FA,0x0004,    0, 1000,
X  20,  80, 3, 'q', "55d8"  , "15 2 3d6|1 3 3d3|1 3 3d3"       ,   40},
X{"Emperor Lich"             ,0x2F020002,0x00019F72,0x500C,  500,10000,
X  20,  75, 2, 'L', "190d8" , "15 5 2d12|19 5 46d8|24 5 0d0"   ,   40},
X{"Ancient Multi-Hued Dragon",0x7F000002,0x00F89E05,0x6005,  500,12000,
X  20, 100, 2, 'D', "260d8" , "1 3 1d12|1 3 1d12|1 2 3d12"     ,   40},
X	/* Winning creatures should follow here.                         */
X	/* Winning creatures are denoted by the 32 bit in CMOVE          */
X	/* Iggy is not a win creature, just a royal pain in the ass...   */
X{"Evil Iggy"                ,0x7F130002,0x0001D713,0x5004,    0,18000,
X  20,  80, 2, 'p', "300d8" , "2 1 4d6|13 19 0d0"               ,   50},
X	/* Here is the only actual win creature...                       */
X{"Balrog"                   ,0xFF1F0002,0x0081C743,0x5004,    0,55000,
X  20, 125, 3, 'B', "375d8" , "5 1 10d12|1 17 8d12|24 5 0d0"    ,  100}
X};
X
Xmonster_type m_list[MAX_MALLOC];
Xint m_level[MAX_MONS_LEVEL+1];
X/* Blank monster values	*/
Xmonster_type blank_monster = {0,0,0,0,0,0,0,0,0,FALSE,FALSE};	
Xint muptr;	                /* Cur used monster ptr	*/
Xint mfptr;	                /* Cur free monster ptr	*/
Xint mon_tot_mult;	        /* # of repro's of creature	*/
X
END_OF_monsters.c
if test 44552 -ne `wc -c <monsters.c`; then
    echo shar: \"monsters.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of archive 6 \(of 16\).
cp /dev/null ark6isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 16 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0