new-horizons/NewHorizons/Patches/CloakPatches.cs
Noah Pilarski ab237624b2 Fix cloak
2022-09-12 19:44:54 -04:00

37 lines
1.4 KiB
C#

using HarmonyLib;
namespace NewHorizons.Patches
{
[HarmonyPatch]
public static class CloakPatches
{
[HarmonyPrefix]
[HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.FixedUpdate))]
public static bool CloakFieldController_FixedUpdate(CloakFieldController __instance)
{
return __instance != null && __instance._cloakSphereShape != null;
}
[HarmonyPostfix]
[HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isPlayerInsideCloak), MethodType.Getter)]
public static void CloakFieldController_isPlayerInsideCloak(ref bool __result)
{
__result = __result || Components.CloakSectorController.isPlayerInside;
}
[HarmonyPostfix]
[HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isProbeInsideCloak), MethodType.Getter)]
public static void CloakFieldController_isProbeInsideCloak(ref bool __result)
{
__result = __result || Components.CloakSectorController.isProbeInside;
}
[HarmonyPostfix]
[HarmonyPatch(typeof(CloakFieldController), nameof(CloakFieldController.isShipInsideCloak), MethodType.Getter)]
public static void CloakFieldController_isShipInsideCloak(ref bool __result)
{
__result = __result || Components.CloakSectorController.isShipInside;
}
}
}