#ifndef STATS_H #define STATS_H // Full list of all stat constants, included in a single location for easy reference // 255 is the current limit (MAX_CL_STATS - 1), engine will need to be modified if you wish to add more stats const int MAX_CL_STATS = 256; // -Wdouble-declaration // const int STAT_HEALTH = 0; // 1 empty? const int STAT_WEAPON = 2; // -Wdouble-declaration // const int STAT_AMMO = 3; // -Wdouble-declaration // const int STAT_ARMOR = 4; // -Wdouble-declaration // const int STAT_WEAPONFRAME = 5; // -Wdouble-declaration // const int STAT_SHELLS = 6; // -Wdouble-declaration // const int STAT_NAILS = 7; // -Wdouble-declaration // const int STAT_ROCKETS = 8; // -Wdouble-declaration // const int STAT_CELLS = 9; // -Wdouble-declaration // const int STAT_ACTIVEWEAPON = 10; // -Wdouble-declaration // const int STAT_TOTALSECRETS = 11; // -Wdouble-declaration // const int STAT_TOTALMONSTERS = 12; // -Wdouble-declaration // const int STAT_SECRETS = 13; // -Wdouble-declaration // const int STAT_MONSTERS = 14; // -Wdouble-declaration // const int STAT_ITEMS = 15; // -Wdouble-declaration // const int STAT_VIEWHEIGHT = 16; // 17 empty? // 18 empty? // 19 empty? // 20 empty? const int STAT_VIEWZOOM = 21; // 22 empty? // 23 empty? // 24 empty? // 25 empty? // 26 empty? // 27 empty? // 28 empty? // 29 empty? // 30 empty? // 31 empty? enum { STAT_WEAPONS = 32, STAT_WEAPONS2, STAT_WEAPONS3, STAT_WEAPONSINMAP, STAT_WEAPONSINMAP2, STAT_WEAPONSINMAP3, STAT_PL_VIEW_OFS1, STAT_PL_VIEW_OFS2, STAT_PL_VIEW_OFS3, STAT_PL_CROUCH_VIEW_OFS1, STAT_PL_CROUCH_VIEW_OFS2, STAT_PL_CROUCH_VIEW_OFS3, STAT_PL_MIN1, STAT_PL_MIN2, STAT_PL_MIN3, STAT_PL_MAX1, STAT_PL_MAX2, STAT_PL_MAX3, STAT_PL_CROUCH_MIN1, STAT_PL_CROUCH_MIN2, STAT_PL_CROUCH_MIN3, STAT_PL_CROUCH_MAX1, STAT_PL_CROUCH_MAX2, STAT_PL_CROUCH_MAX3, STAT_LAST_VECTOR }; const int REGISTERED_STATS = 6; REGISTER_STAT(KH_KEYS, int) /** weapon requested to switch to; next WANTED weapon (for HUD) */ REGISTER_STAT(SWITCHWEAPON, int) REGISTER_STAT(GAMESTARTTIME, float) REGISTER_STAT(STRENGTH_FINISHED, float) REGISTER_STAT(INVINCIBLE_FINISHED, float) /** arc heat in [0,1] */ REGISTER_STAT(ARC_HEAT, float) enum { STAT_FIRST_MAIN = (STAT_LAST_VECTOR - 1) + REGISTERED_STATS, STAT_PRESSED_KEYS, /** this stat could later contain some other bits of info, like, more server-side particle config */ STAT_ALLOW_OLDVORTEXBEAM, STAT_FUEL, STAT_NB_METERSTART, /** compressShotOrigin */ STAT_SHOTORG, STAT_LEADLIMIT, STAT_WEAPON_CLIPLOAD, STAT_WEAPON_CLIPSIZE, STAT_VORTEX_CHARGE, STAT_LAST_PICKUP, STAT_HUD, STAT_VORTEX_CHARGEPOOL, STAT_HIT_TIME, STAT_DAMAGE_DEALT_TOTAL, STAT_TYPEHIT_TIME, STAT_LAYED_MINES, STAT_HAGAR_LOAD, STAT_SWITCHINGWEAPON, STAT_SUPERWEAPONS_FINISHED, STAT_VEHICLESTAT_HEALTH, STAT_VEHICLESTAT_SHIELD, STAT_VEHICLESTAT_ENERGY, STAT_VEHICLESTAT_AMMO1, STAT_VEHICLESTAT_RELOAD1, STAT_VEHICLESTAT_AMMO2, STAT_VEHICLESTAT_RELOAD2, STAT_VEHICLESTAT_W2MODE, STAT_NADE_TIMER, STAT_SECRETS_TOTAL, STAT_SECRETS_FOUND, STAT_RESPAWN_TIME, STAT_ROUNDSTARTTIME, STAT_MONSTERS_TOTAL, STAT_MONSTERS_KILLED, STAT_BUFFS, STAT_NADE_BONUS, STAT_NADE_BONUS_TYPE, STAT_NADE_BONUS_SCORE, STAT_HEALING_ORB, STAT_HEALING_ORB_ALPHA, STAT_PLASMA, STAT_OK_AMMO_CHARGE, STAT_OK_AMMO_CHARGEPOOL, STAT_FROZEN, STAT_REVIVE_PROGRESS, STAT_ROUNDLOST, STAT_BUFF_TIME, STAT_CTF_FLAGSTATUS, STAT_MULTIJUMP_DODGING, STAT_MULTIJUMP_MAXSPEED, STAT_GAMEPLAYFIX_UPVELOCITYCLEARSONGROUND, STAT_BUGRIGS_REVERSE_STOPPING, STAT_BUGRIGS_REVERSE_SPINNING, STAT_BUGRIGS_CAR_JUMPING, STAT_BUGRIGS_FRICTION_AIR, STAT_BUGRIGS_STEER, STAT_BUGRIGS_SPEED_POW, STAT_BUGRIGS_SPEED_REF, STAT_BUGRIGS_ACCEL, STAT_BUGRIGS_FRICTION_BRAKE, STAT_BUGRIGS_AIR_STEERING, STAT_BUGRIGS_FRICTION_FLOOR, STAT_BUGRIGS_REVERSE_SPEEDING, STAT_BUGRIGS_PLANAR_MOVEMENT, STAT_BUGRIGS_ANGLE_SMOOTHING, STAT_BUGRIGS, STAT_GAMEPLAYFIX_STEPDOWN, STAT_MOVEVARS_JUMPSTEP, STAT_NOSTEP, STAT_GAMEPLAYFIX_UNSTICKPLAYERS, STAT_GAMEPLAYFIX_STEPMULTIPLETIMES, STAT_GAMEPLAYFIX_DOWNTRACEONGROUND, STAT_GAMEPLAYFIX_EASIERWATERJUMP, STAT_MOVEVARS_FRICTION_SLICK, STAT_MOVEVARS_FRICTION_ONLAND, STAT_MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS, STAT_MOVEVARS_TRACK_CANJUMP, STAT_DOUBLEJUMP, STAT_MOVEVARS_CL_TRACK_CANJUMP, STAT_MULTIJUMP_ADD, STAT_MULTIJUMP_SPEED, STAT_MULTIJUMP, STAT_DODGING_TIMEOUT, STAT_DODGING_WALL, STAT_DODGING_UP_SPEED, STAT_DODGING_RAMP_TIME, STAT_DODGING_HEIGHT_THRESHOLD, STAT_DODGING_DISTANCE_THRESHOLD, STAT_DODGING_HORIZ_SPEED, STAT_DODGING_DELAY, STAT_DODGING_FROZEN_NO_DOUBLETAP, STAT_DODGING_HORIZ_SPEED_FROZEN, STAT_DODGING, STAT_DODGING_FROZEN, STAT_JETPACK_MAXSPEED_UP, STAT_JETPACK_MAXSPEED_SIDE, STAT_JETPACK_FUEL, STAT_JETPACK_ANTIGRAVITY, STAT_JETPACK_ACCEL_SIDE, STAT_JETPACK_ACCEL_UP, STAT_MOVEVARS_HIGHSPEED, STAT_LAST_MAIN }; const int STAT_LAST = STAT_LAST_MAIN + 5; /* The following stats change depending on the gamemode, so can share the same ID */ // freeze tag, clan arena, jailbreak enum { STAT_REDALIVE = STAT_LAST_MAIN, STAT_BLUEALIVE, STAT_YELLOWALIVE, STAT_PINKALIVE, }; // domination enum { STAT_DOM_TOTAL_PPS = STAT_LAST_MAIN, STAT_DOM_PPS_RED, STAT_DOM_PPS_BLUE, STAT_DOM_PPS_YELLOW, STAT_DOM_PPS_PINK, }; // vip enum { STAT_VIP = STAT_LAST_MAIN, STAT_VIP_RED, STAT_VIP_BLUE, STAT_VIP_YELLOW, STAT_VIP_PINK, }; // key hunt enum { STAT_KH_REDKEY_TEAM = STAT_LAST_MAIN, STAT_KH_BLUEKEY_TEAM, STAT_KH_YELLOWKEY_TEAM, STAT_KH_PINKKEY_TEAM, }; #define ASSERT_LESS(name, var, const) noref int name[(const - var + 1)]; ASSERT_LESS(stat_limit, STAT_LAST, 220) const int STAT_MOVEVARS_AIRACCEL_QW_STRETCHFACTOR = 220; const int STAT_MOVEVARS_AIRCONTROL_PENALTY = 221; const int STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW = 222; const int STAT_MOVEVARS_AIRSTRAFEACCEL_QW = 223; const int STAT_MOVEVARS_AIRCONTROL_POWER = 224; const int STAT_MOVEFLAGS = 225; const int STAT_MOVEVARS_WARSOWBUNNY_AIRFORWARDACCEL = 226; const int STAT_MOVEVARS_WARSOWBUNNY_ACCEL = 227; const int STAT_MOVEVARS_WARSOWBUNNY_TOPSPEED = 228; const int STAT_MOVEVARS_WARSOWBUNNY_TURNACCEL = 229; const int STAT_MOVEVARS_WARSOWBUNNY_BACKTOSIDERATIO = 230; const int STAT_MOVEVARS_AIRSTOPACCELERATE = 231; const int STAT_MOVEVARS_AIRSTRAFEACCELERATE = 232; const int STAT_MOVEVARS_MAXAIRSTRAFESPEED = 233; const int STAT_MOVEVARS_AIRCONTROL = 234; // -Wdouble-declaration // const int STAT_FRAGLIMIT = 235; // -Wdouble-declaration // const int STAT_TIMELIMIT = 236; const int STAT_MOVEVARS_WALLFRICTION = 237; const int STAT_MOVEVARS_FRICTION = 238; const int STAT_MOVEVARS_WATERFRICTION = 239; // -Wdouble-declaration // const int STAT_MOVEVARS_TICRATE = 240; // -Wdouble-declaration // const int STAT_MOVEVARS_TIMESCALE = 241; // -Wdouble-declaration // const int STAT_MOVEVARS_GRAVITY = 242; const int STAT_MOVEVARS_STOPSPEED = 243; const int STAT_MOVEVARS_MAXSPEED = 244; const int STAT_MOVEVARS_SPECTATORMAXSPEED = 245; const int STAT_MOVEVARS_ACCELERATE = 246; const int STAT_MOVEVARS_AIRACCELERATE = 247; const int STAT_MOVEVARS_WATERACCELERATE = 248; const int STAT_MOVEVARS_ENTGRAVITY = 249; const int STAT_MOVEVARS_JUMPVELOCITY = 250; const int STAT_MOVEVARS_EDGEFRICTION = 251; const int STAT_MOVEVARS_MAXAIRSPEED = 252; const int STAT_MOVEVARS_STEPHEIGHT = 253; const int STAT_MOVEVARS_AIRACCEL_QW = 254; const int STAT_MOVEVARS_AIRACCEL_SIDEWAYS_FRICTION = 255; #endif