Decompiled source of Zoomies PEAK Edition v1.0.0

Zoomies PEAK Edition.dll

Decompiled 3 days ago
using 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;
	}
}