using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using AK;
using BepInEx;
using BepInEx.Unity.IL2CPP;
using HarmonyLib;
using Il2CppSystem;
using LevelGeneration;
using Microsoft.CodeAnalysis;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("LockoutRevival")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("LockoutRevival")]
[assembly: AssemblyTitle("LockoutRevival")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
internal sealed class NullableAttribute : Attribute
{
public readonly byte[] NullableFlags;
public NullableAttribute(byte P_0)
{
NullableFlags = new byte[1] { P_0 };
}
public NullableAttribute(byte[] P_0)
{
NullableFlags = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
internal sealed class NullableContextAttribute : Attribute
{
public readonly byte Flag;
public NullableContextAttribute(byte P_0)
{
Flag = P_0;
}
}
}
namespace LockoutRevival
{
[BepInPlugin("LockoutRevival", "LockoutRevival", "0.0.1")]
public class Plugin : BasePlugin
{
[HarmonyPatch]
private class LockoutPatches
{
public static float BombTimer { get; private set; }
public static float EndTimer { get; private set; }
public static pActiveExpedition expdata { get; private set; }
[HarmonyPatch(typeof(LG_WardenObjective_Reactor), "Update")]
[HarmonyPrefix]
public static void UpdatePrefix(LG_WardenObjective_Reactor __instance)
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Invalid comparison between Unknown and I4
if (expdata == null)
{
expdata = RundownManager.GetActiveExpeditionData();
}
if ((int)expdata.tier == 5 && expdata.expeditionIndex == 1 && BombTimer != 0f && !(BombTimer > Time.time))
{
if (EndTimer == 0f)
{
__instance.m_sound.Post(EVENTS.STICKYMINEEXPLODE, true);
__instance.m_sound.Post(EVENTS.REACTOR_ALARM_WARNING_3, true);
__instance.m_sound.Post(EVENTS.SCOUT_DEATH_SCREAM, true);
EndTimer = Time.time + 5f;
}
else if (EndTimer > Time.time)
{
WardenObjectiveManager.OnWinConditionSolved((LG_LayerType)0, false);
BombTimer = 0f;
EndTimer = 0f;
}
}
}
[HarmonyPatch(typeof(LG_WardenObjective_Reactor), "OnStateChange")]
[HarmonyPrefix]
public static void StatePrefix(ref pReactorState oldState, ref pReactorState newState, LG_WardenObjective_Reactor __instance)
{
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Invalid comparison between Unknown and I4
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
//IL_0032: Invalid comparison between Unknown and I4
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
if (expdata == null)
{
expdata = RundownManager.GetActiveExpeditionData();
}
if ((int)expdata.tier == 5 && expdata.expeditionIndex == 1 && (int)newState.status == 5 && oldState.status != newState.status)
{
__instance.m_sound.Post(EVENTS.DOOR_ALARM, true);
BombTimer = Time.time + 5f;
}
}
}
public override void Load()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
new Harmony("gaa").PatchAll();
Debug.Log(Object.op_Implicit("LockoutRevival - locked and loaded for F1"));
}
}
[GeneratedCode("VersionInfoGenerator", "2.0.0+git50a4b1a-master")]
[CompilerGenerated]
internal static class VersionInfo
{
public const string RootNamespace = "LockoutRevival";
public const string Version = "1.0.0";
public const string VersionPrerelease = null;
public const string VersionMetadata = null;
public const string SemVer = "1.0.0";
public const string GitRevShort = null;
public const string GitRevLong = null;
public const string GitBranch = null;
public const string GitTag = null;
public const bool GitIsDirty = false;
}
}