The BepInEx console will not appear when launching like it does for other games on Thunderstore (you can turn it back on in your BepInEx.cfg file). If your PEAK crashes on startup, add -dx12 to your launch parameters.
Decompiled source of Zoomies PEAK Edition v1.0.0
Zoomies PEAK Edition.dll
Decompiled a month agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using UnityEngine; using Zorro.Settings; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("Zoomies PEAK Edition")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Zoomies PEAK Edition")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("e1c61817-1f54-47fa-83d1-f6f2020f561b")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace ZoomiesMod; [BepInPlugin("Rissoe.ZoomiesPEAK", "Zoomies PEAK Edition", "1.0.0")] public class ZoomiesInfo : BaseUnityPlugin { public const string modGUID = "Rissoe.ZoomiesPEAK"; public const string modName = "Zoomies PEAK Edition"; public const string modVersion = "1.0.0"; public static ConfigEntry<string> ZoomiesKey; public static KeyCode ZoomiesKeyCode; private readonly Harmony harmony = new Harmony("Rissoe.ZoomiesPEAK"); private void Awake() { ZoomiesKey = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Zoom Key", "c", ""); if (Enum.TryParse<KeyCode>(ZoomiesKey.Value, out KeyCode _)) { ZoomiesKey.Value = "c"; } harmony.PatchAll(typeof(ZoomiesFOV)); Debug.Log((object)"Zoomies PEAK Edition zoomed in!"); } } [HarmonyPatch(typeof(MainCameraMovement))] public class ZoomiesFOV { internal static float FOV; internal static float ZOOM; internal static float CURRENT; internal static Camera Cam; internal static FieldInfo Field1 = typeof(MainCameraMovement).GetField("cam", BindingFlags.Instance | BindingFlags.NonPublic); [HarmonyPatch("GetFov")] [HarmonyPrefix] public static bool FovFix(MainCameraMovement __instance, ref float __result) { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Character.localCharacter == (Object)null) { return true; } if ((Object)(object)Cam == (Object)null) { FOV = ((FloatSetting)GameHandler.Instance.SettingsHandler.GetSetting<FovSetting>()).Value; ZOOM = FOV / 3f; Cam = ((Component)(MainCamera)Field1.GetValue(__instance)).GetComponent<Camera>(); } if (UnityInput.Current.GetKey(ZoomiesInfo.ZoomiesKey.Value)) { CURRENT += (ZOOM - CURRENT) / 6f; ZOOM -= UnityInput.Current.mouseScrollDelta.y * 2.5f; ZOOM = Mathf.Clamp(ZOOM, 10f, FOV); } else { ZOOM = FOV / 3f; CURRENT += (FOV - CURRENT) / 6f; } __result = CURRENT; return false; } }