using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using AddWatermark;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Logging;
using Cysharp.Threading.Tasks;
using HarmonyLib;
using LBoL.ConfigData;
using LBoL.Core;
using LBoL.Core.Cards;
using LBoLEntitySideloader;
using LBoLEntitySideloader.Attributes;
using LBoLEntitySideloader.Entities;
using LBoLEntitySideloader.Resource;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: IgnoresAccessChecksTo("LBoL.Base")]
[assembly: IgnoresAccessChecksTo("LBoL.ConfigData")]
[assembly: IgnoresAccessChecksTo("LBoL.Core")]
[assembly: IgnoresAccessChecksTo("LBoL.EntityLib")]
[assembly: IgnoresAccessChecksTo("LBoL.Presentation")]
[assembly: IgnoresAccessChecksTo("Untitled.ConfigDataBuilder.Base")]
[assembly: AssemblyCompany("Payday2MusicPack")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Payday2MusicPack")]
[assembly: AssemblyTitle("Payday2MusicPack")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Payday2MusicPack
{
[BepInPlugin("intoxicatedkid.payday2musicpack", "Payday 2 Music Pack", "0.8.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInProcess("LBoL.exe")]
public class BepinexPlugin : BaseUnityPlugin
{
private static readonly Harmony harmony = PInfo.harmony;
internal static ManualLogSource log;
internal static IResourceSource embeddedSource = (IResourceSource)new EmbeddedSource(Assembly.GetExecutingAssembly());
internal static DirectorySource directorySource = new DirectorySource("intoxicatedkid.payday2musicpack", "resources");
internal static BatchLocalization cardBatchLoc = new BatchLocalization((IResourceSource)(object)directorySource, typeof(CardTemplate), "cards", (Locale)0, false);
private void Awake()
{
log = ((BaseUnityPlugin)this).Logger;
Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject);
((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
EntityManager.RegisterSelf();
harmony.PatchAll();
if (Chainloader.PluginInfos.ContainsKey("neo.lbol.tools.watermark"))
{
WatermarkWrapper.ActivateWatermark();
}
}
private void OnDestroy()
{
if (harmony != null)
{
harmony.UnpatchSelf();
}
}
}
public class BgmsDef
{
[OverwriteVanilla]
public sealed class Stage1BgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Stage1");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Gun_Metal_Grey_2015.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 4f;
val.LoopEnd = 147.3f;
val.TrackName = "Gun Metal Grey 2015";
val.Artist = "Simon Viklund";
val.Original = "Gun Metal Grey 2015";
return val;
}
}
[OverwriteVanilla]
public sealed class Stage2BgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Stage2");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Double_Cross_2017.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 4f;
val.LoopEnd = 184f;
val.TrackName = "Double Cross 2017";
val.Artist = "Simon Viklund";
val.Original = "Double Cross 2017";
return val;
}
}
[OverwriteVanilla]
public sealed class Stage3BgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Stage3");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Breach_2015.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 4f;
val.LoopEnd = 223.43f;
val.TrackName = "Breach 2015";
val.Artist = "Simon Viklund";
val.Original = "Breach 2015";
return val;
}
}
[OverwriteVanilla]
public sealed class SanyueBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Sanyue");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Shadows_And_Trickery.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 3f;
val.LoopEnd = 123f;
val.TrackName = "Shadows And Trickery";
val.Artist = "Simon Viklund";
val.Original = "Shadows And Trickery";
return val;
}
}
[OverwriteVanilla]
public sealed class AyaBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Aya");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Home_Invasion_2016.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 4f;
val.LoopEnd = 129.45f;
val.TrackName = "Home Invasion 2016";
val.Artist = "Simon Viklund";
val.Original = "Home Invasion 2016";
return val;
}
}
[OverwriteVanilla]
public sealed class RinBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Rin");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Dead_Mans_Hand.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 4f;
val.LoopEnd = 140.05f;
val.TrackName = "Dead Man's Hand";
val.Artist = "Simon Viklund";
val.Original = "Dead Man's Hand";
return val;
}
}
[OverwriteVanilla]
public sealed class NitoriBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Nitori");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Storm_Fuel_Overload.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 4f;
val.LoopEnd = 117.25f;
val.TrackName = "Storm Fuel Overload";
val.Artist = "Simon Viklund";
val.Original = "Storm Fuel Overload";
return val;
}
}
[OverwriteVanilla]
public sealed class YoumuBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Youmu");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("The_Gauntlet.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 4f;
val.LoopEnd = 149.465f;
val.TrackName = "The Gauntlet";
val.Artist = "Simon Viklund";
val.Original = "The Gauntlet";
return val;
}
}
[OverwriteVanilla]
public sealed class KokoroBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Kokoro");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Evil_Eye.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 3f;
val.LoopEnd = 199.75f;
val.TrackName = "Evil Eye";
val.Artist = "Simon Viklund";
val.Original = "Evil Eye";
return val;
}
}
[OverwriteVanilla]
public sealed class ClownpieceBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Clownpiece");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Utter_Chaos.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 5f;
val.LoopEnd = 119.3f;
val.TrackName = "Utter Chaos";
val.Artist = "Simon Viklund";
val.Original = "Utter Chaos";
return val;
}
}
[OverwriteVanilla]
public sealed class SijiBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Siji");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Death_Wish.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 2f;
val.LoopEnd = 157.5f;
val.TrackName = "Death Wish";
val.Artist = "Simon Viklund";
val.Original = "Death Wish";
return val;
}
}
[OverwriteVanilla]
public sealed class DoremyBgmDef : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Doremy");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Calling_All_Units.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.Volume = 1f;
val.LoopStart = 4f;
val.LoopEnd = 115.3f;
val.TrackName = "Calling All Units";
val.Artist = "Simon Viklund";
val.Original = "Calling All Units";
return val;
}
}
[OverwriteVanilla]
public sealed class LongBgm : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Long");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Payback_Roulette.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.TrackName = "Payback Roulette";
val.Artist = "Gustavo Coutinho";
val.Original = "Payback Roulette";
val.LoopStart = 4f;
val.LoopEnd = 188.325f;
return val;
}
}
[OverwriteVanilla]
public sealed class SeijaBgm : BgmTemplate
{
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("Seija");
}
public override UniTask<AudioClip> LoadAudioClipAsync()
{
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
return ResourceLoader.LoadAudioClip("Operation_Black_Light.ogg", (AudioType)14, BepinexPlugin.directorySource, "file://");
}
public override BgmConfig MakeConfig()
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
BgmConfig val = BgmConfig.FromID(IdContainer.op_Implicit(((EntityDefinition)this).GetId()));
val.TrackName = "Operation Black Light";
val.Artist = "Le Castle Vania";
val.Original = "Operation Black Light";
val.LoopStart = 4f;
val.LoopEnd = 141.15f;
return val;
}
}
}
public sealed class ExampleCardDefinition : CardTemplate
{
[EntityLogic(typeof(ExampleCardDefinition))]
public sealed class ExampleCard : Card
{
}
public override IdContainer GetId()
{
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
return IdContainer.op_Implicit("ExampleCard");
}
public override CardImages LoadCardImages()
{
return null;
}
public override LocalizationOption LoadLocalization()
{
return (LocalizationOption)(object)BepinexPlugin.cardBatchLoc.AddEntity((EntityDefinition)(object)this);
}
public override CardConfig MakeConfig()
{
return ((CardTemplate)this).DefaultConfig();
}
}
public static class PInfo
{
public const string GUID = "intoxicatedkid.payday2musicpack";
public const string Name = "Payday 2 Music Pack";
public const string version = "0.8.0";
public static readonly Harmony harmony = new Harmony("intoxicatedkid.payday2musicpack");
}
internal class WatermarkWrapper
{
[MethodImpl(MethodImplOptions.NoInlining)]
internal static void ActivateWatermark()
{
API.ActivateWatermark();
}
}
}
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
internal sealed class IgnoresAccessChecksToAttribute : Attribute
{
internal IgnoresAccessChecksToAttribute(string assemblyName)
{
}
}
}