/************************************************************************ Realms of Aurealis James Rhone aka Vall of RoA classes.c Code dealing with filling and assignment of classes... perhaps OLCable classes someday... ******** 100% Completely Original Code ******** *** BE AWARE OF ALL RIGHTS AND RESERVATIONS *** ******** 100% Completely Original Code ******** All rights reserved henceforth. Please note that no guarantees are associated with any code from Realms of Aurealis. All code which has been released to the general public has been done so with an 'as is' pretense. RoA is based on both Diku and CircleMUD and ALL licenses from both *MUST* be adhered to as well as the RoA license. *** Read, Learn, Understand, Improve *** *************************************************************************/ #include "conf.h" #include "sysdep.h" #include "structures.h" #include "utils.h" #include "comm.h" #include "db.h" #include "interpreter.h" #include "acmd.h" #include "magic.h" #include "handler.h" #include "nature.h" #include "affect.h" #include "lists.h" #include "darkenelf.h" #include "global.h" // fill this slot of clarray with this info 7/8/98 -jtrhone void fill_class(int cnum, char *cname, char *ab, char *mleg, char *fleg, char *title, int perc, int str, int intel, int wis, int dex, int con) { strcpy(clarray[cnum].class_name, cname); strcpy(clarray[cnum].class_abbrev, ab); strcpy(clarray[cnum].male_legend, mleg); strcpy(clarray[cnum].female_legend, fleg); strcpy(clarray[cnum].default_title, title); clarray[cnum].max_perc = perc; clarray[cnum].str = str; clarray[cnum].intel = intel; clarray[cnum].wis = wis; clarray[cnum].dex = dex; clarray[cnum].con = con; } // add a spell to a particular class... 7/8/98 -jtrhone void skill_to_class(int cnum, int skl, BOOL innate, BOOL learnable, int minlevel) { clarray[cnum].skills[skl].innate = innate; clarray[cnum].skills[skl].learnable = learnable; clarray[cnum].skills[skl].minlevel = minlevel; } // fill classes with meaningful default data 7/9/98 -jtrhone void init_classes(void) { int c, i; for (c = 0; c <= NUM_CLASSES; c++) { fill_class(c, "default", "---", "------", "------", "the newbie somethin or other.", 0, 0, 1, 2, 3, 4); for (i = 0; i < MAX_SKILLS; i++) skill_to_class(c, i, FALSE, FALSE, LEV_IMM); } } // using clinfo array, fill in class information here... void assign_classes(void) { init_classes(); // // // // // // Mages... // // // // // fill_class(CLASS_MAGE, "mage", "Mag", "Wizard", "Wizard", "the newbie mage.", 95, 3, 0, 1, 2, 4); skill_to_class(CLASS_MAGE, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_MAGE, SPELL_MAGIC_MISSILE, TRUE, FALSE, 1); skill_to_class(CLASS_MAGE, SPELL_DETECT_MAGIC, TRUE, FALSE, 2); skill_to_class(CLASS_MAGE, SPELL_DETECT_INVISIBLE, TRUE, FALSE, 2); skill_to_class(CLASS_MAGE, SPELL_CHILL_TOUCH, TRUE, FALSE, 3); skill_to_class(CLASS_MAGE, SPELL_INVISIBLE, TRUE, FALSE , 4); skill_to_class(CLASS_MAGE, SPELL_ARMOR, TRUE, FALSE , 5); skill_to_class(CLASS_MAGE, SPELL_BURNING_HANDS, TRUE, FALSE , 5); skill_to_class(CLASS_MAGE, SPELL_IDENTIFY, TRUE, FALSE , 5); skill_to_class(CLASS_MAGE, SPELL_LOCATE_OBJECT, TRUE, FALSE, 6); skill_to_class(CLASS_MAGE, SPELL_STRENGTH, TRUE, FALSE , 7); skill_to_class(CLASS_MAGE, SPELL_SHOCKING_GRASP, TRUE, FALSE, 7); skill_to_class(CLASS_MAGE, SPELL_TELEPORT, TRUE, FALSE, 8); skill_to_class(CLASS_MAGE, SPELL_BLINDNESS, TRUE, FALSE, 8); skill_to_class(CLASS_MAGE, SPELL_LIGHTNING_BOLT, TRUE, FALSE, 9); skill_to_class(CLASS_MAGE, SPELL_CONTROL_WEATHER, TRUE, FALSE, 10); skill_to_class(CLASS_MAGE, SPELL_COLOUR_SPRAY, TRUE, FALSE, 11); skill_to_class(CLASS_MAGE, SPELL_CURSE, TRUE, FALSE, 12); skill_to_class(CLASS_MAGE, SPELL_ENCHANT_WEAPON, TRUE, FALSE, 12); skill_to_class(CLASS_MAGE, SPELL_ENERGY_DRAIN, TRUE, FALSE, 13); skill_to_class(CLASS_MAGE, SPELL_SLEEP, TRUE, FALSE, 14); skill_to_class(CLASS_MAGE, SPELL_CHARM_PERSON, TRUE, FALSE, 14); skill_to_class(CLASS_MAGE, SPELL_FIREFLASH, TRUE, FALSE, 15); skill_to_class(CLASS_MAGE, SPELL_ANIMATE_DEAD, TRUE, FALSE, 15); skill_to_class(CLASS_MAGE, SPELL_IMPLOSION, TRUE, FALSE, 18); skill_to_class(CLASS_MAGE, SPELL_WINGS, TRUE, FALSE, 20); skill_to_class(CLASS_MAGE, SPELL_GILLS, TRUE, FALSE, 20); skill_to_class(CLASS_MAGE, SPELL_VOID, TRUE, FALSE, 22); skill_to_class(CLASS_MAGE, SPELL_KNOCK, TRUE, FALSE, 23); skill_to_class(CLASS_MAGE, SPELL_STONE_SKIN, TRUE, FALSE, 25); skill_to_class(CLASS_MAGE, SPELL_ARMOR_GOLEM, TRUE, FALSE, 28); skill_to_class(CLASS_MAGE, SPELL_CHAIN_LIGHTNING, TRUE, FALSE, 29); skill_to_class(CLASS_MAGE, SPELL_HASTE, TRUE, FALSE, 30); skill_to_class(CLASS_MAGE, SPELL_RECHARGE, TRUE, FALSE, 33); skill_to_class(CLASS_MAGE, SPELL_FIREBALL, TRUE, FALSE, 34); skill_to_class(CLASS_MAGE, SPELL_ICE_SHAFT, TRUE, FALSE, 35); skill_to_class(CLASS_MAGE, SPELL_PROJECT, TRUE, FALSE, 37); skill_to_class(CLASS_MAGE, SPELL_FIREWALL, TRUE, FALSE, 40); skill_to_class(CLASS_MAGE, SPELL_CIRCLE_OF_WARDING, TRUE, FALSE, 42); skill_to_class(CLASS_MAGE, SPELL_MIRRORIMAGE, TRUE, FALSE, 45); skill_to_class(CLASS_MAGE, SPELL_GATEWAY, TRUE, FALSE, 50); skill_to_class(CLASS_MAGE, SPELL_GASCLOUD, TRUE, FALSE, 52); skill_to_class(CLASS_MAGE, SPELL_ICEWALL, TRUE, FALSE, 55); skill_to_class(CLASS_MAGE, SPELL_WALLOFFOG, TRUE, FALSE, 57); skill_to_class(CLASS_MAGE, SPELL_TYPHOON, TRUE, FALSE, 60); skill_to_class(CLASS_MAGE, SPELL_ABSOLUTE_WARD, TRUE, FALSE, 60); skill_to_class(CLASS_MAGE, SPELL_AREA_OF_RETURN, TRUE, FALSE, 63); skill_to_class(CLASS_MAGE, SPELL_RETURN, TRUE, FALSE, 63); skill_to_class(CLASS_MAGE, SPELL_BLINDWALL, TRUE, FALSE, 65); skill_to_class(CLASS_MAGE, SPELL_CONFUSION, TRUE, FALSE, 68); skill_to_class(CLASS_MAGE, SPELL_SWARM, TRUE, FALSE, 70); // // // // // // Clerics... // // // // // fill_class(CLASS_CLERIC, "cleric", "Cle", "Bishop", "Bishop", "the newbie cleric.", 95, 2, 1, 0, 3, 4); skill_to_class(CLASS_CLERIC, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_CLERIC, SPELL_ARMOR, TRUE, FALSE, 1); skill_to_class(CLASS_CLERIC, SPELL_CURE_LIGHT, TRUE, FALSE, 1); skill_to_class(CLASS_CLERIC, SPELL_DETECT_POISON, TRUE, FALSE, 2); skill_to_class(CLASS_CLERIC, SPELL_CREATE_WATER, TRUE, FALSE, 2); skill_to_class(CLASS_CLERIC, SPELL_DETECT_MAGIC, TRUE, FALSE, 3); skill_to_class(CLASS_CLERIC, SPELL_CREATE_FOOD, TRUE, FALSE, 3); skill_to_class(CLASS_CLERIC, SPELL_DETECT_EVIL, TRUE, FALSE, 4); skill_to_class(CLASS_CLERIC, SPELL_CURE_BLIND, TRUE, FALSE, 4); skill_to_class(CLASS_CLERIC, SPELL_BLESS, TRUE, FALSE, 5); skill_to_class(CLASS_CLERIC, SPELL_DETECT_INVISIBLE, TRUE, FALSE, 5); skill_to_class(CLASS_CLERIC, SPELL_BLINDNESS, TRUE, FALSE, 6); skill_to_class(CLASS_CLERIC, SPELL_PROTECT_FROM_EVIL, TRUE, FALSE, 6); skill_to_class(CLASS_CLERIC, SPELL_PROTECT_FROM_GOOD, TRUE, FALSE, 6); skill_to_class(CLASS_CLERIC, SPELL_SENSE_LIFE, TRUE, FALSE, 7); skill_to_class(CLASS_CLERIC, SPELL_EARTHQUAKE, TRUE, FALSE, 7); skill_to_class(CLASS_CLERIC, SPELL_POISON, TRUE, FALSE, 8); skill_to_class(CLASS_CLERIC, SPELL_SUMMON, TRUE, FALSE, 8); skill_to_class(CLASS_CLERIC, SPELL_REMOVE_POISON, TRUE, FALSE, 9); skill_to_class(CLASS_CLERIC, SPELL_CURE_CRITIC, TRUE, FALSE, 9); skill_to_class(CLASS_CLERIC, SPELL_DISPEL_EVIL, TRUE, FALSE, 10); skill_to_class(CLASS_CLERIC, SPELL_LOCATE_OBJECT, TRUE, FALSE, 10); skill_to_class(CLASS_CLERIC, SPELL_PROTECT_UNDEAD, TRUE, FALSE, 10); skill_to_class(CLASS_CLERIC, SPELL_WORD_OF_RECALL, TRUE, FALSE, 11); skill_to_class(CLASS_CLERIC, SPELL_REMOVE_CURSE, TRUE, FALSE, 12); skill_to_class(CLASS_CLERIC, SPELL_CALL_LIGHTNING, TRUE, FALSE, 12); skill_to_class(CLASS_CLERIC, SPELL_CONTROL_WEATHER, TRUE, FALSE, 13); skill_to_class(CLASS_CLERIC, SPELL_SANCTUARY, TRUE, FALSE, 13); skill_to_class(CLASS_CLERIC, SPELL_HEAL, TRUE, FALSE, 14); skill_to_class(CLASS_CLERIC, SPELL_ANIMATE_DEAD, TRUE, FALSE, 15); skill_to_class(CLASS_CLERIC, SPELL_HARM, TRUE, FALSE, 15); skill_to_class(CLASS_CLERIC, SPELL_ILLUMINATE, TRUE, FALSE, 16); skill_to_class(CLASS_CLERIC, SPELL_FORCEFUL_WIND, TRUE, FALSE, 18); skill_to_class(CLASS_CLERIC, SPELL_WINGS, TRUE, FALSE, 20); skill_to_class(CLASS_CLERIC, SPELL_GILLS, TRUE, FALSE, 20); skill_to_class(CLASS_CLERIC, SPELL_STONE_SKIN, TRUE, FALSE, 21); skill_to_class(CLASS_CLERIC, SPELL_CALM, TRUE, FALSE, 31); skill_to_class(CLASS_CLERIC, SPELL_P_HEAL, TRUE, FALSE, 40); skill_to_class(CLASS_CLERIC, SPELL_HOLD_PERSON, TRUE, FALSE, 41); skill_to_class(CLASS_CLERIC, SPELL_VIEW_HIDDEN, TRUE, FALSE, 42); skill_to_class(CLASS_CLERIC, SPELL_SHOWEROFLIFE, TRUE, FALSE, 50); skill_to_class(CLASS_CLERIC, SPELL_LOCATE_BEING, TRUE, FALSE, 55); skill_to_class(CLASS_CLERIC, SPELL_SILENCE, TRUE, FALSE, 65); skill_to_class(CLASS_CLERIC, SPELL_RETRIEVE_CORPSE, TRUE, FALSE, 70); // // // // // // Thieves... // // // // // fill_class(CLASS_THIEF, "thief", "Thf", "Master", "Master", "the newbie thief.", 90, 2, 3, 4, 0, 1); skill_to_class(CLASS_THIEF, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_THIEF, SKILL_BACKSTAB, TRUE, FALSE, 1); skill_to_class(CLASS_THIEF, SKILL_HIDE, TRUE, FALSE, 2); skill_to_class(CLASS_THIEF, SKILL_PICK_LOCK, TRUE, FALSE, 3); skill_to_class(CLASS_THIEF, SKILL_STEAL, TRUE, FALSE, 4); skill_to_class(CLASS_THIEF, SKILL_DETECTTRAP, TRUE, FALSE, 5); skill_to_class(CLASS_THIEF, SKILL_REMOVETRAP, TRUE, FALSE, 6); skill_to_class(CLASS_THIEF, SKILL_EAVESDROP, TRUE, FALSE, 7); skill_to_class(CLASS_THIEF, SKILL_BREW, TRUE, FALSE, 8); skill_to_class(CLASS_THIEF, SKILL_TPOISON, TRUE, FALSE, 9); skill_to_class(CLASS_THIEF, SKILL_SNEAK, TRUE, FALSE, 10); skill_to_class(CLASS_THIEF, SKILL_SEALEXIT, TRUE, FALSE, 11); skill_to_class(CLASS_THIEF, SKILL_DOUBLE, TRUE, FALSE, 12); skill_to_class(CLASS_THIEF, SKILL_PARRY, TRUE, FALSE, 14); skill_to_class(CLASS_THIEF, SKILL_BLINDSTRIKE, TRUE, FALSE, 16); skill_to_class(CLASS_THIEF, SKILL_DARTTRAP, TRUE, FALSE, 18); skill_to_class(CLASS_THIEF, SKILL_JAMLOCK, TRUE, FALSE, 20); skill_to_class(CLASS_THIEF, SKILL_POISONBLADE, TRUE, FALSE, 22); skill_to_class(CLASS_THIEF, SKILL_STUNTOUCH, TRUE, FALSE, 24); skill_to_class(CLASS_THIEF, SKILL_REDIRECT, TRUE, FALSE, 26); skill_to_class(CLASS_THIEF, SKILL_POISONTRAP, TRUE, FALSE, 28); skill_to_class(CLASS_THIEF, SKILL_SETSNARE, TRUE, FALSE, 30); skill_to_class(CLASS_THIEF, SKILL_DETECTSNARE, TRUE, FALSE, 32); skill_to_class(CLASS_THIEF, SKILL_REMOVESNARE, TRUE, FALSE, 34); skill_to_class(CLASS_THIEF, SKILL_LOWSTRIKE, TRUE, FALSE, 36); skill_to_class(CLASS_THIEF, SKILL_DODGE, TRUE, FALSE, 38); skill_to_class(CLASS_THIEF, SKILL_DISARM, TRUE, FALSE, 40); skill_to_class(CLASS_THIEF, SKILL_FIRETRAP, TRUE, FALSE, 42); skill_to_class(CLASS_THIEF, SKILL_DUAL, TRUE, FALSE, 44); skill_to_class(CLASS_THIEF, SKILL_BLADEDANCE, TRUE, FALSE, 46); skill_to_class(CLASS_THIEF, SKILL_TUMBLE, TRUE, FALSE, 48); skill_to_class(CLASS_THIEF, SKILL_SHADOWWALK, TRUE, FALSE, 50); skill_to_class(CLASS_THIEF, SKILL_SIDESTEP, TRUE, FALSE, 52); skill_to_class(CLASS_THIEF, SKILL_LIGHTNINGTRAP, TRUE, FALSE, 54); skill_to_class(CLASS_THIEF, SKILL_CRIPPLE, TRUE, FALSE, 56); skill_to_class(CLASS_THIEF, SKILL_CIRCLE, TRUE, FALSE, 58); skill_to_class(CLASS_THIEF, SKILL_DISEMBOWEL, TRUE, FALSE, 60); skill_to_class(CLASS_THIEF, SKILL_SUBDUE, TRUE, FALSE, 62); skill_to_class(CLASS_THIEF, SKILL_DETECTSECRET, TRUE, FALSE, 64); skill_to_class(CLASS_THIEF, SKILL_OBSCURE, TRUE, FALSE, 66); skill_to_class(CLASS_THIEF, SKILL_HAMSTRING, TRUE, FALSE, 68); skill_to_class(CLASS_THIEF, SKILL_ASSASSINATE, TRUE, FALSE, 70); // // // // // // Warriors... // // // // // fill_class(CLASS_WARRIOR, "warrior", "War", "Lord", "Lady", "the newbie warrior.", 85, 0, 4, 3, 1, 2); skill_to_class(CLASS_WARRIOR, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_WARRIOR, SKILL_KICK, TRUE, FALSE, 1); skill_to_class(CLASS_WARRIOR, SKILL_BASH, TRUE, FALSE, 1); skill_to_class(CLASS_WARRIOR, SKILL_RESCUE, TRUE, FALSE, 4); skill_to_class(CLASS_WARRIOR, SKILL_WAR_ENDURANCE, TRUE, FALSE, 8); skill_to_class(CLASS_WARRIOR, SKILL_DOUBLE, TRUE, FALSE, 10); skill_to_class(CLASS_WARRIOR, SKILL_PARRY, TRUE, FALSE, 15); skill_to_class(CLASS_WARRIOR, SKILL_DOORBASH, TRUE, FALSE, 18); skill_to_class(CLASS_WARRIOR, SKILL_FORTIFY, TRUE, FALSE, 20); skill_to_class(CLASS_WARRIOR, SKILL_SHIELDBLOCK, TRUE, FALSE, 25); skill_to_class(CLASS_WARRIOR, SKILL_DISARM, TRUE, FALSE, 30); skill_to_class(CLASS_WARRIOR, SKILL_DODGE, TRUE, FALSE, 35); skill_to_class(CLASS_WARRIOR, SKILL_STUNTOUCH, TRUE, FALSE, 35); skill_to_class(CLASS_WARRIOR, SKILL_TRIPLE, TRUE, FALSE, 40); skill_to_class(CLASS_WARRIOR, SKILL_HURL, TRUE, FALSE, 45); skill_to_class(CLASS_WARRIOR, SKILL_CRIPPLE, TRUE, FALSE, 50); skill_to_class(CLASS_WARRIOR, SKILL_GRAPPLE, TRUE, FALSE, 55); skill_to_class(CLASS_WARRIOR, SKILL_FENGAGE, TRUE, FALSE, 60); // // // // // // Shaman... // // // // // fill_class(CLASS_SHAMAN, "shaman", "Sha", "Wytch", "Wytch", "the newbie shaman.", 90, 2, 1, 0, 3, 4); skill_to_class(CLASS_SHAMAN, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_SHAMAN, SKILL_HIDE, TRUE, FALSE, 1); skill_to_class(CLASS_SHAMAN, SKILL_SNAKE_FIRE, TRUE, FALSE, 1); skill_to_class(CLASS_SHAMAN, SKILL_PURGE, TRUE, FALSE, 1); skill_to_class(CLASS_SHAMAN, SKILL_SP_STRENGTH, TRUE, FALSE, 4); skill_to_class(CLASS_SHAMAN, SKILL_PROTECTION, TRUE, FALSE, 5); skill_to_class(CLASS_SHAMAN, SKILL_TRUESIGHT, TRUE, FALSE, 7); skill_to_class(CLASS_SHAMAN, SKILL_ELUSION, TRUE, FALSE, 10); skill_to_class(CLASS_SHAMAN, SKILL_EAGLE_EYES, TRUE, FALSE, 10); skill_to_class(CLASS_SHAMAN, SKILL_FORAGE, TRUE, FALSE, 12); skill_to_class(CLASS_SHAMAN, SKILL_FORTITUDE, TRUE, FALSE, 15); skill_to_class(CLASS_SHAMAN, SKILL_STONE, TRUE, FALSE, 20); skill_to_class(CLASS_SHAMAN, SKILL_ENDURANCE, TRUE, FALSE, 24); skill_to_class(CLASS_SHAMAN, SKILL_DOUBLE, TRUE, FALSE, 25); skill_to_class(CLASS_SHAMAN, SKILL_HEAL, TRUE, FALSE, 30); skill_to_class(CLASS_SHAMAN, SKILL_LOCATION, TRUE, FALSE, 32); skill_to_class(CLASS_SHAMAN, SKILL_PARRY, TRUE, FALSE, 35); skill_to_class(CLASS_SHAMAN, SKILL_CROW, TRUE, FALSE, 40); skill_to_class(CLASS_SHAMAN, SKILL_SHIELDBLOCK, TRUE, FALSE, 43); skill_to_class(CLASS_SHAMAN, SKILL_TRUCE, TRUE, FALSE, 45); skill_to_class(CLASS_SHAMAN, SKILL_WOLF, TRUE, FALSE, 50); skill_to_class(CLASS_SHAMAN, SKILL_NOTRACK, TRUE, FALSE, 52); skill_to_class(CLASS_SHAMAN, SKILL_DODGE, TRUE, FALSE, 55); skill_to_class(CLASS_SHAMAN, SKILL_CLAWS, TRUE, FALSE, 60); skill_to_class(CLASS_SHAMAN, SKILL_FANG, TRUE, FALSE, 65); // // // // // // Ranger... // // // // // fill_class(CLASS_RANGER, "ranger", "Rng", "Lord", "Lady", "the newbie ranger.", 85, 2, 3, 4, 0, 1); skill_to_class(CLASS_RANGER, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_RANGER, SKILL_FORAGE, TRUE, FALSE, 1); skill_to_class(CLASS_RANGER, SKILL_DIVINE, TRUE, FALSE, 3); skill_to_class(CLASS_RANGER, SKILL_CREATE_TORCH, TRUE, FALSE, 4); skill_to_class(CLASS_RANGER, SKILL_KICK, TRUE, FALSE, 5); skill_to_class(CLASS_RANGER, SKILL_FILET, TRUE, FALSE, 6); skill_to_class(CLASS_RANGER, SKILL_RESCUE, TRUE, FALSE, 8); skill_to_class(CLASS_RANGER, SPELL_POISON_DART, TRUE, FALSE, 9); skill_to_class(CLASS_RANGER, SKILL_HEALWOUNDS, TRUE, FALSE, 10); skill_to_class(CLASS_RANGER, SKILL_CALL_WILDLIFE, TRUE, FALSE, 12); skill_to_class(CLASS_RANGER, SPELL_FOREST_SIGHT, TRUE, FALSE, 14); skill_to_class(CLASS_RANGER, SKILL_DOUBLE, TRUE, FALSE, 15); skill_to_class(CLASS_RANGER, SKILL_TRAILBLAZE, TRUE, FALSE, 16); skill_to_class(CLASS_RANGER, SKILL_SKIN, TRUE, FALSE, 17); skill_to_class(CLASS_RANGER, SPELL_EARTHDARTS, TRUE, FALSE, 18); skill_to_class(CLASS_RANGER, SKILL_CAMOUFLAGE, TRUE, FALSE, 20); skill_to_class(CLASS_RANGER, SKILL_DODGE, TRUE, FALSE, 21); skill_to_class(CLASS_RANGER, SKILL_SWEEP, TRUE, FALSE, 22); skill_to_class(CLASS_RANGER, SKILL_WAR_ENDURANCE, TRUE, FALSE, 23); skill_to_class(CLASS_RANGER, SKILL_STUNTOUCH, TRUE, FALSE, 25); skill_to_class(CLASS_RANGER, SKILL_SILENTWALK, TRUE, FALSE, 26); skill_to_class(CLASS_RANGER, SPELL_SPIRITLEAVES, TRUE, FALSE, 27); skill_to_class(CLASS_RANGER, SPELL_ENTANGLE, TRUE, FALSE, 28); skill_to_class(CLASS_RANGER, SKILL_WHIRLWIND, TRUE, FALSE, 30); skill_to_class(CLASS_RANGER, SKILL_NOTRACK, TRUE, FALSE, 33); skill_to_class(CLASS_RANGER, SPELL_BARKSKIN, TRUE, FALSE, 34); skill_to_class(CLASS_RANGER, SKILL_BECOME, TRUE, FALSE, 35); skill_to_class(CLASS_RANGER, SPELL_SPIRITBALM, TRUE, FALSE, 36); skill_to_class(CLASS_RANGER, SPELL_SPIRITSHOCK, TRUE, FALSE, 38); skill_to_class(CLASS_RANGER, SKILL_MEDITATE, TRUE, FALSE, 39); skill_to_class(CLASS_RANGER, SKILL_PARRY, TRUE, FALSE, 40); skill_to_class(CLASS_RANGER, SPELL_FORESTEYES, TRUE, FALSE, 43); skill_to_class(CLASS_RANGER, SKILL_DISARM, TRUE, FALSE, 45); skill_to_class(CLASS_RANGER, SKILL_PRESENCE, TRUE, FALSE, 50); skill_to_class(CLASS_RANGER, SPELL_ENSNARE, TRUE, FALSE, 53); skill_to_class(CLASS_RANGER, SKILL_BEFRIEND, TRUE, FALSE, 55); skill_to_class(CLASS_RANGER, SPELL_OCCLUSION, TRUE, FALSE, 58); skill_to_class(CLASS_RANGER, SKILL_REDIRECT, TRUE, FALSE, 60); skill_to_class(CLASS_RANGER, SPELL_CAMPFIRE, TRUE, FALSE, 63); skill_to_class(CLASS_RANGER, SKILL_TREK, TRUE, FALSE, 65); skill_to_class(CLASS_RANGER, SKILL_CYCLONE, TRUE, FALSE, 66); skill_to_class(CLASS_RANGER, SPELL_SPIRITSHIELD, TRUE, FALSE, 67); skill_to_class(CLASS_RANGER, SKILL_TRIPLE, TRUE, FALSE, 70); // // // // // // Bard... // // // // // fill_class(CLASS_BARD, "bard", "Brd", "Trbdr", "Trbdr", "the newbie bard.", 85, 0, 4, 3, 1, 2); skill_to_class(CLASS_BARD, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_BARD, SKILL_SING, TRUE, FALSE, 1); skill_to_class(CLASS_BARD, SKILL_PICK_LOCK, TRUE, FALSE, 5); skill_to_class(CLASS_BARD, SKILL_STEAL, TRUE, FALSE, 6); skill_to_class(CLASS_BARD, SKILL_PARRY, TRUE, FALSE, 8); skill_to_class(CLASS_BARD, SKILL_PLAY, TRUE, FALSE, 10); skill_to_class(CLASS_BARD, SKILL_DOUBLE, TRUE, FALSE, 20); skill_to_class(CLASS_BARD, SKILL_HEALWOUNDS, TRUE, FALSE, 24); skill_to_class(CLASS_BARD, SKILL_SHIELDBLOCK, TRUE, FALSE, 28); skill_to_class(CLASS_BARD, SKILL_DISARM, TRUE, FALSE, 30); skill_to_class(CLASS_BARD, SKILL_CRAFT, TRUE, FALSE, 35); skill_to_class(CLASS_BARD, SKILL_DODGE, TRUE, FALSE, 50); skill_to_class(CLASS_BARD, SKILL_CIRCLE, TRUE, FALSE, 60); // // // // // // Warlock... // // // // // fill_class(CLASS_WARLOCK, "warlock", "Wlk", "Demon", "Demon", "the newbie warlock.", 95, 3, 0, 1, 2, 4); skill_to_class(CLASS_WARLOCK, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_WARLOCK, SKILL_SNEAK, TRUE, FALSE, 3); skill_to_class(CLASS_WARLOCK, SPELL_DETECT_MAGIC, TRUE, FALSE, 5); skill_to_class(CLASS_WARLOCK, SPELL_DETECT_INVISIBLE, TRUE, FALSE, 7); skill_to_class(CLASS_WARLOCK, SPELL_STRENGTH, TRUE, FALSE, 11); skill_to_class(CLASS_WARLOCK, SPELL_CURSE, TRUE, FALSE, 13); skill_to_class(CLASS_WARLOCK, SKILL_RESCUE, TRUE, FALSE, 15); skill_to_class(CLASS_WARLOCK, SPELL_PROTECT_FROM_GOOD, TRUE, FALSE, 20); skill_to_class(CLASS_WARLOCK, SKILL_KICK, TRUE, FALSE, 25); skill_to_class(CLASS_WARLOCK, SPELL_MINDTRAP, TRUE, FALSE, 30); skill_to_class(CLASS_WARLOCK, SPELL_CURSED_GROUNDS, TRUE, FALSE, 50); // // // // // // Monshai... // // // // // fill_class(CLASS_MONK, "monshai", "Mon", "Abbot", "Abbess", "the newbie monshai.", 90, 0, 4, 3, 1, 2); skill_to_class(CLASS_MONK, SKILL_HIDE, TRUE, FALSE, 1); skill_to_class(CLASS_MONK, SKILL_PICK_LOCK, TRUE, FALSE, 1); skill_to_class(CLASS_MONK, SKILL_SNEAK, TRUE, FALSE, 1); skill_to_class(CLASS_MONK, SKILL_AURA, TRUE, FALSE, 1); skill_to_class(CLASS_MONK, SKILL_ROLL, TRUE, FALSE, 2); skill_to_class(CLASS_MONK, SKILL_RAZOR, TRUE, FALSE, 3); skill_to_class(CLASS_MONK, SKILL_FIRST_AID, TRUE, FALSE, 4); skill_to_class(CLASS_MONK, SKILL_SENSE, TRUE, FALSE, 5); skill_to_class(CLASS_MONK, SKILL_OM, TRUE, FALSE, 6); skill_to_class(CLASS_MONK, SKILL_DOUBLE, TRUE, FALSE, 7); skill_to_class(CLASS_MONK, SKILL_CLEANSE, TRUE, FALSE, 9); skill_to_class(CLASS_MONK, SKILL_LEAP, TRUE, FALSE, 10); skill_to_class(CLASS_MONK, SKILL_DODGE, TRUE, FALSE, 11); skill_to_class(CLASS_MONK, SKILL_STONE_FINGER, TRUE, FALSE, 12); skill_to_class(CLASS_MONK, SKILL_TRIPLE, TRUE, FALSE, 13); skill_to_class(CLASS_MONK, SKILL_HEALWOUNDS, TRUE, FALSE, 14); skill_to_class(CLASS_MONK, SKILL_MOK, TRUE, FALSE, 15); skill_to_class(CLASS_MONK, SKILL_PARRY, TRUE, FALSE, 16); skill_to_class(CLASS_MONK, SKILL_KICK, TRUE, FALSE, 18); skill_to_class(CLASS_MONK, SKILL_LEVITATE, TRUE, FALSE, 19); skill_to_class(CLASS_MONK, SKILL_STUNTOUCH, TRUE, FALSE, 21); skill_to_class(CLASS_MONK, SKILL_WHIRLWIND, TRUE, FALSE, 22); skill_to_class(CLASS_MONK, SKILL_WAR_ENDURANCE, TRUE, FALSE, 24); skill_to_class(CLASS_MONK, SKILL_SNARL, TRUE, FALSE, 25); skill_to_class(CLASS_MONK, SKILL_FLIP, TRUE, FALSE, 28); skill_to_class(CLASS_MONK, SKILL_IRONHAND, TRUE, FALSE, 31); skill_to_class(CLASS_MONK, SKILL_WA, TRUE, FALSE, 34); skill_to_class(CLASS_MONK, SKILL_HASTEN, TRUE, FALSE, 40); skill_to_class(CLASS_MONK, SKILL_HURL, TRUE, FALSE, 43); skill_to_class(CLASS_MONK, SKILL_IRON, TRUE, FALSE, 46); skill_to_class(CLASS_MONK, SKILL_TURTLE, TRUE, FALSE, 50); skill_to_class(CLASS_MONK, SKILL_FIST, TRUE, FALSE, 52); skill_to_class(CLASS_MONK, SKILL_TRANCE, TRUE, FALSE, 56); // // // // // // Madept... // // // // // fill_class(CLASS_MADEPT, "madept", "Mad", "Sorcer", "Sorcer", "the newbie madept.", 75, 3, 0, 1, 2, 4); skill_to_class(CLASS_MADEPT, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_MADEPT, SPELL_MAGIC_MISSILE, TRUE, FALSE, 1); skill_to_class(CLASS_MADEPT, SPELL_CURE_LIGHT, TRUE, FALSE, 1); skill_to_class(CLASS_MADEPT, SPELL_DETECT_INVISIBLE, TRUE, FALSE, 2); skill_to_class(CLASS_MADEPT, SPELL_DETECT_POISON, TRUE, FALSE, 2); skill_to_class(CLASS_MADEPT, SPELL_CREATE_WATER, TRUE, FALSE, 2); skill_to_class(CLASS_MADEPT, SPELL_DETECT_MAGIC, TRUE, FALSE, 3); skill_to_class(CLASS_MADEPT, SPELL_CREATE_FOOD, TRUE, FALSE, 3); skill_to_class(CLASS_MADEPT, SPELL_CHILL_TOUCH, TRUE, FALSE, 3); skill_to_class(CLASS_MADEPT, SPELL_DETECT_EVIL, TRUE, FALSE, 4); skill_to_class(CLASS_MADEPT, SPELL_INVISIBLE, TRUE, FALSE, 4); skill_to_class(CLASS_MADEPT, SPELL_CURE_BLIND, TRUE, FALSE, 4); skill_to_class(CLASS_MADEPT, SPELL_ARMOR, TRUE, FALSE, 5); skill_to_class(CLASS_MADEPT, SPELL_BURNING_HANDS, TRUE, FALSE, 5); skill_to_class(CLASS_MADEPT, SPELL_IDENTIFY, TRUE, FALSE, 5); skill_to_class(CLASS_MADEPT, SPELL_BLESS, TRUE, FALSE, 5); skill_to_class(CLASS_MADEPT, SPELL_BLINDNESS, TRUE, FALSE, 6); skill_to_class(CLASS_MADEPT, SPELL_PROTECT_FROM_EVIL, TRUE, FALSE, 6); skill_to_class(CLASS_MADEPT, SPELL_PROTECT_FROM_GOOD, TRUE, FALSE, 6); skill_to_class(CLASS_MADEPT, SPELL_STRENGTH, TRUE, FALSE, 7); skill_to_class(CLASS_MADEPT, SPELL_SHOCKING_GRASP, TRUE, FALSE, 7); skill_to_class(CLASS_MADEPT, SPELL_SENSE_LIFE, TRUE, FALSE, 7); skill_to_class(CLASS_MADEPT, SPELL_EARTHQUAKE, TRUE, FALSE, 7); skill_to_class(CLASS_MADEPT, SPELL_POISON, TRUE, FALSE, 8); skill_to_class(CLASS_MADEPT, SPELL_TELEPORT, TRUE, FALSE, 8); skill_to_class(CLASS_MADEPT, SPELL_SUMMON, TRUE, FALSE, 8); skill_to_class(CLASS_MADEPT, SPELL_REMOVE_POISON, TRUE, FALSE, 9); skill_to_class(CLASS_MADEPT, SPELL_LIGHTNING_BOLT, TRUE, FALSE, 9); skill_to_class(CLASS_MADEPT, SPELL_CURE_CRITIC, TRUE, FALSE, 9); skill_to_class(CLASS_MADEPT, SPELL_DISPEL_EVIL, TRUE, FALSE, 10); skill_to_class(CLASS_MADEPT, SPELL_LOCATE_OBJECT, TRUE, FALSE, 10); skill_to_class(CLASS_MADEPT, SPELL_PROTECT_UNDEAD, TRUE, FALSE, 10); skill_to_class(CLASS_MADEPT, SPELL_COLOUR_SPRAY, TRUE, FALSE, 11); skill_to_class(CLASS_MADEPT, SPELL_WORD_OF_RECALL, TRUE, FALSE, 11); skill_to_class(CLASS_MADEPT, SPELL_CURSE, TRUE, FALSE, 12); skill_to_class(CLASS_MADEPT, SPELL_ENCHANT_WEAPON, TRUE, FALSE, 12); skill_to_class(CLASS_MADEPT, SPELL_REMOVE_CURSE, TRUE, FALSE, 12); skill_to_class(CLASS_MADEPT, SPELL_CALL_LIGHTNING, TRUE, FALSE, 12); skill_to_class(CLASS_MADEPT, SPELL_CONTROL_WEATHER, TRUE, FALSE, 13); skill_to_class(CLASS_MADEPT, SPELL_ENERGY_DRAIN, TRUE, FALSE, 13); skill_to_class(CLASS_MADEPT, SPELL_SANCTUARY, TRUE, FALSE, 13); skill_to_class(CLASS_MADEPT, SPELL_HEAL, TRUE, FALSE, 14); skill_to_class(CLASS_MADEPT, SPELL_SLEEP, TRUE, FALSE, 14); skill_to_class(CLASS_MADEPT, SPELL_CHARM_PERSON, TRUE, FALSE, 14); skill_to_class(CLASS_MADEPT, SPELL_ANIMATE_DEAD, TRUE, FALSE, 15); skill_to_class(CLASS_MADEPT, SPELL_HARM, TRUE, FALSE, 15); skill_to_class(CLASS_MADEPT, SPELL_FIREFLASH, TRUE, FALSE, 15); skill_to_class(CLASS_MADEPT, SPELL_ILLUMINATE, TRUE, FALSE, 16); skill_to_class(CLASS_MADEPT, SPELL_IMPLOSION, TRUE, FALSE, 18); skill_to_class(CLASS_MADEPT, SPELL_FORCEFUL_WIND, TRUE, FALSE, 18); skill_to_class(CLASS_MADEPT, SPELL_WINGS, TRUE, FALSE, 20); skill_to_class(CLASS_MADEPT, SPELL_GILLS, TRUE, FALSE, 20); skill_to_class(CLASS_MADEPT, SPELL_VOID, TRUE, FALSE, 22); skill_to_class(CLASS_MADEPT, SPELL_STONE_SKIN, TRUE, FALSE, 25); skill_to_class(CLASS_MADEPT, SPELL_ARMOR_GOLEM, TRUE, FALSE, 28); skill_to_class(CLASS_MADEPT, SPELL_CHAIN_LIGHTNING, TRUE, FALSE, 29); skill_to_class(CLASS_MADEPT, SPELL_HASTE, TRUE, FALSE, 30); skill_to_class(CLASS_MADEPT, SPELL_CALM, TRUE, FALSE, 31); skill_to_class(CLASS_MADEPT, SPELL_RECHARGE, TRUE, FALSE, 33); skill_to_class(CLASS_MADEPT, SPELL_FIREBALL, TRUE, FALSE, 34); skill_to_class(CLASS_MADEPT, SPELL_ICE_SHAFT, TRUE, FALSE, 35); skill_to_class(CLASS_MADEPT, SPELL_P_HEAL, TRUE, FALSE, 40); skill_to_class(CLASS_MADEPT, SPELL_FIREWALL, TRUE, FALSE, 40); skill_to_class(CLASS_MADEPT, SPELL_HOLD_PERSON, TRUE, FALSE, 41); skill_to_class(CLASS_MADEPT, SPELL_VIEW_HIDDEN, TRUE, FALSE, 42); skill_to_class(CLASS_MADEPT, SPELL_CIRCLE_OF_WARDING, TRUE, FALSE, 42); skill_to_class(CLASS_MADEPT, SPELL_MIRRORIMAGE, TRUE, FALSE, 45); skill_to_class(CLASS_MADEPT, SPELL_GATEWAY, TRUE, FALSE, 50); skill_to_class(CLASS_MADEPT, SPELL_SHOWEROFLIFE, TRUE, FALSE, 50); skill_to_class(CLASS_MADEPT, SPELL_GASCLOUD, TRUE, FALSE, 52); skill_to_class(CLASS_MADEPT, SPELL_ICEWALL, TRUE, FALSE, 55); skill_to_class(CLASS_MADEPT, SPELL_LOCATE_BEING, TRUE, FALSE, 55); skill_to_class(CLASS_MADEPT, SPELL_WALLOFFOG, TRUE, FALSE, 57); skill_to_class(CLASS_MADEPT, SPELL_ABSOLUTE_WARD, TRUE, FALSE, 60); skill_to_class(CLASS_MADEPT, SPELL_TYPHOON, TRUE, FALSE, 60); skill_to_class(CLASS_MADEPT, SPELL_SILENCE, TRUE, FALSE, 65); skill_to_class(CLASS_MADEPT, SPELL_BLINDWALL, TRUE, FALSE, 65); skill_to_class(CLASS_MADEPT, SPELL_CONFUSION, TRUE, FALSE, 68); skill_to_class(CLASS_MADEPT, SPELL_SWARM, TRUE, FALSE, 70); skill_to_class(CLASS_MADEPT, SPELL_RETRIEVE_CORPSE, TRUE, FALSE, 70); // // // // // // Druid... // // // // // fill_class(CLASS_DRUID, "druid", "Dru", "Druid", "Druid", "the newbie druid.", 90, 3, 0, 1, 2, 4); skill_to_class(CLASS_DRUID, SKILL_FIRST_AID, TRUE, FALSE, 1); skill_to_class(CLASS_DRUID, SPELL_CURE_LIGHT, TRUE, FALSE, 1); skill_to_class(CLASS_DRUID, SPELL_FOREST_EMBRACE, TRUE, FALSE, 2); skill_to_class(CLASS_DRUID, SKILL_FORAGE, TRUE, FALSE, 2); skill_to_class(CLASS_DRUID, SPELL_OBSCURE_PASSING, TRUE, FALSE, 3); skill_to_class(CLASS_DRUID, SPELL_TREESKIN, TRUE, FALSE, 3); skill_to_class(CLASS_DRUID, SKILL_DIVINE, TRUE, FALSE, 4); skill_to_class(CLASS_DRUID, SPELL_KNOW_ALIGNMENT, TRUE, FALSE, 4); skill_to_class(CLASS_DRUID, SPELL_CALL_LIGHTNING, TRUE, FALSE, 5); skill_to_class(CLASS_DRUID, SPELL_LOCATE_OBJECT, TRUE, FALSE, 5); skill_to_class(CLASS_DRUID, SKILL_FILET, TRUE, FALSE, 6); skill_to_class(CLASS_DRUID, SPELL_PROTECT_FROM_POISON, TRUE, FALSE, 6); skill_to_class(CLASS_DRUID, SPELL_NATURE_COMMUNION, TRUE, FALSE, 7); skill_to_class(CLASS_DRUID, SPELL_PROTECT_FROM_FIRE, TRUE, FALSE, 7); skill_to_class(CLASS_DRUID, SPELL_ANIMAL_SUMMONING, TRUE, FALSE, 8); skill_to_class(CLASS_DRUID, SPELL_PROTECT_FROM_COLD, TRUE, FALSE, 8); skill_to_class(CLASS_DRUID, SPELL_PROTECT_FROM_DRAGON, TRUE, FALSE, 8); skill_to_class(CLASS_DRUID, SPELL_CURE_CRITIC, TRUE, FALSE, 9); skill_to_class(CLASS_DRUID, SKILL_HEALWOUNDS, TRUE, FALSE, 10); skill_to_class(CLASS_DRUID, SPELL_WATER_WALK, TRUE, FALSE, 10); skill_to_class(CLASS_DRUID, SPELL_NATURES_CALTROPS, TRUE, FALSE, 11); skill_to_class(CLASS_DRUID, SPELL_EARTHQUAKE, TRUE, FALSE, 12); skill_to_class(CLASS_DRUID, SPELL_CONTROL_WEATHER, TRUE, FALSE, 13); skill_to_class(CLASS_DRUID, SPELL_FOREST_WARRIOR, TRUE, FALSE, 14); skill_to_class(CLASS_DRUID, SPELL_TONGUES, TRUE, FALSE, 15); skill_to_class(CLASS_DRUID, SPELL_WALL_BRAMBLES, TRUE, FALSE, 16); skill_to_class(CLASS_DRUID, SPELL_HEAL, TRUE, FALSE, 17); skill_to_class(CLASS_DRUID, SPELL_GILLS, TRUE, FALSE, 18); skill_to_class(CLASS_DRUID, SPELL_WINGS, TRUE, FALSE, 19); skill_to_class(CLASS_DRUID, SKILL_CAMOUFLAGE, TRUE, FALSE, 20); skill_to_class(CLASS_DRUID, SPELL_SANCTUARY, TRUE, FALSE, 20); skill_to_class(CLASS_DRUID, SKILL_DODGE, TRUE, FALSE, 21); skill_to_class(CLASS_DRUID, SPELL_TRUE_SEEING, TRUE, FALSE, 24); skill_to_class(CLASS_DRUID, SPELL_THORNSTORM, TRUE, FALSE, 28); skill_to_class(CLASS_DRUID, SPELL_FIRE_SERVANT, TRUE, FALSE, 30); skill_to_class(CLASS_DRUID, SPELL_WALL_FIRE, TRUE, FALSE, 35); skill_to_class(CLASS_DRUID, SPELL_EARTH_SERVANT, TRUE, FALSE, 40); skill_to_class(CLASS_DRUID, SPELL_HOLD_ANIMAL, TRUE, FALSE, 45); skill_to_class(CLASS_DRUID, SPELL_ROCK_TO_MUD, TRUE, FALSE, 50); skill_to_class(CLASS_DRUID, SPELL_FIRESTORM, TRUE, FALSE, 55); skill_to_class(CLASS_DRUID, SPELL_SHAPECHANGE, TRUE, FALSE, 60); skill_to_class(CLASS_DRUID, SPELL_WOODBRITTLE, TRUE, FALSE, 65); skill_to_class(CLASS_DRUID, SPELL_INSECT_DEATH, TRUE, FALSE, 70); }