btmux/autom4te.cache/
btmux/doc/.svn/
btmux/event/.svn/
btmux/game/.svn/
btmux/game/bin/.svn/
btmux/game/data/.svn/
btmux/game/logs/.svn/
btmux/game/maps/
btmux/game/maps/.svn/
btmux/game/maps/.svn/prop-base/
btmux/game/maps/.svn/props/
btmux/game/maps/.svn/text-base/
btmux/game/maps/.svn/wcprops/
btmux/game/mechs/
btmux/game/mechs/.svn/
btmux/game/mechs/.svn/prop-base/
btmux/game/mechs/.svn/props/
btmux/game/mechs/.svn/text-base/
btmux/game/mechs/.svn/wcprops/
btmux/game/text/.svn/
btmux/include/.svn/
btmux/misc/
btmux/misc/.svn/
btmux/misc/.svn/prop-base/
btmux/misc/.svn/props/
btmux/misc/.svn/text-base/
btmux/misc/.svn/wcprops/
btmux/python/
btmux/python/.svn/
btmux/python/.svn/prop-base/
btmux/python/.svn/props/
btmux/python/.svn/text-base/
btmux/python/.svn/wcprops/
btmux/src/.svn/prop-base/
btmux/src/.svn/props/
btmux/src/.svn/text-base/
btmux/src/.svn/wcprops/
btmux/src/hcode/.svn/
btmux/src/hcode/btech/
btmux/src/hcode/btech/.svn/
btmux/src/hcode/btech/.svn/prop-base/
btmux/src/hcode/btech/.svn/props/
btmux/src/hcode/btech/.svn/text-base/
btmux/src/hcode/btech/.svn/wcprops/
btmux/src/hcode/include/.svn/
/*
 * $Id: btechstats.h,v 1.1.1.1 2005/01/11 21:18:03 kstevens Exp $
 *
 * Author: Markus Stenberg <fingon@iki.fi>
 *
 *  Copyright (c) 1996 Markus Stenberg
 *  Copyright (c) 1998-2002 Thomas Wouters
 *  Copyright (c) 2000-2002 Cord Awtry
 *  Copyright (c) 1999-2005 Kevin Stevens
 *       All rights reserved
 *
 * Last modified: Mon Jul 13 11:10:38 1998 fingon
 *
 */

/* Function declarations / skill list for btechstats.c */

#ifndef BTECHSTATS_H
#define BTECHSTATS_H

#include "db.h"
#include "externs.h"
#include "interface.h"
#include "config.h"
#include "powers.h"
#include "btechstats_global.h"

#ifdef BTECHSTATS_C
char *btech_charvaluetype_names[] = {
    "Char_value",
    "Char_skill",
    "Char_advantage",
    "Char_attribute"
};

char *btech_charskillflag_names[] = {
    "Athletic",
    "Mental",
    "Physical",
    "Social"
};

#endif

#define EE_NUMBER 11

#ifdef BTECHSTATS

/* *INDENT-OFF* */

