Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of roll v1.2.0
roll.dll
Decompiled 11 months agousing System; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Splatform; using TMPro; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("roll")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("roll")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("3B95EEF7-4A97-4393-91A0-3626434F3631")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace tripping { [BepInPlugin("1010101110.roll", "roll", "1.0.0")] public class Mod : BaseUnityPlugin { public static readonly Harmony harmony = new Harmony(typeof(Mod).GetCustomAttributes(typeof(BepInPlugin), inherit: false).Cast<BepInPlugin>().First() .GUID); private void Awake() { harmony.PatchAll(); } private void OnDestroy() { harmony.UnpatchSelf(); } } } namespace tripping.Patches { public class TrippingPatches { [HarmonyPatch(typeof(Chat), "Awake")] private class awakepatch { private static void Postfix(ref Chat __instance) { ((Terminal)__instance).AddString("/roll min(optional) max(optional) rolls dice, default (1-100)"); ((Terminal)__instance).AddString(""); } } [HarmonyPatch(typeof(Chat), "InputText")] private class sendtextpatch { private static bool Prefix(ref Chat __instance) { if (((TMP_InputField)((Terminal)__instance).m_input).text.StartsWith("/roll")) { try { int num = 1; int num2 = 100; string[] array = ((TMP_InputField)((Terminal)__instance).m_input).text.Split(new char[1] { ' ' }); if (array.Length == 2) { num2 = int.Parse(array[1]); } if (array.Length == 3) { num = int.Parse(array[1]); num2 = int.Parse(array[2]); } if (num > num2) { throw new Exception("invalid roll"); } Random random = new Random(); ((TMP_InputField)((Terminal)__instance).m_input).text = "rolls " + random.Next(num, num2 + 1) + " (" + num + "-" + num2 + "){|roll|}"; } catch { ((Terminal)__instance).AddString("failed roll, try /roll or /roll 100 or /roll 1 100"); return false; } } return true; } } [HarmonyPatch(typeof(Chat), "AddInworldText")] private class noinworldtext { private static bool Prefix(GameObject go, long senderID, Vector3 position, Type type, UserInfo user, string text) { bool result = true; if (text.Contains("{|roll|}")) { result = false; } return result; } } [HarmonyPatch(typeof(Terminal), "AddString", new Type[] { typeof(PlatformUserID), typeof(string), typeof(Type), typeof(bool) })] private class rollstring { private static bool Prefix(PlatformUserID user, string text, Type type, bool timestamp, ref Terminal __instance) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) bool result = true; if (text.Contains("{|roll|}")) { ZLog.LogError((object)user); ZLog.LogError((object)text); PlayerInfo val = default(PlayerInfo); if (ZNet.TryGetPlayerByPlatformUserID(user, ref val)) { string text2 = text.Replace("{|roll|}", ""); __instance.AddString("<color=#607D8B>" + val.m_name + " " + text2 + "</color>"); result = false; } } return result; } } } }