clan/
class/
data/
doc/ideas/
doc/mobprogs/
gods/
log/
player/
time/
/*
 *  The unique portions of SunderMud code as well as the integration efforts
 *  for code from other sources is based on the efforts of:
 *
 *  Lotherius (elfren@aros.net)
 *
 *  This code can only be used under the terms of the DikuMud, Merc,
 *  and ROM licenses. The same requirements apply to the changes that
 *  have been made.
 *
 * All other copyrights remain in place and in force.
*/


/***************************************************************************
 *  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
 *  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.   *
 *                                                                         *
 *  Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael          *
 *  Chastain, Michael Quan, and Mitchell Tse.                              *
 *                                                                         *
 *  In order to use any part of this Merc Diku Mud, you must comply with   *
 *  both the original Diku license in 'license.doc' as well the Merc       *
 *  license in 'license.txt'.  In particular, you may not remove either of *
 *  these copyright notices.                                               *
 *                                                                         *
 *  Much time and thought has gone into this software and you are          *
 *  benefitting.  We hope that you share your changes too.  What goes      *
 *  around, comes around.                                                  *
 ***************************************************************************/

#include "everything.h"
#include "magic.h"

/* Zeran - administrative staff table (useful for note to admin) */

const char *admin_table[] =
{
	"Zeran",
	"Lotherius",
	"Eardianm",
	"Cyz",
	"Ashind"
	""
};

/* Zeran - material table */

const struct material_data material_table [] =
{
/*	{   material name  	,material_type,		vuln_flag		} */
	{	"wood",	 		MATERIAL_WOOD, 		VULN_WOOD		},
	{  	"iron",			MATERIAL_IRON, 		VULN_IRON		},
	{	"silver",		MATERIAL_SILVER,	VULN_SILVER		},
	{	"gold",			MATERIAL_GOLD,		0			   	},
	{	"adamantite",	MATERIAL_ADAMANTITE,VULN_ADAMANTITE	},
	{	"cloth",		MATERIAL_CLOTH,		0				},
	{	"glass",		MATERIAL_GLASS,		0				},
	{	"food",			MATERIAL_FOOD,		0				},
	{	"liquid",		MATERIAL_LIQUID,	0				},
	{	"mithril",		MATERIAL_MITHRIL,	VULN_MITHRIL	},
	{   "steel",		MATERIAL_STEEL,		VULN_STEEL		},
	{	"paper",		MATERIAL_PAPER,		0				},
	{	"meat",			MATERIAL_MEAT,		0				},
	{  	"flesh",		MATERIAL_FLESH,		0				},
	{	"leather",		MATERIAL_LEATHER,	0				},
	{	"pill",			MATERIAL_PILL,		0				},
	{	"vellum",		MATERIAL_VELLUM,	0				},
	{	"bronze",		MATERIAL_BRONZE,	0				},
	{	"brass",		MATERIAL_BRASS,		0				},
	{	"stone",		MATERIAL_STONE,		0				},
	{  	"bone",			MATERIAL_BONE,		0				},
	{	"unique",		MATERIAL_UNIQUE,	0	},
	{	"crystal",		MATERIAL_CRYSTAL,	0	},
	{	"diamond",		MATERIAL_DIAMOND,	0	},
	{	"unknown",		 0,			0	}
};
 

/* Zeran - condition table */
const char *cond_table []   =
{
	"perfect",
	"almost perfect",
	"slightly worn",
	"moderately worn",
	"heavily worn",
	"badly worn",
	"barely usable",
	"worthless"
};
	
/* Zeran - size name table */
const char *size_table []   =
{
	"tiny",
	"small",
	"medium",
	"large",
	"huge",
	"giant"
};

/* attack table  -- not very organized :( */
const 	struct attack_type	attack_table	[]		=
{
    { 	"hit",		-1		},  /*  0 */
    {	"slice", 	DAM_SLASH	},	
    {   "stab",		DAM_PIERCE	},
    {	"slash",	DAM_SLASH	},
    {	"whip",		DAM_SLASH	},
    {   "claw",		DAM_SLASH	},  /*  5 */
    {	"blast",	DAM_BASH	},
    {   "pound",	DAM_BASH	},
    {	"crush",	DAM_BASH	},
    {   "grep",		DAM_SLASH	},
    {	"bite",		DAM_PIERCE	},  /* 10 */
    {   "pierce",	DAM_PIERCE	},
    {   "suction",	DAM_BASH	},
    {	"beating",	DAM_BASH	},
    {   "digestion",DAM_ACID    },
    {	"charge",	DAM_BASH	},  /* 15 */
    { 	"slap",		DAM_BASH	},
    {	"punch",	DAM_BASH	},
    {	"wrath",	DAM_ENERGY	},
    {	"magic",	DAM_ENERGY	},
    {   "divine power",	DAM_HOLY	},  /* 20 */
    {	"cleave",	DAM_SLASH	},
    {	"scratch",	DAM_PIERCE	},
    {   "peck",		DAM_PIERCE	},
    {   "peck",		DAM_BASH	},
    {   "chop",		DAM_SLASH	},  /* 25 */
    {   "sting",	DAM_PIERCE	},
    {   "smash",	DAM_BASH	},
    {   "shocking bite",DAM_LIGHTNING	},
    {	"flaming bite", DAM_FIRE	},
    {	"freezing bite", DAM_COLD	},  /* 30 */
    {	"acidic bite", 	DAM_ACID	},
    {	"chomp",	DAM_PIERCE	},
	{   "left wing", 	DAM_SLASH }, /*start of special race attacks*/
	{	"right wing",	DAM_SLASH },
	{   "hooves", 		DAM_BASH },	 	/* 35 */
	{	"horns", 		DAM_PIERCE },  
	{	"flaming aura",	DAM_FIRE	}
};

