/** * The main skills header file. This contains the skill tree and any bits * relating to the skill tree. * @author Pinkfish * @see /std/skills.c * @see /std/living/skills.c */ #ifndef __SYS__SKILLS /** @ignore yes */ #define __SYS__SKILLS /** The index corresponding to the skill name in the skill array. */ #define SKILL_NAM 0 /** The index corresponding to the skill level in the skill array. */ #define SKILL_LVL 1 /** The index corresponding to the skill exp in the skill array. */ #define SKILL_EXP 2 /** The index corresponding to the array of sub skills in the skill array. */ #define SKILL_BIT 3 /** The size of the skill array. */ #define SKILL_ARR_SIZE 4 /** The skill handling object. */ #define SKILL_OB "/std/skills" /** The maximum level that you can teach someone else too. */ #define SKILL_MAX_TEACH 600 /* * These are used in /std/living/skills.c for the training/learning of skills. */ /** @ignore yes */ #define O_SKILL 0 /** @ignore yes */ #define O_NUM 1 /** @ignore yes */ #define O_LVL 2 /** @ignore yes */ #define O_XP 3 /** @ignore yes */ #define O_OTHER_PER 4 /** @ignore yes */ #define STD_SKILLS_COVERT ({ \ "covert", 0, 0, ({ \ "stealth", 0, 0, ({ \ "inside", 0, 0, ({ }), \ "outside", 0, 0, ({ }), \ "underwater", 0, 0, ({ }), \ }), \ "hiding", 0, 0, ({ \ "person", 0, 0, ({ }), \ "object", 0, 0, ({ }), \ }), \ "lockpick", 0, 0, ({ \ "doors", 0, 0, ({ }), \ "safes", 0, 0, ({ }), \ "traps", 0, 0, ({ }), \ }), \ "manipulation", 0, 0, ({ \ "palming", 0, 0, ({ }), \ "passing", 0, 0, ({ }), \ "sleight-of-hand", 0, 0, ({ }), \ "stealing", 0, 0, ({ }), \ }), \ "casing", 0, 0, ({ \ "person", 0, 0, ({ }), \ "place", 0, 0, ({ }), \ }), \ "items", 0, 0, ({ \ "poisons", 0, 0, ({ }), \ "traps", 0, 0, ({ }), \ "weapons", 0, 0, ({ }), \ }), \ "points", 0, 0, ({ }), \ }), \ }) /** @ignore yes */ #define STD_SKILLS_CRAFTS ({ \ "crafts", 0, 0, ({ \ "smithing", 0, 0, ({ \ "gold", 0, 0, ({ }), \ "silver", 0, 0, ({ }), \ "black", 0, 0, ({ \ "tools", 0, 0, ({ }), \ "weapons", 0, 0, ({ }), \ "armour", 0, 0, ({ }), \ }), \ "gem", 0, 0, ({ \ "cutting", 0, 0, ({ }), \ "polishing", 0, 0, ({ }), \ "setting", 0, 0, ({ }), \ }), \ "locks", 0, 0, ({ }), \ }), \ "mining", 0, 0, ({ \ "gem", 0, 0, ({ }), \ "ore", 0, 0, ({ \ "panning", 0, 0, ({ }), \ }), \ "mineral", 0, 0, ({ }), \ }), \ "hunting", 0, 0, ({ \ "tracking", 0, 0, ({ }), \ "fishing", 0, 0, ({ }), \ "trapping", 0, 0, ({ }), \ "foraging", 0, 0, ({ }), \ }), \ "carpentry", 0, 0, ({ \ "furniture", 0, 0, ({ }), \ "coopering", 0, 0, ({ }), \ "turning", 0, 0, ({ }), \ "whittling", 0, 0, ({ }), \ }), \ "pottery", 0, 0, ({ \ "forming", 0, 0, ({ \ "throwing", 0, 0, ({ }), \ "shaping", 0, 0, ({ }), \ }), \ "glazing", 0, 0, ({ }), \ "staining", 0, 0, ({ }), \ "firing", 0, 0, ({ }), \ }), \ "materials", 0, 0, ({ \ "tanning", 0, 0, ({ }), \ "leatherwork", 0, 0, ({ }), \ "weaving", 0, 0, ({ }), \ "spinning", 0, 0, ({ }), \ "needlework", 0, 0, ({ }), \ "dyeing", 0, 0, ({ }), \ }), \ "husbandry", 0, 0, ({ \ "plant", 0, 0, ({ \ "edible", 0, 0, ({ }), \ "herbal", 0, 0, ({ }), \ "milling", 0, 0, ({ }), \ "tree", 0, 0, ({ }), \ }), \ "animal", 0, 0, ({ \ "grooming", 0, 0, ({ }), \ "breeding", 0, 0, ({ }), \ "slaughtering", 0, 0, ({ }), \ }), \ }), \ "culinary", 0, 0, ({ \ "cooking", 0, 0, ({ }), \ "baking", 0, 0, ({ }), \ "butchering", 0, 0, ({ }), \ "preserving", 0, 0, ({ }), \ "brewing", 0, 0, ({ }), \ "distilling", 0, 0, ({ }), \ }), \ "arts", 0, 0, ({ \ "design", 0, 0, ({ }), \ "calligraphy", 0, 0, ({ }), \ "drawing", 0, 0, ({ }), \ "painting", 0, 0, ({ }), \ "printing", 0, 0, ({ }), \ "sculpture", 0, 0, ({ }), \ }), \ "music", 0, 0, ({ \ "instruments", 0, 0, ({ \ "percussion", 0, 0, ({ }), \ "wind", 0, 0, ({ }), \ "stringed", 0, 0, ({ }), \ "keyboard", 0, 0, ({ }), \ "vocal", 0, 0, ({ }), \ }), \ "special", 0, 0, ({ }), \ "theory", 0, 0, ({ }), \ "performance", 0, 0, ({ }), \ }), \ "points", 0, 0, ({ }), \ }), \ }) /** @ignore yes */ #define STD_SKILLS_FAITH ({ \ "faith", 0, 0, ({ \ "rituals", 0, 0, ({ \ "offensive", 0, 0, ({ \ "area", 0, 0, ({ }), \ "target", 0, 0, ({ }), \ }), \ "defensive", 0, 0, ({ \ "area", 0, 0, ({ }), \ "self", 0, 0, ({ }), \ "target", 0, 0, ({ }), \ }), \ "curing", 0, 0, ({ \ "self", 0, 0, ({ }), \ "target", 0, 0, ({ }), \ }), \ "misc", 0, 0, ({ \ "area", 0, 0, ({ }), \ "self", 0, 0, ({ }), \ "target", 0, 0, ({ }), \ }), \ "special", 0, 0, ({ }), \ }), \ "items", 0, 0, ({ \ "rod", 0, 0, ({ }), \ "scroll", 0, 0, ({ }), \ }), \ "points", 0, 0, ({ }), \ }), \ }) /** @ignore yes */ #define STD_SKILLS_FIGHTING ({ \ "fighting", 0, 0, ({ \ "combat", 0, 0, ({ \ "melee", 0, 0, ({ \ "sharp", 0, 0, ({ }), \ "pierce", 0, 0, ({ }), \ "blunt", 0, 0, ({ }), \ "unarmed", 0, 0, ({ }), \ }), \ "range", 0, 0, ({ \ "thrown", 0, 0, ({ }), \ "fired", 0, 0, ({ }), \ }), \ "parry", 0, 0, ({ \ "melee", 0, 0, ({ }), \ "range", 0, 0, ({ }), \ }), \ "dodging", 0, 0, ({ \ "melee", 0, 0, ({ }), \ "range", 0, 0, ({ }), \ }), \ "special", 0, 0, ({ \ "weapon", 0, 0, ({ }), \ "unarmed", 0, 0, ({ }), \ "tactics", 0, 0, ({ }), \ }), \ }), \ "points", 0, 0, ({ }), \ }), \ }) /** @ignore yes */ #define STD_SKILLS_MAGIC ({ \ "magic", 0, 0, ({ \ "spells", 0, 0, ({ \ "offensive", 0, 0, ({ }), \ "defensive", 0, 0, ({ }), \ "misc", 0, 0, ({ }), \ "special", 0, 0, ({ }), \ }), \ "methods", 0, 0, ({ \ "elemental", 0, 0, ({ \ "air", 0, 0, ({ }), \ "earth", 0, 0, ({ }), \ "fire", 0, 0, ({ }), \ "water", 0, 0, ({ }), \ }), \ "mental", 0, 0, ({ \ "animating", 0, 0, ({ }), \ "channeling", 0, 0, ({ }), \ "charming", 0, 0, ({ }), \ "convoking", 0, 0, ({ }), \ "cursing", 0, 0, ({ }), \ }), \ "physical", 0, 0, ({ \ "binding", 0, 0, ({ }), \ "brewing", 0, 0, ({ }), \ "chanting", 0, 0, ({ }), \ "dancing", 0, 0, ({ }), \ "enchanting", 0, 0, ({ }), \ "evoking", 0, 0, ({ }), \ "healing", 0, 0, ({ }), \ "scrying", 0, 0, ({ }), \ }), \ "spiritual", 0, 0, ({ \ "abjuring", 0, 0, ({ }), \ "banishing", 0, 0, ({ }), \ "conjuring", 0, 0, ({ }), \ "divining", 0, 0, ({ }), \ "summoning", 0, 0, ({ }), \ }), \ }), \ "items", 0, 0, ({ \ "held", 0, 0, ({ \ "wand", 0, 0, ({ }), \ "rod", 0, 0, ({ }), \ "staff", 0, 0, ({ }), \ "broom", 0, 0, ({ }), \ }), \ "worn", 0, 0, ({ \ "amulet", 0, 0, ({ }), \ "ring", 0, 0, ({ }), \ }), \ "scroll", 0, 0, ({ }), \ "talisman", 0, 0, ({ }), \ }), \ "points", 0, 0, ({ }), \ }), \ }) /** @ignore yes */ #define STD_SKILLS_OTHER ({ \ "other", 0, 0, ({ \ "trading", 0, 0, ({ \ "buying", 0, 0, ({ }), \ "selling", 0, 0, ({ }), \ "valueing", 0, 0, ({ \ "gems", 0, 0, ({ }), \ "jewellery", 0, 0, ({ }), \ "weapons", 0, 0, ({ }), \ "armour", 0, 0, ({ }), \ }), \ }), \ "movement", 0, 0, ({ \ "swimming", 0, 0, ({ }), \ "riding", 0, 0, ({ \ "horse", 0, 0, ({ }), \ "camel", 0, 0, ({ }), \ }), \ "climbing", 0, 0, ({ \ "tree", 0, 0, ({ }), \ "rock", 0, 0, ({ }), \ "rope", 0, 0, ({ }), \ }), \ "sailing", 0, 0, ({ }), \ }), \ "acrobatics", 0, 0, ({ \ "tumbling", 0, 0, ({ }), \ "vaulting", 0, 0, ({ }), \ "balancing", 0, 0, ({ }), \ }), \ "evaluating", 0, 0, ({ \ "weapons", 0, 0, ({ }), \ "armour", 0, 0, ({ }), \ }), \ "culture", 0, 0, ({ \ "ankh-morporkian", 0, 0, ({ }), \ "djelian", 0, 0, ({ }), \ "ephebian", 0, 0, ({ }), \ "agatean", 0, 0, ({ }), \ }), \ "perception", 0, 0, ({ }), \ "direction", 0, 0, ({ }), \ "health", 0, 0, ({ }), \ "points", 0, 0, ({ }), \ }), \ }) /** * The complete standard skill tree. This should be avoided being used * if possible. * @see /std/skills.c * @see /std/living/skills.c */ #define STD_SKILLS ( STD_SKILLS_COVERT + STD_SKILLS_CRAFTS + STD_SKILLS_FAITH + STD_SKILLS_FIGHTING + STD_SKILLS_MAGIC + STD_SKILLS_OTHER ) #endif /* __SYS__SKILLS */