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 Stamina Boost v0.0.1
StaminaMod.dll
Decompiled 2 weeks agousing System.Diagnostics; 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 BepInEx.Configuration; using HarmonyLib; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("AichoGuardian")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("AichoGuardian")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("D28110A9-E229-4700-AD4D-DCD37486A82B")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace BetterStaminaRegen; [BepInPlugin("com.nazhi.betterstaminaregen", "Better Stamina Regen", "1.3.0")] public class BetterStaminaRegenPlugin : BaseUnityPlugin { private Harmony _harmony; public static ConfigEntry<float> LowThreshold; public static ConfigEntry<float> LowRegenMultiplier; public static ConfigEntry<float> HighRegenMultiplier; private void Awake() { //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Expected O, but got Unknown LowThreshold = ((BaseUnityPlugin)this).Config.Bind<float>("General", "LowThreshold", 0.5f, "Umbral (0..1) para regen muy rápida."); LowRegenMultiplier = ((BaseUnityPlugin)this).Config.Bind<float>("General", "LowRegenMultiplier", 6f, "Multiplicador si stamina% < umbral."); HighRegenMultiplier = ((BaseUnityPlugin)this).Config.Bind<float>("General", "HighRegenMultiplier", 1.5f, "Multiplicador si stamina% ≥ umbral."); _harmony = new Harmony("com.nazhi.betterstaminaregen"); _harmony.PatchAll(); } private void OnDestroy() { Harmony harmony = _harmony; if (harmony != null) { harmony.UnpatchSelf(); } } } [HarmonyPatch(typeof(Character), "CustomFixedUpdate")] public static class Patch_Character_CustomFixedUpdate { private static float _staminaBefore = -1f; private static void Prefix(Character __instance) { Player val = (Player)(object)((__instance is Player) ? __instance : null); if (val != null) { _staminaBefore = val.GetStamina(); } else { _staminaBefore = -1f; } } private static void Postfix(Character __instance) { Player val = (Player)(object)((__instance is Player) ? __instance : null); if (val == null || ((Character)val).IsDead() || _staminaBefore < 0f) { return; } float staminaBefore = _staminaBefore; float stamina = val.GetStamina(); if (!(stamina <= staminaBefore)) { float maxStamina = ((Character)val).GetMaxStamina(); if (!(maxStamina <= 0f)) { float num = stamina / maxStamina; float num2 = ((num < BetterStaminaRegenPlugin.LowThreshold.Value) ? BetterStaminaRegenPlugin.LowRegenMultiplier.Value : BetterStaminaRegenPlugin.HighRegenMultiplier.Value); float num3 = stamina - staminaBefore; float num4 = num3 * Mathf.Max(1f, num2); float num5 = Mathf.Min(maxStamina, staminaBefore + num4); ((Character)val).AddStamina(num5 - stamina); } } } }