/* race table */
const 	struct	race_type	race_table	[]		=
{
/*
    {
	name,		pc_race?,
	act bits,	aff_by bits,	off bits,
	imm,		res,		vuln,
	form,		parts 
    },
*/
	/* 1 */
    { "unique",	        FALSE, 0, 0, 0, 0, 0, 0, 0, 0 },
	/* 2 */
    { 
	"human",		TRUE, 
	0,		0, 		0,
	0, 		0,		0,
	A|H|M|V,	A|B|C|D|E|F|G|H|I|J|K
    },

	/* 3 */	
	{
	"azer",			TRUE,
	0,		0,		0,
	0,	RES_FIRE,	VULN_COLD,
	A|H|M|V,	A|B|C|D|E|F|G|H|I|J|K|L
	},

/* 4 */
	{
	"centaur", 		TRUE,
	0, 		0,		OFF_FAST,
	0,		RES_BASH, 	VULN_MENTAL,
	A|H|M|V, 	A|B|C|D|E|F|G|H|I|J|K|Z
	},
/* 5 */	
	{
	"satyr",		TRUE,
	0,		AFF_INFRARED|AFF_DETECT_INVIS|AFF_DARK_VISION, 0,
	0,		RES_CHARM|RES_POISON, VULN_IRON,
	A|H|M|V, 	A|B|C|D|E|F|G|H|I|J|K|W 
	},
/* 6 */	
	{
	"gargoyle", 	TRUE, 
	0, 		AFF_FLYING|AFF_DETECT_EVIL, 0,
	0,		RES_HOLY, VULN_SILVER,
	A|H|M|V, 	A|B|C|D|E|F|G|H|I|J|K|P
	},
/* 7 */
    {
	"elf",			TRUE,
	0,		AFF_INFRARED,	0,
	0,		RES_CHARM,	VULN_IRON,
	A|H|M|V,	A|B|C|D|E|F|G|H|I|J|K
    },
/* 8 */
    {
	"dwarf",		TRUE,
	0,		AFF_INFRARED,	0,
	0,		RES_MAGIC|RES_POISON|RES_DISEASE, VULN_DROWNING,
	A|H|M|V,	A|B|C|D|E|F|G|H|I|J|K
    },
/* 9 */
    {
	"giant",		TRUE,
	0,		0,		0,
	0,		RES_FIRE|RES_COLD,	VULN_MENTAL|VULN_LIGHTNING,
	A|H|M|V,	A|B|C|D|E|F|G|H|I|J|K
    },
/* 10 */
    {
	"bat",			FALSE,
	0,		AFF_FLYING|AFF_DARK_VISION,	OFF_DODGE|OFF_FAST,
	0,		0,		VULN_LIGHT,
	A|G|W,		A|C|D|E|F|H|J|K|P
    },
/* 11 */
    {
	"bear",			FALSE,
	0,		0,		OFF_CRUSH|OFF_DISARM|OFF_BERSERK,
	0,		RES_BASH|RES_COLD,	0,
	A|G|V,		A|B|C|D|E|F|H|J|K|U|V
    },
/* 12 */
    {
	"cat",			FALSE,
	0,		AFF_DARK_VISION,	OFF_FAST|OFF_DODGE,
	0,		0,		0,
	A|G|V,		A|C|D|E|F|H|J|K|Q|U|V
    },
/* 13 */
    {
	"centipede",		FALSE,
	0,		AFF_DARK_VISION,	0,
	0,		RES_PIERCE|RES_COLD,	VULN_BASH
    },
/* 14 */
    {
	"dog",			FALSE,
	0,		0,		OFF_FAST,
	0,		0,		0,
	A|G|V,		A|C|D|E|F|H|J|K|U|V
    },
/* 15 */
    {
	"doll",			FALSE,
	0,		0,		0,
	IMM_MAGIC,	RES_BASH|RES_LIGHT,
	VULN_SLASH|VULN_FIRE|VULN_ACID|VULN_LIGHTNING|VULN_ENERGY,
	E|J|M|cc,	A|B|C|G|H|K
    },
/* 16 */
    {
	"fido",			FALSE,
	0,		0,		OFF_DODGE|ASSIST_RACE,
	0,		0,			VULN_MAGIC,
	B|G|V,		A|C|D|E|F|H|J|K|Q|V
    },		
/* 17 */
    {
	"fox",			FALSE,
	0,		AFF_DARK_VISION,	OFF_FAST|OFF_DODGE,
	0,		0,		0,
	A|G|V,		A|C|D|E|F|H|J|K|Q|V
    },
/* 18 */
    {
	"goblin",		FALSE,
	0,		AFF_INFRARED,	0,
	0,		RES_DISEASE,	VULN_MAGIC,
	A|H|M|V,	A|B|C|D|E|F|G|H|I|J|K
    },
/* 19 */
    {
	"hobgoblin",		FALSE,
	0,		AFF_INFRARED,	0,
	0,		RES_DISEASE|RES_POISON,	0
    },
/* 20 */
    {
	"kobold",		FALSE,
	0,		AFF_INFRARED,	0,
	0,		RES_POISON,	VULN_MAGIC,
	A|B|H|M|V,	A|B|C|D|E|F|G|H|I|J|K|Q
    },
/* 21 */
    {
	"lizard",		FALSE,
	0,		0,		0,
	0,		RES_POISON,	VULN_COLD,
	A|G|X|cc,	A|C|D|E|F|H|K|Q|V
    },
/* 22 */
    {
	"modron",		FALSE,
	0,		AFF_INFRARED,		ASSIST_RACE|ASSIST_ALIGN,
	IMM_CHARM|IMM_DISEASE|IMM_MENTAL|IMM_HOLY|IMM_NEGATIVE,
			RES_FIRE|RES_COLD|RES_ACID,	0,
	H,		A|B|C|G|H|J|K
    },
/* 23 */
    {
	"orc",			FALSE,
	0,		AFF_INFRARED,	0,
	0,		RES_DISEASE,	VULN_LIGHT,
	A|H|M|V,	A|B|C|D|E|F|G|H|I|J|K
    },
/* 24 */
    {
	"pig",			FALSE,
	0,		0,		0,
	0,		0,		0,
	A|G|V,	 	A|C|D|E|F|H|J|K
    },	
/* 25 */
    {
	"rabbit",		FALSE,
	0,		0,		OFF_DODGE|OFF_FAST,
	0,		0,		0,
	A|G|V,		A|C|D|E|F|H|J|K
    },
/* 26 */
    {
	"school monster",	FALSE,
	ACT_NOALIGN,		0,		0,
	IMM_CHARM|IMM_SUMMON,	0,		VULN_MAGIC,
	A|M|V,		A|B|C|D|E|F|H|J|K|Q|U
    },	
/* 27 */
    {
	"snake",		FALSE,
	0,		0,		0,
	0,		RES_POISON,	VULN_COLD,
	A|G|R|X|Y|cc,	A|D|E|F|K|L|Q|V|X
    },
/* 28 */
    {
	"song bird",		FALSE,
	0,		AFF_FLYING,		OFF_FAST|OFF_DODGE,
	0,		0,		0,
	A|G|W,		A|C|D|E|F|H|K|P
    },
/* 29 */
    {
	"troll",		FALSE,
	0,		AFF_REGENERATION|AFF_INFRARED|AFF_DETECT_HIDDEN,
	OFF_BERSERK,
 	0,	RES_CHARM|RES_BASH,	VULN_FIRE|VULN_ACID,
	B|M|V,		A|B|C|D|E|F|G|H|I|J|K|U|V
    },
/* 30 */
    {
	"water fowl",		FALSE,
	0,		AFF_SWIM|AFF_FLYING,	0,
	0,		RES_DROWNING,		0,
	A|G|W,		A|C|D|E|F|H|K|P
    },		
/* 31 */
    {
	"wolf",			FALSE,
	0,		AFF_DARK_VISION,	OFF_FAST|OFF_DODGE,
	0,		0,		0,	
	A|G|V,		A|C|D|E|F|J|K|Q|V
    },
/* 32 */
    {
	"wyvern",		FALSE,
	0,		AFF_FLYING|AFF_DETECT_INVIS|AFF_DETECT_HIDDEN,
	OFF_BASH|OFF_FAST|OFF_DODGE,
	IMM_POISON,	0,	VULN_LIGHT,
	B|Z|cc,		A|C|D|E|F|H|J|K|Q|V|X
    },
/* 33 */
{
   "undead",     FALSE,
   ACT_UNDEAD, AFF_CURSE|AFF_PROTECTG, OFF_FADE,
   IMM_CHARM|IMM_POISON|IMM_MENTAL|IMM_DISEASE|IMM_DROWNING, 0,
   VULN_FIRE|VULN_HOLY,
   D|I, A|B|C|G|H|I
},
/* 34 */
{
   "demon",     FALSE,
   0,  AFF_PROTECTG|AFF_DARK_VISION|AFF_REGENERATION,
   OFF_BACKSTAB|OFF_DODGE|OFF_TAIL|ASSIST_RACE,
   IMM_DISEASE, RES_CHARM, VULN_HOLY|VULN_MITHRIL,
   B|H|M,  A|B|C|D|E|F|G|H|I|J|K|L|Q|U|V|W
},
/* 35 */
{
  "avatar",     FALSE,
  0,   AFF_PROTECTE|AFF_SANCTUARY,
  OFF_PARRY|ASSIST_ALIGN|ASSIST_RACE,
  IMM_HOLY, RES_DISEASE|RES_CHARM, VULN_NEGATIVE,
  C|H|M,  A|B|C|D|E|F|G|H|I|J|K|P
},

    {
	NULL, 0, 0, 0, 0, 0, 0
    }
};

/* for a balanced race, all bonuses and penalties should add to 0 */

const	struct	pc_race_type	pc_race_table	[]	=
{
    { "null race", "", 0, { 100, 100, 100, 100 },
      { "" },0,0, { 13, 13, 13, 13, 13 }, { 18, 18, 18, 18, 18 }, 0 },
 
/*
    {
	"race name", 	short name, 	points,	{ class multipliers },
	{ bonus skills },	recall, 	healer, 
	{ base stats },		{ max stats },		size 
    },
*/

    {
	"human",	"Human", 0, { 100,100,100,100,100,100,100},
	{ "" }, 2093, 2096,
	{ 0, 0, 0, 0, 0 },	{ 20, 20, 20, 20, 20 }, SIZE_MEDIUM
    },

	{
	"azer",	"Azer ",	15, {110,160,160,110,130,130,110},
	{ "meditation", "fast healing"}, 2093, 2096,
	{ 2, 0, -2, -2, 2}, {22, 20, 18, 18, 22} , SIZE_MEDIUM 
	},

	{
	"centaur", "Ctaur", 	15, {150,140,140,100,140,140,100 },
	{ "bash", "dodge" }, 2093, 2096,
	{ 2, 0, 0, -4, 2}, { 22, 20, 20, 16, 22 }, SIZE_LARGE
	},

	{
	"satyr", "Satyr", 15, { 150,150,100,150,150,150,150 },
	{ "sneak", "hide", "beguiling" }, 2093, 2096, 
	{ 0, -3, -1, 4, 0}, { 20, 17, 19, 24, 20}, SIZE_MEDIUM
	},
    
    {
	"gargoyle",	"Grgyl", 10, { 140, 100, 170, 120,120,120,135 },
	{ "meditation", "benedictions" }, 2093, 2096,
	{ 1, -2, 4, -3, 0 },	{ 21, 18, 24, 17, 20 },	SIZE_LARGE
    },

    {
	"elf",	" Elf ",  5,	{ 100,125,100,120,110,110,95 }, 
	{ "sneak", "hide" }, 2093, 2096,
	{ -1, 1, 0, 2, -2 },	{ 16, 20, 18, 21, 15 },SIZE_MEDIUM
    },

    {
	"dwarf", "Dwarf", 8, { 150, 100, 125, 100,120,120,115 },
	{ "berserk" }, 2093, 2096,
	{ 1, -1, 1, -3, 2 },	{ 20, 16, 19, 14, 21 },SIZE_MEDIUM
    },

    {
	"giant", "Giant", 6, { 200, 150, 150, 100,200,200,175 },
	{ "bash", "fast healing" }, 2093, 2096, 
	{ 3, -2, 0, -2, 1 },	{ 22, 15, 18, 15, 20 }, SIZE_HUGE
    }
};


/* 
         class list is as follows:
           mage: Traditional Magic-User
           avenger: Priests of Aecindo & Lukhan
           warrior: Traditional Warrior
           thief: Traditional Thief
           chaosmage: Mages who went a bit too far
           monk: A warrior who fights with wit & skin
           defiler: Priests of Thuahamin & Roqmin
*/


/*
 * Class table.
 */
