#if defined(macintosh) #include <types.h> #else #include <sys/types.h> #endif #include <stdio.h> #include <time.h> #include "merc.h" #include "magic.h" #include "interp.h" /* * LSA: Level-spell-all: when you can get all spells & skills * * Adjusted to make it easier to change levels through simple editing * of MAX_LEVEL/LEVEL_IMMORTAL in merc.h. * --Jouster */ #define LSA LEVEL_IMMORTAL /* * 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 */ { 4 }, { 4 }, { 5 }, { 5 }, { 6 } /* 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 }, { -10 }, { -20 }, { -50 }, { - 110 }, /* 15 */ { - 115 }, { - 120 }, { - 130 }, { - 140 }, { - 150 }, /* 20 */ { - 160 }, { - 175 }, { - 190 }, { -255 }, { -280 } /* 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 }, { 5, 99 }, /* 20 */ { 7, 99 }, { 9, 99 }, { 11, 99 }, { 13, 99 }, { 15, 99 } /* 25 */ }; /* * Liquid properties. * Used in world.obj. * Be sure MAX_LIQUID in merc.h matches * the number of entries below. */ const struct liq_type liq_table [] = { /* name color proof, full, thirst, food, ssize */ { "water", "clear", { 0, 1, 10, 0, 16 } }, { "beer", "amber", { 12, 1, 8, 1, 12 } }, { "red wine", "burgundy", { 30, 1, 8, 1, 5 } }, { "ale", "brown", { 15, 1, 8, 1, 12 } }, { "dark ale", "dark", { 16, 1, 8, 1, 12 } }, { "whisky", "golden", { 120, 1, 5, 0, 2 } }, { "lemonade", "pink", { 0, 1, 9, 2, 12 } }, { "firebreather", "boiling", { 190, 0, 4, 0, 2 } }, { "local specialty", "clear", { 151, 1, 3, 0, 2 } }, { "slime mold juice", "green", { 0, 2, -8, 1, 2 } }, { "milk", "white", { 0, 2, 9, 3, 12 } }, { "tea", "tan", { 0, 1, 8, 0, 6 } }, { "coffee", "black", { 0, 1, 8, 0, 6 } }, { "blood", "red", { 0, 2, -1, 2, 6 } }, { "salt water", "clear", { 0, 1, -2, 0, 1 } }, { "coke", "brown", { 0, 2, 9, 2, 12 } }, { "root beer", "brown", { 0, 2, 9, 2, 12 } }, { "elvish wine", "green", { 35, 2, 8, 1, 5 } }, { "white wine", "golden", { 28, 1, 8, 1, 5 } }, { "champagne", "golden", { 32, 1, 8, 1, 5 } }, { "mead", "honey-colored",{ 34, 2, 8, 2, 12 } }, { "rose wine", "pink", { 26, 1, 8, 1, 5 } }, { "benedictine wine", "burgundy", { 40, 1, 8, 1, 5 } }, { "vodka", "clear", { 130, 1, 5, 0, 2 } }, { "cranberry juice", "red", { 0, 1, 9, 2, 12 } }, { "orange juice", "orange", { 0, 2, 9, 3, 12 } }, { "absinthe", "green", { 200, 1, 4, 0, 2 } }, { "brandy", "golden", { 80, 1, 5, 0, 4 } }, { "aquavit", "clear", { 140, 1, 5, 0, 2 } }, { "schnapps", "clear", { 90, 1, 5, 0, 2 } }, { "icewine", "purple", { 50, 2, 6, 1, 5 } }, { "amontillado", "burgundy", { 35, 2, 8, 1, 5 } }, { "sherry", "red", { 38, 2, 7, 1, 5 } }, { "framboise", "red", { 50, 1, 7, 1, 5 } }, { "rum", "amber", { 151, 1, 4, 0, 2 } }, { "cordial", "clear", { 100, 1, 5, 0, 2 } }, { "dr pepper", "brown", { 0, 2, 9, 2, 12 } }, { NULL, NULL, { 0, 0, 0, 0, 0 } } }; /* * The skill and spell table. * Slot numbers must never be changed as they appear in #OBJECTS sections. */ #define SLOT(n) n const struct skill_type skill_table [MAX_SKILL] = { /* * Magic spells. */ /* { "NAME", { SKILL_LEVELS 1st TIER, SKILL_LEVELS 2nd TIER }, { DIFFICULTY 1st TIER, DIFFICULTY 2nd TIER }, SPELL_FUN, TARGET, MIN_POSITION, GSN, SOCKET, SLOT(#), MIN_MANA, BEATS, "DAMAGE NOUN", "OFF MESSAGE", "OFF MESSAGE (OBJ)" } NAME Name of Spell/Skill SKILL_LEVELS Levels to obtain spell/skill per class DIFFICULTY Spells: multiplier for base mana Skills: charge for gaining skill SPELL_FUN Routine to call for spells TARGET Legal targets MIN_POSTITION Position for caster/user GSN gsn for skills and some spells SOCKET Can spell be cast on person from same socket (to limit multiplaying) SLOT(#) A unique slot number for spells MIN_MANA Base mana for spells (multiplied by DIFFICULTY) BEATS Waiting time after use DAMAGE NOUN Damage Message OFF MESSAGE Wear off message OFF MESSAGE (OBJ) Wear off message for objects */ { "reserved", { MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1, MAX_LEVEL + 1 }, { 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 }, 0, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT( 0), 0, 0, "", "", "" }, { "acid blast", { 52, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 45, LSA, LSA, LSA, LSA, LSA, 95, LSA, LSA}, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_acid_blast, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(70), 20, 12, "acid blast", "!Acid Blast!", "" }, { "animate", { LSA, LSA, LSA, LSA, LSA, LSA, 45, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 35, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_animate, TAR_OBJ_INV, POS_STANDING, NULL, TRUE, SLOT(239), 20, 12, "", "!Animate!", "" }, { "armor", { 13, 2, LSA, LSA, LSA, 23, LSA, LSA, LSA, 3, 1, LSA, LSA, LSA, 13, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, spell_armor, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT( 1), 5, 12, "", "You feel less armored.", "" }, { "blast of water", { LSA, LSA, LSA, LSA, LSA, 61, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 51, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_blast_of_water, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(306), 20, 12, "blast of water", "!Blast of Water!", "" }, { "bless", { LSA, 13, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 3, LSA, LSA, 55, LSA, LSA, 26, LSA }, { 1, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, spell_bless, TAR_OBJ_CHAR_DEF, POS_STANDING, NULL, FALSE, SLOT( 3), 5, 12, "", "You feel less righteous.", "$p's holy aura fades." }, { "blindness", { 24, 15, LSA, LSA, 65, 14, 34, LSA, LSA, 14, 5, LSA, LSA, 55, 4, 24, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_blindness, TAR_CHAR_OFFENSIVE, POS_FIGHTING, &gsn_blindness, TRUE, SLOT( 4), 5, 12, "", "You can see again.", "" }, { "burning hands", { 13, LSA, LSA, LSA, LSA, 23, 49, LSA, LSA, 3, LSA, LSA, LSA, 63, 13, 39, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_burning_hands, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT( 5), 15, 12, "burning hands", "!Burning Hands!", "" }, { "call lightning", { LSA, LSA, LSA, LSA, 48, 30, LSA, LSA, LSA, 56, LSA, LSA, LSA, 38, 20, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1 }, spell_call_lightning, TAR_IGNORE, POS_FIGHTING, NULL, TRUE, SLOT( 6), 15, 12, "lightning bolt", "!Call Lightning!", "" }, { "calm", { LSA, 32, LSA, LSA, LSA, 68, LSA, LSA, LSA, LSA, 22, LSA, LSA, LSA, 58, LSA, 46, LSA }, { 1, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, spell_calm, TAR_IGNORE, POS_FIGHTING, NULL, TRUE, SLOT(509), 30, 12, "", "You have lost your peace of mind.", "" }, { "cancellation", { 51, 51, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 41, 41, LSA, LSA, LSA, 36, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, spell_cancellation, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(507), 20, 12, "" "!cancellation!", "" }, { "cause critical", { LSA, 45, LSA, LSA, LSA, 87, LSA, LSA, LSA, LSA, 35, LSA, LSA, LSA, 77, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_cause_critical, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(63), 20, 12, "spell", "!Cause Critical!", "" }, { "cause light", { LSA, 1, LSA, LSA, LSA, 36, LSA, LSA, LSA, LSA, 1, LSA, LSA, LSA, 26, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_cause_light, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(62), 15, 12, "spell", "!Cause Light!", "" }, { "cause serious", { LSA, 23, LSA, LSA, LSA, 59, LSA, LSA, LSA, LSA, 13, LSA, LSA, LSA, 49, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_cause_serious, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(64), 17, 12, "spell", "!Cause Serious!", "" }, { "chain lightning", { 66, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 55, LSA, LSA, LSA, LSA, 50, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_chain_lightning, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(500), 25, 12, "lightning", "!Chain Lightning!", "" }, { "change sex", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_change_sex, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(82), 15, 12, "", "Your body feels familiar again.", "" }, { "charm person", { 64, LSA, 44, LSA, LSA, 50, 43, LSA, LSA, 54, LSA, 34, LSA, 90, 40, 33, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_charm_person, TAR_CHAR_OFFENSIVE, POS_STANDING, &gsn_charm_person, TRUE, SLOT( 7), 5, 12, "", "You feel more self-confident.", "" }, { "chill touch", { 12, LSA, LSA, LSA, LSA, 22, 34, LSA, LSA, 2, LSA, LSA, LSA, 32, 12, 24, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_chill_touch, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT( 8), 15, 12, "chilling touch", "You feel less cold.", "" }, { "colour spray", { 32, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 22, LSA, LSA, LSA, LSA, LSA, 57, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_colour_spray, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(10), 15, 12, "colour spray", "!Colour Spray!", "" }, { "complete healing", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 80, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_complete_healing, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(310), 40, 12, "", "!Complete Healing!", "" }, { "cone of cold", { LSA, LSA, LSA, LSA, LSA, 89, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 79, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_cone_of_cold, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(308), 20, 12, "cone of cold", "!Cone of Cold!", "" }, { "conjure", { 85, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 59, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1 }, spell_conjure, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(280), 100, 12, "", "!Conjure!", "" }, { "continual light", { 11, 8, LSA, LSA, 7, 5, LSA, LSA, LSA, 1, 7, LSA, LSA, 1, 4, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1 }, spell_continual_light, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(57), 7, 12, "", "!Continual Light!", "" }, { "control weather", { LSA, LSA, LSA, LSA, LSA, 20, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 10, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1 }, spell_control_weather, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(11), 25, 12, "", "!Control Weather!", "" }, { "create food", { 19, 10, LSA, LSA, 6, 7, LSA, LSA, LSA, 9, 1, LSA, LSA, 1, 6, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1 }, spell_create_food, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(12), 5, 12, "", "!Create Food!", "" }, { "create rose", { 32, 21, LSA, LSA, 16, 11, LSA, LSA, LSA, 22, 11, LSA, LSA, 6, 1, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1 }, spell_create_rose, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(511), 30, 12, "", "!Create Rose!", "" }, { "create spring", { 28, 34, LSA, LSA, 26, 24, LSA, LSA, LSA, 18, 24, LSA, LSA, 16, 14, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1 }, spell_create_spring, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(80), 20, 12, "", "!Create Spring!", "" }, { "create water", { 15, 5, LSA, LSA, 2, 3, LSA, LSA, LSA, 5, 1, LSA, LSA, 1, 2, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1 }, spell_create_water, TAR_OBJ_INV, POS_STANDING, NULL, TRUE, SLOT(13), 5, 12, "", "!Create Water!", "" }, { "cure blindness", { LSA, 11, LSA, LSA, LSA, 16, LSA, LSA, LSA, LSA, 1, LSA, LSA, LSA, 6, LSA, 31, LSA }, { 1, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, spell_cure_blindness, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(14), 5, 12, "", "!Cure Blindness!", "" }, { "cure critical", { LSA, 25, LSA, LSA, LSA, 37, LSA, LSA, LSA, LSA, 15, LSA, LSA, 57, 27, LSA, 25, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_cure_critical, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(15), 20, 12, "", "!Cure Critical!", "" }, { "cure disease", { LSA, 26, LSA, LSA, LSA, 32, LSA, LSA, LSA, LSA, 16, LSA, LSA, LSA, 22, LSA, 46, LSA }, { 1, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, spell_cure_disease, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(501), 20, 12, "", "!Cure Disease!", "" }, { "cure light", { LSA, 1, LSA, LSA, LSA, 8, LSA, LSA, LSA, LSA, 1, LSA, LSA, 28, 1, LSA, 11, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_cure_light, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(16), 10, 12, "", "!Cure Light!", "" }, { "cure poison", { LSA, 28, LSA, LSA, LSA, 33, LSA, LSA, LSA, LSA, 18, LSA, LSA, LSA, 23, LSA, 48, LSA }, { 1, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, spell_cure_poison, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(43), 5, 12, "", "!Cure Poison!", "" }, { "cure serious", { LSA, 14, LSA, LSA, LSA, 24, LSA, LSA, LSA, LSA, 4, LSA, LSA, 44, 24, LSA, 14, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_cure_serious, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(61), 15, 12, "", "!Cure Serious!", "" }, { "curse", { 35, 35, LSA, LSA, LSA, LSA, 45, LSA, LSA, 25, 25, LSA, LSA, LSA, 28, 35, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_curse, TAR_OBJ_CHAR_OFF, POS_FIGHTING, &gsn_curse, TRUE, SLOT(17), 20, 12, "curse", "The curse wears off.", "$p is no longer impure." }, { "demonfire", { LSA, 68, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 58, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_demonfire, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(505), 20, 12, "torments", "!Demonfire!", "" }, { "detect evil", { 22, 22, 24, LSA, 32, 22, 25, LSA, LSA, 12, 12, LSA, LSA, 22, 12, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_detect_evil, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(18), 5, 12, "", "The red in your vision disappears.", "" }, { "detect good", { 23, 22, 25, LSA, 33, 23, 26, LSA, LSA, 13, 12, LSA, LSA, 23, 13, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_detect_good, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(513), 5, 12, "", "The gold in your vision disappears.", "" }, { "detect hidden", { 24, 22, 20, LSA, 36, 26, 24, LSA, LSA, 14, 12, LSA, LSA, 26, 16, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_detect_hidden, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(44), 5, 12, "", "You feel less aware of your surroundings.", "" }, { "detect invis", { 25, 16, 11, LSA, 25, 25, 4, LSA, LSA, 15, 6, 9, LSA, 15, 15, 3, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_detect_invis, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(19), 5, 12, "", "You no longer see invisible objects.", "" }, { "detect magic", { 26, 11, 8, LSA, 24, 21, 3, LSA, LSA, 16, 1, 7, LSA, 14, 11, 2, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_detect_magic, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(20), 5, 12, "", "The detect magic wears off.", "" }, { "detect poison", { 27, 14, 18, LSA, 14, 11, 11, LSA, LSA, 17, 4, 8, LSA, 4, 1, 1, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_detect_poison, TAR_OBJ_INV, POS_STANDING, NULL, TRUE, SLOT(21), 5, 12, "", "!Detect Poison!", "" }, { "dispel evil", { LSA, 30, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 20, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_dispel_evil, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(22), 15, 12, "dispel evil", "!Dispel Evil!", "" }, { "dispel good", { LSA, 30, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 20, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_dispel_good, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(512), 15, 12, "dispel good", "!Dispel Good!", "" }, { "dispel magic", { 48, 48, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 38, 38, LSA, LSA, LSA, 43, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_dispel_magic, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(59), 15, 12, "", "!Dispel Magic!", "" }, { "divine fury", { LSA, 85, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 75, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 1 }, spell_divine_fury, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(303), 20, 12, "divine fury", "!Divine Fury!", "" }, { "earthquake", { LSA, LSA, LSA, LSA, 43, 6, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 33, 1, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_earthquake, TAR_IGNORE, POS_FIGHTING, NULL, TRUE, SLOT(23), 15, 12, "earthquake", "!Earthquake!", "" }, { "empower", { 36, 40, LSA, LSA, LSA, 42, LSA, LSA, LSA, 26, 30, LSA, LSA, LSA, 32, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_empower, TAR_IGNORE, POS_RESTING, NULL, TRUE, SLOT(234), 40, 12, "", "!Empower!", "" }, { "enchant armor", { 31, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 21, LSA, LSA, LSA, LSA, 60, LSA, LSA, LSA }, { 2, 2, 4, 4, 4, 2, 4, 1, 1, 2, 2, 4, 4, 4, 2, 4, 1, 1 }, spell_enchant_armor, TAR_OBJ_INV, POS_STANDING, NULL, TRUE, SLOT(510), 100, 24, "", "!Enchant Armor!", "" }, { "enchant weapon", { 32, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 22, LSA, LSA, LSA, LSA, 61, LSA, LSA, LSA }, { 2, 2, 4, 4, 4, 2, 4, 1, 1, 2, 2, 4, 4, 4, 2, 4, 1, 1 }, spell_enchant_weapon, TAR_OBJ_INV, POS_STANDING, NULL, TRUE, SLOT(24), 100, 24, "", "!Enchant Weapon!", "" }, { "energy drain", { 38, 44, LSA, LSA, LSA, 40, 10, LSA, LSA, 28, 34, LSA, LSA, LSA, 30, 1, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_energy_drain, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(25), 35, 12, "energy drain", "!Energy Drain!", "" }, { "faerie fire", { LSA, LSA, LSA, LSA, 17, 2, LSA, LSA, LSA, 2, LSA, LSA, LSA, 7, 1, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1 }, spell_faerie_fire, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(72), 5, 12, "faerie fire", "The pink aura around you fades away.", "" }, { "faerie fog", { LSA, LSA, LSA, LSA, 35, 18, LSA, LSA, LSA, 18, LSA, LSA, LSA, 25, 8, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1 }, spell_faerie_fog, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(73), 12, 12, "faerie fog", "!Faerie Fog!", "" }, { "farsight", { 4, 8, 15, LSA, 16, 9, 6, LSA, LSA, 3, 7, 5, LSA, 6, 8, 5, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_farsight, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(521), 5, 12, "", "The green in your vision disappears.", "" }, { "fireball", { 44, LSA, LSA, LSA, 76, 53, 81, LSA, LSA, 34, LSA, LSA, LSA, 66, 43, 71, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_fireball, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(26), 15, 12, "fireball", "!Fireball!", "" }, { "fireproof", { 25, 24, LSA, LSA, LSA, 22, LSA, LSA, LSA, 15, 14, LSA, LSA, LSA, 11, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_fireproof, TAR_OBJ_INV, POS_STANDING, NULL, TRUE, SLOT(523), 10, 12, "", "", "$p's protective aura fades." }, { "fireshield", { 50, 60, LSA, LSA, LSA, 55, LSA, LSA, LSA, 40, 50, LSA, LSA, LSA, 45, LSA, LSA, LSA }, { 3, 3, 5, 5, 5, 3, 5, 1, 1, 3, 3, 5, 5, 5, 3, 5, 1, 1 }, spell_fireshield, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(411), 75, 12, "fireball", "Your firey shield gutters out.", "" }, { "flamestrike", { LSA, LSA, LSA, LSA, 52, 27, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 42, 17, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_flamestrike, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(65), 20, 12, "flamestrike", "!Flamestrike!", "" }, { "floating disc", { 7, 19, LSA, LSA, 45, 15, LSA, LSA, LSA, 6, 9, LSA, LSA, 35, 5, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 1 }, spell_floating_disc, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(522), 40, 24, "", "!Floating disc!", "" }, { "fly", { 19, 36, LSA, LSA, LSA, 56, 33, LSA, LSA, 9, 26, LSA, LSA, 50, 46, 23, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1 }, spell_fly, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(56), 10, 18, "", "You slowly float to the ground.", "" }, { "frenzy", { LSA, 48, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 38, LSA, LSA, LSA, 48, LSA, 61, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1 }, spell_frenzy, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(504), 30, 24, "", "Your rage ebbs.", "" }, { "frost dart", { LSA, LSA, LSA, LSA, 43, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 33, 62, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1 }, spell_frost_dart, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(305), 15, 12, "frost dart", "!Frost Dart!", "" }, { "gate", { 54, 34, LSA, LSA, LSA, 71, 56, LSA, LSA, 44, 24, 80, LSA, 90, 61, 46, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_gate, TAR_IGNORE, POS_FIGHTING, NULL, FALSE, SLOT(83), 80, 12, "", "!Gate!", "" }, { "giant strength", { 41, LSA, LSA, LSA, 31, 37, LSA, LSA, 31, LSA, LSA, 49, 21, 27, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_giant_strength, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(39), 20, 12, "", "You feel weaker.", "" }, { "godheal", { LSA, 80, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 50, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_godheal, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(309), 150, 12, "", "!GodHeal!", "" }, { "harm", { LSA, 46, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 36, LSA, LSA, LSA, 87, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1 }, spell_harm, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(27), 35, 12, "harm spell", "!Harm!, """ }, { "haste", { 42, LSA, LSA, LSA, LSA, 26, 52, LSA, LSA, 32, LSA, LSA, LSA, 63, 16, 42, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1 }, spell_haste, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(502), 30, 12, "", "You feel yourself slow down.", "" }, { "heal", { LSA, 32, LSA, LSA, LSA, 55, LSA, LSA, LSA, LSA, 22, LSA, LSA, LSA, 45, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1 }, spell_heal, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(28), 50, 12, "", "!Heal!", "" }, { "heat metal", { LSA, 42, LSA, LSA, LSA, 22, LSA, LSA, LSA, LSA, 32, LSA, LSA, LSA, 12, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1 }, spell_heat_metal, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(516), 25, 18, "spell", "!Heat Metal!", "" }, { "holy word", { LSA, 71, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 61, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 2, 2, 4, 4, 4, 2, 4, 1, 1, 2, 2, 4, 4, 4, 2, 4, 1, 1 }, spell_holy_word, TAR_IGNORE, POS_FIGHTING, NULL, TRUE, SLOT(506), 200, 24, "divine wrath", "!Holy Word!", "" }, { "iceshield", { 30, 30, LSA, LSA, LSA, 35, LSA, LSA, LSA, 20, 20, LSA, LSA, LSA, 25, LSA, LSA, LSA }, { 3, 3, 5, 5, 5, 3, 5, 1, 1, 3, 3, 5, 5, 5, 3, 5, 1, 1 }, spell_iceshield, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(410), 75, 12, "chilling touch", "Your icy shield slowly melts away.", "" }, { "identify", { 30, 32, 35, LSA, 100, 42, LSA, LSA, LSA, 20, 22, 25, LSA, 85, 32, 29, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_identify, TAR_OBJ_INV, POS_STANDING, NULL, TRUE, SLOT(53), 12, 24, "", "!Identify!", "" }, { "infravision", { 18, LSA, LSA, LSA, LSA, 18, 12, LSA, LSA, 8, LSA, LSA, LSA, LSA, 8, 2, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_infravision, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(77), 5, 18, "", "You no longer see in the dark.", "" }, { "invisibility", { 9, LSA, 17, LSA, 12, LSA, 13, LSA, LSA, 8, LSA, 7, LSA, 2, LSA, 3, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_invis, TAR_OBJ_CHAR_DEF, POS_STANDING, &gsn_invis, FALSE, SLOT(29), 5, 12, "", "You are no longer invisible.", "$p fades into view." }, { "know alignment", { LSA, 17, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 7, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_know_alignment, TAR_CHAR_DEFENSIVE, POS_FIGHTING, NULL, FALSE, SLOT(58), 9, 12, "", "!Know Alignment!", "" }, { "lightning bolt", { 25, LSA, LSA, LSA, 52, 38, 59, LSA, LSA, 15, LSA, LSA, LSA, 42, 28, 49, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_lightning_bolt, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(30), 15, 12, "lightning bolt", "!Lightning Bolt!", "" }, { "locate object", { 17, 30, LSA, LSA, LSA, 35, LSA, LSA, LSA, 7, 20, LSA, LSA, LSA, 25, LSA, LSA, LSA }, { 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1 }, spell_locate_object, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(31), 20, 18, "", "!Locate Object!", "" }, { "magic missile", { 1, LSA, LSA, LSA, LSA, LSA, 25, LSA, LSA, 1, LSA, LSA, LSA, LSA, LSA, 15, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_magic_missile, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(32), 15, 12, "magic missile", "!Magic Missile!", "" }, { "mass healing", { LSA, 75, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 65, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 2, 2, 4, 4, 2, 2, 2, 1, 1, 2, 2, 4, 4, 2, 2, 2, 1, 1 }, spell_mass_healing, TAR_IGNORE, POS_STANDING, NULL, FALSE, SLOT(508), 100, 36, "", "!Mass Healing!", "" }, { "mass invis", { 43, LSA, 55, LSA, 59, LSA, 54, LSA, LSA, 33, LSA, 45, LSA, 49, LSA, 44, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_mass_invis, TAR_IGNORE, POS_STANDING, &gsn_mass_invis, FALSE, SLOT(69), 20, 24, "", "You are no longer invisible.", "" }, { "nexus", { 79, 69, LSA, LSA, LSA, 80, LSA, LSA, LSA, 69, 59, LSA, LSA, LSA, 70, LSA, LSA, LSA }, { 2, 2, 4, 4, 4, 2, 4, 1, 1, 2, 2, 4, 4, 4, 2, 4, 1, 1 }, spell_nexus, TAR_IGNORE, POS_STANDING, NULL, FALSE, SLOT(520), 150, 36, "", "!Nexus!", "" }, { "pass door", { 48, 63, LSA, LSA, LSA, 60, 42, LSA, LSA, 38, 53,70, LSA, 95, 50, 32, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_pass_door, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(74), 20, 12, "", "You feel solid again.", "" }, { "plague", { 46, 34, LSA, LSA, 59, 39, 65, LSA, LSA, 36, 24, LSA, LSA, 49, 29, 55, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_plague, TAR_CHAR_OFFENSIVE, POS_FIGHTING, &gsn_plague, TRUE, SLOT(503), 20, 12, "sickness", "Your sores vanish.", "" }, { "poison", { 33, 24, LSA, LSA, 49, 27, 22, LSA, LSA, 23, 14, LSA, LSA, 39, 17, 12, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_poison, TAR_OBJ_CHAR_OFF, POS_FIGHTING, &gsn_poison, TRUE, SLOT(33), 10, 12, "poison", "You feel less sick.", "The poison on $p dries up." }, { "portal", { 70, 59, LSA, LSA, LSA, 73, 82, LSA, LSA, 60, 49, LSA, LSA, LSA, 63, 72, LSA, LSA }, { 2, 2, 4, 4, 4, 2, 4, 1, 1, 2, 2, 4, 4, 4, 2, 4, 1, 1 }, spell_portal, TAR_IGNORE, POS_STANDING, NULL, FALSE, SLOT(519), 100, 24, "", "!Portal!", "" }, { "protection evil", { LSA, 18, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 8, LSA, LSA, LSA, LSA, LSA, 28, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_protection_evil, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(34), 5, 12, "", "You feel less protected.", "" }, { "protection good", { LSA, 18, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 8, LSA, LSA, LSA, LSA, LSA, 28, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_protection_good, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(514), 5, 12, "", "You feel less protected.", "" }, { "protection voodoo", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, spell_protection_voodoo, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(345), 5, 12, "", "", "" }, { "quest pill", { MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, spell_quest_pill, TAR_CHAR_SELF, POS_STANDING, NULL, TRUE, SLOT(530), 5, 18, "", "!Quest Pill!", "" }, { "ray of truth", { LSA, 69, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 59, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_ray_of_truth, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(518), 20, 12, "ray of truth", "!Ray of Truth!", "" }, { "recharge", { 18, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 8, LSA, LSA, LSA, LSA, 42, LSA, LSA, LSA, }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_recharge, TAR_OBJ_INV, POS_STANDING, NULL, TRUE, SLOT(517), 60, 24, "", "!Recharge!", "" }, { "refresh", { 16, LSA, LSA, LSA, LSA, 10, 16, LSA, LSA, 6, LSA, LSA, LSA, 8, 1, 6, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1 }, spell_refresh, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(81), 12, 18, "refresh", "!Refresh!", "" }, { "remove curse", { LSA, 35, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 25, LSA, LSA, 63, 39, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1 }, spell_remove_curse, TAR_OBJ_CHAR_DEF, POS_STANDING, NULL, FALSE, SLOT(35), 5, 12, "", "!Remove Curse!", "" }, { "restore mana", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, spell_restore_mana, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(251), 1, 18, "restore mana", "!Restore Mana!", "" }, { "resurrect", { LSA, LSA, LSA, LSA, LSA, LSA, 28, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 18, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_resurrect, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(235), 35, 12, "", "!Resurrect!", "" }, { "sanctuary", { LSA, 39, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 29, LSA, LSA, LSA, 30, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_sanctuary, TAR_CHAR_DEFENSIVE, POS_STANDING, &gsn_sanctuary, FALSE, SLOT(36), 75, 12, "", "The white aura around your body fades.", "" }, { "sanction", { 101, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 50, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 4, 1, 2, 2, 1, 1, 2, 1, 1, 3, 1, 2, 2, 1, 1, 2, 1, 1 }, spell_sanction, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(302), 75, 12, "sanction", "The black aura around you fades away.", "" }, { "shield", { 40, 70, LSA, LSA, LSA, 80, LSA, LSA, LSA, 30, 60, LSA, LSA, LSA, 70, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_shield, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(67), 12, 18, "", "Your force shield shimmers then fades away.", "" }, { "shocking grasp", { 20, LSA, LSA, LSA, LSA, LSA, 59, LSA, LSA, 10, LSA, LSA, LSA, LSA, LSA, 49, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_shocking_grasp, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(53), 15, 12, "shocking grasp", "!Shocking Grasp!", "" }, { "shockshield", { 60, 40, LSA, LSA, LSA, 90, LSA, LSA, LSA, 50, 30, LSA, LSA, LSA, 80, LSA, LSA, LSA }, { 3, 3, 5, 5, 5, 3, 5, 1, 1, 3, 3, 5, 5, 5, 3, 5, 1, 1 }, spell_shockshield, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(412), 75, 12, "lightning bolt", "Your crackling shield sizzles and fades.", "" }, { "sleep", { 31, LSA, 15, LSA, LSA, 21, 15, LSA, LSA, 21, LSA, 5, LSA, 60, 11, 5, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_sleep, TAR_CHAR_OFFENSIVE, POS_STANDING, &gsn_sleep, TRUE, SLOT(38), 15, 12, "", "You feel less tired.", "" }, { "slow", { 45, 40, LSA, LSA, LSA, 66, LSA, LSA, LSA, 35, 30, LSA, LSA, 50, 56, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1}, spell_slow, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(515), 30, 12, "", "You feel yourself speed up.", "" }, { "stone rain", { LSA, LSA, LSA, LSA, LSA, 78, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 68, LSA, LSA, LSA }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, spell_stone_rain, TAR_IGNORE, POS_FIGHTING, NULL, TRUE, SLOT(307), 150, 24, "falling rocks", "!Stone Rain!", "" }, { "stone skin", { 70, 90, LSA, LSA, 100, 49, LSA, LSA, LSA, 60, 80, LSA, LSA, LSA, 39, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1 }, spell_stone_skin, TAR_CHAR_SELF, POS_STANDING, NULL, FALSE, SLOT(66), 12, 18, "", "Your skin feels soft again.", "" }, { "summon", { 48, 23, LSA, LSA, LSA, 33, 51, LSA, LSA, 38, 13, 60, LSA, 85, 23, 41, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_summon, TAR_IGNORE, POS_STANDING, NULL, FALSE, SLOT(40), 50, 12, "", "!Summon!", "" }, { "teleport", { 24, 44, LSA, LSA, LSA, 59, 59, LSA, LSA, 14, 34, LSA, LSA, LSA, 49, 49, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_teleport, TAR_CHAR_SELF, POS_FIGHTING, NULL, TRUE, SLOT( 2), 35, 12, "", "!Teleport!", "" }, { "transport", { 25, 46, LSA, LSA, LSA, 53, 51, LSA, LSA, 15, 36, LSA, LSA, LSA, 43, 41, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_transport, TAR_OBJ_TRAN, POS_STANDING, NULL, FALSE, SLOT(524), 30, 12, "", "!Transport!", "" }, { "true sight", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 24, LSA, LSA, LSA, 21, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1 }, spell_true_sight, TAR_CHAR_DEFENSIVE, POS_STANDING, NULL, FALSE, SLOT(301), 33, 12, "", "Your sight is no longer quite so enhanced.", "" }, { "ventriloquate", { 1, LSA, 2, LSA, 5, LSA, 4, LSA, LSA, 1, LSA, 1, LSA, 1, LSA, 3, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_ventriloquate, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(41), 5, 12, "", "!Ventriloquate!", "" }, { "voodoo", { 45, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 35, LSA, LSA, LSA, LSA, LSA, 45, LSA, LSA }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, spell_voodoo, TAR_IGNORE, POS_STANDING, NULL, TRUE, SLOT(286), 80, 12, "", "!Voodoo!", "" }, { "weaken", { 21, 28, LSA, LSA, 40, 31, 25, LSA, LSA, 11, 18, LSA, LSA, 30, 21, 15, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_weaken, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(68), 20, 12, "spell", "You feel stronger.", "" }, { "word of recall", { 63, 56, LSA, LSA, LSA, 47, 73, LSA, LSA, 53, 46, LSA, LSA, LSA, 37, 63, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_word_of_recall, TAR_CHAR_SELF, POS_RESTING, NULL, TRUE, SLOT(42), 5, 12, "", "!Word of Recall!", "" }, /* * Dragon breath */ { "acid breath", { 62, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 52, LSA, LSA, LSA, LSA, LSA, 82, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_acid_breath, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(200), 100, 12, "blast of acid", "!Acid Breath!", "" }, { "fire breath", { 80, 90, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 70, 80, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_fire_breath, TAR_CHAR_OFFENSIVE, POS_FIGHTING, &gsn_fire_breath, TRUE, SLOT(201), 100, 12, "blast of flame", "The smoke leaves your eyes.", "" }, { "frost breath", { 67, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 57, LSA, LSA, LSA, LSA, LSA, 87, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_frost_breath, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(202), 125, 12, "blast of frost", "!Frost Breath!", "" }, { "gas breath", { 77, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 67, LSA, LSA, LSA, LSA, LSA, 97, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_gas_breath, TAR_IGNORE, POS_FIGHTING, NULL, TRUE, SLOT(203), 125, 12, "blast of gas", "!Gas Breath!", "" }, { "lightning breath", { 74, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 64, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1 }, spell_lightning_breath, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(204), 120, 12, "blast of lightning", "!Lightning Breath!", "" }, /* * Spells for mega1.are from Glop/Erkenbrand. */ { "general purpose", { MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL, MAX_LEVEL }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, spell_general_purpose, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(401), 0, 12, "general purpose ammo", "!General Purpose Ammo!", "" }, { "high explosive", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, spell_high_explosive, TAR_CHAR_OFFENSIVE, POS_FIGHTING, NULL, TRUE, SLOT(402), 0, 12, "high explosive ammo", "!High Explosive Ammo!", "" }, /* combat and weapons skills */ { "axe", { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 0, 0, 0, 3, 4, 0, 0, 3, 0, 0, 0, 0, 2, 3, 0, 0, 2, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_axe, TRUE, SLOT( 0), 0, 0, "", "!Axe!", "" }, { "dagger", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 2, 3, 2, 1, 2, 3, 1, 2, 0, 2, 2, 1, 1, 1, 2, 1, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_dagger, TRUE, SLOT( 0), 0, 0, "", "!Dagger!", "" }, { "flail", { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 0, 3, 0, 3, 4, 3, 0, 2, 0, 0, 2, 0, 2, 3, 2, 0, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_flail, TRUE, SLOT( 0), 0, 0, "", "!Flail!", "" }, { "mace", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 0, 1, 0, 2, 3, 2, 0, 1, 0, 0, 1, 0, 1, 2, 1, 0, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_mace, TRUE, SLOT( 0), 0, 0, "", "!Mace!", "" }, { "polearm", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 0, 0, 0, 3, 3, 2, 0, 3, 0, 0, 0, 0, 2, 2, 1, 0, 2, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_polearm, TRUE, SLOT( 0), 0, 0, "", "!Polearm!", "" }, { "shield block", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 6, 4, 6, 1, 2, 4, 3, 1, 0, 5, 3, 5, 1, 1, 3, 2, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_shield_block, TRUE, SLOT(0), 0, 0, "", "!Shield!", "" }, { "spear", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 0, 0, 0, 2, 1, 0, 0, 2, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_spear, TRUE, SLOT( 0), 0, 0, "", "!Spear!", "" }, { "sword", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 0, 0, 3, 1, 2, 0, 0, 1, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_sword, TRUE, SLOT( 0), 0, 0, "", "!sword!", "" }, { "whip", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 6, 0, 0, 3, 3, 0, 0, 3, 0, 5, 0, 0, 3, 2, 0, 0, 3, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_whip, TRUE, SLOT( 0), 0, 0, "", "!Whip!", "" }, { "backstab", { LSA, LSA, 1, LSA, LSA, LSA, 7, LSA, LSA, LSA, LSA, 1, LSA, LSA, LSA, 6, LSA, LSA }, { 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_backstab, TRUE, SLOT( 0), 0, 18, "backstab", "!Backstab!", "" }, { "bash", { LSA, LSA, LSA, 1, LSA, LSA, LSA, 1, LSA, LSA, LSA, LSA, 1, LSA, LSA, LSA, 1, LSA }, { 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_bash, TRUE, SLOT( 0), 0, 24, "bash", "!Bash!", "" }, { "berserk", { LSA, LSA, LSA, 27, LSA, LSA, LSA, 35, LSA, LSA, LSA, LSA, 17, LSA, LSA, LSA, 25, LSA }, { 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_berserk, TRUE, SLOT( 0), 0, 24, "", "You feel your pulse slow down.", "" }, { "circle", { LSA, LSA, 25, LSA, LSA, LSA, 98, LSA, LSA, LSA, LSA, 15, LSA, LSA, LSA, 85, LSA, LSA }, { 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_circle, TRUE, SLOT( 0), 0, 16, "circle", "!Circle!", "" }, { "dirt kicking", { LSA, LSA, 4, 4, 1, LSA, 3, LSA, 12, LSA, LSA, 1, 1, 1, LSA, 2, LSA, 8 }, { 0, 0, 4, 4, 4, 0, 2, 0, 4, 0, 0, 3, 3, 3, 0, 1, 0, 3 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_dirt, TRUE, SLOT( 0), 0, 24, "kicked dirt", "You rub the dirt out of your eyes.", "" }, { "disarm", { LSA, LSA, 18, 18, 32, LSA, 20, 22, LSA, LSA, LSA, 8, 8, 22, LSA, 10, 12, LSA }, { 0, 0, 6, 3, 5, 0, 3, 3, 0, 0, 0, 5, 2, 4, 0, 2, 2, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_disarm, TRUE, SLOT( 0), 0, 24, "", "!Disarm!", "" }, { "dodge", { LSA, LSA, 1, 19, 10, LSA, 10, 20, 1, LSA, LSA, 1, 9, 1, LSA, 1, 11, 1 }, { 0, 0, 4, 6, 5, 0, 2, 6, 4, 0, 0, 3, 5, 4, 0, 1, 5, 3 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_dodge, TRUE, SLOT( 0), 0, 0, "", "!Dodge!", "" }, { "dual wield", { LSA, LSA, 35, 3, 29, LSA, LSA, LSA, LSA, LSA, LSA, 8, 1, 15, LSA, LSA, 10, LSA }, { 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 2, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_dual_wield, TRUE, SLOT( 0), 0, 0, "", "!Dual Wield!", "" }, { "enhanced damage", { LSA, LSA, 36, 1, 30, LSA, 33, 2, 22, 100, LSA, 26, 1, 20, LSA, 32, 1, 15 }, { 0, 0, 5, 3, 6, 0, 7, 3, 5, 0, 0, 4, 2, 5, 0, 6, 2, 4 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_enhanced_damage, TRUE, SLOT( 0), 0, 0, "", "!Enhanced Damage!", "" }, { "envenom", { LSA, LSA, 15, 90, 19, LSA, LSA, LSA, LSA, LSA, LSA, 5, 80, 9, LSA, LSA, LSA, LSA }, { 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0 }, spell_null, TAR_IGNORE, POS_RESTING, &gsn_envenom, TRUE, SLOT(0), 0, 36, "", "!Envenom!", "" }, { "feed", { LSA, LSA, LSA, LSA, LSA, LSA, 29, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 11, LSA, LSA }, { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_feed, TRUE, SLOT( 0), 0, 24, "feed", "!Feed!", "" }, { "gouge", { LSA, LSA, 52, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 24, LSA, LSA, LSA, LSA, LSA, LSA }, { 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_gouge, TRUE, SLOT( 0), 0, 24, "gouge", "Your vision clears.", "" }, { "grip", { LSA, LSA, 45, 25, LSA, LSA, LSA, 25, LSA, LSA, LSA, 35, 10, LSA, LSA, LSA, 10, LSA }, { 0, 0, 2, 2, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_grip, TRUE, SLOT( 0), 0, 0, "", "!Grip!", "" }, { "hand to hand", { LSA, LSA, 22, 9, 22, LSA, 12, 1, 1, LSA, LSA, 12, 8, 12, LSA, 2, 1, 1 }, { 0, 0, 4, 2, 4, 0, 2, 2, 1, 0, 0, 3, 1, 3, 0, 1, 1, 1 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_hand_to_hand, TRUE, SLOT( 0), 0, 0, "", "!Hand to Hand!", "" }, { "kick", { LSA, 18, 21, 12, 20, 17, 15, 12, 12, LSA, 8, 11, 2, 10, 7, 5, 1, 2 }, { 0, 4, 6, 3, 4, 6, 2, 3, 4, 0, 3, 5, 2, 3, 5, 1, 2, 3 }, spell_null, TAR_CHAR_OFFENSIVE, POS_FIGHTING, &gsn_kick, TRUE, SLOT( 0), 0, 12, "kick", "!Kick!", "" }, { "parry", { LSA, LSA, 19, 1, 15, 27, 17, 1, LSA, LSA, LSA, 9, 1, 5, 17, 7, 1, LSA }, { 0, 0, 4, 4, 5, 5, 2, 4, 0, 0, 0, 3, 3, 4, 4, 1, 3, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_parry, TRUE, SLOT( 0), 0, 0, "", "!Parry!", "" }, { "rescue", { LSA, LSA, LSA, 1, 13, LSA, LSA, 2, LSA, LSA, LSA, LSA, 1, 3, LSA, LSA, 1, LSA }, { 0, 0, 0, 3, 4, 0, 0, 3, 0, 0, 0, 0, 2, 3, 0, 0, 2, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_rescue, TRUE, SLOT( 0), 0, 12, "", "!Rescue!", "" }, { "trip", { LSA, LSA, 2, 22, 25, LSA, 5, 20, 8, LSA, LSA, 1, 12, 15, LSA, 1, 10, 1 }, { 0, 0, 4, 8, 5, 0, 3, 8, 4, 0, 0, 3, 7, 4, 0, 2, 7, 3 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_trip, TRUE, SLOT( 0), 0, 24, "trip", "!Trip!", "" }, { "stun", { LSA, LSA, LSA, 45, LSA, LSA, LSA, 55, LSA, LSA, LSA, LSA, 23, LSA, LSA, LSA, 40, LSA }, { 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_stun, TRUE, SLOT( 0), 0, 0, "", "!Stun!", "" }, { "second attack", { 45, 36, 18, 7, 1, 25, 20, LSA, 1, 35, 26, 8, 6, 1, 15, 10, 80, 1 }, { 7, 8, 5, 3, 4, 8, 2, 0, 2, 6, 7, 4, 2, 3, 7, 1, 2, 2 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_second_attack, TRUE, SLOT( 0), 0, 0, "", "!Second Attack!", "" }, { "third attack", { LSA, LSA, 83, 18, 29, LSA, 30, LSA, 15, LSA, 90, 53, 8, 19, LSA, 20, 100, 5 }, { 0, 0, 9, 4, 7, 0, 0, 0, 3, 0, 8, 8, 3, 6, 0, 2, 0, 2 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_third_attack, TRUE, SLOT( 0), 0, 0, "", "!Third Attack!", "" }, { "fourth attack", { LSA, LSA, LSA, 65, 80, LSA, LSA, LSA, 45, LSA, LSA, 90, 55, 70, LSA, LSA, LSA, 35 }, { 0, 0, 10, 4, 5, 0, 0, 0, 4, 0, 0, 9, 3, 4, 0, 0, 0, 3 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_fourth_attack, TRUE, SLOT(0), 0, 0, "", "!Fourth Attack!", "" }, { "fifth attack", { LSA, LSA, LSA, 80, 95, LSA, LSA, LSA, 65, LSA, LSA, LSA, 70, 85, LSA, LSA, LSA, 55 }, { 0, 0, 0, 4, 5, 0, 0, 0, 4, 0, 0, 0, 3, 4, 0, 0, 0, 3 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_fifth_attack, TRUE, SLOT(0), 0, 0, "", "!Fifth Attack!", "" }, { "sixth attack", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 80, LSA, LSA, LSA, 95, 100, LSA, LSA, LSA, 70 }, { 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 3 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_sixth_attack, TRUE, SLOT(0), 0, 0, "", "!Sixth Attack!", "" }, { "seventh attack", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 95, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 85 }, { 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 4 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_seventh_attack, TRUE, SLOT(0), 0, 0, "", "!Seventh Attack!", "" }, { "eighth attack", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 91 }, { 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 4 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_eighth_attack, TRUE, SLOT(0), 0, 0, "", "!Eighth Attack!", "" }, { "mega damage", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, 35, LSA, LSA, LSA, LSA, 60, 100, LSA, LSA, 25, LSA }, { 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_mega_damage, TRUE, SLOT(0), 0, 0, "", "!Mega Damage!", "" }, { "ultra damage", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, 65, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 55, LSA }, { 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_ultra_damage, TRUE, SLOT(0), 0, 0, "", "!Ultra Damage!", "" }, { "critical strike", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 30, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 20 }, { 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 6 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_critical_strike, TRUE, SLOT(0), 0, 0, "", "!Critical Strike!", "" }, /* non-combat skills */ { "fast healing", { LSA, LSA, LSA, 9, 55, 34, 2, 9, LSA, LSA, LSA, LSA, 1, 45, 24, 1, 1, LSA }, { 0, 0, 0, 4, 8, 0, 1, 4, 0, 0, 0, 0, 3, 7, 0, 1, 3, 0 }, spell_null, TAR_IGNORE, POS_SLEEPING, &gsn_fast_healing, TRUE, SLOT( 0), 0, 0, "", "!Fast Healing!", "" }, { "haggle", { LSA, LSA, 1, LSA, LSA, LSA, 12, LSA, LSA, LSA, LSA, 1, LSA, LSA, LSA, 2, LSA, LSA }, { 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0 }, spell_null, TAR_IGNORE, POS_RESTING, &gsn_haggle, TRUE, SLOT( 0), 0, 0, "", "!Haggle!", "" }, { "hide", { LSA, LSA, 1, LSA, 5, LSA, 1, LSA, 1, LSA, LSA, 1, LSA, 1, LSA, 1, LSA, 1 }, { 0, 0, 3, 0, 5, 0, 3, 0, 3, 0, 0, 2, 0, 4, 0, 2, 0, 2 }, spell_null, TAR_IGNORE, POS_RESTING, &gsn_hide, TRUE, SLOT( 0), 0, 12, "", "!Hide!", "" }, { "lore", { 15, 15, 9, LSA, 5, 14, LSA, LSA, 15, 5, 5, 1, LSA, 4, 4, LSA, LSA, 10 }, { 6, 6, 4, 0, 4, 5, 0, 0, 4, 5, 5, 3, 0, 3, 4, 0, 0, 3 }, spell_null, TAR_IGNORE, POS_RESTING, &gsn_lore, TRUE, SLOT( 0), 0, 36, "", "!Lore!", "" }, { "pinch", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 65 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_pinch, TRUE, SLOT( 0 ), 0, 10, "", "Your blood once again flows freely.", "" }, { "meditation", { 9, 9, LSA, LSA, 15, 13, LSA, LSA, LSA, 3, 1, LSA, LSA, 5, 3, 70, 15, LSA }, { 5, 5, 0, 0, 6, 6, 0, 0, 0, 4, 4, 0, 0, 5, 5, 6, 5, 0 }, spell_null, TAR_IGNORE, POS_SLEEPING, &gsn_meditation, TRUE, SLOT( 0), 0, 0, "", "Meditation", "" }, { "peek", { LSA, LSA, 1, LSA, LSA, LSA, 4, LSA, LSA, LSA, LSA, 1, LSA, LSA, LSA, 1, LSA, LSA }, { 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_peek, TRUE, SLOT( 0), 0, 0, "", "!Peek!", "" }, { "pick lock", { LSA, LSA, 10, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 6, LSA, LSA, LSA, LSA, LSA, LSA }, { 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_pick_lock, TRUE, SLOT( 0), 0, 12, "", "!Pick!", "" }, { "sneak", { LSA, LSA, 2, LSA, 6, LSA, 3, LSA, 2, LSA, LSA, 1, LSA, 5, LSA, 2, LSA, 1 }, { 0, 0, 2, 0, 3, 0, 2, 0, 2, 0, 0, 1, 0, 2, 0, 1, 0, 1 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_sneak, TRUE, SLOT( 0), 0, 12, "", "You no longer feel stealthy.", "" }, { "steal", { LSA, LSA, 7, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 5, LSA, LSA, LSA, LSA, LSA, LSA }, { 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_steal, TRUE, SLOT( 0), 0, 12, "", "!Steal!", "" }, { "scrolls", { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_scrolls, TRUE, SLOT( 0), 0, 24, "", "!Scrolls!", "" }, { "staves", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 2, 3, 0, 0, 7, 3, 0, 0, 4, 1, 2, 0, 0, 6, 2, 0, 0, 3 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_staves, TRUE, SLOT( 0), 0, 12, "", "!Staves!", "" }, { "track", { LSA, LSA, LSA, LSA, 20, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 10, LSA, LSA, LSA, LSA }, { 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_track, TRUE, SLOT( 0), 0, 12, "", "!Track!", "" }, { "wands", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 2, 3, 0, 0, 7, 3, 0, 0, 4, 1, 2, 0, 0, 6, 2, 0, 0, 3 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_wands, TRUE, SLOT( 0), 0, 12, "", "!Wands!", "" }, { "multicast", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 60, 80, LSA, LSA, LSA, 90, LSA, LSA, LSA }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 0, 3, 0, 0, 0 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_multi_cast, TRUE, SLOT( 0), 0, 12, "", "!Multi!", "" }, { "dual circle", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 90, LSA, LSA, LSA, LSA, LSA, LSA }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_dual_circle, TRUE, SLOT( 0), 0, 8, "", "!Dual Circle!", "" }, { "snare", { LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, LSA, 90, LSA, LSA, LSA, LSA, LSA, LSA }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0 }, spell_null, TAR_IGNORE, POS_FIGHTING, &gsn_snare, TRUE, SLOT( 0), 0, 12, "", "You feel free to move once again.", "" }, { "recall", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, spell_null, TAR_IGNORE, POS_STANDING, &gsn_recall, TRUE, SLOT( 0), 0, 4, "", "!Recall!", "" } }; const struct group_type group_table [MAX_GROUP] = { { "rom basics", { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { "recall" } }, { "mage basics", { 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "dagger" } }, { "cleric basics", { -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "mace" } }, { "thief basics", { -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "dagger", "steal", "pass door" } }, { "warrior basics", { -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "sword", "second attack", "dual wield" } }, { "ranger basics", { -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "spear", "second attack", "track", "healing", "weather" } }, { "druid basics", { -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "polearm", "invisibility" } }, { "vampire basics", { -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "dagger", "hide", "sneak" } }, { "knight basics", { -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "sword", "dual wield", "mace" } }, { "monk basics", { -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1 }, { "hand to hand", "second attack" } }, { "wizard basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1 }, { "dagger" } }, { "priest basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1 }, { "mace" } }, { "mercenary basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1 }, { "dagger", "steal", "grip", "pass door" } }, { "gladiator basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1 }, { "sword", "second attack", "dual wield" } }, { "strider basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1 }, { "dagger", "second attack", "track" } }, { "sage basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1 }, { "polearm", "invisibility" } }, { "lich basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1 }, { "dagger", "hide", "sneak", "feed" } }, { "paladin basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1 }, { "sword", "dual wield", "mace" } }, { "shaolin basics", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0 }, { "hand to hand", "second attack" } }, { "mage default", { 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "lore", "beguiling", "combat", "detection", "enhancement", "illusion", "necromancy", "protective", "shielding", "transportation", "weather" } }, { "cleric default", { -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "flail", "attack", "benedictions", "creation", "curative", "detection", "healing", "maladictions", "protective", "shield block", "transportation", "weather" } }, { "thief default", { -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "backstab", "circle", "disarm", "dodge", "hide", "mace", "peek", "pick lock", "sneak", "sword", "trip", "second attack", "charm person" } }, { "warrior default", { -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "weaponsmaster", "bash", "disarm", "enhanced damage", "grip", "parry", "rescue", "shield block", "third attack", "fourth attack" } }, { "ranger default", { -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "weaponsmaster", "dirt kick", "enhanced damage", "envenom", "hand to hand", "kick", "parry", "shield block", "third attack", "curative", "transportation", "earthquake" } }, { "druid default", { -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "lore", "shield block", "second attack", "attack", "benedictions", "combat", "creation", "curative", "healing", "protective", "weather", "harm" } }, { "vampire default", { -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "backstab", "disarm", "dodge", "fast healing", "feed", "hand to hand", "shield block", "beguiling", "detection", "enhancement", "illusion", "maladictions", "transportation" } }, { "knight default", { -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "weaponsmaster", "enhanced damage", "fast healing", "parry", "shield block", "bash", "rescue", "grip", "disarm", "mega damage" } }, { "monk default", { -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { "third attack", "fourth attack", "fifth attack", "sixth attack", "dodge" } }, { "wizard default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1 }, { "lore", "beguiling", "combat", "detection", "enhancement", "illusion", "necromancy", "protective", "shielding", "transportation", "weather", "cure blindness" } }, { "priest default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1 }, { "flail", "shield block", "attack", "benedictions", "creation", "curative", "detection", "healing", "maladictions", "protective", "transportation", "weather" } }, { "mercenary default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1 }, { "backstab", "circle", "disarm", "dodge", "dual wield", "hide", "mace", "peek", "pick lock", "sneak", "sword", "trip", "second attack", "charm person" } }, { "gladiator default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1 }, { "weaponsmaster", "bash", "disarm", "enhanced damage", "parry", "rescue", "shield block", "third attack", "fourth attack" } }, { "strider default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1 }, { "weaponsmaster", "dual wield", "enhanced damage", "envenom", "hand to hand", "kick", "parry", "third attack", "beguiling", "curative", "healing", "protective", "transportation" } }, { "sage default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1 }, { "lore", "shield block", "second attack", "attack", "benedictions", "combat", "creation", "curative", "healing", "protective", "weather" } }, { "lich default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1 }, { "backstab", "detection", "disarm", "dodge", "fast healing", "hand to hand", "shield block", "beguiling", "enhancement", "illusion", "maladictions", "transportation" } }, { "paladin default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1 }, { "weaponsmaster", "enhanced damage", "fast healing", "parry", "shield block", "bash", "rescue", "grip", "disarm", "mega damage" } }, { "shaolin default", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40 }, { "third attack", "fourth attack", "fifth attack", "sixth attack", "dodge" } }, { "weaponsmaster", { -1, -1, 40, 20, 30, -1, 30, 20, -1, -1, -1, 40, 20, 30, -1, 30, 20, -1 }, { "axe", "dagger", "flail", "mace", "polearm", "spear", "sword", "whip" } }, { "advanced detection", { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, 4, -1, -1 }, { "detect poison", "identify", "know alignment", "locate object", "true sight" } }, { "beguiling", { 3, -1, 5, -1, -1, 5, 6, -1, -1, 2, -1, 4, -1, 3, 4, 5, -1, -1 }, { "animate", "calm", "charm person", "resurrect", "sleep" } }, { "benedictions", { -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, 6, 3, -1, 4, -1 }, { "bless", "calm", "frenzy", "remove curse" } }, { "combat", { 5, -1, -1, -1, 3, 5, 5, -1, -1, 4, -1, -1, -1, -1, 4, 4, -1, -1 }, { "acid blast", "burning hands", "chain lightning", "chill touch", "colour spray", "fireball", "lightning bolt", "magic missile", "shocking grasp" } }, { "creation", { 4, 4, -1, -1, 7, 4, -1, -1, -1, 3, 3, -1, -1, 6, 3, -1, -1, -1 }, { "continual light", "create food", "create spring", "create water", "create rose", "empower", "floating disc" } }, { "curative", { -1, 4, -1, -1, -1, 5, -1, -1, -1, -1, 3, -1, -1, -1, 4, -1, 4, -1 }, { "cure blindness", "cure disease", "cure poison" } }, { "detection", { 4, 3, 5, -1, 5, 4, 5, -1, -1, 3, 2, -1, -1, 6, 3, -1, -1, -1 }, { "detect evil", "detect good", "detect hidden", "detect invis", "detect magic", "detect poison", "farsight", "identify", "know alignment", "locate object" } }, { "draconian", { 8, -1, -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, -1, -1, 11, -1, -1 }, { "acid breath", "fire breath", "frost breath", "gas breath", "lightning breath" } }, { "elemental", { -1, -1, -1, -1, 5, 6, -1, -1, -1, -1, -1, -1, -1, 4, 4, -1, -1, -1 }, { "blast of water", "cone of cold", "earthquake", "flamestrike", "frost dart", "stone rain" } }, { "enchantment", { 4, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, 3, -1, -1, -1 }, { "enchant armor", "enchant weapon", "fireproof", "recharge" } }, { "enhancement", { 5, -1, -1, -1, -1, 4, 6, -1, -1, 4, -1, -1, -1, 3, 3, 5, -1, -1 }, { "giant strength", "haste", "infravision", "refresh" } }, { "harmful", { -1, 4, -1, -1, -1, 5, -1, -1, -1, -1, 3, -1, -1, -1, 4, -1, -1, -1 }, { "cause critical", "cause light", "cause serious", "harm", "heat metal" } }, { "healing", { -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1 }, { "complete healing", "cure critical", "cure light", "cure serious", "godheal", "heal", "mass healing" } }, { "holy powers", { -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, -1 }, { "demonfire", "dispel evil", "dispel good", "divine fury", "holy word", "ray of truth" } }, { "illusion", { 4, -1, 7, -1, 7, -1, 4, -1, -1, 3, -1, 6, -1, 6, -1, 3, -1, -1 }, { "invis", "mass invis", "ventriloquate" } }, { "maladictions", { -1, 5, -1, -1, -1, 8, 5, -1, -1, -1, 4, -1, -1, 5, 7, 4, -1, -1 }, { "blindness", "curse", "energy drain", "plague", "poison", "slow", "weaken" } }, { "minor healing", { -1, -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, 6, 5, -1, 4, -1 }, { "cure critical", "cure light", "cure serious", "heal" } }, { "necromancy", { 6, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1 }, { "blind", "conjure", "curse", "energy drain", "poison", "plague", "sanction", "slow", "voodoo", "weaken" } }, { "protective", { 4, 4, -1, -1, -1, 5, -1, -1, -1, 3, 3, -1, -1, -1, 4, -1, 4, -1 }, { "armor", "cancellation", "dispel magic", "fireproof", "protection evil", "protection good", "sanctuary", "shield", "stone skin" } }, { "shielding", { 8, 8, -1, -1, -1, 8, -1, -1, -1, 6, 7, -1, -1, -1, 7, -1, -1, -1 }, { "iceshield", "fireshield", "shockshield" } }, { "transportation", { 4, 4, -1, -1, -1, 6, 5, -1, -1, 3, 3, 6, -1, 5, 5, 4, -1, -1 }, { "fly", "gate", "nexus", "pass door", "portal", "summon", "teleport", "transport", "word of recall" } }, { "weather", { -1, -1, -1, -1, 5, 5, -1, -1, -1, 3, -1, -1, -1, 4, 4, -1, -1, -1 }, { "call lightning", "control weather", "faerie fire", "faerie fog", "lightning bolt" } } };