#define MAX_SKILLS 15
#define MAX_TALENTS 15
#define MAX_KNOW 15
/* Attributes */
#define ATTR_FORCE 0 /* Force */
#define ATTR_INTUI 1 /* Intuition */
#define ATTR_SPEED 2 /* Speed */
#define ATTR_AGILI 3 /* Agility */
#define ATTR_RESIL 4 /* Resilience */
#define ATTR_LUCK 5 /* Luck */
#define ATTR_PERSON 6 /* Personality */
#define ATTR_WILLP 7 /* Willpower */
#define MAX_ATTRIBS 8 /* Max */
/* Statistics */
#define STAT_HP 0 /* Hitpoints */
#define STAT_HP_MAX 1 /* Max HP */
#define STAT_MANA 2 /* Mana */
#define STAT_MANA_MAX 3 /* Max Mana */
#define STAT_FATIGUE 4 /* Fatigue */
#define STAT_FATIGUE_MAX 5 /* Max Fati */
#define STAT_STAMINA 6 /* Stamina */
#define STAT_STAMINA_MAX 7 /* Max Stamina */
#define MAX_STATS 8 /* Max Stats */
/* Races */
#define RACE_PROTO 0 /* Grey Mass of Protoplasm ie unclassed */
#define RACE_NORD 1 /* Nords */
#define RACE_FELAIN 2 /* Felains, ie cat people */
#define RACE_DWARF 3 /* Dwarves, short warriors */
#define RACE_HUMAN 4 /* Ye plain ole Humans */
#define RACE_GORIAN 5 /* Gorians, Reptilians */
#define RACE_WOOD_ELF 6 /* Wood Elves */
#define RACE_HIGH_ELF 7 /* High Elves */
#define RACE_DARK_ELF 8 /* Dark Elves */
#define RACE_MAX 9 /* Total # of races */
/* Classes */
#define CLASS_PROTO 0 /* No class */
#define CLASS_THIEF 1 /* Thief Class */
#define CLASS_BURGLAR 2 /* Thief Sub: Adept at Picklock */
#define CLASS_ASSASSIN 3 /* Thief Sub: Adept at Critical */
#define CLASS_ROGUE 4 /* Thief Sub: Adept at Combat */
#define CLASS_ACROBAT 5 /* Thief Sub: Adept at Acrobatics */
#define CLASS_BARD 6 /* Thief Sub: Adept at Music/Morale */
#define CLASS_WARRIOR 7 /* Ye ole Warrior */
#define CLASS_KNIGHT 8 /* Warrior Sub: Adept at Defense */
#define CLASS_RANGER 9 /* Warrior Sub: Adept at Tracking */
#define CLASS_ARCHER 10 /* Warrior Sub: Adept at Ranged */
#define CLASS_MONK 11 /* Warrior Sub: Adept at Unnamed */
#define CLASS_BARBARIAN 12 /* Warrior Sub: Adept at Survival */
#define CLASS_MAGE 13 /* Ye Ole Mage */
#define CLASS_SOURCERER 14 /* Mage Sub: Unable to regen Mana */
#define CLASS_HEALER 15 /* Mage Sub: Adept at Healing */
#define CLASS_BATTLE_MAGE 16 /* Mage Sub: Adept with Weapons */
#define CLASS_SPELLSWORD 17 /* Mage Sub: Can wear Armor w/cast */
#define CLASS_NIGHTBLADE 18 /* Mage Sub: Thief/Mage Subclass */
#define CLASS_MAX 19 /* Total # of Classes */
/* Sizes */
#define NO_SIZE 0
#define SIZE_1FT 1
#define SIZE_2FT 2
#define SIZE_3FT 3
#define SIZE_4FT 4
#define SIZE_5FT 5
#define SIZE_6FT 6
#define SIZE_7FT 7
#define SIZE_8FT 8
#define SIZE_9FT 9
/* Various Bitflags for Restrictions */
#define NO_RESTRICTIONS 0 /* Used for 0 */
#define NO_ARMOR A
#define NO_LEATHER B
#define NO_CHAIN C
#define NO_PLATE D
#define NO_SPECIAL E
#define NO_SM_SHIELD F
#define NO_MD_SHIELD G
#define NO_LG_SHIELD H
/************************
* Player Tables *
************************/
struct race_type
{
char * name;
char * sname;
sh_int race_number;
long eq_restrictions;
sh_int max_view_day;
sh_int max_view_night;
sh_int max_view_dusk;
sh_int size_range[2];
};
struct class_type
{
char * name;
sh_int class_number;
sh_int start_health;
sh_int hit_dice_size;
long eq_restrictions;
};
struct abilities_type
{
char * name;
sh_int number;
sh_int modifier;
};
extern struct race_type race_table[];
extern struct class_type class_table[];
extern struct abilities_type talent_table[];
extern struct abilities_type skill_table[];
extern struct abilities_type knowledge_table[];
/* Various Declares */
int return_race (int prace);
int return_class (int pclass);
int find_race (const char *name);
int find_class (const char *name);
int find_knowledge (const char *name);
int find_skill (const char *name);
int find_talent (const char *name);
void cmd_train (D_MOBILE * ch, char *arg);