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;
}
}
}