From 7173d193cfd83343766f3dd83b4046233e26f0c8 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 26 Jun 2011 14:07:15 +1200 Subject: [PATCH] Pass the sequence name to the Corpse effect instead of an InfDeath number. Only play death animations for standard deaths. --- OpenRA.Mods.RA/Effects/Corpse.cs | 4 ++-- OpenRA.Mods.RA/Render/RenderInfantry.cs | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/OpenRA.Mods.RA/Effects/Corpse.cs b/OpenRA.Mods.RA/Effects/Corpse.cs index 48b2a539a5..55aa334bed 100644 --- a/OpenRA.Mods.RA/Effects/Corpse.cs +++ b/OpenRA.Mods.RA/Effects/Corpse.cs @@ -21,12 +21,12 @@ namespace OpenRA.Mods.RA.Effects readonly float2 pos; readonly string palette; - public Corpse(Actor fromActor, int death) + public Corpse(Actor fromActor, string sequence) { var rs = fromActor.Trait(); palette = rs.Palette(fromActor.Owner); anim = new Animation(rs.GetImage(fromActor)); - anim.PlayThen("die{0}".F(death + 1), + anim.PlayThen(sequence, () => fromActor.World.AddFrameEndTask(w => w.Remove(this))); pos = fromActor.CenterLocation; diff --git a/OpenRA.Mods.RA/Render/RenderInfantry.cs b/OpenRA.Mods.RA/Render/RenderInfantry.cs index e17f810ea0..7e5a6e8767 100644 --- a/OpenRA.Mods.RA/Render/RenderInfantry.cs +++ b/OpenRA.Mods.RA/Render/RenderInfantry.cs @@ -119,9 +119,12 @@ namespace OpenRA.Mods.RA.Render public void Killed(Actor self, AttackInfo e) { - var death = e.Warhead != null ? e.Warhead.InfDeath : 0; + // Killed by some non-standard means + if (e.Warhead == null) + return; + Sound.PlayVoice("Die", self, self.Owner.Country.Race); - self.World.AddFrameEndTask(w => w.Add(new Corpse(self, death))); + self.World.AddFrameEndTask(w => w.Add(new Corpse(self, "die{0}".F(e.Warhead.InfDeath + 1)))); } } }