if(g_race)
{
-
if(autocvar_g_race_teams)
{
ActivateTeamplay();
qualifying_override = autocvar_g_race_qualifying_timelimit_override;
fraglimit_override = autocvar_g_race_laps_limit;
leadlimit_override = 0; // currently not supported by race
+
+ MUTATOR_ADD(gamemode_race);
}
if(g_cts)
g_race_qualifying = 1;
fraglimit_override = 0;
leadlimit_override = 0;
+ MUTATOR_ADD(gamemode_cts);
}
if(g_nexball)
if(g_invasion)
{
- timelimit_override = 0; // no timelimit in invasion, round based
- fraglimit_override = autocvar_g_invasion_round_limit;
+ fraglimit_override = autocvar_g_invasion_point_limit;
+ if(autocvar_g_invasion_teams >= 2)
+ {
+ ActivateTeamplay();
+ if(autocvar_g_invasion_team_spawns)
+ have_team_spawns = -1; // request team spawns
+ }
MUTATOR_ADD(gamemode_invasion);
}
else
g_race_qualifying = 0;
}
-
- if(g_invasion)
- {
- inv_maxrounds = cvar("fraglimit");
- cvar_set("fraglimit", "0");
- }
if(g_race || g_cts)
- {
- if(g_race_qualifying)
- independent_players = 1;
-
- ScoreRules_race();
- }
+ if(g_race_qualifying)
+ independent_players = 1;
InitializeEntity(world, default_delayedinit, INITPRIO_GAMETYPE_FALLBACK);
}
}
if(autocvar_g_start_weapon_laser == 0)
modifications = strcat(modifications, ", No start weapons");
- if(autocvar_sv_gravity < 800)
+ if(cvar("sv_gravity") < stof(cvar_defstring("sv_gravity")))
modifications = strcat(modifications, ", Low gravity");
if(g_cloaked && !g_cts)
modifications = strcat(modifications, ", Cloaked");
else
{
// cover anything else by treating it like tdm with no teams spawned
- if(g_race)
- dm = race_teams;
- else
- dm = 2;
+ dm = 2;
ret_float = dm;
MUTATOR_CALLHOOK(GetTeamCount);