diff --git a/Modules/ClientControlGUI.cs b/Modules/ClientControlGUI.cs index 3ace958cb..9f9742354 100644 --- a/Modules/ClientControlGUI.cs +++ b/Modules/ClientControlGUI.cs @@ -460,7 +460,7 @@ public class ClientControlGUI : MonoBehaviour }); bool canZoom = Zoom.CanZoom; - bool canNoClip = canMove && (!AmongUsClient.Instance.IsGameStarted || !GameStates.IsOnlineGame); + bool canNoClip = canMove && (!AmongUsClient.Instance.IsGameStarted || !GameStates.IsOnlineGame) && (!GameStartManager.Instance || GameStartManager.Instance.startState == GameStartManager.StartingStates.NotStarting); bool canToggleHud = Main.IntroDestroyed && !inMeeting && !ExileController.Instance && !ReportDeadBodyPatch.MeetingStarted; if (canZoom || canNoClip || canToggleHud) @@ -504,7 +504,11 @@ public class ClientControlGUI : MonoBehaviour if (OperatingSystem.IsAndroid()) PlayerControl.LocalPlayer.Collider.offset = ControllerManagerUpdatePatch.NoClipEnabled ? new Vector2(0f, 127f) : new Vector2(0f, -0.3636f); }); } - else if (OperatingSystem.IsAndroid() && PlayerControl.LocalPlayer) PlayerControl.LocalPlayer.Collider.offset = new Vector2(0f, -0.3636f); + else if (ControllerManagerUpdatePatch.NoClipEnabled && OperatingSystem.IsAndroid() && PlayerControl.LocalPlayer) + { + PlayerControl.LocalPlayer.Collider.offset = new Vector2(0f, -0.3636f); + ControllerManagerUpdatePatch.NoClipEnabled = false; + } if (canToggleHud) { diff --git a/Patches/ClientOptionsPatch.cs b/Patches/ClientOptionsPatch.cs index d7ea36649..b71a384b6 100644 --- a/Patches/ClientOptionsPatch.cs +++ b/Patches/ClientOptionsPatch.cs @@ -121,6 +121,7 @@ public static class OptionsMenuBehaviourStartPatch static void Unload() { + if (ClientControlGUI.Instance) Object.Destroy(ClientControlGUI.Instance); MainMenuManagerPatch.ShowRightPanelImmediately(); Main.Instance.Harmony.UnpatchSelf();