diff --git a/OpenRA.Game/Traits/Health.cs b/OpenRA.Game/Traits/Health.cs index d017e08f67..0a30982818 100755 --- a/OpenRA.Game/Traits/Health.cs +++ b/OpenRA.Game/Traits/Health.cs @@ -79,9 +79,9 @@ namespace OpenRA.Traits /* apply the damage modifiers, if we have any. */ var modifier = (float)self.TraitsImplementing() .Concat(self.Owner.PlayerActor.TraitsImplementing()) - .Select(t => t.GetDamageModifier(attacker, warhead)).Product(); - - damage = (int)(damage * modifier); + .Select(t => t.GetDamageModifier(attacker, warhead)).Product(); + + damage = damage > 0 ? (int)(damage * modifier) : damage; hp = Exts.Clamp(hp - damage, 0, MaxHP); var ai = new AttackInfo