const	struct	class_type	class_table	[MAX_CLASS]	=
{
    {
	"mage", "Mag",  STAT_INT,  OBJ_VNUM_SCHOOL_DAGGER,
	{ 1, 1 },  65,  18, 6,  6,  8, TRUE
    },
/* replace cleric with good cleric (avenger) */
    {
	"avenger", "Ave",  STAT_WIS,  OBJ_VNUM_SCHOOL_MACE,
	{ 1, 1 },  65,  18, 2,  7, 10, TRUE
    },

    {
	"thief", "Thi",  STAT_DEX,  OBJ_VNUM_SCHOOL_DAGGER,
	{ 1, 1 },  65,  18,  -4,  8, 13, FALSE
    },

    {
	"warrior", "War",  STAT_STR,  OBJ_VNUM_SCHOOL_SWORD,
	{ 1, 1 },  65,  17,  -11,  11, 15, FALSE
    },


    {
        "chaosmage", "Cha",  STAT_INT,  OBJ_VNUM_SCHOOL_DAGGER,
        { 1, 1 },  65,  19, 7,  6,  8, TRUE
    },

    {
        "monk", "Mon", STAT_CON, OBJ_VNUM_SCHOOL_SWORD,
        { 1, 1 }, 65, 18, 3, 6, 9, TRUE
    },

    {
	"defiler", "Def", STAT_WIS, OBJ_VNUM_SCHOOL_MACE,
        { 1, 1 },  65,  18, 2,  7, 10, TRUE
    }

};



/*
 * Titles.
 */
char *	const			title_table	[MAX_CLASS][MAX_LEVEL+1][2] =
{
    {
	{ "Man",			"Woman"				},

	{ "Apprentice of Magic",	"Apprentice of Magic"		},
	{ "Spell Student",		"Spell Student"			},
	{ "Scholar of Magic",		"Scholar of Magic"		},
	{ "Delver in Spells",		"Delveress in Spells"		},
	{ "Medium of Magic",		"Medium of Magic"		},

	{ "Scribe of Magic",		"Scribess of Magic"		},
	{ "Seer",			"Seeress"			},
	{ "Sage",			"Sage"				},
	{ "Illusionist",		"Illusionist"			},
	{ "Abjurer",			"Abjuress"			},

	{ "Invoker",			"Invoker"			},
	{ "Enchanter",			"Enchantress"			},
	{ "Conjurer",			"Conjuress"			},
	{ "Magician",			"Witch"				},
	{ "Creator",			"Creator"			},

	{ "Savant",			"Savant"			},
	{ "Magus",			"Craftess"			},
	{ "Wizard",			"Wizard"			},
	{ "Warlock",			"War Witch"			},
	{ "Sorcerer",			"Sorceress"			},

	{ "Elder Sorcerer",		"Elder Sorceress"		},
	{ "Grand Sorcerer",		"Grand Sorceress"		},
	{ "Great Sorcerer",		"Great Sorceress"		},
	{ "Golem Maker",		"Golem Maker"			},
	{ "Greater Golem Maker",	"Greater Golem Maker"		},

	{ "Maker of Stones",		"Maker of Stones",		},
	{ "Maker of Potions",		"Maker of Potions",		},
	{ "Maker of Scrolls",		"Maker of Scrolls",		},
	{ "Maker of Wands",		"Maker of Wands",		},
	{ "Maker of Staves",		"Maker of Staves",		},

	{ "Demon Summoner",		"Demon Summoner"		},
	{ "Greater Demon Summoner",	"Greater Demon Summoner"	},
	{ "Dragon Charmer",		"Dragon Charmer"		},
	{ "Greater Dragon Charmer",	"Greater Dragon Charmer"	},
	{ "Master of all Magic",	"Master of all Magic"		},

 	{ "Master Mage",		"Master Mage"			},
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

	{ "Mage Hero",			"Mage Heroine"			},
	{ "Avatar of Magic",		"Avatar of Magic"		},
	{ "Angel of Magic",		"Angel of Magic"		},
	{ "Demigod of Magic",		"Demigoddess of Magic"		},
	{ "Immortal of Magic",		"Immortal of Magic"		},
	{ "God of Magic",		"Goddess of Magic"		},
	{ "Deity of Magic",		"Deity of Magic"		},
	{ "Supremity of Magic",		"Supremity of Magic"		},
	{ "Creator",			"Creator"			},
	{ "Implementor",		"Implementress"			}
    },

    {
	{ "Man",			"Woman"				},

	{ "Believer",			"Believer"			},
	{ "Attendant",			"Attendant"			},
	{ "Acolyte",			"Acolyte"			},
	{ "Novice",			"Novice"			},
	{ "Missionary",			"Missionary"			},

	{ "Adept",			"Adept"				},
	{ "Deacon",			"Deaconess"			},
	{ "Vicar",			"Vicaress"			},
	{ "Priest",			"Priestess"			},
	{ "Minister",			"Lady Minister"			},

	{ "Canon",			"Canon"				},
	{ "Levite",			"Levitess"			},
	{ "Curate",			"Curess"			},
	{ "Monk",			"Nun"				},
	{ "Healer",			"Healess"			},

	{ "Chaplain",			"Chaplain"			},
	{ "Expositor",			"Expositress"			},
	{ "Bishop",			"Bishop"			},
	{ "Arch Bishop",		"Arch Lady of the Church"	},
	{ "Patriarch",			"Matriarch"			},

	{ "Elder Patriarch",		"Elder Matriarch"		},
	{ "Grand Patriarch",		"Grand Matriarch"		},
	{ "Great Patriarch",		"Great Matriarch"		},
	{ "Demon Killer",		"Demon Killer"			},
	{ "Greater Demon Killer",	"Greater Demon Killer"		},

	{ "Cardinal of the Sea",	"Cardinal of the Sea"		},
	{ "Cardinal of the Earth",	"Cardinal of the Earth"		},
	{ "Cardinal of the Air",	"Cardinal of the Air"		},
	{ "Cardinal of the Ether",	"Cardinal of the Ether"		},
	{ "Cardinal of the Heavens",	"Cardinal of the Heavens"	},

	{ "Avatar of an Immortal",	"Avatar of an Immortal"		},
	{ "Avatar of a Deity",		"Avatar of a Deity"		},
	{ "Avatar of a Supremity",	"Avatar of a Supremity"		},
	{ "Avatar of an Implementor",	"Avatar of an Implementor"	},
	{ "Master of all Divinity",	"Mistress of all Divinity"	},

	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},	
	{ "Master Cleric",		"Master Cleric"			},

	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},

	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},
	{ "Master Cleric",		"Master Cleric"			},

	{ "Holy Hero",			"Holy Heroine"			},
	{ "Holy Avatar",		"Holy Avatar"			},
	{ "Angel",			"Angel"				},
	{ "Demigod",			"Demigoddess",			},
	{ "Immortal",			"Immortal"			},
	{ "God",			"Goddess"			},
	{ "Deity",			"Deity"				},
	{ "Supreme Master",		"Supreme Mistress"		},
        { "Creator",                    "Creator"                       },
	{ "Implementor",		"Implementress"			}
    },

    {
	{ "Man",			"Woman"				},

	{ "Pilferer",			"Pilferess"			},
	{ "Footpad",			"Footpad"			},
	{ "Filcher",			"Filcheress"			},
	{ "Pick-Pocket",		"Pick-Pocket"			},
	{ "Sneak",			"Sneak"				},

	{ "Pincher",			"Pincheress"			},
	{ "Cut-Purse",			"Cut-Purse"			},
	{ "Snatcher",			"Snatcheress"			},
	{ "Sharper",			"Sharpress"			},
	{ "Rogue",			"Rogue"				},

	{ "Robber",			"Robber"			},
	{ "Magsman",			"Magswoman"			},
	{ "Highwayman",			"Highwaywoman"			},
	{ "Burglar",			"Burglaress"			},
	{ "Thief",			"Thief"				},

	{ "Knifer",			"Knifer"			},
	{ "Quick-Blade",		"Quick-Blade"			},
	{ "Killer",			"Murderess"			},
	{ "Brigand",			"Brigand"			},
	{ "Cut-Throat",			"Cut-Throat"			},

	{ "Spy",			"Spy"				},
	{ "Grand Spy",			"Grand Spy"			},
	{ "Master Spy",			"Master Spy"			},
	{ "Assassin",			"Assassin"			},
	{ "Greater Assassin",		"Greater Assassin"		},

	{ "Master of Vision",		"Mistress of Vision"		},
	{ "Master of Hearing",		"Mistress of Hearing"		},
	{ "Master of Smell",		"Mistress of Smell"		},
	{ "Master of Taste",		"Mistress of Taste"		},
	{ "Master of Touch",		"Mistress of Touch"		},

	{ "Crime Lord",			"Crime Mistress"		},
	{ "Infamous Crime Lord",	"Infamous Crime Mistress"	},
	{ "Greater Crime Lord",		"Greater Crime Mistress"	},
	{ "Master Crime Lord",		"Master Crime Mistress"		},
	{ "Godfather",			"Godmother"			},

        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },

        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },

        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },
        { "Master Thief",               "Master Thief"                  },

	{ "Assassin Hero",		"Assassin Heroine"		},
	{ "Avatar of Death",		"Avatar of Death",		},
	{ "Angel of Death",		"Angel of Death"		},
	{ "Demigod of Assassins",	"Demigoddess of Assassins"	},
	{ "Immortal Assasin",		"Immortal Assassin"		},
	{ "God of Assassins",		"God of Assassins",		},
	{ "Deity of Assassins",		"Deity of Assassins"		},
	{ "Supreme Master",		"Supreme Mistress"		},
        { "Creator",                    "Creator"                       },
	{ "Implementor",		"Implementress"			}
    },

    {
	{ "Man",			"Woman"				},

	{ "Swordpupil",			"Swordpupil"			},
	{ "Recruit",			"Recruit"			},
	{ "Sentry",			"Sentress"			},
	{ "Fighter",			"Fighter"			},
	{ "Soldier",			"Soldier"			},

	{ "Warrior",			"Warrior"			},
	{ "Veteran",			"Veteran"			},
	{ "Swordsman",			"Swordswoman"			},
	{ "Fencer",			"Fenceress"			},
	{ "Combatant",			"Combatess"			},

	{ "Hero",			"Heroine"			},
	{ "Myrmidon",			"Myrmidon"			},
	{ "Swashbuckler",		"Swashbuckleress"		},
	{ "Mercenary",			"Mercenaress"			},
	{ "Swordmaster",		"Swordmistress"			},

	{ "Lieutenant",			"Lieutenant"			},
	{ "Champion",			"Lady Champion"			},
	{ "Dragoon",			"Lady Dragoon"			},
	{ "Cavalier",			"Lady Cavalier"			},
	{ "Knight",			"Lady Knight"			},

	{ "Grand Knight",		"Grand Knight"			},
	{ "Master Knight",		"Master Knight"			},
	{ "Paladin",			"Paladin"			},
	{ "Grand Paladin",		"Grand Paladin"			},
	{ "Demon Slayer",		"Demon Slayer"			},

	{ "Greater Demon Slayer",	"Greater Demon Slayer"		},
	{ "Dragon Slayer",		"Dragon Slayer"			},
	{ "Greater Dragon Slayer",	"Greater Dragon Slayer"		},
	{ "Underlord",			"Underlord"			},
	{ "Overlord",			"Overlord"			},

	{ "Baron of Thunder",		"Baroness of Thunder"		},
	{ "Baron of Storms",		"Baroness of Storms"		},
	{ "Baron of Tornadoes",		"Baroness of Tornadoes"		},
	{ "Baron of Hurricanes",	"Baroness of Hurricanes"	},
	{ "Baron of Meteors",		"Baroness of Meteors"		},

	{ "Master Warrior",		"Master Warrior"		},
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },

        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },

        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },
        { "Master Warrior",             "Master Warrior"                },

	{ "Knight Hero",		"Knight Heroine"		},
	{ "Avatar of War",		"Avatar of War"			},
	{ "Angel of War",		"Angel of War"			},
	{ "Demigod of War",		"Demigoddess of War"		},
	{ "Immortal Warlord",		"Immortal Warlord"		},
	{ "God of War",			"God of War"			},
	{ "Deity of War",		"Deity of War"			},
	{ "Supreme Master of War",	"Supreme Mistress of War"	},
        { "Creator",                    "Creator"                       },
	{ "Implementor",		"Implementress"			}
    },

    {
	{ "Man",			"Woman"				},

	{ "Apprentice of Magic",	"Apprentice of Magic"		},
	{ "Spell Student",		"Spell Student"			},
	{ "Scholar of Magic",		"Scholar of Magic"		},
	{ "Delver in Spells",		"Delveress in Spells"		},
	{ "Medium of Magic",		"Medium of Magic"		},

	{ "Scribe of Magic",		"Scribess of Magic"		},
	{ "Seer",			"Seeress"			},
	{ "Sage",			"Sage"				},
	{ "Illusionist",		"Illusionist"			},
	{ "Abjurer",			"Abjuress"			},

	{ "Invoker",			"Invoker"			},
	{ "Enchanter",			"Enchantress"			},
	{ "Conjurer",			"Conjuress"			},
	{ "Magician",			"Witch"				},
	{ "Creator",			"Creator"			},

	{ "Savant",			"Savant"			},
	{ "Magus",			"Craftess"			},
	{ "Wizard",			"Wizard"			},
	{ "Warlock",			"War Witch"			},
	{ "Sorcerer",			"Sorceress"			},

	{ "Elder Sorcerer",		"Elder Sorceress"		},
	{ "Grand Sorcerer",		"Grand Sorceress"		},
	{ "Great Sorcerer",		"Great Sorceress"		},
	{ "Golem Maker",		"Golem Maker"			},
	{ "Greater Golem Maker",	"Greater Golem Maker"		},

	{ "Maker of Stones",		"Maker of Stones",		},
	{ "Maker of Potions",		"Maker of Potions",		},
	{ "Maker of Scrolls",		"Maker of Scrolls",		},
	{ "Maker of Wands",		"Maker of Wands",		},
	{ "Maker of Staves",		"Maker of Staves",		},

	{ "Demon Summoner",		"Demon Summoner"		},
	{ "Greater Demon Summoner",	"Greater Demon Summoner"	},
	{ "Dragon Charmer",		"Dragon Charmer"		},
	{ "Greater Dragon Charmer",	"Greater Dragon Charmer"	},
	{ "Master of all Magic",	"Master of all Magic"		},

 	{ "Master Mage",		"Master Mage"			},
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

	{ "Mage Hero",			"Mage Heroine"			},
	{ "Avatar of Magic",		"Avatar of Magic"		},
	{ "Angel of Magic",		"Angel of Magic"		},
	{ "Demigod of Magic",		"Demigoddess of Magic"		},
	{ "Immortal of Magic",		"Immortal of Magic"		},
	{ "God of Magic",		"Goddess of Magic"		},
	{ "Deity of Magic",		"Deity of Magic"		},
	{ "Supremity of Magic",		"Supremity of Magic"		},
	{ "Creator",			"Creator"			},
	{ "Implementor",		"Implementress"			}
    },

    {
	{ "Man",			"Woman"				},

	{ "Apprentice of Magic",	"Apprentice of Magic"		},
	{ "Spell Student",		"Spell Student"			},
	{ "Scholar of Magic",		"Scholar of Magic"		},
	{ "Delver in Spells",		"Delveress in Spells"		},
	{ "Medium of Magic",		"Medium of Magic"		},

	{ "Scribe of Magic",		"Scribess of Magic"		},
	{ "Seer",			"Seeress"			},
	{ "Sage",			"Sage"				},
	{ "Illusionist",		"Illusionist"			},
	{ "Abjurer",			"Abjuress"			},

	{ "Invoker",			"Invoker"			},
	{ "Enchanter",			"Enchantress"			},
	{ "Conjurer",			"Conjuress"			},
	{ "Magician",			"Witch"				},
	{ "Creator",			"Creator"			},

	{ "Savant",			"Savant"			},
	{ "Magus",			"Craftess"			},
	{ "Wizard",			"Wizard"			},
	{ "Warlock",			"War Witch"			},
	{ "Sorcerer",			"Sorceress"			},

	{ "Elder Sorcerer",		"Elder Sorceress"		},
	{ "Grand Sorcerer",		"Grand Sorceress"		},
	{ "Great Sorcerer",		"Great Sorceress"		},
	{ "Golem Maker",		"Golem Maker"			},
	{ "Greater Golem Maker",	"Greater Golem Maker"		},

	{ "Maker of Stones",		"Maker of Stones",		},
	{ "Maker of Potions",		"Maker of Potions",		},
	{ "Maker of Scrolls",		"Maker of Scrolls",		},
	{ "Maker of Wands",		"Maker of Wands",		},
	{ "Maker of Staves",		"Maker of Staves",		},

	{ "Demon Summoner",		"Demon Summoner"		},
	{ "Greater Demon Summoner",	"Greater Demon Summoner"	},
	{ "Dragon Charmer",		"Dragon Charmer"		},
	{ "Greater Dragon Charmer",	"Greater Dragon Charmer"	},
	{ "Master of all Magic",	"Master of all Magic"		},

 	{ "Master Mage",		"Master Mage"			},
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },
        { "Master Mage",                "Master Mage"                   },

	{ "Mage Hero",			"Mage Heroine"			},
	{ "Avatar of Magic",		"Avatar of Magic"		},
	{ "Angel of Magic",		"Angel of Magic"		},
	{ "Demigod of Magic",		"Demigoddess of Magic"		},
	{ "Immortal of Magic",		"Immortal of Magic"		},
	{ "God of Magic",		"Goddess of Magic"		},
	{ "Deity of Magic",		"Deity of Magic"		},
	{ "Supremity of Magic",		"Supremity of Magic"		},
	{ "Creator",			"Creator"			},
	{ "Implementor",		"Implementress"			}
    }

};



