From e9f34b1e21e475731000ba8fc9b7dae0306c3f46 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 15 Sep 2010 20:59:42 +1200 Subject: [PATCH] Quick fix for #87, #88. Real fix will come when we nest activities. --- OpenRA.Mods.RA/Activities/CaptureBuilding.cs | 4 +++- OpenRA.Mods.RA/Activities/Demolish.cs | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.RA/Activities/CaptureBuilding.cs b/OpenRA.Mods.RA/Activities/CaptureBuilding.cs index c55374323e..4d5f85c481 100644 --- a/OpenRA.Mods.RA/Activities/CaptureBuilding.cs +++ b/OpenRA.Mods.RA/Activities/CaptureBuilding.cs @@ -23,7 +23,9 @@ namespace OpenRA.Mods.RA.Activities public IActivity Tick(Actor self) { if (target == null || target.IsDead()) return NextActivity; - + if ((target.Location - self.Location).Length > 1) + return NextActivity; + target.World.AddFrameEndTask(w => { // momentarily remove from world so the ownership queries don't get confused diff --git a/OpenRA.Mods.RA/Activities/Demolish.cs b/OpenRA.Mods.RA/Activities/Demolish.cs index 95498ab3eb..688799c610 100644 --- a/OpenRA.Mods.RA/Activities/Demolish.cs +++ b/OpenRA.Mods.RA/Activities/Demolish.cs @@ -26,6 +26,10 @@ namespace OpenRA.Mods.RA.Activities public IActivity Tick(Actor self) { if (target == null || target.IsDead()) return NextActivity; + if ((target.Location - self.Location).Length > 1) + return NextActivity; + + self.World.AddFrameEndTask(w => w.Add(new DelayedAction(25 * 2, () => target.Kill(self)))); return NextActivity;