diff --git a/source/server/damage.qc b/source/server/damage.qc index 518c477..b507a88 100644 --- a/source/server/damage.qc +++ b/source/server/damage.qc @@ -377,6 +377,7 @@ void(entity ent) CheckRevive = DisableReviveIcon(self.electro_targeted); revive_index--; self.invoke_revive = 0; + self.firer = world; } } diff --git a/source/server/weapons/weapon_core.qc b/source/server/weapons/weapon_core.qc index ba4e605..c58dcc5 100644 --- a/source/server/weapons/weapon_core.qc +++ b/source/server/weapons/weapon_core.qc @@ -2254,14 +2254,18 @@ void() CheckPlayer = { if(ent.classname == "player" && ent != self && ent.downed && !self.downed) { - useprint (self, 13, 0, 0); + if (ent.beingrevived == false) + useprint (self, 13, 0, 0); if (self.button7 && !ent.invoke_revive) { + if (ent.beingrevived == true && ent.firer != self) + return; // Broadcast that they're being revived BroadcastMessageToClient(ent, time + 0.1, 3, self.netname); ent.beingrevived = true; + ent.firer = self; if (!self.progress_bar_percent) { ChangeReviveIconState(ent.electro_targeted, 2); @@ -2295,6 +2299,7 @@ void() CheckPlayer = ChangeReviveIconState(ent.electro_targeted, 1); self.movetype = MOVETYPE_WALK; ent.beingrevived = false; + ent.firer = world; W_TakeOut(); self.progress_bar = 0; self.progress_bar_time = 0;