PutObserverInServer(this);
}
else
- SV_ChangeTeam(this, this.killindicator_teamchange - 1);
+ {
+ Player_SetTeamIndexChecked(this, Team_TeamToIndex(
+ this.killindicator_teamchange));
+ }
this.killindicator_teamchange = 0;
}
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))
}
+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)
{
- // TODO: once .health is removed, will need to check it here for the "already dead" message!
-
if (game_stopped || this.player_blocked || STAT(FROZEN, this))
return;