diff --git a/NewHorizons/Patches/BramblePatches.cs b/NewHorizons/Patches/BramblePatches.cs new file mode 100644 index 00000000..bbd5e33b --- /dev/null +++ b/NewHorizons/Patches/BramblePatches.cs @@ -0,0 +1,31 @@ +using HarmonyLib; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NewHorizons.Patches +{ + [HarmonyPatch] + public class BramblePatches + { + [HarmonyPrefix] + [HarmonyPatch(typeof(SphericalFogWarpVolume), nameof(SphericalFogWarpVolume.IsProbeOnly))] + public static bool SphericalFogWarpVolume_IsProbeOnly(SphericalFogWarpVolume __instance, ref bool __result) + { + __result = false; + return false; + } + + [HarmonyPrefix] + [HarmonyPatch(typeof(FogWarpVolume), nameof(FogWarpVolume.GetFogThickness))] + public static bool FogWarpVolume_GetFogThickness(FogWarpVolume __instance, ref float __result) + { + if (__instance is InnerFogWarpVolume sph) __result = sph._exitRadius; + else __result = 50; // 50f is hardcoded as the return value in the base game + + return false; + } + } +}