Decompiled source of Automatic1911 v1.2.1

Automatic1911_IL2CPP.dll

Decompiled a month ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using Automatic1911;
using Il2CppInterop.Runtime.InteropTypes;
using Il2CppScheduleOne.DevUtilities;
using Il2CppScheduleOne.Equipping;
using Il2CppScheduleOne.PlayerScripts;
using MelonLoader;
using MelonLoader.Preferences;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: MelonInfo(typeof(global::Automatic1911.Automatic1911), "Automatic1911", "1.0", "Jumble", null)]
[assembly: MelonColor]
[assembly: MelonGame("TVGS", "Schedule I")]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("Automatic1911")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Automatic1911")]
[assembly: AssemblyTitle("Automatic1911")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Automatic1911;

public static class BuildInfo
{
	public const string Name = "Automatic1911";

	public const string Description = "Makes the 1911 fully automatic.";

	public const string Author = "Jumble";

	public const string Company = null;

	public const string Version = "1.0";

	public const string DownloadLink = null;
}
public static class Config
{
	private static MelonPreferences_Category configCategory;

	private static MelonPreferences_Entry<float> firerateEntry;

	public static float FireRate => firerateEntry?.Value ?? 0.1f;

	public static void Load()
	{
		configCategory = MelonPreferences.CreateCategory("Automatic1911");
		firerateEntry = configCategory.CreateEntry<float>("fireRate", 0.1f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
	}
}
public class Automatic1911 : MelonMod
{
	private Equippable_RangedWeapon stored1911;

	public override void OnInitializeMelon()
	{
		Config.Load();
	}

	public override void OnUpdate()
	{
		if (Input.GetKey((KeyCode)323) && Input.GetKey((KeyCode)324))
		{
			if (((Object)(object)stored1911 == (Object)null || !((Component)stored1911).gameObject.activeInHierarchy) && Object.op_Implicit((Object)(object)PlayerSingleton<PlayerInventory>.Instance.equippedSlot.Equippable) && ((Object)PlayerSingleton<PlayerInventory>.Instance.equippedSlot.Equippable).name == "M1911_Equippable(Clone)")
			{
				stored1911 = ((Il2CppObjectBase)PlayerSingleton<PlayerInventory>.Instance.equippedSlot.Equippable).Cast<Equippable_RangedWeapon>();
				stored1911.FireCooldown = Config.FireRate;
			}
			if ((Object)(object)stored1911 != (Object)null && stored1911.TimeSinceFire >= Config.FireRate)
			{
				stored1911.shotQueued = true;
			}
			if ((Object)(object)stored1911 == (Object)null)
			{
				MelonLogger.Msg("1911 not found");
			}
		}
	}
}

Automatic1911_Mono.dll

Decompiled a month ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using Automatic1911;
using MelonLoader;
using MelonLoader.Preferences;
using ScheduleOne.DevUtilities;
using ScheduleOne.Equipping;
using ScheduleOne.PlayerScripts;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(global::Automatic1911.Automatic1911), "Automatic1911", "1.1", "Jumble", null)]
[assembly: MelonColor]
[assembly: MelonGame("TVGS", "Schedule I")]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("Automatic1911_Mono")]
[assembly: AssemblyConfiguration("Debug_Mono")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Automatic1911_Mono")]
[assembly: AssemblyTitle("Automatic1911_Mono")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Automatic1911;

public static class BuildInfo
{
	public const string Name = "Automatic1911";

	public const string Description = "Makes the 1911 fully automatic.";

	public const string Author = "Jumble";

	public const string Company = null;

	public const string Version = "1.1";

	public const string DownloadLink = null;
}
public static class Config
{
	private static MelonPreferences_Category configCategory;

	private static MelonPreferences_Entry<float> firerateEntry;

	public static float FireRate => firerateEntry?.Value ?? 0.1f;

	public static void Load()
	{
		configCategory = MelonPreferences.CreateCategory("Automatic1911");
		firerateEntry = configCategory.CreateEntry<float>("fireRate", 0.1f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
	}
}
public class Automatic1911 : MelonMod
{
	private Equippable_RangedWeapon stored1911;

	public override void OnInitializeMelon()
	{
		Config.Load();
	}

	public override void OnUpdate()
	{
		if (!Input.GetKey((KeyCode)323) || !Input.GetKey((KeyCode)324))
		{
			return;
		}
		if (((Object)(object)stored1911 == (Object)null || !((Component)stored1911).gameObject.activeInHierarchy) && Object.op_Implicit((Object)(object)PlayerSingleton<PlayerInventory>.Instance.equippedSlot.Equippable) && ((Object)PlayerSingleton<PlayerInventory>.Instance.equippedSlot.Equippable).name == "M1911_Equippable(Clone)")
		{
			ref Equippable_RangedWeapon reference = ref stored1911;
			Equippable equippable = PlayerSingleton<PlayerInventory>.Instance.equippedSlot.Equippable;
			reference = (Equippable_RangedWeapon)(object)((equippable is Equippable_RangedWeapon) ? equippable : null);
			stored1911.FireCooldown = Config.FireRate;
		}
		if ((Object)(object)stored1911 != (Object)null && stored1911.TimeSinceFire >= Config.FireRate)
		{
			if (stored1911.Ammo < 1)
			{
				return;
			}
			stored1911.Fire();
		}
		if ((Object)(object)stored1911 == (Object)null)
		{
			MelonLogger.Msg("1911 not found");
		}
	}
}