From f145d5ccc86c0b6687e582a57678ea56a1e61f33 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Sun, 11 Sep 2022 04:27:15 -0400 Subject: [PATCH] Move cloak patches --- NewHorizons/Patches/CloakPatches.cs | 31 +++++++++++++++++++++++++++ NewHorizons/Patches/LocatorPatches.cs | 21 ------------------ 2 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 NewHorizons/Patches/CloakPatches.cs 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]