]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/teamplay.qc
mutator system: cleanup of hooks
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / teamplay.qc
index 1c07a602f61fa78efdd49df1b07d34838fda6a51..805711a4bc074f35a7a7365a5f7ab9fbb205e093 100644 (file)
@@ -208,6 +208,9 @@ void InitGameplayMode()
        fraglimit_override = cvar("fraglimit_override");
        leadlimit_override = cvar("leadlimit_override");
 
+       if(cvar("g_dodging"))
+               MUTATOR_ADD(dodging);
+       
        if(g_dm)
        {
                game = GAME_DEATHMATCH;
@@ -312,7 +315,7 @@ void InitGameplayMode()
                ActivateTeamplay();
                fraglimit_override = cvar("g_keyhunt_point_limit");
                leadlimit_override = cvar("g_keyhunt_point_leadlimit");
-               kh_init();
+               MUTATOR_ADD(gamemode_keyhunt);
        }
 
        if(g_assault)
@@ -489,11 +492,12 @@ void PrintWelcomeMessage(entity pl)
        }
 
 :normal
-       modifications = "";
+       ret_string = "";
+       MUTATOR_CALLHOOK(BuildMutatorsPrettyString);
+       modifications = ret_string;
+       
        if(g_minstagib)
                modifications = strcat(modifications, ", MinstaGib");
-       if(g_nixnex)
-               modifications = strcat(modifications, ", NixNex");
        if(g_weaponarena)
        {
                if(g_weaponarena_random)
@@ -647,13 +651,15 @@ void CheckAllowedTeams (entity for_whom)
        else
        {
                // cover anything else by treating it like tdm with no teams spawned
-               if(g_keyhunt)
-                       dm = kh_teams;
-               else if(g_race)
+               if(g_race)
                        dm = race_teams;
                else
                        dm = 2;
 
+               ret_float = dm;
+               MUTATOR_CALLHOOK(GetTeamCount);
+               dm = ret_float;
+
                if(dm >= 4)
                        c1 = c2 = c3 = c4 = 0;
                else if(dm >= 3)