From 4f8ae422ec43cd0a947a0c451b20743aa175cab6 Mon Sep 17 00:00:00 2001 From: dnqbob Date: Sat, 27 Apr 2024 23:03:26 +0800 Subject: [PATCH] WithAttackOverlay: support decoration animation. --- OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs b/OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs index d5cfa8b116..1fb9d9bfbe 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs @@ -32,6 +32,8 @@ namespace OpenRA.Mods.Common.Traits.Render [Desc("Custom palette is a player palette BaseName")] public readonly bool IsPlayerPalette = false; + public readonly bool IsDecoration = false; + [Desc("Delay in ticks before overlay starts, either relative to attack preparation or attack.")] public readonly int Delay = 0; @@ -58,7 +60,10 @@ namespace OpenRA.Mods.Common.Traits.Render var body = init.Self.TraitOrDefault(); var facing = init.Self.TraitOrDefault(); - overlay = new Animation(init.World, renderSprites.GetImage(init.Self), facing == null ? () => WAngle.Zero : (body == null ? () => facing.Facing : () => body.QuantizeFacing(facing.Facing))); + overlay = new Animation(init.World, renderSprites.GetImage(init.Self), facing == null ? () => WAngle.Zero : (body == null ? () => facing.Facing : () => body.QuantizeFacing(facing.Facing))) + { + IsDecoration = info.IsDecoration + }; renderSprites.Add(new AnimationWithOffset(overlay, null, () => !attacking, p => RenderUtils.ZOffsetFromCenter(init.Self, p, 1)), info.Palette, info.IsPlayerPalette);