]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
selectteam: refuse changing to the team you're already on
authorRudolf Polzer <divverent@xonotic.org>
Sun, 11 Sep 2011 20:08:04 +0000 (22:08 +0200)
committerRudolf Polzer <divverent@xonotic.org>
Sun, 11 Sep 2011 20:08:04 +0000 (22:08 +0200)
qcsrc/server/clientcommands.qc

index 13cddc0d22cf87a7734b7d8ec77dbd07ba92d792..f89d383631c453c35f2d64ee2fd0d82528d56a6e 100644 (file)
@@ -277,13 +277,25 @@ void SV_ParseClientCommand(string s) {
                } else if(lockteams) {
                        sprint( self, "^7The game has already begun, you must wait until the next map to be able to join a team.\n");
                } else if( argv(1) == "red" ) {
-                       ClientKill_TeamChange(COLOR_TEAM1);
+                       if(self.team != COLOR_TEAM1 || self.deadflag != DEAD_NO)
+                               ClientKill_TeamChange(COLOR_TEAM1);
+                       else
+                               sprint( self, "^7You already are on that team.\n");
                } else if( argv(1) == "blue" ) {
-                       ClientKill_TeamChange(COLOR_TEAM2);
+                       if(self.team != COLOR_TEAM2 || self.deadflag != DEAD_NO)
+                               ClientKill_TeamChange(COLOR_TEAM2);
+                       else
+                               sprint( self, "^7You already are on that team.\n");
                } else if( argv(1) == "yellow" ) {
-                       ClientKill_TeamChange(COLOR_TEAM3);
+                       if(self.team != COLOR_TEAM3 || self.deadflag != DEAD_NO)
+                               ClientKill_TeamChange(COLOR_TEAM3);
+                       else
+                               sprint( self, "^7You already are on that team.\n");
                } else if( argv(1) == "pink" ) {
-                       ClientKill_TeamChange(COLOR_TEAM4);
+                       if(self.team != COLOR_TEAM4 || self.deadflag != DEAD_NO)
+                               ClientKill_TeamChange(COLOR_TEAM4);
+                       else
+                               sprint( self, "^7You already are on that team.\n");
                } else if( argv(1) == "auto" ) {
                        ClientKill_TeamChange(-1);
                } else {