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 NegativeRegenFix v1.0.0
NegativeRegenFix.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using IL.RoR2; using Mono.Cecil.Cil; using MonoMod.Cil; using RoR2; using UnityEngine; [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 = "")] [assembly: AssemblyCompany("NegativeRegenFix")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("NegativeRegenFix")] [assembly: AssemblyTitle("NegativeRegenFix")] [assembly: AssemblyVersion("1.0.0.0")] namespace NegativeRegenFix; [BepInPlugin("com.HouseOfFruits.NegativeRegenFix", "NegativeRegenFix", "1.0.0")] public class NegativeRegenFix : BaseUnityPlugin { public const string guid = "com.HouseOfFruits.NegativeRegenFix"; public const string teamName = "HouseOfFruits"; public const string modName = "NegativeRegenFix"; public const string version = "1.0.0"; public static PluginInfo PInfo { get; private set; } public void Awake() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown CharacterBody.RecalculateStats += new Manipulator(RegenMultiplierFix); } private static void RegenMultiplierFix(ILContext il) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Expected O, but got Unknown //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); val.GotoNext((MoveType)2, new Func<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchLdarg(x, 0), (Instruction x) => ILPatternMatchingExt.MatchLdfld<CharacterBody>(x, "baseRegen"), (Instruction x) => ILPatternMatchingExt.MatchLdarg(x, 0), (Instruction x) => ILPatternMatchingExt.MatchLdfld<CharacterBody>(x, "levelRegen") }); int regenMultLocation = 72; int endRegenLocation = 73; val.GotoNext((MoveType)2, new Func<Instruction, bool>[2] { (Instruction x) => ILPatternMatchingExt.MatchLdcR4(x, 1f), (Instruction x) => ILPatternMatchingExt.MatchStloc(x, ref regenMultLocation) }); endRegenLocation = regenMultLocation + 1; val.GotoNext((MoveType)2, new Func<Instruction, bool>[1] { (Instruction x) => ILPatternMatchingExt.MatchStloc(x, endRegenLocation) }); val.Emit(OpCodes.Ldloc, endRegenLocation); val.Emit(OpCodes.Ldloc, regenMultLocation); val.Emit(OpCodes.Ldarg_0); val.EmitDelegate<Func<float, float, CharacterBody, float>>((Func<float, float, CharacterBody, float>)delegate(float currentRegen, float regenMult, CharacterBody body) { if (body.HasBuff(Buffs.AffixEcho) || body.HasBuff(Buffs.EliteEarth)) { return 0f; } float num = body.baseRegen + body.levelRegen * (body.level - 1f); float num2 = currentRegen / regenMult - num; float num3 = num + Mathf.Abs(num) * (regenMult - 1f) + num2 * regenMult; if (body.HasBuff(Buffs.TonicBuff) && num3 < 0f) { num3 += Mathf.Abs(num3) * 3f; num3 /= 4f; } return num3; }); val.Emit(OpCodes.Stloc, endRegenLocation); } }