]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
This seems to fix team modes in campaign. Yay.
authorFruitieX <fruitiex@gmail.com>
Sun, 5 Dec 2010 21:39:15 +0000 (23:39 +0200)
committerFruitieX <fruitiex@gmail.com>
Sun, 5 Dec 2010 21:39:15 +0000 (23:39 +0200)
qcsrc/server/bot/bot.qc
qcsrc/server/teamplay.qc

index 581e3f0c758050dae69b33c9c983a98a4ba735c4..e237160a2d7b77c42b6330001b4076e72a0c19f1 100644 (file)
@@ -173,7 +173,8 @@ void bot_setnameandstuff()
        if(argv(4) != "" && stof(argv(4)) >= 0) bot_pants = argv(4);
        else bot_pants = ftos(floor(random() * 15));
 
-       self.bot_forced_team = stof(argv(5));
+    if(!autocvar_g_campaign) // no forced teams in campaign
+        self.bot_forced_team = stof(argv(5));
 
        prio = 6;
 
index d47115e8fe6cf37f67ce3d005460d45f5e708521..fa02ea24b5e6c51e1dcbeef568ce8f9d41303d8c 100644 (file)
@@ -842,6 +842,13 @@ float FindSmallestTeam(entity pl, float ignore_pl)
        // c1...c4 now have counts of each team
        // figure out which is smallest, giving priority to the team the player is already on as a tie-breaker
 
+    if(autocvar_g_campaign)
+    {
+        entity e;
+        FOR_EACH_REALCLIENT(e)
+            if(e.team != COLOR_TEAM1) // player is forced to the red team in campaign
+                ++c1; // player will join the red team, join bots accordingly
+    }
        // 2 gives priority to what team you're already on, 1 goes in order
        // 2 doesn't seem to work though...
        balance_type = 1;