]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cl_client.qc
allow only 5 suicides every 5 seconds in CTS. No killmessage (centerprint) needed...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cl_client.qc
index c9cea7d214659dcb749685f26da1b0b6fbbb19cb..a19aba97f9e2d5ff7bea5203625e64c04a8d5c12 100644 (file)
@@ -1304,7 +1304,11 @@ void ClientKill_TeamChange (float targetteam) // 0 = don't change, -1 = auto
 
     if(g_cts) // allow an instant kill in CTS
     {
-        ClientKill_Now();
+        if(self.killcnt < 5) // 5 kills in 5 seconds allowed
+        {
+            self.killcnt += 1;
+            ClientKill_Now();
+        }
         return;
     }
 
@@ -2723,7 +2727,7 @@ void PlayerPreThink (void)
                                if(frametime)
                                        player_anim();
                                button_pressed = (self.BUTTON_ATCK || self.BUTTON_JUMP || self.BUTTON_ATCK2 || self.BUTTON_HOOK || self.BUTTON_USE);
-                               force_respawn = (g_lms || (g_ca) || autocvar_g_forced_respawn);
+                               force_respawn = (g_lms || g_ca || g_cts || autocvar_g_forced_respawn);
                                if (self.deadflag == DEAD_DYING)
                                {
                                        if(force_respawn)
@@ -2873,6 +2877,9 @@ void PlayerPreThink (void)
                if(g_nexball)
                        nexball_setstatus();
 
+        if(g_cts)
+            self.killcnt = max(0, self.killcount - sys_frametime);
+
                self.dmg_team = max(0, self.dmg_team - autocvar_g_teamdamage_resetspeed * frametime);
 
                //self.angles_y=self.v_angle_y + 90;   // temp