]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/clientcommands.qc
Use Xonotic's system for selecting teams and spectating
[voretournament/voretournament.git] / data / qcsrc / server / clientcommands.qc
index 369005ad5b07cac7d29d1e60ba7cb62224bf2ef3..3d52a01922a2d38419a5703878b45cc47f20a260 100644 (file)
@@ -166,9 +166,8 @@ void SV_ParseClientCommand(string s) {
                }\r
                if(self.version != cvar("gameversion"))\r
                {\r
-                       self.classname = "observer";\r
                        self.version_mismatch = 1;\r
-                       PutClientInServer();\r
+                       ClientKill_TeamChange(-2); // observe\r
                } else if(cvar("g_campaign") || cvar("g_balance_teams") || cvar("g_balance_teams_force")) {\r
                        //JoinBestTeam(self, FALSE, TRUE);\r
                } else if(teams_matter && !cvar("sv_spectate")) {\r
@@ -221,16 +220,7 @@ void SV_ParseClientCommand(string s) {
                        }\r
                }\r
                if(self.classname == "player" && cvar("sv_spectate") == 1) {\r
-                       if(self.flagcarried)\r
-                               DropFlag(self.flagcarried, world, world);\r
-                       kh_Key_DropAll(self, TRUE);\r
-                       WaypointSprite_PlayerDead();\r
-                       self.classname = "observer";\r
-                       if(g_ca)\r
-                               self.caplayer = 0;\r
-                       if(blockSpectators)\r
-                               sprint(self, strcat("^7You have to become a player within the next ", ftos(cvar("g_maxplayers_spectator_blocktime")), " seconds, otherwise you will be kicked, because spectators aren't allowed at this time!\n"));\r
-                       PutClientInServer();\r
+                       ClientKill_TeamChange(-2); // observe\r
                }\r
        } else if(cmd == "join") {\r
                if not(self.flags & FL_CLIENT)\r
@@ -264,15 +254,15 @@ void SV_ParseClientCommand(string s) {
                } else if(lockteams) {\r
                        sprint( self, "^7The game has already begun, you must wait until the next map to be able to join a team.\n");\r
                } else if( argv(1) == "red" ) {\r
-                       DoTeamChange(COLOR_TEAM1);\r
+                       ClientKill_TeamChange(COLOR_TEAM1);\r
                } else if( argv(1) == "blue" ) {\r
-                       DoTeamChange(COLOR_TEAM2);\r
+                       ClientKill_TeamChange(COLOR_TEAM2);\r
                } else if( argv(1) == "yellow" ) {\r
-                       DoTeamChange(COLOR_TEAM3);\r
+                       ClientKill_TeamChange(COLOR_TEAM3);\r
                } else if( argv(1) == "pink" ) {\r
-                       DoTeamChange(COLOR_TEAM4);\r
+                       ClientKill_TeamChange(COLOR_TEAM4);\r
                } else if( argv(1) == "auto" ) {\r
-                       DoTeamChange(-1);\r
+                       ClientKill_TeamChange(-1);\r
                } else {\r
                        sprint( self, strcat( "selectteam none/red/blue/yellow/pink/auto - \"", argv(1), "\" not recognised\n" ) );\r
                }\r