diff --git a/QSB/Player/Patches/PlayerPatches.cs b/QSB/Player/Patches/PlayerPatches.cs index 4506de19..28d5ba79 100644 --- a/QSB/Player/Patches/PlayerPatches.cs +++ b/QSB/Player/Patches/PlayerPatches.cs @@ -6,8 +6,17 @@ namespace QSB.Player.Patches { public override QSBPatchTypes Type => QSBPatchTypes.OnClientConnect; - public override void DoPatches() => QSBCore.HarmonyHelper.AddPrefix("CrushPlayer", typeof(PlayerPatches), nameof(PlayerCrushedController_CrushPlayer)); - public override void DoUnpatches() => QSBCore.HarmonyHelper.Unpatch("CrushPlayer"); + public override void DoPatches() + { + QSBCore.HarmonyHelper.AddPrefix("CrushPlayer", typeof(PlayerPatches), nameof(PlayerCrushedController_CrushPlayer)); + QSBCore.HarmonyHelper.AddPrefix("OnExitToMainMenu", typeof(PlayerPatches), nameof(PauseMenuManager_OnExitToMainMenu)); + } + + public override void DoUnpatches() + { + QSBCore.HarmonyHelper.Unpatch("CrushPlayer"); + QSBCore.HarmonyHelper.Unpatch("OnExitToMainMenu"); + } public static bool PlayerCrushedController_CrushPlayer() { @@ -16,5 +25,11 @@ namespace QSB.Player.Patches Locator.GetDeathManager().KillPlayer(DeathType.Crushed); return false; } + + public static void PauseMenuManager_OnExitToMainMenu() + { + QSBPlayerManager.LocalPlayer.PlayerStates.IsReady = false; + QSBCore.HasWokenUp = false; + } } } diff --git a/QSB/ProbeSync/TransformSync/PlayerProbeSync.cs b/QSB/ProbeSync/TransformSync/PlayerProbeSync.cs index 9cf79489..473e7840 100644 --- a/QSB/ProbeSync/TransformSync/PlayerProbeSync.cs +++ b/QSB/ProbeSync/TransformSync/PlayerProbeSync.cs @@ -56,7 +56,7 @@ namespace QSB.ProbeSync.TransformSync _disabledSocket = socket; } - + /* protected override void UpdateTransform() { base.UpdateTransform(); @@ -85,6 +85,7 @@ namespace QSB.ProbeSync.TransformSync } SyncedTransform.localPosition = ReferenceSector.Transform.InverseTransformPoint(_disabledSocket.position); } + */ public override bool IsReady => Locator.GetProbe() != null && Player != null