From: Mario Date: Sat, 26 Jan 2013 11:52:48 +0000 (+1100) Subject: Fix turret health bar not refilling when turret is upgraded X-Git-Tag: xonotic-v0.8.0~241^2^2~559 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=25c82e75d0e62b1883996ce7a9b476bc2e7b803f;p=xonotic%2Fxonotic-data.pk3dir.git Fix turret health bar not refilling when turret is upgraded --- 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;