From 791cdeba4dda524a68ccbd0e8cb8c1f9d66574f8 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 27 Jun 2013 18:07:51 +1200 Subject: [PATCH] Cancel make animation if the building dies. Fixes #3464. --- OpenRA.Mods.RA/Activities/MakeAnimation.cs | 3 +++ OpenRA.Mods.RA/Activities/Transform.cs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/OpenRA.Mods.RA/Activities/MakeAnimation.cs b/OpenRA.Mods.RA/Activities/MakeAnimation.cs index c69138387a..1eb0c0bd18 100644 --- a/OpenRA.Mods.RA/Activities/MakeAnimation.cs +++ b/OpenRA.Mods.RA/Activities/MakeAnimation.cs @@ -33,6 +33,9 @@ namespace OpenRA.Mods.RA.Activities public override Activity Tick( Actor self ) { + if (self.IsDead()) + return NextActivity; + if (started) { // Don't break the actor if someone has overriden the animation prematurely diff --git a/OpenRA.Mods.RA/Activities/Transform.cs b/OpenRA.Mods.RA/Activities/Transform.cs index 82d054af05..be5cee0329 100644 --- a/OpenRA.Mods.RA/Activities/Transform.cs +++ b/OpenRA.Mods.RA/Activities/Transform.cs @@ -34,6 +34,9 @@ namespace OpenRA.Mods.RA.Activities self.World.AddFrameEndTask(w => { + if (self.IsDead()) + return; + foreach (var nt in self.TraitsImplementing()) nt.OnTransform(self);