empiremud/cnf/
empiremud/doc/
empiremud/lib/boards/
empiremud/lib/etc/
empiremud/lib/misc/
empiremud/lib/plralias/F-J/
empiremud/lib/plralias/K-O/
empiremud/lib/plralias/P-T/
empiremud/lib/plralias/U-Z/
empiremud/lib/plrobjs/
empiremud/lib/plrobjs/F-J/
empiremud/lib/plrobjs/K-O/
empiremud/lib/plrobjs/P-T/
empiremud/lib/plrobjs/U-Z/
empiremud/lib/world/
empiremud/lib/world/mob/
empiremud/lib/world/obj/
empiremud/log/
/* ************************************************************************
*   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)