/*
 * Attribute bonus tables.
 */
const	struct	str_app_type	str_app		[26]		=
{
    { -5, -4,   0,  0 },  /* 0  */
    { -5, -4,   3,  1 },  /* 1  */
    { -3, -2,   3,  2 },
    { -3, -1,  10,  3 },  /* 3  */
    { -2, -1,  25,  4 },
    { -2, -1,  55,  5 },  /* 5  */
    { -1,  0,  80,  6 },
    { -1,  0,  90,  7 },
    {  0,  0, 100,  8 },
    {  0,  0, 100,  9 },
    {  0,  0, 115, 10 }, /* 10  */
    {  0,  0, 115, 11 },
    {  0,  0, 130, 12 },
    {  0,  0, 130, 13 }, /* 13  */
    {  0,  1, 140, 14 },
    {  1,  1, 150, 15 }, /* 15  */
    {  1,  2, 165, 16 },
    {  2,  3, 180, 22 },
    {  2,  3, 200, 25 }, /* 18  */
    {  3,  4, 225, 30 },
    {  3,  5, 250, 35 }, /* 20  */
    {  4,  6, 300, 40 },
    {  4,  6, 350, 45 },
    {  5,  7, 400, 50 },
    {  5,  8, 450, 55 },
    {  6,  9, 500, 60 }  /* 25   */
};



