using System; using System.Reflection; using System.Runtime.CompilerServices; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: AssemblyVersion("0.0.0.0")] namespace PeakPlugin; [BepInPlugin("PeakPlugin.MoreStamina", "MoreStamina", "1.1.0")] [BepInProcess("PEAK.exe")] public class Plugin : BaseUnityPlugin { internal static ManualLogSource Logger; internal static ConfigEntry StaminaMultiplier; private void Awake() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Expected O, but got Unknown Logger = ((BaseUnityPlugin)this).Logger; StaminaMultiplier = ((BaseUnityPlugin)this).Config.Bind("General", "StaminaUsageMultiplier", 0.5f, new ConfigDescription("Множитель расхода стамины. 0.5 = вдвое меньше траты (х2 стамина), 1.0 = как в ванилле, 0.0 = бесконечная стамина.", (AcceptableValueBase)(object)new AcceptableValueRange(0f, 1f), Array.Empty())); Harmony val = new Harmony("PeakPlugin.MoreStamina"); val.PatchAll(); Logger.LogInfo((object)("MoreStamina loaded. Stamina usage multiplier: " + StaminaMultiplier.Value)); } private void Update() { } } [HarmonyPatch] public class Patch_UseStamina { private static MethodBase TargetMethod() { Type type = AccessTools.TypeByName("Character"); return AccessTools.Method(type, "UseStamina", (Type[])null, (Type[])null); } private static void Prefix(ref float usage) { usage *= Plugin.StaminaMultiplier.Value; } } public static class MyPluginInfo { public const string PLUGIN_GUID = "PeakPlugin.MoreStamina"; public const string PLUGIN_NAME = "MoreStamina"; public const string PLUGIN_VERSION = "1.1.0"; }