]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cl_client.qc
move the antispam to a better place :P
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cl_client.qc
index 84e7a310a66de08a7dade24de05915223a846c6d..d1720a4d4cfc4728c58995d35c044ca07c002adb 100644 (file)
@@ -1231,7 +1231,13 @@ void ClientKill_Now_TeamChange()
                JoinBestTeam( self, FALSE, FALSE );
        }
        else if(self.killindicator_teamchange == -2)
+       {
+               if(g_ca)
+                       self.caplayer = 0;
+               if(blockSpectators)
+                       sprint(self, strcat("^7You have to become a player within the next ", ftos(autocvar_g_maxplayers_spectator_blocktime), " seconds, otherwise you will be kicked, because spectators aren't allowed at this time!\n"));
                PutObserverInServer();
+       }
        else
                SV_ChangeTeam(self.killindicator_teamchange - 1);
 }
@@ -1300,14 +1306,16 @@ void ClientKill_TeamChange (float targetteam) // 0 = don't change, -1 = auto, -2
        if(g_race_qualifying)
                killtime = 0;
 
-       // flood control it
-       killtime = max(killtime, self.clientkill_nexttime - time);
-       self.clientkill_nexttime = time + killtime + autocvar_g_balance_kill_antispam;
-
        self.killindicator_teamchange = targetteam;
 
        if(!self.killindicator)
        {
+               if(self.modelindex && self.deadflag == DEAD_NO)
+               {
+                       killtime = max(killtime, self.clientkill_nexttime - time);
+                       self.clientkill_nexttime = time + killtime + autocvar_g_balance_kill_antispam;
+               }
+
                if(killtime <= 0 || !self.modelindex || self.deadflag != DEAD_NO)
                {
                        ClientKill_Now();