const	struct	int_app_type	int_app		[26]		=
{
    {  3 },	/*  0 */
    {  5 },	/*  1 */
    {  7 },
    {  8 },	/*  3 */
    {  9 },
    { 10 },	/*  5 */
    { 11 },
    { 12 },
    { 13 },
    { 15 },
    { 17 },	/* 10 */
    { 19 },
    { 22 },
    { 25 },
    { 28 },
    { 31 },	/* 15 */
    { 34 },
    { 37 },
    { 40 },	/* 18 */
    { 44 },
    { 49 },	/* 20 */
    { 55 },
    { 60 },
    { 70 },
    { 80 },
    { 85 }	/* 25 */
};



const	struct	wis_app_type	wis_app		[26]		=
{
    { 0 },	/*  0 */
    { 0 },	/*  1 */
    { 0 },
    { 0 },	/*  3 */
    { 0 },
    { 1 },	/*  5 */
    { 1 },
    { 1 },
    { 1 },
    { 1 },
    { 1 },	/* 10 */
    { 1 },
    { 1 },
    { 1 },
    { 1 },
    { 2 },	/* 15 */
    { 2 },
    { 2 },
    { 3 },	/* 18 */
    { 3 },
    { 3 },	/* 20 */
    { 3 },
    { 4 },
    { 4 },
    { 4 },
    { 5 }	/* 25 */
};



const	struct	dex_app_type	dex_app		[26]		=
{
    {   60 },   /* 0 */
    {   50 },   /* 1 */
    {   50 },
    {   40 },
    {   30 },
    {   20 },   /* 5 */
    {   10 },
    {    0 },
    {    0 },
    {    0 },
    {    0 },   /* 10 */
    {    0 },
    {    0 },
    {    0 },
    {    0 },
    { - 10 },   /* 15 */
    { - 15 },
    { - 20 },
    { - 30 },
    { - 40 },
    { - 50 },   /* 20 */
    { - 60 },
    { - 75 },
    { - 90 },
    { -105 },
    { -120 }    /* 25 */
};


const	struct	con_app_type	con_app		[26]		=
{
    { -4, 20 },   /*  0 */
    { -3, 25 },   /*  1 */
    { -2, 30 },
    { -2, 35 },	  /*  3 */
    { -1, 40 },
    { -1, 45 },   /*  5 */
    { -1, 50 },
    {  0, 55 },
    {  0, 60 },
    {  0, 65 },
    {  0, 70 },   /* 10 */
    {  0, 75 },
    {  0, 80 },
    {  0, 85 },
    {  0, 88 },
    {  1, 90 },   /* 15 */
    {  2, 95 },
    {  2, 97 },
    {  3, 99 },   /* 18 */
    {  3, 99 },
    {  4, 99 },   /* 20 */
    {  4, 99 },
    {  5, 99 },
    {  6, 99 },
    {  7, 99 },
    {  8, 99 }    /* 25 */
};



/*
 * Liquid properties.
 * Used in world.obj.
 */
const	struct	liq_type	liq_table	[LIQ_MAX]	=
{
    { "water",			"clear",	{  0, 1, 10 }	},  /*  0 */
    { "beer",			"amber",	{  3, 2,  5 }	},
    { "wine",			"rose",		{  5, 2,  5 }	},
    { "ale",			"brown",	{  2, 2,  5 }	},
    { "dark ale",		"dark",		{  1, 2,  5 }	},

    { "whisky",			"golden",	{  6, 1,  4 }	},  /*  5 */
    { "lemonade",		"pink",		{  0, 1,  8 }	},
    { "firebreather",		"boiling",	{ 10, 0,  0 }	},
    { "local specialty",	"everclear",	{  3, 3,  3 }	},
    { "slime mold juice",	"green",	{  0, 4, -8 }	},

    { "milk",			"white",	{  0, 3,  6 }	},  /* 10 */
    { "tea",			"tan",		{  0, 1,  6 }	},
    { "coffee",			"black",	{  0, 1,  6 }	},
    { "blood",			"red",		{  0, 2, -1 }	},
    { "salt water",		"clear",	{  0, 1, -2 }	},

    { "cola",			"cherry",	{  0, 1,  5 }	}   /* 15 */
};



/*
 * The skill and spell table.
 * Slot numbers must never be changed as they appear in #OBJECTS sections.
 * Class Rating is now unused, as is level requirements.
 * Level req's are in savefiles, rating is totally unused.
 */

#define SLOT(n)	n

struct	skill_type	skill_table	[MAX_SKILL]	=
{

/*
 * Magic spells.
 */

    {
    "reserved",     { 99, 99, 99, 99, 99, 99 }, { 99, 99, 99, 99, 99, 99},
	0,			TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT( 0),	 0,	 0,
	"",			"",   ""
    },

    {
    "armor",        { 93,1,93,93,93,93  },     { 1,  1,0,0,1,1},
     spell_armor,		TAR_CHAR_DEFENSIVE,	POS_STANDING,
     NULL,			SLOT( 1),	 5,	12,
     "",			"You feel less protected.",   ""
    },

