From 25c82e75d0e62b1883996ce7a9b476bc2e7b803f Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 26 Jan 2013 22:52:48 +1100 Subject: [PATCH] Fix turret health bar not refilling when turret is upgraded --- qcsrc/server/mutators/gamemode_td.qc | 8 ++++++++ qcsrc/server/tturrets/system/system_damage.qc | 3 --- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/qcsrc/server/mutators/gamemode_td.qc b/qcsrc/server/mutators/gamemode_td.qc index 5d1149701..5284c496f 100644 --- a/qcsrc/server/mutators/gamemode_td.qc +++ b/qcsrc/server/mutators/gamemode_td.qc @@ -711,6 +711,13 @@ MUTATOR_HOOKFUNCTION(td_PlayerDamage_Calculate) if((frag_target.turrcaps_flags & TFL_TURRCAPS_ISTURRET) && !(DEATH_ISMONSTER(frag_deathtype) || frag_attacker.turrcaps_flags & TFL_TURRCAPS_SUPPORT)) frag_damage = 0; + if((frag_target.turrcaps_flags & TFL_TURRCAPS_ISTURRET) && frag_target.health <= 0) + { + // TODO: fix this? calling on damage may be unreliable + if(frag_target.realowner) + frag_target.realowner.turret_cnt -= 1; + } + return TRUE; } @@ -973,6 +980,7 @@ MUTATOR_HOOKFUNCTION(td_PlayerCommand) } self.ammo_fuel -= 100; + trace_ent.SendFlags |= TNSF_STATUS; buffturret(trace_ent, 1.2); sprint(self, "Turret power increased by 20%!\n"); diff --git a/qcsrc/server/tturrets/system/system_damage.qc b/qcsrc/server/tturrets/system/system_damage.qc index 4ac34eb63..bf6c79936 100644 --- a/qcsrc/server/tturrets/system/system_damage.qc +++ b/qcsrc/server/tturrets/system/system_damage.qc @@ -126,9 +126,6 @@ void turret_stdproc_damage (entity inflictor, entity attacker, float damage, flo self.takedamage = DAMAGE_NO; self.nextthink = time; self.think = turret_stdproc_die; - - if(self.realowner) - self.realowner.turret_cnt -= 1; } self.SendFlags |= TNSF_STATUS; -- 2.39.2