diff --git a/OpenRA.Mods.Common/Traits/CashTrickler.cs b/OpenRA.Mods.Common/Traits/CashTrickler.cs index 3b01ab26db..8c06f48bef 100644 --- a/OpenRA.Mods.Common/Traits/CashTrickler.cs +++ b/OpenRA.Mods.Common/Traits/CashTrickler.cs @@ -49,6 +49,8 @@ namespace OpenRA.Mods.Common.Traits { readonly CashTricklerInfo info; PlayerResources resources; + Cloak[] cloaks; + [Sync] public int Ticks { get; private set; } @@ -62,6 +64,7 @@ namespace OpenRA.Mods.Common.Traits protected override void Created(Actor self) { resources = self.Owner.PlayerActor.Trait(); + cloaks = self.TraitsImplementing().ToArray(); base.Created(self); } @@ -105,6 +108,9 @@ namespace OpenRA.Mods.Common.Traits else amount = resources.ChangeCash(amount); + if (cloaks.Length != 0 && !cloaks.Any(c => c.IsVisible(self, self.World.RenderPlayer))) + return; + if (info.ShowTicks && amount != 0) AddCashTick(self, amount); }