Some mods may be broken due to the recent Alloyed Collective update.
Decompiled source of GoxOfBears v1.0.0
BepInEx/patchers/GoxOfBears/GoxOfBears.dll
Decompiled 2 years agousing System; using System.Collections.Generic; using System.Diagnostics; using System.IO; 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.Logging; using Microsoft.CodeAnalysis; using Mono.Cecil; using Mono.Cecil.Cil; [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.0", FrameworkDisplayName = ".NET Standard 2.0")] [assembly: AssemblyCompany("GoxOfBears")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("GoxOfBears")] [assembly: AssemblyTitle("GoxOfBears")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] 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 GoxOfBears { public static class GoxOfBears { internal static class Logger { private static readonly ManualLogSource logSource = Logger.CreateLogSource("GoxOfBears"); public static void Info(object data) { logSource.LogInfo(data); } public static void Error(object data) { logSource.LogError(data); } public static void Warn(object data) { logSource.LogWarning(data); } public static void Fatal(object data) { logSource.LogFatal(data); } public static void Message(object data) { logSource.LogMessage(data); } public static void Debug(object data) { logSource.LogDebug(data); } } public static TypeReference FuckingStupid; public static AssemblyDefinition WhatTheFuck; public static IEnumerable<string> TargetDLLs { get; } = new string[1] { "RoR2.dll" }; public static void Patch(AssemblyDefinition def) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Expected O, but got Unknown //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Expected O, but got Unknown //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) try { TypeDefinition type = def.MainModule.GetType("RoR2.PickupDropletController"); Logger.Error(((MemberReference)type).Name); MethodAttributes val = (MethodAttributes)22; AssemblyDefinition val2 = AssemblyDefinition.ReadAssembly(typeof(void).Assembly.Location); TypeReference val3 = val2.MainModule.ImportReference(typeof(void)); Logger.Error(((MemberReference)val3).Name); WhatTheFuck = AssemblyDefinition.ReadAssembly(Path.Combine(Paths.ManagedPath, "UnityEngine.CoreModule.dll")); MethodDefinition val4 = new MethodDefinition("CreatePickupDroplet", val, val3); ParameterDefinition val5 = new ParameterDefinition("pickupInfo", (ParameterAttributes)0, (TypeReference)(object)def.MainModule.GetType("RoR2.GenericPickupController/CreatePickupInfo")); FuckingStupid = ((MemberReference)type).Module.ImportReference((TypeReference)(object)WhatTheFuck.MainModule.GetType("UnityEngine.Vector3")); ParameterDefinition val6 = new ParameterDefinition("position", (ParameterAttributes)0, FuckingStupid); ParameterDefinition val7 = new ParameterDefinition("velocity", (ParameterAttributes)0, FuckingStupid); MethodDefinition val8 = ((IEnumerable<MethodDefinition>)type.Methods).Where((MethodDefinition x) => ((MemberReference)x).Name == "CreatePickupDroplet").Last(); ((MethodReference)val4).Parameters.Add(val5); ((MethodReference)val4).Parameters.Add(val6); ((MethodReference)val4).Parameters.Add(val7); val4.Body.Instructions.Add(Instruction.Create(OpCodes.Ldarg_0)); val4.Body.Instructions.Add(Instruction.Create(OpCodes.Ldarg_2)); val4.Body.Instructions.Add(Instruction.Create(OpCodes.Call, (MethodReference)(object)val8)); val4.Body.Instructions.Add(Instruction.Create(OpCodes.Ret)); type.Methods.Add(val4); Logger.Error("Patching successful."); } catch (Exception data) { Logger.Error(data); } } public static void Initialize() { } } }