From 48c580319812fbf7bd11fb85021e33fd34de3d03 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Fri, 30 Jul 2010 10:21:19 +1200 Subject: [PATCH] Zombie prevention --- OpenRA.Mods.RA/AutoHeal.cs | 3 ++- OpenRA.Mods.RA/SelfHealing.cs | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) 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;