bool autocvar__endmatch;
bool autocvar_g_use_ammunition;
bool autocvar_g_jetpack;
+int autocvar_g_warmup;
bool autocvar_g_warmup_allguns;
bool autocvar_g_warmup_allow_timeout;
#define autocvar_g_weaponarena cvar_string("g_weaponarena")
int autocvar_timelimit_overtimes;
float autocvar_timelimit_suddendeath;
+bool autocvar_sv_mapformat_is_quake3;
+bool autocvar_sv_mapformat_is_quake2;
+
float checkrules_equality;
float checkrules_suddendeathwarning;
float checkrules_suddendeathend;
string modname;
-string gamemode_name;
+string autocvar__sv_vote_gametype_custom;
+bool gametype_custom_enabled;
+string loaded_gametype_custom_string;
string record_type;
float want_weapon(entity weaponinfo, float allguns); // WEAPONTODO: what still needs done?
float g_grappling_hook;
-float warmup_stage;
+int warmup_stage;
bool sv_ready_restart_after_countdown;
void DumpStats(float final);
-bool MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundmax, float goodcontents, float badcontents, float badsurfaceflags, int attempts, float maxaboveground, float minviewdistance);
+bool MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundmax, float goodcontents, float badcontents, float badsurfaceflags, int attempts, float maxaboveground, float minviewdistance, bool frompos);
float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance);
void readlevelcvars();
.vector dropped_origin;
-void droptofloor(entity this);
+void DropToFloor_QC_DelayedInit(entity this);
IntrusiveList g_moveables;
STATIC_INIT(g_moveables) { g_moveables = IL_NEW(); }
+
+bool observe_blocked_if_eliminated = false; // forbids eliminated players from observing