.float pain_frame; //"
.float crouch; // Crouching or not?
-const .float superweapons_finished = _STAT(SUPERWEAPONS_FINISHED);
+.float superweapons_finished; // NOTE: this field is used only by map entities, it does not directly apply the superweapons stat
const .float air_finished = _STAT(AIR_FINISHED);
.float cnt; // used in too many places
.float alivetime; // time of being alive
.float motd_actived_time; // used for both motd and campaign_message
-bool nJoinAllowed(entity this, entity ignore);
+int nJoinAllowed(entity this, entity ignore);
.float spawnshieldtime;
.float item_spawnshieldtime;
float bot_waypoints_for_items;
-.float attack_finished_for[Weapons_MAX * MAX_WEAPONSLOTS];
+.float attack_finished_for[REGISTRY_MAX(Weapons) * MAX_WEAPONSLOTS];
.float attack_finished_single[MAX_WEAPONSLOTS];
#if INDEPENDENT_ATTACK_FINISHED
#define ATTACK_FINISHED_FOR(ent, w, slot) ((ent).(attack_finished_for[((w) - WEP_FIRST) * MAX_WEAPONSLOTS + (slot)]))
bool radar_showennemies;
-.float weapon_load[Weapons_MAX];
+.float weapon_load[REGISTRY_MAX(Weapons)];
.int ammo_none; // used by the reloading system, must always be 0
.int clip_load;
.int old_clip_load;