/* ************************************************************************
* File: skills.h EmpireMUD AD 1.0 *
* Usage: header file for skills and combat *
* *
* All rights reserved. See license.doc for complete information. *
* *
* Code base by Paul Clarke. EmpireMUD Project, a tbgMUD Production. *
* Based upon CircleMUD 3.0, beta patch level 17, by Jeremy Elson. *
* *
* Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University *
* CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991. *
************************************************************************ */
/*
* Talents from the Vampire: The Dark Ages character sheet
* Talents are inherent abilities, there is never a penalty
* for using one you don't know (except not having dice for
* that Talent to add to an Attribute)
*/
#define TALENT_ACTING 0
#define TALENT_ALERTNESS 1
#define TALENT_ATHLETICS 2
#define TALENT_BRAWL 3
#define TALENT_DODGE 4
#define TALENT_EMPATHY 5
#define TALENT_INTIMIDATION 6
#define TALENT_LARCENY 7
#define TALENT_LEADERSHIP 8
#define TALENT_PRIMAL_URGE 9
#define TALENT_SUBTERFUGE 10
/*
* Skills from the Vampire: The Dark Ages character sheet
* Skills are simple abilities which can be taught or mimicked
* by viewers. They cannot simply be picked up, though, and
* thus have a difficulty of two higher when attempting to use
* one that is unlearned.
*/
#define SKILL_ANIMAL_KEN 0
#define SKILL_ARCHERY 1
#define SKILL_CRAFTS 2
#define SKILL_ETIQUETTE 3
#define SKILL_HERBALISM 4
#define SKILL_MELEE 5
#define SKILL_MUSIC 6
#define SKILL_PERFORMANCE 7
#define SKILL_RIDE 8
#define SKILL_STEALTH 9
#define SKILL_SURVIVAL 10
/*
* Knowledges from the Vampire: The Dark Ages character sheet
* Knowledges are just that -- learned knowledge. Because they
* require much in-depth study, they cannot be uesd if unknown.
*/
#define KNOWLEDGE_ACADEMICS 0
#define KNOWLEDGE_ENIGMAS 1
#define KNOWLEDGE_HEARTH_WISDOM 2
#define KNOWLEDGE_INVESTIGATION 3
#define KNOWLEDGE_LAW 4
#define KNOWLEDGE_LINGUISTICS 5
#define KNOWLEDGE_MEDICINE 6
#define KNOWLEDGE_OCCULT 7
#define KNOWLEDGE_POLITICS 8
#define KNOWLEDGE_SCIENCE 9
#define KNOWLEDGE_SENESCHAL 10
/* NUM_ABILITIES defined in structs.h */
/* WEAPON ATTACK TYPES */
#define TYPE_UNDEFINED -1
#define TYPE_RESERVED 0
#define TYPE_SLASH 1
#define TYPE_SLICE 2
#define TYPE_STING 3
#define TYPE_STAB 4
#define TYPE_POUND 5
#define TYPE_HAMMER 6
#define TYPE_WHIP 7
#define TYPE_PICK 8
#define TYPE_BITE 9 /* Animal-only */
#define TYPE_CLAW 10 /* Animal-only */
#define TYPE_KICK 11 /* Animal-only */
#define TYPE_FIRE 12
#define TYPE_PROTEAN_CLAWS 13
#define TYPE_SERPENTIS_TONGUE 14
#define TYPE_HIT 15
#define NUM_ATTACK_TYPES 16
/* new attack types can be added here - up to TYPE_SUFFERING */
#define TYPE_SUFFERING 50
/* Non-weapon attacks */
#define ATTACK_GUARD_TOWER (TYPE_SUFFERING + 1)
#define ATTACK_EXECUTE (TYPE_SUFFERING + 2)
#define ATTACK_ARROW (TYPE_SUFFERING + 3)
#define ATTACK_KICK (TYPE_SUFFERING + 4)
#define ATTACK_BASH (TYPE_SUFFERING + 5)
#define ATTACK_SUNBURN (TYPE_SUFFERING + 6)
#define ATTACK_BASILISK (TYPE_SUFFERING + 7)
#define ATTACK_CREO_IGNEM (TYPE_SUFFERING + 8)
/* Affect types */
#define ATYPE_RESERVED 0
#define ATYPE_COWING_THE_BEAST 1
#define ATYPE_ENTRANCEMENT 2
#define ATYPE_NOCTURNE 3
#define ATYPE_ARMS_OF_AHRIMAN 4
#define ATYPE_BOOST 5
#define ATYPE_CELERITY 6
#define ATYPE_MASQUE_OF_DEATH 7
#define ATYPE_BLIGHT 8
#define ATYPE_SILENCE_OF_DEATH 9
#define ATYPE_EARTHMELD 10
#define ATYPE_BITUMENOUS_FLESH 11
#define ATYPE_ARMOR_OF_VITALITY 12
#define ATYPE_BESTOW_VIGOR 13
#define ATYPE_WEAKNESS 14
#define ATYPE_DISEASE 15
#define ATYPE_HINDER_VITAE 16
#define ATYPE_NIGHTSHADES 17
#define ATYPE_DIABLERIE 18
/* Attacktypes with grammar */
struct attack_hit_type {
const char *singular;
const char *plural;
};
/* Utilities */
#define GET_ACTING(ch) GET_TALENT((ch), TALENT_ACTING)
#define GET_ALERTNESS(ch) GET_TALENT((ch), TALENT_ALERTNESS)
#define GET_ATHLETICS(ch) GET_TALENT((ch), TALENT_ATHLETICS)
#define GET_BRAWL(ch) GET_TALENT((ch), TALENT_BRAWL)
#define GET_DODGE(ch) GET_TALENT((ch), TALENT_DODGE)
#define GET_EMPATHY(ch) GET_TALENT((ch), TALENT_EMPATHY)
#define GET_INTIMIDATION(ch) GET_TALENT((ch), TALENT_INTIMIDATION)
#define GET_LARCENY(ch) GET_TALENT((ch), TALENT_LARCENY)
#define GET_LEADERSHIP(ch) GET_TALENT((ch), TALENT_LEADERSHIP)
#define GET_PRIMAL_URGE(ch) GET_TALENT((ch), TALENT_PRIMAL_URGE)
#define GET_SUBTERFUGE(ch) GET_TALENT((ch), TALENT_SUBTERFUGE)
#define GET_ANIMAL_KEN(ch) GET_SKILL((ch), SKILL_ANIMAL_KEN)
#define GET_ARCHERY(ch) GET_SKILL((ch), SKILL_ARCHERY)
#define GET_CRAFTS(ch) GET_SKILL((ch), SKILL_CRAFTS)
#define GET_ETIQUETTE(ch) GET_SKILL((ch), SKILL_ETIQUETTE)
#define GET_HERBALISM(ch) GET_SKILL((ch), SKILL_HERBALISM)
#define GET_MELEE(ch) GET_SKILL((ch), SKILL_MELEE)
#define GET_MUSIC(ch) GET_SKILL((ch), SKILL_MUSIC)
#define GET_PERFORMANCE(ch) GET_SKILL((ch), SKILL_PERFORMANCE)
#define GET_RIDE(ch) GET_SKILL((ch), SKILL_RIDE)
#define GET_STEALTH(ch) GET_SKILL((ch), SKILL_STEALTH)
#define GET_SURVIVAL(ch) GET_SKILL((ch), SKILL_SURVIVAL)
#define GET_ACADEMICS(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_ACADEMICS)
#define GET_ENIGMAS(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_ENIGMAS)
#define GET_HEARHT_WISDOM(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_HEARTH_WISDOM)
#define GET_INVESTIGATION(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_INVESTIGATION)
#define GET_LAW(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_LAW)
#define GET_LINGUISTICS(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_LINGUISTICS)
#define GET_MEDICINE(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_MEDICINE)
#define GET_OCCULT(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_OCCULT)
#define GET_POLITICS(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_POLITICS)
#define GET_SCIENCE(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_SCIENCE)
#define GET_SENESCHAL(ch) GET_KNOWLEDGE((ch), KNOWLEDGE_SENESCHAL)