Some mods may be broken due to the recent Alloyed Collective update.
Decompiled source of StopScotlandReacting v1.0.2
StopScotlandReacting.dll
Decompiled a year agousing System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Logging; using HarmonyLib; using Microsoft.CodeAnalysis; using On.RoR2; using RoR2; using UnityEngine; using UnityEngine.AddressableAssets; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("StopScotlandReacting")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+67ff4ba77ef1183c0c39603d911c4db07a67443c")] [assembly: AssemblyProduct("StopScotlandReacting")] [assembly: AssemblyTitle("StopScotlandReacting")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace StopScotlandReacting { [BepInPlugin("prodzpod.StopScotlandReacting", "StopScotlandReacting", "1.0.1")] public class Main : BaseUnityPlugin { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static Func<string, bool> <>9__13_4; public static Action <>9__13_0; public static hook_Start <>9__13_1; public static hook_OnInteractionBegin <>9__13_2; public static hook_GenerateNewPickupServer <>9__13_3; public static Converter<int, char> <>9__14_0; internal void <Awake>b__13_0() { if (Chainloader.PluginInfos.Keys.Any((string x) => x.Contains("SCOTLANDFOREVER"))) { Console.instance.SubmitCmd((NetworkUser)null, m(113, 117, 105, 116), false); } } internal bool <Awake>b__13_4(string x) { return x.Contains("SCOTLANDFOREVER"); } internal IEnumerator <Awake>b__13_1(orig_Start orig, Stage self) { IEnumerator result = orig.Invoke(self); xqs.Clear(); if (SceneCatalog.mostRecentSceneDef.cachedName == zzz && Object.op_Implicit((Object)(object)GameObject.Find("LunarShop"))) { GameObject gameObject = GameObject.Find("LunarShop").gameObject; for (int i = 0; i < gameObject.transform.childCount; i++) { xqs.Add(((Component)gameObject.transform.GetChild(i)).GetComponent<ShopTerminalBehavior>()); } } return result; } internal void <Awake>b__13_2(orig_OnInteractionBegin orig, PurchaseInteraction self, Interactor interactor) { orig.Invoke(self, interactor); if (((Object)((Component)self).gameObject).name == ((Object)ob).name) { Chat.AddMessage(m(60, 99, 111, 108, 111, 114, 61, 35, 99, 54, 100, 53, 102, 102, 62, 60, 115, 105, 122, 101, 61, 49, 50, 48, 37, 62, 83, 108, 97, 98, 58, 32, 77, 109, 44, 32, 110, 97, 104, 46, 60, 47, 115, 105, 122, 101, 62, 60, 47, 99, 111, 108, 111, 114, 62)); } } internal void <Awake>b__13_3(orig_GenerateNewPickupServer orig, ShopTerminalBehavior self) { if (xqs.Contains(self)) { self.SetNoPickup(); } else { orig.Invoke(self); } } internal char <m>b__14_0(int x) { return (char)x; } } public const string PluginGUID = "prodzpod.StopScotlandReacting"; public const string PluginAuthor = "prodzpod"; public const string PluginName = "StopScotlandReacting"; public const string PluginVersion = "1.0.1"; public static ManualLogSource Log; public static PluginInfo pluginInfo; public static Harmony Harmony; public static List<ShopTerminalBehavior> xqs = new List<ShopTerminalBehavior>(); public static string zzz = m(98, 97, 122, 97, 97, 114); public static string zzzq = m(72, 79, 76, 68, 69, 82, 58, 32, 83, 116, 111, 114, 101); public static string zzzb = m(76, 117, 110, 97, 114, 83, 104, 111, 112); public static string zzza = m(76, 117, 110, 97, 114, 84, 97, 98, 108, 101); public static GameObject ob = Addressables.LoadAssetAsync<GameObject>((object)m(82, 111, 82, 50, 47, 66, 97, 115, 101, 47, 76, 117, 110, 97, 114, 82, 101, 99, 121, 99, 108, 101, 114, 47, 76, 117, 110, 97, 114, 82, 101, 99, 121, 99, 108, 101, 114, 46, 112, 114, 101, 102, 97, 98)).WaitForCompletion(); public void Awake() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Expected O, but got Unknown //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Expected O, but got Unknown //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Expected O, but got Unknown //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Expected O, but got Unknown pluginInfo = ((BaseUnityPlugin)this).Info; Log = ((BaseUnityPlugin)this).Logger; Harmony = new Harmony("prodzpod.StopScotlandReacting"); RoR2Application.onStart = (Action)Delegate.Combine(RoR2Application.onStart, (Action)delegate { if (Chainloader.PluginInfos.Keys.Any((string x) => x.Contains("SCOTLANDFOREVER"))) { Console.instance.SubmitCmd((NetworkUser)null, m(113, 117, 105, 116), false); } }); object obj = <>c.<>9__13_1; if (obj == null) { hook_Start val = delegate(orig_Start orig, Stage self) { IEnumerator result = orig.Invoke(self); xqs.Clear(); if (SceneCatalog.mostRecentSceneDef.cachedName == zzz && Object.op_Implicit((Object)(object)GameObject.Find("LunarShop"))) { GameObject gameObject = GameObject.Find("LunarShop").gameObject; for (int i = 0; i < gameObject.transform.childCount; i++) { xqs.Add(((Component)gameObject.transform.GetChild(i)).GetComponent<ShopTerminalBehavior>()); } } return result; }; <>c.<>9__13_1 = val; obj = (object)val; } Stage.Start += (hook_Start)obj; object obj2 = <>c.<>9__13_2; if (obj2 == null) { hook_OnInteractionBegin val2 = delegate(orig_OnInteractionBegin orig, PurchaseInteraction self, Interactor interactor) { orig.Invoke(self, interactor); if (((Object)((Component)self).gameObject).name == ((Object)ob).name) { Chat.AddMessage(m(60, 99, 111, 108, 111, 114, 61, 35, 99, 54, 100, 53, 102, 102, 62, 60, 115, 105, 122, 101, 61, 49, 50, 48, 37, 62, 83, 108, 97, 98, 58, 32, 77, 109, 44, 32, 110, 97, 104, 46, 60, 47, 115, 105, 122, 101, 62, 60, 47, 99, 111, 108, 111, 114, 62)); } }; <>c.<>9__13_2 = val2; obj2 = (object)val2; } PurchaseInteraction.OnInteractionBegin += (hook_OnInteractionBegin)obj2; object obj3 = <>c.<>9__13_3; if (obj3 == null) { hook_GenerateNewPickupServer val3 = delegate(orig_GenerateNewPickupServer orig, ShopTerminalBehavior self) { if (xqs.Contains(self)) { self.SetNoPickup(); } else { orig.Invoke(self); } }; <>c.<>9__13_3 = val3; obj3 = (object)val3; } ShopTerminalBehavior.GenerateNewPickupServer += (hook_GenerateNewPickupServer)obj3; } private static string m(params int[] z) { return new string(z.ToList().ConvertAll((int x) => (char)x).ToArray()); } } }