]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'origin/master' into fruitiex/ctsfix
authorFruitieX <fruitiex@gmail.com>
Sat, 11 Dec 2010 20:03:15 +0000 (22:03 +0200)
committerFruitieX <fruitiex@gmail.com>
Sat, 11 Dec 2010 20:03:15 +0000 (22:03 +0200)
1  2 
qcsrc/server/cl_client.qc

index 6ac29a7f83d1af4ae2878d08f85e08d9a41252b0,d1720a4d4cfc4728c58995d35c044ca07c002adb..fac1c0e57111079104c270b3f7201c0d2ae66694
@@@ -1272,11 -1272,6 +1272,11 @@@ void KillIndicator_Think(
                ClientKill_Now(); // no oldself needed
                return;
        }
 +    else if(g_cts)
 +    {
 +        self.nextthink = time + 1;
 +        self.cnt -= 1;
 +    }
        else
        {
                if(self.cnt <= 10)
@@@ -1308,19 -1303,19 +1308,19 @@@ void ClientKill_TeamChange (float targe
        entity e;
        killtime = autocvar_g_balance_kill_delay;
  
 -      if(g_race_qualifying)
 +      if(g_race_qualifying || g_cts)
                killtime = 0;
  
-       if(self.modelindex && self.deadflag == DEAD_NO)
-       {
-               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.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();
@@@ -1381,14 -1376,20 +1381,14 @@@ void ClientKill (void
                ClientKill_TeamChange(0);
  }
  
 -void CTS_ClientKill_Think (void)
 +void CTS_ClientKill (entity e) // silent version of ClientKill
  {
 -      self = self.owner; // set self to the player to be killed
 -      sprint(self, "^1You were killed in order to prevent cheating!");
 -      ClientKill_Now();
 -}
 -
 -void CTS_ClientKill (float t) // silent version of ClientKill
 -{
 -      entity e;
 -      e = spawn();
 -      e.owner = self;
 -      e.think = CTS_ClientKill_Think;
 -      e.nextthink = t;
 +    e.killindicator = spawn();
 +    e.killindicator.owner = e;
 +    e.killindicator.think = KillIndicator_Think;
 +    e.killindicator.nextthink = time + (e.lip) * 0.05;
 +    e.killindicator.cnt = ceil(autocvar_g_cts_finish_kill_delay);
 +    e.lip = 0;
  }
  
  void DoTeamChange(float destteam)
@@@ -2738,7 -2739,7 +2738,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)