]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix turret health bar not refilling when turret is upgraded
authorMario <mario.mario@y7mail.com>
Sat, 26 Jan 2013 11:52:48 +0000 (22:52 +1100)
committerMario <mario.mario@y7mail.com>
Sat, 26 Jan 2013 11:52:48 +0000 (22:52 +1100)
qcsrc/server/mutators/gamemode_td.qc
qcsrc/server/tturrets/system/system_damage.qc

index 5d1149701bc205f0220b33639f392faa3db8141b..5284c496fd88aac45b20ab2acf3e381810e4d1f4 100644 (file)
@@ -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");
                
index 4ac34eb63fb9459e182f01df31b10ba329f32657..bf6c79936fe0b0604ce67cf24bffa7ba3f846a7f 100644 (file)
@@ -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;