using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using Adrenaline.Patches;
using BepInEx;
using BepInEx.Logging;
using GameNetcodeStuff;
using HarmonyLib;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Adrenaline")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Adrenaline")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c3424b67-3e5f-4a65-a2de-66bd1a67182c")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Adrenaline
{
[BepInPlugin("Justfy.Adrenaline", "Adrenaline", "1.0.0.0")]
public class AdrenalineMod : BaseUnityPlugin
{
private const string modGUID = "Justfy.Adrenaline";
private const string modName = "Adrenaline";
private const string modVersion = "1.0.0.0";
private readonly Harmony harmony = new Harmony("Justfy.Adrenaline");
internal ManualLogSource mls;
private static AdrenalineMod instance;
private void Awake()
{
if ((Object)(object)instance == (Object)null)
{
instance = this;
}
mls = Logger.CreateLogSource("Adrenaline");
mls.LogInfo((object)"ADRENALINE has awakened. Made by Justfy. I have no idea why I decided to make a mod.");
mls.LogInfo((object)"|HOW ADRENALINE WORKS|");
mls.LogInfo((object)"When you see an entity and your fearLevel goes up (the panic) your stamina meter can't go lower that 40%");
harmony.PatchAll(typeof(AdrenalineMod));
harmony.PatchAll(typeof(AdrenalinePatch));
}
}
}
namespace Adrenaline.Patches
{
[HarmonyPatch(typeof(PlayerControllerB))]
internal class AdrenalinePatch
{
internal static ManualLogSource mls = Logger.CreateLogSource("Adrenaline-Internal");
[HarmonyPatch("Update")]
[HarmonyPostfix]
private static void patchAdrenaline(ref float ___sprintMeter, ref StartOfRound ___playersManager)
{
bool flag = false;
if ((double)___playersManager.fearLevel >= 0.35 && ___sprintMeter < 0.4f && !flag)
{
flag = true;
___sprintMeter = 1f;
}
else if (!((double)___playersManager.fearLevel >= 0.35))
{
flag = false;
}
}
}
}