Decompiled source of Increase Dice Limit v1.3.1

IncreaseDiceLimit.dll

Decompiled 15 hours ago
using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using Dice;
using HarmonyLib;
using ModdingTales;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("Increase Dice Limit")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("HolloFox")]
[assembly: AssemblyProduct("IDL")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("4e4deb5e-97f9-4901-bf67-6748a9c1229a")]
[assembly: AssemblyFileVersion("1.3.1.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.3.1.0")]
namespace IncreaseDiceLimit
{
	[BepInPlugin("org.hollofox.plugins.IncreaseLimit", "Increase Dice Limit Plugin", "1.3.1.0")]
	public class IncreaseDiceLimitPlugin : BaseUnityPlugin
	{
		public const string Guid = "org.hollofox.plugins.IncreaseLimit";

		internal const string Version = "1.3.1.0";

		private static ConfigEntry<int> _diceLimit { get; set; }

		internal static int DiceLimit
		{
			get
			{
				return _diceLimit.Value;
			}
			set
			{
				_diceLimit.Value = value;
			}
		}

		private void Awake()
		{
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			Debug.Log((object)"Increase Dice Limit loaded");
			_diceLimit = ((BaseUnityPlugin)this).Config.Bind<int>("Limits", "Dice", 400, (ConfigDescription)null);
			ModdingUtils.Initialize((BaseUnityPlugin)(object)this, ((BaseUnityPlugin)this).Logger, "HolloFoxes'", false);
			new Harmony("org.hollofox.plugins.IncreaseLimit").PatchAll();
		}
	}
}
namespace IncreaseDiceLimit.Properties
{
	[GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
	[DebuggerNonUserCode]
	[CompilerGenerated]
	internal class Resources
	{
		private static ResourceManager resourceMan;

		private static CultureInfo resourceCulture;

		[EditorBrowsable(EditorBrowsableState.Advanced)]
		internal static ResourceManager ResourceManager
		{
			get
			{
				if (resourceMan == null)
				{
					resourceMan = new ResourceManager("IncreaseDiceLimit.Properties.Resources", typeof(Resources).Assembly);
				}
				return resourceMan;
			}
		}

		[EditorBrowsable(EditorBrowsableState.Advanced)]
		internal static CultureInfo Culture
		{
			get
			{
				return resourceCulture;
			}
			set
			{
				resourceCulture = value;
			}
		}

		internal Resources()
		{
		}
	}
}
namespace IncreaseDiceLimit.Patches
{
	[HarmonyPatch(typeof(UIAddDiceButton), "PointerDown")]
	public class AddDiceDownPatch
	{
		private const BindingFlags Flags = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.GetProperty;

		private static bool Prefix(BaseEventData data, ref UIAddDiceButton __instance, ref DieKind ____kind)
		{
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			object value = typeof(UIAddDiceButton).GetField("_count", BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.GetProperty).GetValue(__instance);
			int num = (int)value.GetType().GetField("Count", BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.GetProperty).GetValue(value);
			if (Input.GetMouseButton(0))
			{
				num = (Input.GetKey((KeyCode)306) ? (num + 100) : ((!Input.GetKey((KeyCode)308)) ? (num + 1) : (num + 10)));
			}
			else if (Input.GetMouseButton(1))
			{
				num = (Input.GetKey((KeyCode)306) ? (num - 100) : ((!Input.GetKey((KeyCode)308)) ? (num - 1) : (num - 10)));
			}
			num = Math.Clamp(num, 0, IncreaseDiceLimitPlugin.DiceLimit);
			typeof(UIAddDiceButton).GetMethod("SetNumber", BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.GetProperty).Invoke(__instance, new object[1] { num });
			if (__instance.m_SendDiceData != null)
			{
				((UnityEvent<DieKind, int>)(object)__instance.m_SendDiceData).Invoke(____kind, num);
			}
			((AbstractEventData)data).Use();
			return false;
		}
	}
}