-// Full list of all stat constants, icnluded in a single location for easy reference
+#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 float MAX_CL_STATS = 256;
-const float STAT_HEALTH = 0;
+const int MAX_CL_STATS = 256;
+// -Wdouble-declaration
+// const int STAT_HEALTH = 0;
// 1 empty?
-const float STAT_WEAPON = 2;
-const float STAT_AMMO = 3;
-const float STAT_ARMOR = 4;
-const float STAT_WEAPONFRAME = 5;
-const float STAT_SHELLS = 6;
-const float STAT_NAILS = 7;
-const float STAT_ROCKETS = 8;
-const float STAT_CELLS = 9;
-const float STAT_ACTIVEWEAPON = 10;
-const float STAT_TOTALSECRETS = 11;
-const float STAT_TOTALMONSTERS = 12;
-const float STAT_SECRETS = 13;
-const float STAT_MONSTERS = 14;
-const float STAT_ITEMS = 15;
-const float STAT_VIEWHEIGHT = 16;
+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 float STAT_VIEWZOOM = 21;
+const int STAT_VIEWZOOM = 21;
// 22 empty?
// 23 empty?
// 24 empty?
// 29 empty?
// 30 empty?
// 31 empty?
-const float STAT_KH_KEYS = 32;
-const float STAT_CTF_STATE = 33;
+const int STAT_KH_KEYS = 32;
+const int STAT_CTF_STATE = 33;
// 34 empty?
-const float STAT_WEAPONS = 35;
-const float STAT_SWITCHWEAPON = 36;
-const float STAT_GAMESTARTTIME = 37;
-const float STAT_STRENGTH_FINISHED = 38;
-const float STAT_INVINCIBLE_FINISHED = 39;
+const int STAT_WEAPONS = 35;
+const int STAT_SWITCHWEAPON = 36;
+const int STAT_GAMESTARTTIME = 37;
+const int STAT_STRENGTH_FINISHED = 38;
+const int STAT_INVINCIBLE_FINISHED = 39;
// 40 empty?
-const float STAT_ARC_HEAT = 41;
-const float STAT_PRESSED_KEYS = 42;
-const float STAT_ALLOW_OLDVORTEXBEAM = 43; // this stat could later contain some other bits of info, like, more server-side particle config
-const float STAT_FUEL = 44;
-const float STAT_NB_METERSTART = 45;
-const float STAT_SHOTORG = 46; // compressShotOrigin
-const float STAT_LEADLIMIT = 47;
-const float STAT_WEAPON_CLIPLOAD = 48;
-const float STAT_WEAPON_CLIPSIZE = 49;
-const float STAT_VORTEX_CHARGE = 50;
-const float STAT_LAST_PICKUP = 51;
-const float STAT_HUD = 52;
-const float STAT_VORTEX_CHARGEPOOL = 53;
-const float STAT_DAMAGE_DEALT_TOTAL = 54;
-const float STAT_TYPEHIT_TIME = 55;
-const float STAT_LAYED_MINES = 56;
-const float STAT_HAGAR_LOAD = 57;
-const float STAT_SWITCHINGWEAPON = 58;
-const float STAT_SUPERWEAPONS_FINISHED = 59;
-const float STAT_VEHICLESTAT_HEALTH = 60;
-const float STAT_VEHICLESTAT_SHIELD = 61;
-const float STAT_VEHICLESTAT_ENERGY = 62;
-const float STAT_VEHICLESTAT_AMMO1 = 63;
-const float STAT_VEHICLESTAT_RELOAD1 = 64;
-const float STAT_VEHICLESTAT_AMMO2 = 65;
-const float STAT_VEHICLESTAT_RELOAD2 = 66;
-const float STAT_VEHICLESTAT_W2MODE = 67;
-// 68 empty?
-const float STAT_NADE_TIMER = 69;
-const float STAT_SECRETS_TOTAL = 70;
-const float STAT_SECRETS_FOUND = 71;
-const float STAT_RESPAWN_TIME = 72;
-const float STAT_ROUNDSTARTTIME = 73;
-const float STAT_WEAPONS2 = 74;
-const float STAT_WEAPONS3 = 75;
-const float STAT_MONSTERS_TOTAL = 76;
-const float STAT_MONSTERS_KILLED = 77;
-const float STAT_BUFFS = 78;
-const float STAT_NADE_BONUS = 79;
-const float STAT_NADE_BONUS_TYPE = 80;
-const float STAT_NADE_BONUS_SCORE = 81;
-const float STAT_HEALING_ORB = 82;
-const float STAT_HEALING_ORB_ALPHA = 83;
-const float STAT_PLASMA = 84;
-// 85 empty?
-// 86 empty?
-// 87 empty?
-// 88 empty?
+const int STAT_ARC_HEAT = 41;
+const int STAT_PRESSED_KEYS = 42;
+const int STAT_ALLOW_OLDVORTEXBEAM = 43; // this stat could later contain some other bits of info, like, more server-side particle config
+const int STAT_FUEL = 44;
+const int STAT_NB_METERSTART = 45;
+const int STAT_SHOTORG = 46; // compressShotOrigin
+const int STAT_LEADLIMIT = 47;
+const int STAT_WEAPON_CLIPLOAD = 48;
+const int STAT_WEAPON_CLIPSIZE = 49;
+const int STAT_VORTEX_CHARGE = 50;
+const int STAT_LAST_PICKUP = 51;
+const int STAT_HUD = 52;
+const int STAT_VORTEX_CHARGEPOOL = 53;
+const int STAT_HIT_TIME = 54;
+const int STAT_DAMAGE_DEALT_TOTAL = 55;
+const int STAT_TYPEHIT_TIME = 56;
+const int STAT_LAYED_MINES = 57;
+const int STAT_HAGAR_LOAD = 58;
+const int STAT_SWITCHINGWEAPON = 59;
+const int STAT_SUPERWEAPONS_FINISHED = 60;
+const int STAT_VEHICLESTAT_HEALTH = 61;
+const int STAT_VEHICLESTAT_SHIELD = 62;
+const int STAT_VEHICLESTAT_ENERGY = 63;
+const int STAT_VEHICLESTAT_AMMO1 = 64;
+const int STAT_VEHICLESTAT_RELOAD1 = 65;
+const int STAT_VEHICLESTAT_AMMO2 = 66;
+const int STAT_VEHICLESTAT_RELOAD2 = 67;
+const int STAT_VEHICLESTAT_W2MODE = 68;
+const int STAT_NADE_TIMER = 69;
+const int STAT_SECRETS_TOTAL = 70;
+const int STAT_SECRETS_FOUND = 71;
+const int STAT_RESPAWN_TIME = 72;
+const int STAT_ROUNDSTARTTIME = 73;
+const int STAT_WEAPONS2 = 74;
+const int STAT_WEAPONS3 = 75;
+const int STAT_MONSTERS_TOTAL = 76;
+const int STAT_MONSTERS_KILLED = 77;
+const int STAT_BUFFS = 78;
+const int STAT_NADE_BONUS = 79;
+const int STAT_NADE_BONUS_TYPE = 80;
+const int STAT_NADE_BONUS_SCORE = 81;
+const int STAT_HEALING_ORB = 82;
+const int STAT_HEALING_ORB_ALPHA = 83;
+const int STAT_PLASMA = 84;
+const int STAT_OK_AMMO_CHARGE = 85;
+const int STAT_OK_AMMO_CHARGEPOOL = 86;
+const int STAT_FROZEN = 87;
+const int STAT_REVIVE_PROGRESS = 88;
// 89 empty?
-// 90 empty?
-// 91 empty?
-// 92 empty?
-// 93 empty?
-// 94 empty?
-// 95 empty?
-// 96 empty?
-// 97 empty?
-// 98 empty?
-// 99 empty?
+const float STAT_ARMOR_LARGE_TIME = 90;
+const float STAT_HEALTH_MEGA_TIME = 91;
+const float STAT_INVISIBLE_TIME = 92;
+const float STAT_SPEED_TIME = 93;
+const float STAT_EXTRALIFE_TIME = 94;
+const float STAT_STRENGTH_TIME = 95;
+const float STAT_SHIELD_TIME = 96;
+const float STAT_FUELREGEN_TIME = 97;
+const float STAT_JETPACK_TIME = 98;
+const float STAT_SUPERWEAPONS_TIME = 99;
/* The following stats change depending on the gamemode, so can share the same ID */
// IDs 100 to 104 reserved for gamemodes
// freeze tag, clan arena, jailbreak
-const float STAT_REDALIVE = 100;
-const float STAT_BLUEALIVE = 101;
-const float STAT_YELLOWALIVE = 102;
-const float STAT_PINKALIVE = 103;
+const int STAT_REDALIVE = 100;
+const int STAT_BLUEALIVE = 101;
+const int STAT_YELLOWALIVE = 102;
+const int STAT_PINKALIVE = 103;
// domination
-const float STAT_DOM_TOTAL_PPS = 100;
-const float STAT_DOM_PPS_RED = 101;
-const float STAT_DOM_PPS_BLUE = 102;
-const float STAT_DOM_PPS_YELLOW = 103;
-const float STAT_DOM_PPS_PINK = 104;
+const int STAT_DOM_TOTAL_PPS = 100;
+const int STAT_DOM_PPS_RED = 101;
+const int STAT_DOM_PPS_BLUE = 102;
+const int STAT_DOM_PPS_YELLOW = 103;
+const int STAT_DOM_PPS_PINK = 104;
// vip
-const float STAT_VIP = 100;
-const float STAT_VIP_RED = 101;
-const float STAT_VIP_BLUE = 102;
-const float STAT_VIP_YELLOW = 103;
-const float STAT_VIP_PINK = 104;
+const int STAT_VIP = 100;
+const int STAT_VIP_RED = 101;
+const int STAT_VIP_BLUE = 102;
+const int STAT_VIP_YELLOW = 103;
+const int STAT_VIP_PINK = 104;
// key hunt
-const float STAT_KH_REDKEY_TEAM = 100;
-const float STAT_KH_BLUEKEY_TEAM = 101;
-const float STAT_KH_YELLOWKEY_TEAM = 102;
-const float STAT_KH_PINKKEY_TEAM = 103;
+const int STAT_KH_REDKEY_TEAM = 100;
+const int STAT_KH_BLUEKEY_TEAM = 101;
+const int STAT_KH_YELLOWKEY_TEAM = 102;
+const int STAT_KH_PINKKEY_TEAM = 103;
/* Gamemode-specific stats end here */
-
-const float STAT_FROZEN = 105;
-const float STAT_REVIVE_PROGRESS = 106;
-// 107 empty?
-// 108 empty?
-// 109 empty?
-// 110 empty?
-// 111 empty?
-// 112 empty?
-// 113 empty?
-// 114 empty?
-// 115 empty?
-// 116 empty?
-// 117 empty?
-// 118 empty?
-// 119 empty?
+const int STAT_PL_VIEW_OFS1 = 105;
+const int STAT_PL_VIEW_OFS2 = 106;
+const int STAT_PL_VIEW_OFS3 = 107;
+const int STAT_PL_MIN1 = 108;
+const int STAT_PL_MIN2 = 109;
+const int STAT_PL_MIN3 = 110;
+const int STAT_PL_MAX1 = 111;
+const int STAT_PL_MAX2 = 112;
+const int STAT_PL_MAX3 = 113;
+const int STAT_PL_CROUCH_MIN1 = 114;
+const int STAT_PL_CROUCH_MIN2 = 115;
+const int STAT_PL_CROUCH_MIN3 = 116;
+const int STAT_PL_CROUCH_MAX1 = 117;
+const int STAT_PL_CROUCH_MAX2 = 118;
+const int STAT_PL_CROUCH_MAX3 = 119;
+const int STAT_PL_CROUCH_VIEW_OFS1 = 117;
+const int STAT_PL_CROUCH_VIEW_OFS2 = 118;
+const int STAT_PL_CROUCH_VIEW_OFS3 = 119;
// 120 empty?
// 121 empty?
// 122 empty?
// 165 empty?
// 166 empty?
// 167 empty?
-// 168 empty?
-// 169 empty?
-// 170 empty?
-// 171 empty?
-// 172 empty?
-// 173 empty?
-// 174 empty?
-// 175 empty?
-// 176 empty?
-// 177 empty?
-// 178 empty?
-// 179 empty?
-// 180 empty?
-// 181 empty?
-// 182 empty?
-// 183 empty?
-// 184 empty?
-// 185 empty?
-// 186 empty?
-// 187 empty?
-// 188 empty?
-// 189 empty?
-// 190 empty?
-// 191 empty?
-// 192 empty?
-// 193 empty?
-// 194 empty?
-// 195 empty?
-// 196 empty?
-// 197 empty?
-// 198 empty?
-// 199 empty?
-// 200 empty?
-const float STAT_DODGING_TIMEOUT = 201;
-const float STAT_DODGING_WALL = 202;
-const float STAT_DODGING_UP_SPEED = 203;
-const float STAT_DODGING_RAMP_TIME = 204;
-const float STAT_DODGING_HEIGHT_THRESHOLD = 205;
-const float STAT_DODGING_DISTANCE_THRESHOLD = 206;
-const float STAT_DODGING_HORIZ_SPEED = 207;
-const float STAT_DODGING_DELAY = 208;
-const float STAT_DODGING_FROZEN_NO_DOUBLETAP = 209;
-const float STAT_DODGING_HORIZ_SPEED_FROZEN = 210;
-const float STAT_DODGING = 211;
-const float STAT_DODGING_FROZEN = 212;
-const float STAT_JETPACK_MAXSPEED_UP = 213;
-const float STAT_JETPACK_MAXSPEED_SIDE = 214;
-const float STAT_JETPACK_FUEL = 215;
-const float STAT_JETPACK_ANTIGRAVITY = 216;
-const float STAT_JETPACK_ACCEL_SIDE = 217;
-const float STAT_JETPACK_ACCEL_UP = 218;
-const float STAT_MOVEVARS_HIGHSPEED = 219;
-const float STAT_MOVEVARS_AIRACCEL_QW_STRETCHFACTOR = 220;
-const float STAT_MOVEVARS_AIRCONTROL_PENALTY = 221;
-const float STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW = 222;
-const float STAT_MOVEVARS_AIRSTRAFEACCEL_QW = 223;
-const float STAT_MOVEVARS_AIRCONTROL_POWER = 224;
-const float STAT_MOVEFLAGS = 225;
-const float STAT_MOVEVARS_WARSOWBUNNY_AIRFORWARDACCEL = 226;
-const float STAT_MOVEVARS_WARSOWBUNNY_ACCEL = 227;
-const float STAT_MOVEVARS_WARSOWBUNNY_TOPSPEED = 228;
-const float STAT_MOVEVARS_WARSOWBUNNY_TURNACCEL = 229;
-const float STAT_MOVEVARS_WARSOWBUNNY_BACKTOSIDERATIO = 230;
-const float STAT_MOVEVARS_AIRSTOPACCELERATE = 231;
-const float STAT_MOVEVARS_AIRSTRAFEACCELERATE = 232;
-const float STAT_MOVEVARS_MAXAIRSTRAFESPEED = 233;
-const float STAT_MOVEVARS_AIRCONTROL = 234;
-const float STAT_FRAGLIMIT = 235;
-const float STAT_TIMELIMIT = 236;
-const float STAT_MOVEVARS_WALLFRICTION = 237;
-const float STAT_MOVEVARS_FRICTION = 238;
-const float STAT_MOVEVARS_WATERFRICTION = 239;
-const float STAT_MOVEVARS_TICRATE = 240;
-const float STAT_MOVEVARS_TIMESCALE = 241;
-const float STAT_MOVEVARS_GRAVITY = 242;
-const float STAT_MOVEVARS_STOPSPEED = 243;
-const float STAT_MOVEVARS_MAXSPEED = 244;
-const float STAT_MOVEVARS_SPECTATORMAXSPEED = 245;
-const float STAT_MOVEVARS_ACCELERATE = 246;
-const float STAT_MOVEVARS_AIRACCELERATE = 247;
-const float STAT_MOVEVARS_WATERACCELERATE = 248;
-const float STAT_MOVEVARS_ENTGRAVITY = 249;
-const float STAT_MOVEVARS_JUMPVELOCITY = 250;
-const float STAT_MOVEVARS_EDGEFRICTION = 251;
-const float STAT_MOVEVARS_MAXAIRSPEED = 252;
-const float STAT_MOVEVARS_STEPHEIGHT = 253;
-const float STAT_MOVEVARS_AIRACCEL_QW = 254;
-const float STAT_MOVEVARS_AIRACCEL_SIDEWAYS_FRICTION = 255;
+const int STAT_GAMEPLAYFIX_UPVELOCITYCLEARSONGROUND = 168;
+const int STAT_BUGRIGS_REVERSE_STOPPING = 169;
+const int STAT_BUGRIGS_REVERSE_SPINNING = 170;
+const int STAT_BUGRIGS_CAR_JUMPING = 171;
+const int STAT_BUGRIGS_FRICTION_AIR = 172;
+const int STAT_BUGRIGS_STEER = 173;
+const int STAT_BUGRIGS_SPEED_POW = 174;
+const int STAT_BUGRIGS_SPEED_REF = 175;
+const int STAT_BUGRIGS_ACCEL = 176;
+const int STAT_BUGRIGS_FRICTION_BRAKE = 177;
+const int STAT_BUGRIGS_AIR_STEERING = 178;
+const int STAT_BUGRIGS_FRICTION_FLOOR = 179;
+const int STAT_BUGRIGS_REVERSE_SPEEDING = 180;
+const int STAT_BUGRIGS_PLANAR_MOVEMENT = 181;
+const int STAT_BUGRIGS_ANGLE_SMOOTHING = 182;
+const int STAT_BUGRIGS = 183;
+const int STAT_GAMEPLAYFIX_STEPDOWN = 184;
+const int STAT_MOVEVARS_JUMPSTEP = 185;
+const int STAT_NOSTEP = 186;
+const int STAT_GAMEPLAYFIX_UNSTICKPLAYERS = 187;
+const int STAT_GAMEPLAYFIX_STEPMULTIPLETIMES = 188;
+const int STAT_GAMEPLAYFIX_DOWNTRACEONGROUND = 189;
+const int STAT_GAMEPLAYFIX_EASIERWATERJUMP = 190;
+const int STAT_MOVEVARS_FRICTION_SLICK = 191;
+const int STAT_MOVEVARS_FRICTION_ONLAND = 192;
+const int STAT_MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS = 193;
+const int STAT_MOVEVARS_JUMPSPEEDCAP_MAX = 194;
+const int STAT_MOVEVARS_JUMPSPEEDCAP_MIN = 195;
+const int STAT_DOUBLEJUMP = 196;
+const int STAT_MOVEVARS_TRACK_CANJUMP = 197;
+const int STAT_MULTIJUMP_ADD = 198;
+const int STAT_MULTIJUMP_SPEED = 199;
+const int STAT_MULTIJUMP = 200;
+const int STAT_DODGING_TIMEOUT = 201;
+const int STAT_DODGING_WALL = 202;
+const int STAT_DODGING_UP_SPEED = 203;
+const int STAT_DODGING_RAMP_TIME = 204;
+const int STAT_DODGING_HEIGHT_THRESHOLD = 205;
+const int STAT_DODGING_DISTANCE_THRESHOLD = 206;
+const int STAT_DODGING_HORIZ_SPEED = 207;
+const int STAT_DODGING_DELAY = 208;
+const int STAT_DODGING_FROZEN_NO_DOUBLETAP = 209;
+const int STAT_DODGING_HORIZ_SPEED_FROZEN = 210;
+const int STAT_DODGING = 211;
+const int STAT_DODGING_FROZEN = 212;
+const int STAT_JETPACK_MAXSPEED_UP = 213;
+const int STAT_JETPACK_MAXSPEED_SIDE = 214;
+const int STAT_JETPACK_FUEL = 215;
+const int STAT_JETPACK_ANTIGRAVITY = 216;
+const int STAT_JETPACK_ACCEL_SIDE = 217;
+const int STAT_JETPACK_ACCEL_UP = 218;
+const int STAT_MOVEVARS_HIGHSPEED = 219;
+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