mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
25 lines
1.0 KiB
C#
25 lines
1.0 KiB
C#
using HarmonyLib;
|
|
using NewHorizons.Handlers;
|
|
using UnityEngine;
|
|
namespace NewHorizons.Patches.PlayerPatches
|
|
{
|
|
[HarmonyPatch(typeof(PlayerState))]
|
|
public static class PlayerStatePatches
|
|
{
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(nameof(PlayerState.CheckShipOutsideSolarSystem))]
|
|
public static bool PlayerState_CheckShipOutsideSolarSystem(PlayerState __instance, ref bool __result)
|
|
{
|
|
if (PlayerState._inBrambleDimension) return false;
|
|
|
|
// Stop the game from trying to recall your ship when you're visiting far away planets
|
|
|
|
var centerTransform = Locator.GetCenterOfTheUniverse().GetStaticReferenceFrame().transform;
|
|
var shipBody = Locator.GetShipBody();
|
|
var maxDist = Mathf.Max(PlanetCreationHandler.DefaultFurthestOrbit, PlanetCreationHandler.FurthestOrbit);
|
|
__result = centerTransform != null && shipBody != null && (shipBody.transform.position - centerTransform.position).sqrMagnitude > maxDist * maxDist;
|
|
return false;
|
|
}
|
|
}
|
|
}
|