diff --git a/NewHorizons/Patches/CloakPatches.cs b/NewHorizons/Patches/CloakPatches.cs new file mode 100644 index 00000000..0a34d87e --- /dev/null +++ b/NewHorizons/Patches/CloakPatches.cs @@ -0,0 +1,31 @@ +using HarmonyLib; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace NewHorizons.Patches +{ + public static class CloakPatches + { + [HarmonyPostfix] + [HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isPlayerInsideCloak), MethodType.Getter)] + public static void CloakFieldController_isPlayerInsideCloak(CloakFieldController __instance, ref bool __result) + { + __result = __result || Components.CloakSectorController.isPlayerInside; + } + + [HarmonyPostfix] + [HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isProbeInsideCloak), MethodType.Getter)] + public static void CloakFieldController_isProbeInsideCloak(CloakFieldController __instance, ref bool __result) + { + __result = __result || Components.CloakSectorController.isProbeInside; + } + + [HarmonyPostfix] + [HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isShipInsideCloak), MethodType.Getter)] + public static void CloakFieldController_isShipInsideCloak(CloakFieldController __instance, ref bool __result) + { + __result = __result || Components.CloakSectorController.isShipInside; + } + } +} diff --git a/NewHorizons/Patches/LocatorPatches.cs b/NewHorizons/Patches/LocatorPatches.cs index d3418ae0..a9a901e0 100644 --- a/NewHorizons/Patches/LocatorPatches.cs +++ b/NewHorizons/Patches/LocatorPatches.cs @@ -19,27 +19,6 @@ namespace NewHorizons.Patches return Locator._cloakFieldController == null; } - [HarmonyPostfix] - [HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isPlayerInsideCloak), MethodType.Getter)] - public static void CloakFieldController_isPlayerInsideCloak(CloakFieldController __instance, ref bool __result) - { - __result = __result || Components.CloakSectorController.isPlayerInside; - } - - [HarmonyPostfix] - [HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isProbeInsideCloak), MethodType.Getter)] - public static void CloakFieldController_isProbeInsideCloak(CloakFieldController __instance, ref bool __result) - { - __result = __result || Components.CloakSectorController.isProbeInside; - } - - [HarmonyPostfix] - [HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isShipInsideCloak), MethodType.Getter)] - public static void CloakFieldController_isShipInsideCloak(CloakFieldController __instance, ref bool __result) - { - __result = __result || Components.CloakSectorController.isShipInside; - } - // Locator Fixes // Vanilla doesn't register these AstroObjects for some reason. So here is a fix. [HarmonyPrefix]