From 0e57ff15091479cc9b7b83bade2d1f0bcbb36c81 Mon Sep 17 00:00:00 2001 From: Mircea Kitsune Date: Mon, 9 Jan 2012 17:59:36 +0200 Subject: [PATCH] Detect if the player respawned and clear damage effects if so. Otherwise, if his dead body isn't gibbed, effects would be copied back once he respawns. --- qcsrc/client/damage.qc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/qcsrc/client/damage.qc b/qcsrc/client/damage.qc index eb49470d7..a5b99979b 100644 --- a/qcsrc/client/damage.qc +++ b/qcsrc/client/damage.qc @@ -238,7 +238,7 @@ void DamageInfo_Precache() (get_weaponinfo(i)).weapon_func(WR_PRECACHE); } -.float total_damages; +.float total_damages, owner_isdead; void DamageEffect_Think() { // if particle distribution is enabled, decrease ticrate by total number of damages @@ -254,6 +254,15 @@ void DamageEffect_Think() remove(self); return; } + if(self.owner_isdead && !self.owner.csqcmodel_isdead) + { + // if the player was dead but is now alive, it means he respawned + // if so, clear his damage effects, or damages from his dead body will be copied over + self.owner.total_damages -= 1; + remove(self); + return; + } + self.owner_isdead = self.owner.csqcmodel_isdead; if((self.owner.entnum == player_localentnum || self.owner.entnum == spectatee_status) && !autocvar_chase_active) return; // if we aren't using a third person camera, hide our own effects -- 2.39.2