struct char_value {
    char *name;
    char type;
    int flag;
    int xpthreshold;
} char_values[] = {

    {"XP", CHAR_VALUE, 0, 0},
    {"MaxXP", CHAR_VALUE, 0, 0},
    {"Type", CHAR_VALUE, 0, 0},
    {"Level", CHAR_VALUE, 0, 0},
    {"Package", CHAR_VALUE, 0, 0},
    {"Lives", CHAR_VALUE, 0, 0},
    {"Bruise", CHAR_VALUE, 0, 0},
    {"Lethal", CHAR_VALUE, 0, 0},
    {"Unused1", CHAR_VALUE, 0, 0},

/* Advantages */
    {"Ambidextrous", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Bloodname", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Combat_Sense", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Contact", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
    {"Dropship", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
    {"EI_Implant", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Exceptional_Attribute", CHAR_ADVANTAGE, CHAR_ADV_EXCEPT, 0},
    {"Extra_Edge", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
    {"Land_Grant", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
    {"Reputation", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Sixth_Sense", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Title", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
    {"Toughness", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Wealth", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
    {"Well-Connected", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
    {"Well_Equipped", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
    {"Dodge_Maneuver", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Maneuvering_Ace", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Melee_Specialist", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Pain_Resistance", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Speed_Demon", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
    {"Tech_Aptitude", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},

/* Attributes */
    {"Build", CHAR_ATTRIBUTE, 0, 0},
    {"Reflexes", CHAR_ATTRIBUTE, 0, 0},
    {"Intuition", CHAR_ATTRIBUTE, 0, 0},
    {"Learn", CHAR_ATTRIBUTE, 0, 0},
    {"Charisma", CHAR_ATTRIBUTE, 0, 0},

/* Skills themselves */
    {"Acrobatics", CHAR_SKILL, CHAR_ATHLETIC, 50},
    {"Administration", CHAR_SKILL, CHAR_MENTAL, 50},
    {"Alternate_Identity", CHAR_SKILL, CHAR_MENTAL, 50},
    {"Appraisal", CHAR_SKILL, CHAR_MENTAL, 50},
    {"Archery", CHAR_SKILL, CHAR_ATHLETIC, 50},
    {"Blade", CHAR_SKILL, CHAR_ATHLETIC | CAREER_MISC, 50},
    {"Bureaucracy", CHAR_SKILL, CHAR_SOCIAL | CAREER_MISC, 50},
    {"Climbing", CHAR_SKILL, CHAR_ATHLETIC, 50},
    {"Comm-Conventional", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 150},
    {"Comm-Hyperpulse", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
    {"Computer", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
    {"Cryptography", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
    {"Demolitions", CHAR_SKILL, CHAR_MENTAL, 50},
    {"Disguise", CHAR_SKILL, CHAR_MENTAL | CAREER_RECON, 50},
#ifndef BT_EXILE_MW3STATS
    {"Drive", CHAR_SKILL, CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
    {"Drive-Naval", CHAR_SKILL, CHAR_PHYSICAL, 3000},
#endif
    {"Engineering", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
    {"Escape_Artist", CHAR_SKILL, CHAR_PHYSICAL | CAREER_RECON, 50},
    {"Forgery", CHAR_SKILL, CHAR_MENTAL, 50},
    {"Gambling", CHAR_SKILL, CHAR_MENTAL, 50},
#ifndef BT_EXILE_MW3STATS
    {"Gunnery-Aerospace", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_AERO, 1000},
    {"Gunnery-Artillery", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_ARTILLERY, 500},
    {"Gunnery-Battlemech", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_BMECH, 3000},
    {"Gunnery-BSuit", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 500},
    {"Gunnery-Conventional", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
    {"Gunnery-Spacecraft", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_DROPSHIP, 50},
    {"Gunnery-Spotting", CHAR_SKILL, CHAR_PHYSICAL | CAREER_ARTILLERY, 50},
#else
    {"Gunnery-Artillery", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 500},
    {"Gunnery-Ballistic", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 2500},
    {"Gunnery-Flamer", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 500},
    {"Gunnery-Laser", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 2500},
    {"Gunnery-Missile", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 2500},
    {"Gunnery-Spotting", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 250},
#endif
    {"Impersonation", CHAR_SKILL, CHAR_SOCIAL, 50},
    {"Interrogation", CHAR_SKILL, CHAR_SOCIAL | CAREER_RECON, 50},
    {"Jump_Pack", CHAR_SKILL, CHAR_ATHLETIC, 50},
    {"Leadership", CHAR_SKILL, CHAR_SOCIAL | CAREER_ACADMISC, 50},
    {"Medtech", CHAR_SKILL, CHAR_MENTAL | CAREER_MISC, 300},
    {"Navigation", CHAR_SKILL, CHAR_MENTAL, 25},
    {"Negotiation", CHAR_SKILL, CHAR_SOCIAL, 25},
    {"Perception", CHAR_SKILL, CHAR_MENTAL | CAREER_RECON, 150},
#ifndef BT_EXILE_MW3STATS
    {"Piloting-Aerospace", CHAR_SKILL, CHAR_PHYSICAL | CAREER_AERO, 2500},
    {"Piloting-Battlemech", CHAR_SKILL, CHAR_PHYSICAL | CAREER_BMECH, 3000},
    {"Piloting-Battlesuit", CHAR_SKILL, CHAR_ATHLETIC, 3000},
    {"Piloting-BSuit", CHAR_SKILL, CHAR_PHYSICAL, 3000},
    {"Piloting-Spacecraft", CHAR_SKILL, CHAR_PHYSICAL | CAREER_DROPSHIP, 50},
#else
    {"Piloting-Aerospace", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_AERO, 3000},
    {"Piloting-Biped", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_BMECH, 3000},
    {"Piloting-BSuit", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
    {"Piloting-Hover", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
    {"Piloting-Naval", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
    {"Piloting-Quad", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_BMECH, 3000},
    {"Piloting-Spacecraft", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_DROPSHIP, 3000},
    {"Piloting-Tracked", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
    {"Piloting-Wheeled", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
#endif
    {"Protocol", CHAR_SKILL, CHAR_SOCIAL, 50},
    {"Quickdraw", CHAR_SKILL, CHAR_PHYSICAL, 50},
#ifdef BT_EXILE_SKILLS
    {"Research", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 100},
#endif
    {"Running", CHAR_SKILL, SK_XP | CHAR_ATHLETIC, 100},
    {"Riding", CHAR_SKILL, CHAR_ATHLETIC, 50},
    {"Scrounge", CHAR_SKILL, CHAR_SOCIAL | CAREER_TECH, 50},
    {"Security_Systems", CHAR_SKILL, CHAR_MENTAL | CAREER_RECON, 50},
    {"Seduction", CHAR_SKILL, CHAR_SOCIAL, 50},
    {"Small_Arms", CHAR_SKILL, CHAR_PHYSICAL | CAREER_MISC, 50},
    {"Stealth", CHAR_SKILL, CHAR_PHYSICAL | CAREER_RECON, 50},
    {"Strategy", CHAR_SKILL, CHAR_MENTAL | CAREER_ACADMISC, 50},
    {"Streetwise", CHAR_SKILL, CHAR_SOCIAL, 50},
    {"Support_Weapons", CHAR_SKILL, CHAR_PHYSICAL | CAREER_MISC, 50},
    {"Survival", CHAR_SKILL, CHAR_MENTAL, 50},
    {"Swimming", CHAR_SKILL, CHAR_ATHLETIC, 50},
    {"Tactics", CHAR_SKILL, CHAR_MENTAL | CAREER_ACADMISC, 50},
    {"Technician-Aerospace", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECHVEH, 50},
    {"Technician-Battlemech", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECHMECH, 600},
    {"Technician-Battlesuit", CHAR_SKILL, SK_XP | CHAR_MENTAL, 300},
    {"Technician-Electronics", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECH, 50},
    {"Technician-Mechanic", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECHVEH, 400},
    {"Technician-Weapons", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECH, 300},
    {"Technician-Spacecraft", CHAR_SKILL, SK_XP | CHAR_MENTAL, 300},
    {"Throwing_Weapons", CHAR_SKILL, CHAR_PHYSICAL, 50},
    {"Tinker", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
    {"Tracking", CHAR_SKILL, CHAR_MENTAL | CAREER_RECON, 50},
    {"Training", CHAR_SKILL, CHAR_SOCIAL, 50},
    {"Unarmed_Combat", CHAR_SKILL, CHAR_ATHLETIC | CAREER_MISC, 50},
    {"Zero-G_Operations", CHAR_SKILL, CHAR_PHYSICAL, 50},
};

/* *INDENT-ON* */

#define NUM_CHARVALUES sizeof(char_values)/sizeof(struct char_value)

char *char_values_short[NUM_CHARVALUES];

/*************************************************************************/

char *char_levels[] = {
    "Green",
    "Regular",
    "Veteran",
    "Elite",
    "Historical"
};

#define NUM_CHARLEVELS 5

char *char_types[] = {
    "Inner_Sphere",
    "Clan_MechWarrior",
    "Clan_Aerospace",
    "Clan_Elemental",
    "Clan_Freebirth",
    "Clan_Other"
};

#define NUM_CHARTYPES 6

char *char_packages[] = {
    "None",
    "Primary_Clan_Warrior",
    "Secondary_Clan_Warrior",
    "Secondar_Clan_Pilot",
    "Clan_Elemental",
    "Basic_Academy",
    "Advanced_Academy",
    "Basic_University",
    "Advanced_University"
};


#define NUM_CHARPACKAGES 9

/* 
    XP is added only if the player is online AND
    the skill is marked SK_XP OR the last xp-gain is 30 seconds or more ago.
 */

typedef struct {
    dbref dbref;
    unsigned char values[NUM_CHARVALUES];
    time_t last_use[NUM_CHARVALUES];
    int xp[NUM_CHARVALUES];
} PSTATS;

#endif

#include "p.btechstats.h"

#endif				/* BTECHSTATS_H */