diff --git a/OpenRA.Mods.RA/GainsExperience.cs b/OpenRA.Mods.RA/GainsExperience.cs index b7afad9050..b462f5592f 100644 --- a/OpenRA.Mods.RA/GainsExperience.cs +++ b/OpenRA.Mods.RA/GainsExperience.cs @@ -85,17 +85,22 @@ namespace OpenRA.Mods.RA } public IEnumerable ModifyRender(Actor self, IEnumerable rs) - { - foreach (var r in rs) - yield return r; - - if (self.Owner == self.World.LocalPlayer && Level > 0) - { - RankAnim.Tick(); // hack - var bounds = self.GetBounds(false); - yield return new Renderable(RankAnim.Image, - new float2(bounds.Right - 6, bounds.Bottom - 8), "effect", (int)self.CenterLocation.Y); - } + { + if (self.Owner == self.World.LocalPlayer && Level > 0) + return InnerModifyRender(self, rs); + else + return rs; + } + + IEnumerable InnerModifyRender(Actor self, IEnumerable rs) + { + foreach (var r in rs) + yield return r; + + RankAnim.Tick(); // hack + var bounds = self.GetBounds(false); + yield return new Renderable(RankAnim.Image, + new float2(bounds.Right - 6, bounds.Bottom - 8), "effect", (int)self.CenterLocation.Y); } } }