00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef BTECHSTATS_H
00020 #define BTECHSTATS_H
00021
00022 #include "db.h"
00023 #include "externs.h"
00024 #include "interface.h"
00025 #include "config.h"
00026 #include "powers.h"
00027 #include "btechstats_global.h"
00028
00029 #ifdef BTECHSTATS_C
00030 char *btech_charvaluetype_names[] = {
00031 "Char_value",
00032 "Char_skill",
00033 "Char_advantage",
00034 "Char_attribute"
00035 };
00036
00037 char *btech_charskillflag_names[] = {
00038 "Athletic",
00039 "Mental",
00040 "Physical",
00041 "Social"
00042 };
00043
00044 #endif
00045
00046 #define EE_NUMBER 11
00047
00048 #ifdef BTECHSTATS
00049
00050
00051
00052 struct char_value {
00053 char *name;
00054 char type;
00055 int flag;
00056 int xpthreshold;
00057 } char_values[] = {
00058
00059 {"XP", CHAR_VALUE, 0, 0},
00060 {"MaxXP", CHAR_VALUE, 0, 0},
00061 {"Type", CHAR_VALUE, 0, 0},
00062 {"Level", CHAR_VALUE, 0, 0},
00063 {"Package", CHAR_VALUE, 0, 0},
00064 {"Lives", CHAR_VALUE, 0, 0},
00065 {"Bruise", CHAR_VALUE, 0, 0},
00066 {"Lethal", CHAR_VALUE, 0, 0},
00067 {"Unused1", CHAR_VALUE, 0, 0},
00068
00069
00070 {"Ambidextrous", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00071 {"Bloodname", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00072 {"Combat_Sense", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00073 {"Contact", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
00074 {"Dropship", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
00075 {"EI_Implant", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00076 {"Exceptional_Attribute", CHAR_ADVANTAGE, CHAR_ADV_EXCEPT, 0},
00077 {"Extra_Edge", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
00078 {"Land_Grant", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
00079 {"Reputation", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00080 {"Sixth_Sense", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00081 {"Title", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
00082 {"Toughness", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00083 {"Wealth", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
00084 {"Well-Connected", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
00085 {"Well_Equipped", CHAR_ADVANTAGE, CHAR_ADV_VALUE, 0},
00086 {"Dodge_Maneuver", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00087 {"Maneuvering_Ace", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00088 {"Melee_Specialist", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00089 {"Pain_Resistance", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00090 {"Speed_Demon", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00091 {"Tech_Aptitude", CHAR_ADVANTAGE, CHAR_ADV_BOOL, 0},
00092
00093
00094 {"Build", CHAR_ATTRIBUTE, 0, 0},
00095 {"Reflexes", CHAR_ATTRIBUTE, 0, 0},
00096 {"Intuition", CHAR_ATTRIBUTE, 0, 0},
00097 {"Learn", CHAR_ATTRIBUTE, 0, 0},
00098 {"Charisma", CHAR_ATTRIBUTE, 0, 0},
00099
00100
00101 {"Acrobatics", CHAR_SKILL, CHAR_ATHLETIC, 50},
00102 {"Administration", CHAR_SKILL, CHAR_MENTAL, 50},
00103 {"Alternate_Identity", CHAR_SKILL, CHAR_MENTAL, 50},
00104 {"Appraisal", CHAR_SKILL, CHAR_MENTAL, 50},
00105 {"Archery", CHAR_SKILL, CHAR_ATHLETIC, 50},
00106 {"Blade", CHAR_SKILL, CHAR_ATHLETIC | CAREER_MISC, 50},
00107 {"Bureaucracy", CHAR_SKILL, CHAR_SOCIAL | CAREER_MISC, 50},
00108 {"Climbing", CHAR_SKILL, CHAR_ATHLETIC, 50},
00109 {"Comm-Conventional", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 150},
00110 {"Comm-Hyperpulse", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
00111 {"Computer", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
00112 {"Cryptography", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
00113 {"Demolitions", CHAR_SKILL, CHAR_MENTAL, 50},
00114 {"Disguise", CHAR_SKILL, CHAR_MENTAL | CAREER_RECON, 50},
00115 #ifndef BT_EXILE_MW3STATS
00116 {"Drive", CHAR_SKILL, CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
00117 {"Drive-Naval", CHAR_SKILL, CHAR_PHYSICAL, 3000},
00118 #endif
00119 {"Engineering", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
00120 {"Escape_Artist", CHAR_SKILL, CHAR_PHYSICAL | CAREER_RECON, 50},
00121 {"Forgery", CHAR_SKILL, CHAR_MENTAL, 50},
00122 {"Gambling", CHAR_SKILL, CHAR_MENTAL, 50},
00123 #ifndef BT_EXILE_MW3STATS
00124 {"Gunnery-Aerospace", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_AERO, 1000},
00125 {"Gunnery-Artillery", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_ARTILLERY, 500},
00126 {"Gunnery-Battlemech", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_BMECH, 3000},
00127 {"Gunnery-BSuit", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 500},
00128 {"Gunnery-Conventional", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
00129 {"Gunnery-Spacecraft", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_DROPSHIP, 50},
00130 {"Gunnery-Spotting", CHAR_SKILL, CHAR_PHYSICAL | CAREER_ARTILLERY, 50},
00131 #else
00132 {"Gunnery-Artillery", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 500},
00133 {"Gunnery-Ballistic", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 2500},
00134 {"Gunnery-Flamer", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 500},
00135 {"Gunnery-Laser", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 2500},
00136 {"Gunnery-Missile", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 2500},
00137 {"Gunnery-Spotting", CHAR_SKILL, SK_XP | CHAR_PHYSICAL, 250},
00138 #endif
00139 {"Impersonation", CHAR_SKILL, CHAR_SOCIAL, 50},
00140 {"Interrogation", CHAR_SKILL, CHAR_SOCIAL | CAREER_RECON, 50},
00141 {"Jump_Pack", CHAR_SKILL, CHAR_ATHLETIC, 50},
00142 {"Leadership", CHAR_SKILL, CHAR_SOCIAL | CAREER_ACADMISC, 50},
00143 {"Medtech", CHAR_SKILL, CHAR_MENTAL | CAREER_MISC, 300},
00144 {"Navigation", CHAR_SKILL, CHAR_MENTAL, 25},
00145 {"Negotiation", CHAR_SKILL, CHAR_SOCIAL, 25},
00146 {"Perception", CHAR_SKILL, CHAR_MENTAL | CAREER_RECON, 150},
00147 #ifndef BT_EXILE_MW3STATS
00148 {"Piloting-Aerospace", CHAR_SKILL, CHAR_PHYSICAL | CAREER_AERO, 2500},
00149 {"Piloting-Battlemech", CHAR_SKILL, CHAR_PHYSICAL | CAREER_BMECH, 3000},
00150 {"Piloting-Battlesuit", CHAR_SKILL, CHAR_ATHLETIC, 3000},
00151 {"Piloting-BSuit", CHAR_SKILL, CHAR_PHYSICAL, 3000},
00152 {"Piloting-Spacecraft", CHAR_SKILL, CHAR_PHYSICAL | CAREER_DROPSHIP, 50},
00153 #else
00154 {"Piloting-Aerospace", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_AERO, 3000},
00155 {"Piloting-Biped", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_BMECH, 3000},
00156 {"Piloting-BSuit", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
00157 {"Piloting-Hover", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
00158 {"Piloting-Naval", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
00159 {"Piloting-Quad", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_BMECH, 3000},
00160 {"Piloting-Spacecraft", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_DROPSHIP, 3000},
00161 {"Piloting-Tracked", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
00162 {"Piloting-Wheeled", CHAR_SKILL, SK_XP | CHAR_PHYSICAL | CAREER_CAVALRY, 3000},
00163 #endif
00164 {"Protocol", CHAR_SKILL, CHAR_SOCIAL, 50},
00165 {"Quickdraw", CHAR_SKILL, CHAR_PHYSICAL, 50},
00166 {"Research", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 100},
00167 {"Running", CHAR_SKILL, SK_XP | CHAR_ATHLETIC, 100},
00168 {"Riding", CHAR_SKILL, CHAR_ATHLETIC, 50},
00169 {"Scrounge", CHAR_SKILL, CHAR_SOCIAL | CAREER_TECH, 50},
00170 {"Security_Systems", CHAR_SKILL, CHAR_MENTAL | CAREER_RECON, 50},
00171 {"Seduction", CHAR_SKILL, CHAR_SOCIAL, 50},
00172 {"Small_Arms", CHAR_SKILL, CHAR_PHYSICAL | CAREER_MISC, 50},
00173 {"Stealth", CHAR_SKILL, CHAR_PHYSICAL | CAREER_RECON, 50},
00174 {"Strategy", CHAR_SKILL, CHAR_MENTAL | CAREER_ACADMISC, 50},
00175 {"Streetwise", CHAR_SKILL, CHAR_SOCIAL, 50},
00176 {"Support_Weapons", CHAR_SKILL, CHAR_PHYSICAL | CAREER_MISC, 50},
00177 {"Survival", CHAR_SKILL, CHAR_MENTAL, 50},
00178 {"Swimming", CHAR_SKILL, CHAR_ATHLETIC, 50},
00179 {"Tactics", CHAR_SKILL, CHAR_MENTAL | CAREER_ACADMISC, 50},
00180 {"Technician-Aerospace", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECHVEH, 50},
00181 {"Technician-Battlemech", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECHMECH, 600},
00182 {"Technician-Battlesuit", CHAR_SKILL, SK_XP | CHAR_MENTAL, 300},
00183 {"Technician-Electronics", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECH, 50},
00184 {"Technician-Mechanic", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECHVEH, 400},
00185 {"Technician-Weapons", CHAR_SKILL, SK_XP | CHAR_MENTAL | CAREER_TECH, 300},
00186 {"Technician-Spacecraft", CHAR_SKILL, SK_XP | CHAR_MENTAL, 300},
00187 {"Throwing_Weapons", CHAR_SKILL, CHAR_PHYSICAL, 50},
00188 {"Tinker", CHAR_SKILL, CHAR_MENTAL | CAREER_TECH, 50},
00189 {"Tracking", CHAR_SKILL, CHAR_MENTAL | CAREER_RECON, 50},
00190 {"Training", CHAR_SKILL, CHAR_SOCIAL, 50},
00191 {"Unarmed_Combat", CHAR_SKILL, CHAR_ATHLETIC | CAREER_MISC, 50},
00192 {"Zero-G_Operations", CHAR_SKILL, CHAR_PHYSICAL, 50},
00193 };
00194
00195
00196
00197 #define NUM_CHARVALUES sizeof(char_values)/sizeof(struct char_value)
00198
00199 char *char_values_short[NUM_CHARVALUES];
00200
00201
00202
00203 char *char_levels[] = {
00204 "Green",
00205 "Regular",
00206 "Veteran",
00207 "Elite",
00208 "Historical"
00209 };
00210
00211 #define NUM_CHARLEVELS 5
00212
00213 char *char_types[] = {
00214 "Inner_Sphere",
00215 "Clan_MechWarrior",
00216 "Clan_Aerospace",
00217 "Clan_Elemental",
00218 "Clan_Freebirth",
00219 "Clan_Other"
00220 };
00221
00222 #define NUM_CHARTYPES 6
00223
00224 char *char_packages[] = {
00225 "None",
00226 "Primary_Clan_Warrior",
00227 "Secondary_Clan_Warrior",
00228 "Secondar_Clan_Pilot",
00229 "Clan_Elemental",
00230 "Basic_Academy",
00231 "Advanced_Academy",
00232 "Basic_University",
00233 "Advanced_University"
00234 };
00235
00236
00237 #define NUM_CHARPACKAGES 9
00238
00239
00240
00241
00242
00243
00244 typedef struct {
00245 dbref dbref;
00246 unsigned char values[NUM_CHARVALUES];
00247 time_t last_use[NUM_CHARVALUES];
00248 int xp[NUM_CHARVALUES];
00249 } PSTATS;
00250
00251 #endif
00252
00253 #include "p.btechstats.h"
00254
00255 #endif