From 78fdfbfb09fbb039efb7626774415547cb0284f7 Mon Sep 17 00:00:00 2001 From: dnqbob Date: Sat, 27 Apr 2024 22:52:16 +0800 Subject: [PATCH] WithAttackOverlay: now support facing correctly with BodyOrientation --- OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs b/OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs index d6b345a594..97aef2199f 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithAttackOverlay.cs @@ -52,8 +52,10 @@ namespace OpenRA.Mods.Common.Traits.Render this.info = info; renderSprites = init.Self.Trait(); + var body = init.Self.TraitOrDefault(); + var facing = init.Self.TraitOrDefault(); - overlay = new Animation(init.World, renderSprites.GetImage(init.Self), RenderSprites.MakeFacingFunc(init.Self)); + overlay = new Animation(init.World, renderSprites.GetImage(init.Self), facing == null ? () => WAngle.Zero : (body == null ? () => facing.Facing : () => body.QuantizeFacing(facing.Facing))); renderSprites.Add(new AnimationWithOffset(overlay, null, () => !attacking, p => RenderUtils.ZOffsetFromCenter(init.Self, p, 1)), info.Palette, info.IsPlayerPalette);