diff --git a/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs b/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs index 3e7109870b..9e7d42c780 100644 --- a/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs @@ -252,11 +252,17 @@ namespace OpenRA.Mods.Common.Widgets if (frozen != null) { var actor = frozen.Actor; - if (actor != null && actor.TraitsImplementing().All(t => t.IsVisible(actor, world.RenderPlayer))) + + // HACK: This leaks the cloak state through the fog (cloaked buildings will not show tooltips) + if (actor == null || actor.TraitsImplementing().All(t => t.IsVisible(actor, world.RenderPlayer))) { FrozenActorTooltip = frozen; + + // HACK: This leaks the tooltip state through the fog + // This will cause issues for any downstream mods that use IProvideTooltipInfo on enemy actors if (frozen.Actor != null) ActorTooltipExtra = frozen.Actor.TraitsImplementing().ToArray(); + TooltipType = WorldTooltipType.FrozenActor; return; }