-// 33 empty?
-// 34 empty?
-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 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?
-const int STAT_ROUNDLOST = 99;
+/** weapon requested to switch to; next WANTED weapon (for HUD) */
+REGISTER_STAT(SWITCHWEAPON, int)
+
+enum {
+ STAT_FIRST_MAIN = (STAT_LAST_VECTOR - 1) + 2,
+
+ STAT_GAMESTARTTIME,
+ STAT_STRENGTH_FINISHED,
+ STAT_INVINCIBLE_FINISHED,
+ STAT_ARC_HEAT,
+ 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;