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<float> 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<float>("General", "StaminaUsageMultiplier", 0.5f, new ConfigDescription("Множитель расхода стамины. 0.5 = вдвое меньше траты (х2 стамина), 1.0 = как в ванилле, 0.0 = бесконечная стамина.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>()));
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";
}