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 AdrenalineModifier v1.0.1
AdrenalineModifier.dll
Decompiled 7 months agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("AdrenalineModifier")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("AdrenalineModifier")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("cd9bbe3f-1ebf-494c-bada-6d4b73adcadc")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace AdrenalineModifier; [BepInPlugin("mightywa33ior.valheim.adrenalinemodifier", "AdrenalineModifier", "1.0.1")] public class Main : BaseUnityPlugin { [HarmonyPatch(typeof(Player), "AddAdrenaline")] public static class Patch_Player_AddAdrenaline { private static void Prefix(Player __instance, ref float v) { if (v > 0f) { v *= GetAdrenalineMultiplier(); } else { v *= GetAdrenalineDecayMultiplier(); } } public static void Postfix(Player __instance, ref float ___m_adrenalineDegenTimer, ref float v) { float maxAdrenaline = ((Character)__instance).GetMaxAdrenaline(); if (v > 0f && maxAdrenaline > 0f) { ___m_adrenalineDegenTimer *= GetAdrenalineDecayDelayMultiplier(); } } } private const string pluginGUID = "mightywa33ior.valheim.adrenalinemodifier"; private const string pluginName = "AdrenalineModifier"; private const string pluginVersion = "1.0.1"; private readonly Harmony HarmonyInstance = new Harmony("mightywa33ior.valheim.adrenalinemodifier"); public static ManualLogSource logger = Logger.CreateLogSource("AdrenalineModifier"); private static ConfigEntry<float> AdrenalineMultiplier = null; private static ConfigEntry<float> AdrenalineDecayMultiplier = null; private static ConfigEntry<float> AdrenalineDecayDelayMultiplier = null; public static float GetAdrenalineMultiplier() { return AdrenalineMultiplier.Value; } public static float GetAdrenalineDecayMultiplier() { return AdrenalineDecayMultiplier.Value; } public static float GetAdrenalineDecayDelayMultiplier() { return AdrenalineDecayDelayMultiplier.Value; } public void Awake() { ((BaseUnityPlugin)this).Config.SaveOnConfigSet = false; AdrenalineMultiplier = ((BaseUnityPlugin)this).Config.Bind<float>("General", "AdrenalineMultiplier", 1f, "Multiplier to gained adrenaline (example: harder 0.5, standard 1.0, easier 1.5)"); AdrenalineDecayMultiplier = ((BaseUnityPlugin)this).Config.Bind<float>("General", "AdrenalineDecayMultiplier", 1f, "Multiplier to lost adrenaline (example: harder 1.5, standard 1.0, easier 0.5)"); AdrenalineDecayDelayMultiplier = ((BaseUnityPlugin)this).Config.Bind<float>("General", "AdrenalineDecayDelayMultiplier", 1f, "Multiplier to delay before adrenaline decay starts (example: harder 0.5, standard 1.0, easier 1.5)"); ((BaseUnityPlugin)this).Config.Save(); ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; Assembly executingAssembly = Assembly.GetExecutingAssembly(); HarmonyInstance.PatchAll(executingAssembly); } private void OnDestroy() { ((BaseUnityPlugin)this).Config.Save(); } }