1 #pragma once 2 3 #include "tag-version.h" 4 5 // [dshaligram] If you add a new skill, update skills.cc, specifically 6 // the skills[] array and skill_display_order[]. New skills must go at the 7 // end of the list or in the unused skill numbers. NEVER rearrange this enum or 8 // move existing skills to new numbers; save file compatibility depends on this 9 // order. 10 enum skill_type 11 { 12 SK_FIGHTING, 13 SK_FIRST_SKILL = SK_FIGHTING, 14 SK_SHORT_BLADES, 15 SK_FIRST_WEAPON = SK_SHORT_BLADES, 16 SK_LONG_BLADES, 17 SK_AXES, 18 SK_MACES_FLAILS, 19 SK_POLEARMS, 20 SK_STAVES, 21 SK_LAST_MELEE_WEAPON = SK_STAVES, 22 SK_SLINGS, 23 SK_BOWS, 24 SK_CROSSBOWS, 25 SK_LAST_WEAPON = SK_CROSSBOWS, 26 SK_THROWING, 27 SK_ARMOUR, 28 SK_DODGING, 29 SK_STEALTH, 30 #if TAG_MAJOR_VERSION == 34 31 SK_STABBING, 32 #endif 33 SK_SHIELDS, 34 #if TAG_MAJOR_VERSION == 34 35 SK_TRAPS, 36 #endif 37 SK_UNARMED_COMBAT, 38 SK_LAST_MUNDANE = SK_UNARMED_COMBAT, 39 SK_SPELLCASTING, 40 SK_CONJURATIONS, 41 SK_FIRST_MAGIC_SCHOOL = SK_CONJURATIONS, // not SK_FIRST_MAGIC as no Spc 42 SK_HEXES, 43 #if TAG_MAJOR_VERSION == 34 44 SK_CHARMS, 45 #endif 46 SK_SUMMONINGS, 47 SK_NECROMANCY, 48 SK_TRANSLOCATIONS, 49 SK_TRANSMUTATIONS, 50 SK_FIRE_MAGIC, 51 SK_ICE_MAGIC, 52 SK_AIR_MAGIC, 53 SK_EARTH_MAGIC, 54 SK_POISON_MAGIC, 55 SK_LAST_MAGIC = SK_POISON_MAGIC, 56 SK_INVOCATIONS, 57 SK_EVOCATIONS, 58 SK_LAST_SKILL = SK_EVOCATIONS, 59 NUM_SKILLS, // must remain last regular member 60 61 SK_BLANK_LINE, // used for skill output 62 SK_COLUMN_BREAK, // used for skill output 63 SK_TITLE, // used for skill output 64 SK_NONE, 65 SK_WEAPON, // used in character generation 66 }; 67