From 5048a50403903f9fd549ecc3d098dcd7f9f775a6 Mon Sep 17 00:00:00 2001 From: Gustas Date: Wed, 10 Jan 2024 15:37:25 +0200 Subject: [PATCH] Fix refineries not uncloaking on dock --- OpenRA.Mods.Common/Traits/Cloak.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.Common/Traits/Cloak.cs b/OpenRA.Mods.Common/Traits/Cloak.cs index 4a2640f12a..00a8e3d2a4 100644 --- a/OpenRA.Mods.Common/Traits/Cloak.cs +++ b/OpenRA.Mods.Common/Traits/Cloak.cs @@ -112,7 +112,7 @@ namespace OpenRA.Mods.Common.Traits public class Cloak : PausableConditionalTrait, IRenderModifier, INotifyDamage, INotifyUnloadCargo, INotifyLoadCargo, INotifyDemolition, INotifyInfiltration, - INotifyAttack, ITick, IVisibilityModifier, IRadarColorModifier, INotifyDockClient, INotifySupportPower + INotifyAttack, ITick, IVisibilityModifier, IRadarColorModifier, INotifyDockClient, INotifyDockHost, INotifySupportPower { readonly float3 cloakedColor; readonly float cloakedColorAlpha; @@ -324,6 +324,21 @@ namespace OpenRA.Mods.Common.Traits isDocking = false; } + void INotifyDockHost.Docked(Actor self, Actor client) + { + if (Info.UncloakOn.HasFlag(UncloakType.Dock)) + { + isDocking = true; + Uncloak(); + } + } + + void INotifyDockHost.Undocked(Actor self, Actor client) + { + if (Info.UncloakOn.HasFlag(UncloakType.Dock)) + isDocking = false; + } + void INotifyLoadCargo.Loading(Actor self) { if (Info.UncloakOn.HasFlag(UncloakType.Load))