/* * $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 */