diff --git a/OpenRA.Mods.RA/AutoHeal.cs b/OpenRA.Mods.RA/AutoHeal.cs index e8b5d05f08..1650f8bd8c 100644 --- a/OpenRA.Mods.RA/AutoHeal.cs +++ b/OpenRA.Mods.RA/AutoHeal.cs @@ -59,8 +59,9 @@ namespace OpenRA.Mods.RA return inRange .Where(a => a != self && self.Owner.Stances[ a.Owner ] == Stance.Ally) - .Where(a => Combat.HasAnyValidWeapons(self, Target.FromActor(a))) + .Where(a => !a.IsDead()) .Where(a => a.traits.Contains() && a.GetExtendedDamageState() < ExtendedDamageState.Undamaged) + .Where(a => Combat.HasAnyValidWeapons(self, Target.FromActor(a))) .OrderBy(a => (a.Location - self.Location).LengthSquared) .FirstOrDefault(); } diff --git a/OpenRA.Mods.RA/SelfHealing.cs b/OpenRA.Mods.RA/SelfHealing.cs index 814e8ff474..d781a0d054 100644 --- a/OpenRA.Mods.RA/SelfHealing.cs +++ b/OpenRA.Mods.RA/SelfHealing.cs @@ -26,6 +26,9 @@ namespace OpenRA.Mods.RA public void Tick(Actor self) { + if (self.IsDead()) + return; + var info = self.Info.Traits.Get(); if (self.traits.Get().HPFraction >= info.HealIfBelow) return;