]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/teamplay.qc
Merge remote-tracking branch 'origin/master' into samual/combined_updates
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / teamplay.qc
index 2914744c0a5ef8f5c9acfc0ea0cb974f39d98be4..e332e55ed80de06b3b4ce73e6fa2f063d1f4d8d0 100644 (file)
@@ -115,19 +115,14 @@ void InitGameplayMode()
                MUTATOR_ADD(gamemode_lms);
        }
 
-       if(g_arena)
-       {
-               fraglimit_override = autocvar_g_arena_point_limit;
-               leadlimit_override = autocvar_g_arena_point_leadlimit;
-               MUTATOR_ADD(gamemode_arena);
-       }
-
        if(g_ca)
        {
                ActivateTeamplay();
                fraglimit_override = autocvar_g_ca_point_limit;
                leadlimit_override = autocvar_g_ca_point_leadlimit;
                MUTATOR_ADD(gamemode_ca);
+               if(autocvar_g_ca_team_spawns)
+                       have_team_spawns = -1; // request team spawns
        }
 
        if(g_keyhunt)
@@ -144,6 +139,8 @@ void InitGameplayMode()
                fraglimit_override = autocvar_g_freezetag_point_limit;
                leadlimit_override = autocvar_g_freezetag_point_leadlimit;
                MUTATOR_ADD(gamemode_freezetag);
+               if(autocvar_g_freezetag_team_spawns)
+                       have_team_spawns = -1; // request team spawns
        }
 
        if(g_assault)
@@ -198,6 +195,13 @@ void InitGameplayMode()
                MUTATOR_ADD(gamemode_keepaway);
        }
 
+       if(g_invasion)
+       {
+               timelimit_override = 0; // no timelimit in invasion, round based
+               fraglimit_override = autocvar_g_invasion_round_limit;
+               MUTATOR_ADD(gamemode_invasion);
+       }
+
        if(teamplay)
                entcs_init();
 
@@ -237,6 +241,12 @@ void InitGameplayMode()
                else
                        g_race_qualifying = 0;
        }
+       
+       if(g_invasion)
+       {
+               inv_maxrounds = cvar("fraglimit");
+               cvar_set("fraglimit", "0");
+       }
 
        if(g_race || g_cts)
        {
@@ -280,7 +290,7 @@ string getwelcomemessage(void)
        }
        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");