-// 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_HIT_TIME = 54;
-const float STAT_DAMAGE_DEALT_TOTAL = 55;
-const float STAT_TYPEHIT_TIME = 56;
-const float STAT_LAYED_MINES = 57;
-const float STAT_HAGAR_LOAD = 58;
-const float STAT_SWITCHINGWEAPON = 59;
-const float STAT_SUPERWEAPONS_FINISHED = 60;
-const float STAT_VEHICLESTAT_HEALTH = 61;
-const float STAT_VEHICLESTAT_SHIELD = 62;
-const float STAT_VEHICLESTAT_ENERGY = 63;
-const float STAT_VEHICLESTAT_AMMO1 = 64;
-const float STAT_VEHICLESTAT_RELOAD1 = 65;
-const float STAT_VEHICLESTAT_AMMO2 = 66;
-const float STAT_VEHICLESTAT_RELOAD2 = 67;
-const float STAT_VEHICLESTAT_W2MODE = 68;
-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;
-const float STAT_OK_AMMO_CHARGE = 85;
-const float STAT_OK_AMMO_CHARGEPOOL = 86;
-const float STAT_CTF_FLAGSTATUS = 87;
-// 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?
// 96 empty?
// 97 empty?
// 98 empty?
-// 99 empty?
-
+const int STAT_ROUNDLOST = 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?
-// 120 empty?
-// 121 empty?
-// 122 empty?
-// 123 empty?
-// 124 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;
+const int STAT_WEAPONSINMAP = 120;
+const int STAT_WEAPONSINMAP2 = 121;
+const int STAT_WEAPONSINMAP3 = 122;
+const int STAT_BUFF_TIME = 123;
+const int STAT_CTF_FLAGSTATUS = 124;
// 125 empty?
// 126 empty?
// 127 empty?
// 137 empty?
// 138 empty?
// 139 empty?
-// 140 empty?
-// 141 empty?
-// 142 empty?
-// 143 empty?
-// 144 empty?
-// 145 empty?
-// 146 empty?
-// 147 empty?
-// 148 empty?
-// 149 empty?
-// 150 empty?
-// 151 empty?
-// 152 empty?
-// 153 empty?
-// 154 empty?
-// 155 empty?
+// 140 reserved
+// 141 reserved
+// 142 reserved
+// 143 reserved
+// 144 reserved
+// 145 reserved
+// 146 reserved
+// 147 reserved
+// 148 reserved
+// 149 reserved
+// 150 reserved
+// 151 reserved
+// 152 reserved
+// 153 reserved
+// 154 reserved
+// 155 reserved
// 156 empty?
// 157 empty?
// 158 empty?
// 163 empty?
// 164 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?
+const int STAT_MULTIJUMP_DODGING = 166;
+const int STAT_MULTIJUMP_MAXSPEED = 167;
+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;
// 194 empty?
// 195 empty?
-// 196 empty?
-// 197 empty?
-// 198 empty?
-// 199 empty?
-// 200 empty?
-// 201 empty?
-// 202 empty?
-// 203 empty?
-// 204 empty?
-// 205 empty?
-// 206 empty?
-// 207 empty?
-// 208 empty?
-// 209 empty?
-// 210 empty?
-// 211 empty?
-// 212 empty?
-// 213 empty?
-// 214 empty?
-// 215 empty?
-// 216 empty?
-// 217 empty?
-// 218 empty?
-// 219 empty?
-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_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