    {
    "teleport",     { 93,10,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_teleport,		TAR_CHAR_SELF,		POS_FIGHTING,
	NULL,	 		SLOT( 2),	35,	12,
	"",			"!Teleport!",   ""
    },

    {
    "bless",        { 93,5,93,93,93,93  },     { 1,  1,0,0,1,1},
	spell_bless,	TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,		SLOT( 3),	 5,	12,
	"",		"You feel less righteous.",   ""
    },

    {
    "blindness",        { 93,8,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_blindness,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	&gsn_blindness,		SLOT( 4),	 5,	12,
	"",			"You can see again.",   ""
    },

    {
    "burning hands",    { 5,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_burning_hands,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT( 5),	15,	12,
	"burning hands",	"!Burning Hands!",   ""
    },

    {
    "call lightning",   { 93,18,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_call_lightning,	TAR_IGNORE,		POS_FIGHTING,
	NULL,			SLOT( 6),	15,	12,
	"lightning bolt",	"!Call Lightning!",   ""
    },

    {
    "charm person",     { 15,93,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_charm_person,	TAR_CHAR_OFFENSIVE,	POS_STANDING,
	&gsn_charm_person,	SLOT( 7),	 5,	12,
	"",			"You feel more self-confident.",   ""
    },

    {
    "chill touch",      { 93,93,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_chill_touch,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT( 8),	15,	12,
	"chilling touch",	"You feel less cold.",   ""
    },

    {
    "colour spray",     { 10,93,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_colour_spray,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(10),	15,	12,
	"colour spray",		"!Colour Spray!",   ""
    },

    {
    "control weather",  { 93,19,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_control_weather,	TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(11),	25,	12,
	"",			"!Control Weather!",   ""
    },

    {
    "create food",      { 6,4,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_create_food,	TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(12),	 5,	12,
	"",			"!Create Food!",   ""
    },

    {
    "create water",     { 93,3,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_create_water,	TAR_OBJ_INV,		POS_STANDING,
	NULL,			SLOT(13),	 5,	12,
	"",			"!Create Water!",   ""
    },

    {
    "cure blindness",   {93,5,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_cure_blindness,	TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(14),	 5,	12,
	"",			"!Cure Blindness!",   ""
    },

    {
    "cure critical",    { 93,13,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_cure_critical,	TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(15),	20,	12,
	"",			"!Cure Critical!",   ""
    },

    {
    "cure light",       { 93,1,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_cure_light,	TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(16),	10,	12,
	"",			"!Cure Light!",   ""
    },

    {
    "curse",        { 93,16,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_curse,		TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	&gsn_curse,		SLOT(17),	20,	12,
	"curse",		"The curse wears off.",   ""
    },

    {
    "detect evil",      { 93,4,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_detect_evil,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(18),	 5,	12,
	"",		"The red in your vision disappears.",   ""
    },

    {
    "detect invis",     {5,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_detect_invis,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(19),	 5,	12,
	"",	"You no longer see invisible objects.",   ""
    },

    {
    "detect magic",     { 4,12,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_detect_magic,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(20),	 5,	12,
	"",	"The detect magic wears off.",   ""
    },

    {
    "detect poison",    { 93,10,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_detect_poison,	TAR_OBJ_INV,		POS_STANDING,
	NULL,			SLOT(21),	 5,	12,
	"",			"!Detect Poison!",   ""
    },

    {
    "dispel evil",      { 93,15,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_dispel_evil,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(22),	15,	12,
	"dispel evil",		"!Dispel Evil!",   ""
    },

    {
    "earthquake",       { 93,11,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_earthquake,	TAR_IGNORE,		POS_FIGHTING,
	NULL,			SLOT(23),	15,	12,
	"earthquake",		"!Earthquake!",   ""
    },

    {
    "enchant weapon",   { 16,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_enchant_weapon,	TAR_OBJ_INV,		POS_STANDING,
	NULL,			SLOT(24),	100,	24,
	"",			"!Enchant Weapon!",   ""
    },

    {
    "energy drain",     { 93,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_energy_drain,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(25),	35,	12,
	"energy drain",		"!Energy Drain!",   ""
    },

    {
    "fireball",     { 19,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_fireball,		TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(26),	15,	12,
	"fireball",		"!Fireball!",   ""
    },

    {
    "harm",         {93,25,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_harm,		TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(27),	35,	12,
	"harm spell",		"!Harm!",   ""
    },
  
    {
    "heal",         {93,39,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_heal,		TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(28),	50,	12,
	"",			"!Heal!",   ""
    },

    {
    "invis",        {7,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_invis,		TAR_CHAR_DEFENSIVE,	POS_STANDING,
	&gsn_invis,		SLOT(29),	 5,	12,
	"",		"You are no longer invisible.",   ""
    },


    {
    "lightning bolt",   { 10,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_lightning_bolt,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(30),	15,	12,
	"lightning bolt",	"!Lightning Bolt!",   ""
    },

    {
    "locate object",    { 11,33,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_locate_object,	TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(31),	20,	4,
	"",			"!Locate Object!",   ""
    },

    {
    "magic missile",    { 1,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_magic_missile,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(32),	15,	12,
	"magic missile",	"!Magic Missile!",   ""
    },

    {
    "poison",       { 14,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_poison,		TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	&gsn_poison,		SLOT(33),	10,	12,
	"poison",		"You feel less sick.",   ""
    },

    {
    "protection evil",  { 93,9,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_protection_evil,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(34),	 5,	12,
	"",			"You feel less protected from evil.",   ""
    },
    
    {
    "remove curse",     { 93,18,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_remove_curse,	TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(35),	 5,	12,
	"",			"!Remove Curse!",   ""
    },
    
    {
    "sanctuary",        { 93,30,93,93,93,93 },     { 1,  1,  0,0,1,1},
    spell_sanctuary,	TAR_CHAR_DEFENSIVE,	POS_STANDING,
    NULL,			SLOT(36),	75,	12,
    "",	"The white aura around your body fades.",   "alabaster"
    },

    {
    "sleep",        { 11,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_sleep,		TAR_CHAR_OFFENSIVE,	POS_STANDING,
	&gsn_sleep,		SLOT(38),	15,	12,
	"",			"You feel less tired.",   ""
    },

    {
    "giant strength",   {9,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_giant_strength,	TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(39),	20,	12,
	"",			"You feel weaker.",   ""
    },

    {
    "summon",       { 21,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_summon,		TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(40),	50,	12,
	"",			"!Summon!",   ""
    },

    {
    "ventriloquate",    { 2,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_ventriloquate,	TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(41),	 5,	12,
	"",			"!Ventriloquate!",   ""
    },

    {
    "word of recall",   { 93,12,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_word_of_recall,	TAR_CHAR_SELF,		POS_RESTING,
	NULL,			SLOT(42),	 5,	12,
	"",			"!Word of Recall!",   ""
    },

    {
    "cure poison",      { 93,14,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_cure_poison,	TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(43),	 5,	12,
	"",			"!Cure Poison!",   ""
    },

    {
    "detect hidden",    { 9,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_detect_hidden,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(44),	 5,	12,
	"",	"You feel less aware of your suroundings.",   ""
    },

    {
    "identify",     {12,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_identify,		TAR_OBJ_INV,		POS_STANDING,
	NULL,			SLOT(52),	12,	24,
	"",			"!Identify!",   ""
    },

    {
    "shocking grasp",   { 93,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_shocking_grasp,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(53),	15,	12,
	"shocking grasp",	"!Shocking Grasp!",   ""
    },

    {
    "fly",          { 8,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_fly,		TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(56),	10,	18,
	"",			"You slowly float to the ground.",   ""
    },

    {
    "continual light",  {5,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_continual_light,	TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(57),	 7,	12,
	"",			"!Continual Light!",   ""
    },

    {
    "know alignment",   { 93,18,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_know_alignment,	TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(58),	 9,	12,
	"",			"!Know Alignment!",   ""
    },

    {
    "dispel magic",     { 12,20,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_dispel_magic,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(59),	15,	12,
	"",			"!Dispel Magic!",   ""
    },

    {
    "cure serious",     { 93,9,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_cure_serious,	TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(61),	15,	12,
	"",			"!Cure Serious!",   ""
    },

    {
    "cause light",      { 93,3,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_cause_light,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(62),	15,	12,
	"spell",		"!Cause Light!",   ""
    },

    {
    "cause critical",   { 93,14,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_cause_critical,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(63),	20,	12,
	"spell",		"!Cause Critical!",   ""
    },

    {
    "cause serious",    { 93,7,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_cause_serious,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(64),	17,	12,
	"spell",		"!Cause Serious!",   ""
    },

    {
    "flamestrike",      {93,16,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_flamestrike,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(65),	20,	12,
	"flamestrike",		"!Flamestrike!",   ""
    },

    {
    "stone skin",       { 23,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_stone_skin,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(66),	12,	18,
	"",			"Your skin feels soft again.",   ""
    },

    {
    "shield",       { 17,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_shield,		TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(67),	12,	18,
	"",	"Your force shield shimmers then fades away.",   ""
    },

    {
    "weaken",       { 93,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_weaken,		TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(68),	20,	12,
	"spell",		"You feel stronger.",   ""
    },

    {
    "mass invis",       { 38,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_mass_invis,	TAR_IGNORE,		POS_STANDING,
	&gsn_mass_invis,	SLOT(69),	20,	24,
	"",			"!Mass Invis!",   ""
    },

    {
    "acid blast",       { 25,93,93,93,93,93  },     { 1,1,0,0,1,1},
	spell_acid_blast,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(70),	20,	12,
	"acid blast",		"!Acid Blast!",   ""
    },

    {
    "faerie fire",      { 4,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_faerie_fire,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(72),	 5,	12,
	"faerie fire",	"The pink aura around you fades away.",   ""
    },

    {
    "faerie fog",       { 9,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_faerie_fog,	TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(73),	12,	12,
	"faerie fog",		"!Faerie Fog!",   ""
    },

    {
    "pass door",        { 23,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_pass_door,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(74),	20,	12,
	"",			"You feel solid again.",   ""
    },

    {
    "infravision",      {93,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_infravision,	TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,	SLOT(77),	 5,	18,
	"",	"You no longer see in the dark.",   ""
    },

    {
    "create spring",    { 93,17,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_create_spring,	TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(80),	20,	12,
	"",			"!Create Spring!",   ""
    },

    {
    "refresh",      { 93,6,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_refresh,		TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(81),	12,	18,
	"refresh",		"!Refresh!",   ""
    },

    {
    "change sex",       { 93,93,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_change_sex,	TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(82),	15,	12,
	"",			"Your body feels familiar again.",   ""
    },

    {
    "gate",         {23,33,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_gate,		TAR_IGNORE,		POS_FIGHTING,
	NULL,			SLOT(83),	80,	12,
	"",			"!Gate!",   "obsidian"
    },

/*
 * Dragon breath
 */
    {
    "acid breath",      { 44,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_acid_breath,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(200),	 0,	 4,
	"blast of acid",	"!Acid Breath!",   ""
    },

    {
    "fire breath",      { 41,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_fire_breath,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(201),	 0,	 4,
	"blast of flame",	"!Fire Breath!",   ""
    },

    {
    "frost breath",     { 46,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_frost_breath,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(202),	 0,	 4,
	"blast of frost",	"!Frost Breath!",   ""
    },

    {
    "gas breath",       { 45,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_gas_breath,	TAR_IGNORE,		POS_FIGHTING,
	NULL,			SLOT(203),	 0,	 4,
	"blast of gas",		"!Gas Breath!",   ""
    },

    {
    "lightning breath", { 47,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_lightning_breath,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(204),	 0,	 4,
	"blast of lightning",	"!Lightning Breath!",   ""
    },

    {
    "chaos", {93,93,93,93,93,93,93}, {1,1,1,1,1,1,1},
	spell_chaos,	TAR_CHAR_OFFENSIVE, 	POS_FIGHTING,
	NULL,		SLOT(205),	30, 	16,
	"chaos",	"!Chaos!",   ""
    },

    {
        "create buffet",    { 93,13,93,93,93,93  },     { 1, 1, 0,0,1,1},
        spell_create_buffet,    TAR_IGNORE,     POS_STANDING,
        NULL,           SLOT(230),   50,    12,
        "",         "!Create Buffet!",   ""
     },

    {
        "general purpose",      { 93,93,93,93,93,93 }, { 1, 1, 1, 1, 1, 1 },
        spell_general_purpose,  TAR_CHAR_OFFENSIVE,     POS_FIGHTING,
        NULL,                   SLOT(401),      0,      12,
        "general purpose ammo", "!General Purpose Ammo!",   ""
    },
 
    {
        "high explosive",       { 93,93,93,93,93,93 }, { 0, 0, 0, 0,0,0 },
        spell_high_explosive,   TAR_CHAR_OFFENSIVE,     POS_FIGHTING,
        NULL,                   SLOT(402),      0,      12,
        "high explosive ammo",  "!High Explosive Ammo!",   ""
    }, 

    {
        "mind meld",       {93,93,93,93,93,93 }, {2,1,1,1,1,1},
        spell_mind_meld,   TAR_CHAR_OFFENSIVE,     POS_FIGHTING,
        NULL,                   SLOT(403),     35,    24,    
        "mental blast",      "Your feel your head clearing.",   ""
    },

    {
        "animate dead",         {27,93,93,93,93,93 },     { 2,  1,  0,0,1,1},
        spell_animate,          TAR_IGNORE,             POS_STANDING,
        NULL,                   SLOT(404),              100,    15,
        "",                     "!Animate Dead!",   ""
    },

    {
        "soul blade",          {93,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
        spell_soul_blade,      TAR_IGNORE,             POS_STANDING,
        NULL,                   SLOT(405),      35,    15,
        "",                     "!Soul Blade!",   ""
    },

    {
    "minor creation",      {6,93,93,93,93,93}, {1,1,0,0,1,1},
	spell_minor_creation,  TAR_IGNORE,	POS_STANDING,
	NULL,		       SLOT(406),	15, 20,
	"",		       "!Minor Creation!",   ""
    },

    {
    "psi twister",          {93,93,93,93,93,93}, {1,1,0,0,1,1},
	spell_psi_twister,	TAR_IGNORE,	POS_FIGHTING,
	NULL,			SLOT(407),    25, 20,
	"psi twister",		"!Psi Twister!",   ""
    },

    {
	"exorcism",	{ 93,26,93,93,93,93 },   {1,1,0,0,1,1},
	spell_exorcism,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(408),    20,    12,
	"angels",		"!Exorcism!",   ""
    },


    {
   	"youth", 	{53,49,53,53,53,53}, {1,1,0,0,1,1},
	spell_youth,	TAR_CHAR_DEFENSIVE, 	POS_STANDING,
	NULL,		SLOT(409),	200,    24,
	"",		"!YOUTH!",   ""
    },

    {
        "age",          {53,49,53,53,53,53}, {1,1,0,0,1,1},
        spell_age,      TAR_CHAR_OFFENSIVE,     POS_FIGHTING,
        NULL,           SLOT(410),      200,    12,
        "",             "!AGE!",   ""
    },

    {   
    "chain lightning",  {29,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_chain_lightning,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(500),	25,	12,
	"lightning",		"!Chain Lightning!",   ""
    }, 

    {
    "cure disease",     { 93,11,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_cure_disease,	TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(501),	20,	12,
	"",			"!Cure Disease!",   ""
    },

    {
    "haste",        {18,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_haste,		TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,	SLOT(502),	30,	12,
	"",	"You feel yourself slow down.",   ""
    },

    {
    "plague",       { 93,25,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_plague,		TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	&gsn_plague,		SLOT(503),	20,	12,
	"sickness",		"Your sores vanish.",   ""
    },

    {
        "frenzy",               { 34,29,93,93,93,93 },     { 1,  1,  0,0,1,1},
        spell_frenzy,           TAR_CHAR_DEFENSIVE,     POS_STANDING,
        NULL,                   SLOT(504),      30,     24,
        "",                     "Your rage ebbs.",   ""
    },

    {
    "demonfire",        { 93,26,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_demonfire,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(505),	20,	12,
	"torments",		"!Demonfire!",   ""
    },	

    {
    "holy word",        {93,33,93,93,93,93  }, { 2,  2,  2,  2,1,1},
	spell_holy_word,	TAR_IGNORE,	POS_FIGHTING,
	NULL,			SLOT(506), 	200,	24,
	"divine wrath",		"!Holy Word!",   ""
    },

    {
    "cancellation",     { 13,15,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_cancellation,	TAR_CHAR_DEFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(507),	20,	12,
	"",			"!cancellation!",   ""
    },

    {
    "mass healing",     { 93,45,93,93,93,93 }, { 2,  2,  0,  0,1,1},
	spell_mass_healing,	TAR_IGNORE,		POS_STANDING,
	NULL,			SLOT(508),	100,	36,
	"",			"!Mass Healing!",   ""
    },

    {
    "calm",         { 93,16,93,93,93,93  },     { 1,  1,  0,0,1,1},
	spell_calm,	TAR_IGNORE,		POS_FIGHTING,
	NULL,		SLOT(509),	30,	12,
	"",		"You have lost your peace of mind.",   ""
    },

    {
    "enchant armor",    { 15,27,93,93,93,93 }, { 1,  1,  0,0,1,1 },
	spell_enchant_armor,	TAR_OBJ_INV,		POS_STANDING,
	NULL,			SLOT(510),	100,	24,
	"",			"!Enchant Armor!",   ""
    },

	{
    "brand",            { 38,93,93,93,93,93  }, { 1, 1, 0,0,1,1},
	 spell_brand, 	TAR_OBJ_INV,	POS_STANDING,
	NULL,			SLOT(511),	100,	8,
	"",				"!brand!",   ""
	}, 

	{
    "negate alignment",     {93,30,93,93,93,93 }, {1,1,0,0,1,1},
	spell_negate_alignment,	TAR_OBJ_INV, POS_STANDING,
	NULL,	SLOT(512), 50,	12,
	"",		"!negate alignment",   ""
	},

	{
    "mask self",        { 16,53,53,53,53,53 }, {1,1,0,0,1,1},
	spell_mask_self,	TAR_CHAR_DEFENSIVE, POS_STANDING,
	NULL,			SLOT(513), 100, 8,
	"",	"You return to normal form.",   ""
	},

	{
    "absorb magic",     { 24,53,53,53,53,53 }, {1,1,0,0,1,1},
	spell_absorb_magic, 	TAR_CHAR_SELF, POS_STANDING,
	NULL,		SLOT(514), 50, 4,
	"", 	"You can no longer absorb magic.",   ""
	}, 

	{
    "psychic anchor",   {53,19,53,53,53,53 }, {1,1,0,0,1,1},
	spell_psychic_anchor,	TAR_IGNORE, 	POS_STANDING,
	NULL,		SLOT(515), 30, 4,
	"",		"!psychic anchor!",   ""
	},
	
	{
    "fear",             {14,53,53,53,53,53 }, {1,1,0,0,1,1},
	spell_fear,	TAR_CHAR_OFFENSIVE, 	POS_FIGHTING,
	NULL,		SLOT(516),  20, 8,
	"",		"You no longer feel so scared.",   ""
	},

    {
    "protection good",  { 93,9,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_protection_good,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(517),	 5,	12,
	"",			"You feel less protected from good.",   ""
    },


	{
    "detect good",      { 93,4,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_detect_good,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(518),	 5,	12,
	"",	"The green in your vision disappears.",   ""
    },

	{
    "dispel good",      { 93,16,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_dispel_good,	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
	NULL,			SLOT(519),	15,	12,
	"dispel good",		"!Dispel Good!",   ""
    },

	{
    "regeneration",     { 93,14,93,93,93,93 },      { 1,  1,  0,0,1,1},
	spell_regeneration,  TAR_CHAR_DEFENSIVE, POS_STANDING,
	NULL,			SLOT(520),	30,  8,
	"",			"You are no longer regenerating.",   ""
	},

	{
    "fire shield",  {93,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_fire_shield,	TAR_CHAR_SELF,		POS_STANDING,
	NULL,			SLOT(521),  10, 8,
	"fire shield",  "Your fire shield fades away.",   ""
	},

	{
	"portal",		{ 45,93,93,93,93,93 },		{ 1, 1, 0, 0, 1, 1},
	spell_portal,		TAR_IGNORE,				POS_STANDING,
	NULL,			SLOT(522),	100,	16,
	"portal",				"!portal!",   ""
	},

	{
    "remove invis",     { 28,93,93,93,93,93 },     { 1,  1,  0,0,1,1},
	spell_remove_invis,	TAR_OBJ_INV,	POS_STANDING,
	NULL,			SLOT(523),	 40,	12,
	"",			"!Remove Invis!",   ""
    },

	{
    "vocalize",         { 21,53,53,53,53,53 },      { 1, 1, 0,0,1, 1},
	spell_vocalize,		TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(524),  50, 12,
	"",	"You must speak to cast spells again.",   ""
	},

    {
    "entropy", { 93,93,93,93,93,93 }, {1, 1, 1, 1, 1, 1},
    spell_entropy, 	TAR_CHAR_OFFENSIVE,	POS_FIGHTING,
    NULL,	SLOT(525), 	30, 	18,
	"entropy",	"!Entropy!",	""
    },

    {
    "remove fear",      { 53,6,93,93,93,93 },     { 1,  1,0,0,1, 1},
	spell_remove_fear,	TAR_CHAR_DEFENSIVE,	POS_STANDING,
	NULL,			SLOT(526),	 5,	12,
	"",			"!Remove Fear!",   ""
    },

	{
    "mute",             { 23,53,53,53,53,53 },      { 1,  1,0,0,1, 1},
	spell_mute,			TAR_CHAR_OFFENSIVE,  POS_FIGHTING,
	NULL,			SLOT(527),	50, 12,
	"",			"You can speak again.",   ""
	},

/* classes are: mage Avenger thief warrior chaosmage monk Defiler */

/* combat and weapons skills */


    {
    "axe",          {93,93,93,3,93,93 },    { 0, 0, 0, 4,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_axe,            	SLOT( 0),       0,      0,
        "",                     "!Axe!",   ""
    },

    {
        "dagger",               {1,93,1,2,93,93 },     { 2, 0, 2, 0,0,2},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_dagger,            SLOT( 0),       0,      0,
        "",                     "!Dagger!",   ""
    },
 
    {
    "flail",        {93,1,93,6,93,93 },   { 0, 3, 0, 4,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_flail,            	SLOT( 0),       0,      0,
        "",                     "!Flail!",   ""
    },

    {
    "mace",         {93,1,93,6,93,93  },  { 0, 2, 0, 3,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_mace,            	SLOT( 0),       0,      0,
        "",                     "!Mace!",   ""
    },

    {
    "polearm",      { 93,93,93,8,93,93 },    { 0, 0, 0, 4,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_polearm,           SLOT( 0),       0,      0,
        "",                     "!Polearm!",   ""
    },
    
    {
    "shield block",     { 93,22,11,5,93,93 },   { 0, 4, 6, 2,1,1},
	spell_null,		TAR_IGNORE,		POS_FIGHTING,
	&gsn_shield_block,	SLOT(0),	0,	0,
	"",			"!Shield!",   ""
    },
 
    {
    "spear",        {93,93,93,4,93,93 }, { 0, 0, 0, 3,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_spear,            	SLOT( 0),       0,      0,
        "",                     "!Spear!",   ""
    },

    {
    "sword",        { 93,93,93,1,93,93 },    { 0, 0, 0, 2,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_sword,            	SLOT( 0),       0,      0,
        "",                     "!sword!",   ""
    },

    {
    "whip",         { 93,93,3,7,93,93 },    { 0, 0, 5, 4,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_whip,            	SLOT( 0),       0,      0,
        "",                     "!Whip!",   ""
    },

    {
        "backstab",             { 93,93,10,93,93,93 },     { 0, 0, 5, 0,0,0},
        spell_null,             TAR_IGNORE,             POS_STANDING,
        &gsn_backstab,          SLOT( 0),        0,     24,
        "backstab",             "!Backstab!",   ""
    },

    {
        "circle",               {93,93,25,93,93,93 },     { 0, 0, 8, 0,0,0},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_circle,            SLOT( 0),        0,     24,
        "circle",               "!Circle!",   ""
    },

    {
    "bash",         {93,93,93,13,93,93 }, { 0, 0, 0, 4,0,0},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_bash,            	SLOT( 0),       0,      24,
        "bash",                 "!Bash!",   ""
    },

    {
    "berserk",      {93,93,93,15,93,93 }, { 0, 0, 0, 5,0,0},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_berserk,        	SLOT( 0),       0,      24,
        "",                     "You feel your pulse slow down.",   ""
    },
	
    {
     "dual", {93,93,93,21,93,93 }, { 0, 0, 0, 5,0,0 },
     spell_null,	TAR_IGNORE,  POS_FIGHTING,
     &gsn_dual,		SLOT(0),     0,    4,
     "",		"!dual!",   ""
    },

    {
    "dirt kicking",     { 35,93,7,9,93,93 }, { 4, 0, 2, 4,0,0},
	spell_null,		TAR_IGNORE,		POS_FIGHTING,
	&gsn_dirt,		SLOT( 0),	0,	24,
	"kicked dirt",		"You rub the dirt out of your eyes.",   ""
    },

    {
        "disarm",               { 93,93,16,16,93,93 },     { 0, 0, 6, 4,0,0},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_disarm,            SLOT( 0),        0,     24,
        "",                     "!Disarm!",   ""
    },
 
    {
        "dodge",                { 20,18,10,15,93,93 },     { 6, 8, 4, 6,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_dodge,             SLOT( 0),        0,      0,
        "",                     "!Dodge!",   ""
    },
 
    {
        "enhanced damage",      { 93,93,23,9,93,93 },     { 0, 0, 5, 3,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_enhanced_damage,   SLOT( 0),        0,      0,
        "",                     "!Enhanced Damage!",   ""
    },


    {
        "ultra damage",         { 93,93,93,35,93,93 },      { 0, 0, 0, 5,0,0},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_ultra_damage,      SLOT( 0),        0,     0,
        "",                     "!Ultra Damage!",   ""
    },


    {
        "envenom",              { 93,93,18,93,93,93 },      { 0, 0, 4, 0,0,0 },
        spell_null,             TAR_IGNORE,              POS_RESTING,
        &gsn_envenom,           SLOT(0),         0,      36,
        "",                     "!Envenom!",   ""
    },


    {
    "hand to hand",     { 93,93,17,8,93,93 }, { 0, 0, 6, 4,1,1},
	spell_null,		TAR_IGNORE,		POS_FIGHTING,
	&gsn_hand_to_hand,	SLOT( 0),	0,	0,
	"",			"!Hand to Hand!",   ""
    },

    {
        "kick",                 { 93,93,15,3,93,93 },     { 0, 0, 6, 3,1,1},
        spell_null,             TAR_CHAR_OFFENSIVE,     POS_FIGHTING,
        &gsn_kick,              SLOT( 0),        0,      12,
        "kick",                 "!Kick!",   ""
    },

    {
        "parry",                { 93,93,32,8,93,93 },     { 0, 0, 6, 4,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_parry,             SLOT( 0),        0,      0,
        "",                     "!Parry!",   ""
    },
	
	{
        "rotate",               {93,93,93,18,93,93 },     { 0, 0, 0,4,0,0},
		spell_null,	TAR_IGNORE,	POS_FIGHTING,
		&gsn_rotate,	SLOT(0),	0,	8,
		"",		"!Rotate!",   ""
	},

    {
        "rescue",               { 93,28,93,6,93,93 },     { 0, 6, 0, 4,0,0},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_rescue,            SLOT( 0),        0,     12,
        "",                     "!Rescue!",   ""
    },

    {
    "trip",         { 93,93,5,4,93,93 }, { 0, 0, 4, 8,0,0},
	spell_null,		TAR_IGNORE,		POS_FIGHTING,
	&gsn_trip,		SLOT( 0),	0,	24,
	"trip",			"!Trip!",   ""
    },

    {
        "second attack",        { 55,23,18,11,93,93 },     { 10, 8, 5, 3,1,1},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_second_attack,     SLOT( 0),        0,      0,
        "",                     "!Second Attack!",   ""
    },

	{
        "sharpen",      { 93,93,93,24,93,93 },     {0, 0, 0, 4,0,0 },
	spell_null,	TAR_OBJ_INV,	POS_STANDING,
	&gsn_sharpen,	SLOT(0),	0,	16,
	"",		"!Sharpen!",   ""
	},
 

    {
        "third attack",         { 93,93,93,20,93,93 },     { 0, 0,0 , 4,0,0},
        spell_null,             TAR_IGNORE,             POS_FIGHTING,
        &gsn_third_attack,      SLOT( 0),        0,      0,
        "",                     "!Third Attack!",   ""
    },

/* non-combat skills */

    { 
    "fast healing",     { 93,19,14,13,93,93 }, { 0, 5, 6, 4,1,1},
	spell_null,		TAR_IGNORE,		POS_SLEEPING,
	&gsn_fast_healing,	SLOT( 0),	0,	0,
	"",			"!Fast Healing!",   ""
    },

    {
    "haggle",       { 21,19,18,22,93,93 },  { 5, 8, 3, 6,1,1},
	spell_null,		TAR_IGNORE,		POS_RESTING,
	&gsn_haggle,		SLOT( 0),	0,	0,
	"",			"!Haggle!",   ""
    },

    {
    "hide",         { 93,93,4,93,93,93 },    { 0, 0, 4, 0,0,0},
	spell_null,		TAR_IGNORE,		POS_RESTING,
	&gsn_hide,		SLOT( 0),	 0,	12,
	"",			"!Hide!",   ""
    },

    {
    "lore",         { 15,17,27,93,93,93 },    { 6, 6, 4, 0,0,0},
	spell_null,		TAR_IGNORE,		POS_RESTING,
	&gsn_lore,		SLOT( 0),	0,	18,
	"",			"!Lore!",   ""
    },

    {
    "meditation",       {15,9,93,93,93,93 }, { 5, 5, 0, 0,1,1},
	spell_null,		TAR_IGNORE,		POS_SLEEPING,
	&gsn_meditation,	SLOT( 0),	0,	0,
	"",			"Meditation",   ""
    },

    {
    "peek",         { 93,93,19,93,93,93 },    { 0, 0, 3, 0,0,0},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_peek,		SLOT( 0),	 0,	 0,
	"",			"!Peek!",   ""
    },

    {
    "pick lock",        { 93,93,12,93,93,93 }, { 0, 0, 4, 0,0,0},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_pick_lock,		SLOT( 0),	 0,	12,
	"",			"!Pick!",   ""
    },

    {
	"recruit",	{93,93,93,93,93,93}, {1,1,1,1,1,1},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_recruit,		SLOT( 0),	0,	0,
	"",			"!Recruit!",  ""
    },

    {
    "sneak",        { 93,93,8,93,93,93 },   { 0, 0, 4, 0,0,0},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_sneak,		SLOT( 0),	 0,	12,
	"",			"You no longer feel stealthy.",   ""
    },

    {
    "steal",        { 93,93,2,93,93,93 }, { 0, 0, 2, 0,0,0},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_steal,		SLOT( 0),	 0,	24,
	"",			"!Steal!",   ""
    },

    {
    "scrolls",      { 5,5,7,10,5,5 }, { 1, 2, 4, 7,1,2},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_scrolls,		SLOT( 0),	0,	24,
	"",			"!Scrolls!",   ""
    },

    {
    "staves",       { 5,5,7,10,5,5 }, { 2,3,8,0,2,3},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_staves,		SLOT( 0),	0,	12,
	"",			"!Staves!",   ""
    },
    
    {
    "wands",        { 5,5,7,10,5,5 }, { 2, 3, 0, 0,1,1},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_wands,		SLOT( 0),	0,	12,
	"",			"!Wands!",   ""
    },

    {
    "recall",       {  1,  1,  1,  1,1,1 }, { 2, 2, 2,2,2,2},
	spell_null,		TAR_IGNORE,		POS_STANDING,
	&gsn_recall,		SLOT( 0),	0,	12,
	"",			"!Recall!",   ""
    }
};