]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/clientkill.qc
Move more ClientKill code to clientkill.qc
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / clientkill.qc
index be020a77269eebbbdfce113f144bcf59ba3843ac..0bb761483b19bb8433c8bf968dad5fa3679b8f19 100644 (file)
@@ -99,6 +99,13 @@ void ClientKill_TeamChange(entity this, float targetteam) // 0 = don't change, -
 
        this.killindicator_teamchange = targetteam;
 
+       // this.killindicator.count == 1 means that the kill indicator was spawned by ClientKill_Silent
+       if(killtime <= 0 && this.killindicator && this.killindicator.count == 1)
+       {
+               ClientKill_Now(this); // allow instant kill in this case
+               return;
+       }
+
        if (!this.killindicator)
        {
                if (!IS_DEAD(this))
@@ -171,6 +178,17 @@ void ClientKill_TeamChange(entity this, float targetteam) // 0 = don't change, -
 
 }
 
+void ClientKill_Silent(entity this, float _delay)
+{
+       this.killindicator = spawn();
+       this.killindicator.owner = this;
+       setthink(this.killindicator, KillIndicator_Think);
+       this.killindicator.nextthink = time + (this.lip) * 0.05;
+       this.killindicator.cnt = ceil(_delay);
+       this.killindicator.count = 1; // this is used to indicate that it should be silent
+       this.lip = 0;
+}
+
 // Called when a client types 'kill' in the console
 void ClientKill(entity this)
 {