Decompiled source of Aurora Playermodel Pack v2.1.0

Aurora Playermodel Pack.dll

Decompiled 3 days ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using LethalConfig;
using LethalConfig.ConfigItems;
using LethalConfig.ConfigItems.Options;
using Microsoft.CodeAnalysis;
using ModelReplacement;
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("Assembly-CSharp")]
[assembly: AssemblyCompany("Aurora Playermodel Pack")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Aurora Playermodel Pack")]
[assembly: AssemblyTitle("Aurora Playermodel Pack")]
[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 AuroraPlayermodels
{
	public class AURORA_SUIT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			if (Plugin.AuroraSkin.Value == Plugin.AuroraSkinList.Classic)
			{
				Material material = Assets.MainAssetBundle.LoadAsset<Material>("aurora_invis");
				Material material2 = Assets.MainAssetBundle.LoadAsset<Material>("AB_body");
				Material material3 = Assets.MainAssetBundle.LoadAsset<Material>("AB_body_GLOW");
				if (!Plugin.BaseHat.Value)
				{
					if (!Plugin.BaseEars.Value)
					{
						string text = "aurora_base";
						GameObject val = Assets.MainAssetBundle.LoadAsset<GameObject>(text);
						SkinnedMeshRenderer[] componentsInChildren = val.GetComponentsInChildren<SkinnedMeshRenderer>();
						((Renderer)componentsInChildren[0]).material = material2;
						((Renderer)componentsInChildren[1]).material = material2;
						((Renderer)componentsInChildren[2]).material = material2;
						((Renderer)componentsInChildren[3]).material = material2;
						((Renderer)componentsInChildren[4]).material = material3;
						((Renderer)componentsInChildren[5]).material = material2;
						((Renderer)componentsInChildren[6]).material = material2;
						((Renderer)componentsInChildren[7]).material = material3;
						if (Plugin.BaseEarring.Value)
						{
							((Renderer)componentsInChildren[3]).material = material;
						}
						if (Plugin.BaseBag.Value)
						{
							((Renderer)componentsInChildren[0]).material = material;
						}
						if (Plugin.BaseGlasses.Value)
						{
							((Renderer)componentsInChildren[5]).material = material;
						}
						if (Plugin.BaseGlow.Value)
						{
							((Renderer)componentsInChildren[4]).material = material2;
							((Renderer)componentsInChildren[7]).material = material2;
						}
						return val;
					}
					string text2 = "aurora_base_NB";
					GameObject val2 = Assets.MainAssetBundle.LoadAsset<GameObject>(text2);
					SkinnedMeshRenderer[] componentsInChildren2 = val2.GetComponentsInChildren<SkinnedMeshRenderer>();
					((Renderer)componentsInChildren2[0]).material = material2;
					((Renderer)componentsInChildren2[1]).material = material2;
					((Renderer)componentsInChildren2[2]).material = material3;
					((Renderer)componentsInChildren2[3]).material = material2;
					((Renderer)componentsInChildren2[4]).material = material2;
					((Renderer)componentsInChildren2[5]).material = material3;
					if (Plugin.BaseBag.Value)
					{
						((Renderer)componentsInChildren2[0]).material = material;
					}
					if (Plugin.BaseGlasses.Value)
					{
						((Renderer)componentsInChildren2[3]).material = material;
					}
					if (Plugin.BaseGlow.Value)
					{
						((Renderer)componentsInChildren2[2]).material = material2;
						((Renderer)componentsInChildren2[5]).material = material2;
					}
					return val2;
				}
				if (!Plugin.BaseEars.Value)
				{
					string text3 = "aurora_base_NH";
					GameObject val3 = Assets.MainAssetBundle.LoadAsset<GameObject>(text3);
					SkinnedMeshRenderer[] componentsInChildren3 = val3.GetComponentsInChildren<SkinnedMeshRenderer>();
					((Renderer)componentsInChildren3[0]).material = material2;
					((Renderer)componentsInChildren3[1]).material = material2;
					((Renderer)componentsInChildren3[2]).material = material2;
					((Renderer)componentsInChildren3[3]).material = material2;
					((Renderer)componentsInChildren3[4]).material = material3;
					((Renderer)componentsInChildren3[5]).material = material2;
					if (Plugin.BaseEarring.Value)
					{
						((Renderer)componentsInChildren3[3]).material = material;
					}
					if (Plugin.BaseBag.Value)
					{
						((Renderer)componentsInChildren3[0]).material = material;
					}
					if (Plugin.BaseGlasses.Value)
					{
						((Renderer)componentsInChildren3[5]).material = material;
					}
					if (Plugin.BaseGlow.Value)
					{
						((Renderer)componentsInChildren3[4]).material = material2;
					}
					return val3;
				}
				string text4 = "aurora_base_NH_NB";
				GameObject val4 = Assets.MainAssetBundle.LoadAsset<GameObject>(text4);
				SkinnedMeshRenderer[] componentsInChildren4 = val4.GetComponentsInChildren<SkinnedMeshRenderer>();
				((Renderer)componentsInChildren4[0]).material = material2;
				((Renderer)componentsInChildren4[1]).material = material2;
				((Renderer)componentsInChildren4[2]).material = material3;
				((Renderer)componentsInChildren4[3]).material = material2;
				if (Plugin.BaseBag.Value)
				{
					((Renderer)componentsInChildren4[0]).material = material;
				}
				if (Plugin.BaseGlasses.Value)
				{
					((Renderer)componentsInChildren4[3]).material = material;
				}
				if (Plugin.BaseGlow.Value)
				{
					((Renderer)componentsInChildren4[2]).material = material2;
				}
				return val4;
			}
			Material material4 = Assets.MainAssetBundle.LoadAsset<Material>("aurora_invis");
			Material material5 = Assets.MainAssetBundle.LoadAsset<Material>("AAS_body_color" + (int)Plugin.AnimaSquadChroma.Value);
			Material material6 = Assets.MainAssetBundle.LoadAsset<Material>("AAS_body_color" + (int)Plugin.AnimaSquadChroma.Value + "_GLOW");
			if (!Plugin.AnimaSquadHat.Value)
			{
				if (!Plugin.AnimaSquadEars.Value)
				{
					string text5 = "aurora_BB";
					GameObject val5 = Assets.MainAssetBundle.LoadAsset<GameObject>(text5);
					SkinnedMeshRenderer[] componentsInChildren5 = val5.GetComponentsInChildren<SkinnedMeshRenderer>();
					((Renderer)componentsInChildren5[0]).material = material5;
					((Renderer)componentsInChildren5[1]).material = material6;
					((Renderer)componentsInChildren5[2]).material = material5;
					((Renderer)componentsInChildren5[3]).material = material5;
					((Renderer)componentsInChildren5[4]).material = material6;
					((Renderer)componentsInChildren5[5]).material = material5;
					((Renderer)componentsInChildren5[6]).material = material5;
					((Renderer)componentsInChildren5[7]).material = material6;
					((Renderer)componentsInChildren5[8]).material = material5;
					if (Plugin.AnimaSquadEarring.Value)
					{
						((Renderer)componentsInChildren5[3]).material = material4;
						((Renderer)componentsInChildren5[4]).material = material4;
					}
					if (Plugin.AnimaSquadGlasses.Value)
					{
						((Renderer)componentsInChildren5[5]).material = material4;
					}
					if (Plugin.AnimaSquadGoggles.Value)
					{
						((Renderer)componentsInChildren5[8]).material = material4;
					}
					if (Plugin.AnimaSquadGlow.Value)
					{
						((Renderer)componentsInChildren5[1]).material = material5;
						((Renderer)componentsInChildren5[4]).material = material5;
						((Renderer)componentsInChildren5[7]).material = material5;
					}
					return val5;
				}
				string text6 = "aurora_BB_NB";
				GameObject val6 = Assets.MainAssetBundle.LoadAsset<GameObject>(text6);
				SkinnedMeshRenderer[] componentsInChildren6 = val6.GetComponentsInChildren<SkinnedMeshRenderer>();
				((Renderer)componentsInChildren6[0]).material = material5;
				((Renderer)componentsInChildren6[1]).material = material6;
				((Renderer)componentsInChildren6[2]).material = material5;
				((Renderer)componentsInChildren6[3]).material = material5;
				((Renderer)componentsInChildren6[4]).material = material6;
				((Renderer)componentsInChildren6[5]).material = material5;
				if (Plugin.AnimaSquadGlasses.Value)
				{
					((Renderer)componentsInChildren6[2]).material = material4;
				}
				if (Plugin.AnimaSquadGoggles.Value)
				{
					((Renderer)componentsInChildren6[5]).material = material4;
				}
				if (Plugin.AnimaSquadGlow.Value)
				{
					((Renderer)componentsInChildren6[1]).material = material5;
					((Renderer)componentsInChildren6[4]).material = material5;
				}
				return val6;
			}
			if (!Plugin.AnimaSquadEars.Value)
			{
				string text7 = "aurora_BB_NH";
				GameObject val7 = Assets.MainAssetBundle.LoadAsset<GameObject>(text7);
				SkinnedMeshRenderer[] componentsInChildren7 = val7.GetComponentsInChildren<SkinnedMeshRenderer>();
				((Renderer)componentsInChildren7[0]).material = material5;
				((Renderer)componentsInChildren7[1]).material = material6;
				((Renderer)componentsInChildren7[2]).material = material5;
				((Renderer)componentsInChildren7[3]).material = material5;
				((Renderer)componentsInChildren7[4]).material = material6;
				((Renderer)componentsInChildren7[5]).material = material5;
				((Renderer)componentsInChildren7[6]).material = material5;
				if (Plugin.AnimaSquadEarring.Value)
				{
					((Renderer)componentsInChildren7[3]).material = material4;
					((Renderer)componentsInChildren7[4]).material = material4;
				}
				if (Plugin.AnimaSquadGlasses.Value)
				{
					((Renderer)componentsInChildren7[5]).material = material4;
				}
				if (Plugin.AnimaSquadGoggles.Value)
				{
					((Renderer)componentsInChildren7[6]).material = material4;
				}
				if (Plugin.AnimaSquadGlow.Value)
				{
					((Renderer)componentsInChildren7[1]).material = material5;
					((Renderer)componentsInChildren7[4]).material = material5;
				}
				return val7;
			}
			string text8 = "aurora_BB_NH_NB";
			GameObject val8 = Assets.MainAssetBundle.LoadAsset<GameObject>(text8);
			SkinnedMeshRenderer[] componentsInChildren8 = val8.GetComponentsInChildren<SkinnedMeshRenderer>();
			((Renderer)componentsInChildren8[0]).material = material5;
			((Renderer)componentsInChildren8[1]).material = material6;
			((Renderer)componentsInChildren8[2]).material = material5;
			((Renderer)componentsInChildren8[3]).material = material5;
			if (Plugin.AnimaSquadGlasses.Value)
			{
				((Renderer)componentsInChildren8[2]).material = material4;
			}
			if (Plugin.AnimaSquadGoggles.Value)
			{
				((Renderer)componentsInChildren8[3]).material = material4;
			}
			if (Plugin.AnimaSquadGlow.Value)
			{
				((Renderer)componentsInChildren8[1]).material = material5;
			}
			return val8;
		}

		protected override void OnEmoteStart(int emoteId)
		{
			if (emoteId == 1 && Plugin.enableVoiceLines.Value)
			{
				AudioClip randomAudio = Assets.auroraE1.GetRandomAudio(StartOfRound.Instance.randomMapSeed);
				((BodyReplacementBase)this).controller.movementAudio.PlayOneShot(randomAudio, 0.8f);
			}
			if (emoteId == 2 && Plugin.enableVoiceLines.Value)
			{
				AudioClip randomAudio2 = Assets.auroraE2.GetRandomAudio(StartOfRound.Instance.randomMapSeed);
				((BodyReplacementBase)this).controller.movementAudio.PlayOneShot(randomAudio2, 0.8f);
			}
		}

		protected override void OnHitEnemy(bool dead)
		{
			((BodyReplacementBase)this).OnHitEnemy(dead);
			if (!dead && Plugin.enableAttackLines.Value)
			{
				AudioClip randomAudio = Assets.auroraHit.GetRandomAudio(StartOfRound.Instance.randomMapSeed);
				((BodyReplacementBase)this).controller.movementAudio.PlayOneShot(randomAudio, 0.8f);
			}
			if (dead && Plugin.enableAttackLines.Value)
			{
				AudioClip randomAudio2 = Assets.auroraGloat.GetRandomAudio(StartOfRound.Instance.randomMapSeed);
				((BodyReplacementBase)this).controller.movementAudio.PlayOneShot(randomAudio2, 0.8f);
			}
		}
	}
	[BepInPlugin("com.theflipsider.aurora.playermodels", "Aurora Playermodel Pack", "1.2.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		public enum AuroraSkinList
		{
			Classic,
			Battle_Bunny
		}

		public enum AnimaSquadC
		{
			Original = 1,
			Ruby,
			Catseye,
			Emerald,
			Turquoise,
			Obsidian,
			Amethyst,
			Meteorite,
			RoseQuartz,
			Nightwire
		}

		public static ConfigFile config;

		public static ConfigEntry<AuroraSkinList> AuroraSkin { get; private set; }

		public static ConfigEntry<bool> enableVoiceLines { get; private set; }

		public static ConfigEntry<bool> enableAttackLines { get; private set; }

		public static ConfigEntry<bool> BaseHat { get; private set; }

		public static ConfigEntry<bool> BaseEars { get; private set; }

		public static ConfigEntry<bool> BaseBag { get; private set; }

		public static ConfigEntry<bool> BaseGlasses { get; private set; }

		public static ConfigEntry<bool> BaseEarring { get; private set; }

		public static ConfigEntry<bool> BaseGlow { get; private set; }

		public static ConfigEntry<AnimaSquadC> AnimaSquadChroma { get; private set; }

		public static ConfigEntry<bool> AnimaSquadHat { get; private set; }

		public static ConfigEntry<bool> AnimaSquadEars { get; private set; }

		public static ConfigEntry<bool> AnimaSquadGlasses { get; private set; }

		public static ConfigEntry<bool> AnimaSquadEarring { get; private set; }

		public static ConfigEntry<bool> AnimaSquadGoggles { get; private set; }

		public static ConfigEntry<bool> AnimaSquadGlow { get; private set; }

		private static void InitConfig()
		{
			//IL_0206: Unknown result type (might be due to invalid IL or missing references)
			//IL_020b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0218: Expected O, but got Unknown
			//IL_0225: Unknown result type (might be due to invalid IL or missing references)
			//IL_022a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0237: Expected O, but got Unknown
			//IL_0232: Unknown result type (might be due to invalid IL or missing references)
			//IL_0238: Expected O, but got Unknown
			//IL_0244: Unknown result type (might be due to invalid IL or missing references)
			//IL_0249: Unknown result type (might be due to invalid IL or missing references)
			//IL_0256: Expected O, but got Unknown
			//IL_0251: Unknown result type (might be due to invalid IL or missing references)
			//IL_0257: Expected O, but got Unknown
			//IL_0263: Unknown result type (might be due to invalid IL or missing references)
			//IL_0268: Unknown result type (might be due to invalid IL or missing references)
			//IL_0275: Expected O, but got Unknown
			//IL_0270: Unknown result type (might be due to invalid IL or missing references)
			//IL_0276: Expected O, but got Unknown
			//IL_0282: Unknown result type (might be due to invalid IL or missing references)
			//IL_0287: Unknown result type (might be due to invalid IL or missing references)
			//IL_0294: Expected O, but got Unknown
			//IL_028f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0296: Expected O, but got Unknown
			//IL_02a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b5: Expected O, but got Unknown
			//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b7: Expected O, but got Unknown
			//IL_02c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d6: Expected O, but got Unknown
			//IL_02d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d8: Expected O, but got Unknown
			//IL_02e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f7: Expected O, but got Unknown
			//IL_02f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f9: Expected O, but got Unknown
			//IL_0306: Unknown result type (might be due to invalid IL or missing references)
			//IL_030b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0318: Expected O, but got Unknown
			//IL_0313: Unknown result type (might be due to invalid IL or missing references)
			//IL_031a: Expected O, but got Unknown
			//IL_0327: Unknown result type (might be due to invalid IL or missing references)
			//IL_032c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0339: Expected O, but got Unknown
			//IL_0348: Unknown result type (might be due to invalid IL or missing references)
			//IL_034d: Unknown result type (might be due to invalid IL or missing references)
			//IL_035a: Expected O, but got Unknown
			//IL_0355: Unknown result type (might be due to invalid IL or missing references)
			//IL_035c: Expected O, but got Unknown
			//IL_0369: Unknown result type (might be due to invalid IL or missing references)
			//IL_036e: Unknown result type (might be due to invalid IL or missing references)
			//IL_037b: Expected O, but got Unknown
			//IL_0376: Unknown result type (might be due to invalid IL or missing references)
			//IL_037d: Expected O, but got Unknown
			//IL_038a: Unknown result type (might be due to invalid IL or missing references)
			//IL_038f: Unknown result type (might be due to invalid IL or missing references)
			//IL_039c: Expected O, but got Unknown
			//IL_0397: Unknown result type (might be due to invalid IL or missing references)
			//IL_039e: Expected O, but got Unknown
			//IL_03ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03bd: Expected O, but got Unknown
			//IL_03b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03bf: Expected O, but got Unknown
			//IL_03cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03de: Expected O, but got Unknown
			//IL_03d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e0: Expected O, but got Unknown
			//IL_03ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ff: Expected O, but got Unknown
			//IL_03fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0401: Expected O, but got Unknown
			AuroraSkin = config.Bind<AuroraSkinList>("General", "Choose skin", AuroraSkinList.Classic, "Picks what skin Briar uses. Reapply the suit for the effect!");
			enableVoiceLines = config.Bind<bool>("Voice lines", "Enable Emote Voice Lines", true, "Lets Aurora speak her neurodivergent mind while emoting.");
			enableAttackLines = config.Bind<bool>("Voice lines", "Enable Attack Voice Lines", true, "Toggles voice lines on hitting enemies.");
			BaseGlow = config.Bind<bool>("Classic Aurora", "Disable Glow", false, "Disables the glowing parts of Base Aurora. Reapply the suit for the effect!");
			BaseHat = config.Bind<bool>("Classic Aurora", "Disable hat", false, "Takes off base Aurora's hat. Reapply the suit for the effect!");
			BaseEarring = config.Bind<bool>("Classic Aurora", "Disable Earring", false, "Takes off base Aurora's earring. Reapply the suit for the effect!");
			BaseGlasses = config.Bind<bool>("Classic Aurora", "Disable Glasses", false, "Takes off base Aurora's glasses. How cruel! Reapply the suit for the effect!");
			BaseBag = config.Bind<bool>("Classic Aurora", "Disable Pouch", false, "Takes off base Aurora's pouch. Reapply the suit for the effect!");
			BaseEars = config.Bind<bool>("Classic Aurora", "Disable Rabbit Parts", false, "For those still in their furry denial phase. Reapply the suit for the effect!");
			AnimaSquadChroma = config.Bind<AnimaSquadC>("Battle Bunny", "Choose chroma (color)", AnimaSquadC.Original, "Picks what chroma Battle Bunny Aurora uses. Reapply the suit for the effect!");
			AnimaSquadGlow = config.Bind<bool>("Battle Bunny", "Disable Glow", false, "Disables the glowing parts of Battle Bunny Aurora. Reapply the suit for the effect!");
			AnimaSquadHat = config.Bind<bool>("Battle Bunny", "Disable hat", false, "Takes off Battle Bunny Aurora's hat. Reapply the suit for the effect!");
			AnimaSquadEarring = config.Bind<bool>("Battle Bunny", "Disable Earring", false, "Takes off Battle Bunny Aurora's earring. Reapply the suit for the effect!");
			AnimaSquadGlasses = config.Bind<bool>("Battle Bunny", "Disable Glasses", false, "Takes off Battle Bunny Aurora's glasses. How cruel! Reapply the suit for the effect!");
			AnimaSquadGoggles = config.Bind<bool>("Battle Bunny", "Disable Neck Goggles", false, "Takes off Battle Bunny Aurora's goggles. Reapply the suit for the effect!");
			AnimaSquadEars = config.Bind<bool>("Battle Bunny", "Disable Bunny Parts", false, "For those still in their furry denial phase. Reapply the suit for the effect!");
			EnumDropDownConfigItem<AuroraSkinList> val = new EnumDropDownConfigItem<AuroraSkinList>(AuroraSkin, new EnumDropDownOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val);
			BoolCheckBoxConfigItem val2 = new BoolCheckBoxConfigItem(enableVoiceLines, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val2);
			BoolCheckBoxConfigItem val3 = new BoolCheckBoxConfigItem(enableAttackLines, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val2);
			BoolCheckBoxConfigItem val4 = new BoolCheckBoxConfigItem(BaseGlow, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val4);
			BoolCheckBoxConfigItem val5 = new BoolCheckBoxConfigItem(BaseHat, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val5);
			BoolCheckBoxConfigItem val6 = new BoolCheckBoxConfigItem(BaseEars, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val6);
			BoolCheckBoxConfigItem val7 = new BoolCheckBoxConfigItem(BaseEarring, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val7);
			BoolCheckBoxConfigItem val8 = new BoolCheckBoxConfigItem(BaseGlasses, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val8);
			BoolCheckBoxConfigItem val9 = new BoolCheckBoxConfigItem(BaseBag, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val9);
			EnumDropDownConfigItem<AnimaSquadC> val10 = new EnumDropDownConfigItem<AnimaSquadC>(AnimaSquadChroma, new EnumDropDownOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val10);
			BoolCheckBoxConfigItem val11 = new BoolCheckBoxConfigItem(AnimaSquadGlow, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val11);
			BoolCheckBoxConfigItem val12 = new BoolCheckBoxConfigItem(AnimaSquadHat, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val12);
			BoolCheckBoxConfigItem val13 = new BoolCheckBoxConfigItem(AnimaSquadEars, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val13);
			BoolCheckBoxConfigItem val14 = new BoolCheckBoxConfigItem(AnimaSquadEarring, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val14);
			BoolCheckBoxConfigItem val15 = new BoolCheckBoxConfigItem(AnimaSquadGlasses, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val15);
			BoolCheckBoxConfigItem val16 = new BoolCheckBoxConfigItem(AnimaSquadGoggles, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val16);
		}

		private void Awake()
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Expected O, but got Unknown
			config = ((BaseUnityPlugin)this).Config;
			InitConfig();
			Assets.PopulateAssets();
			ModelReplacementAPI.RegisterSuitModelReplacement("Aurora (Check LethalConfig)", typeof(AURORA_SUIT));
			Harmony val = new Harmony("com.theflipsider.aurora.playermodels");
			val.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Aurora Playermodels - See with eyes unclouded!");
		}
	}
	public static class Assets
	{
		public class RandomAudioClip
		{
			private List<AudioClip> audioClipList = new List<AudioClip>();

			public AudioClip GetRandomAudio(int seed)
			{
				Random random = new Random();
				int num = random.Next(audioClipList.Count);
				Console.WriteLine($"Get audio N {audioClipList.Count} > {num}");
				return audioClipList[num];
			}

			public void AddAudio(string name)
			{
				AudioClip audioClipFromName = GetAudioClipFromName(name);
				if ((Object)(object)audioClipFromName != (Object)null)
				{
					audioClipList.Add(audioClipFromName);
				}
				else
				{
					Console.WriteLine("clip " + name + " null");
				}
			}
		}

		public static string mainAssetBundleName = "AuroraPlayermodels";

		public static AssetBundle MainAssetBundle = null;

		public static RandomAudioClip auroraE1 = new RandomAudioClip();

		public static RandomAudioClip auroraE2 = new RandomAudioClip();

		public static RandomAudioClip auroraHit = new RandomAudioClip();

		public static RandomAudioClip auroraGloat = new RandomAudioClip();

		private static string GetAssemblyName()
		{
			return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_");
		}

		public static void PopulateAssets()
		{
			if ((Object)(object)MainAssetBundle == (Object)null)
			{
				Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName);
				using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName);
				MainAssetBundle = AssetBundle.LoadFromStream(stream);
			}
			auroraE1.AddAudio("aurora_dance");
			auroraE1.AddAudio("aurora_auntie");
			auroraE1.AddAudio("aurora_carrots");
			auroraE1.AddAudio("aurora_company");
			auroraE1.AddAudio("aurora_laugh");
			auroraE1.AddAudio("aurora_left");
			auroraE1.AddAudio("aurora_thanks");
			auroraE1.AddAudio("aurora_train");
			auroraE1.AddAudio("aurora_woke");
			auroraE1.AddAudio("aurora_home");
			auroraE1.AddAudio("aurora_research");
			auroraE2.AddAudio("aurora_anyway");
			auroraE2.AddAudio("aurora_beaut");
			auroraE2.AddAudio("aurora_book");
			auroraE2.AddAudio("aurora_bookmark");
			auroraE2.AddAudio("aurora_explain");
			auroraE2.AddAudio("aurora_read");
			auroraE2.AddAudio("aurora_sounds");
			auroraE2.AddAudio("aurora_spirit");
			auroraE2.AddAudio("aurora_walking");
			auroraE2.AddAudio("aurora_work");
			auroraE2.AddAudio("aurora_fascinating");
			auroraE2.AddAudio("aurora_balance");
			auroraHit.AddAudio("aurora_stayback");
			auroraHit.AddAudio("aurora_attack1");
			auroraHit.AddAudio("aurora_attack1");
			auroraHit.AddAudio("aurora_attack2");
			auroraHit.AddAudio("aurora_attack3");
			auroraHit.AddAudio("aurora_attack4");
			auroraHit.AddAudio("aurora_attack5");
			auroraHit.AddAudio("aurora_attack6");
			auroraHit.AddAudio("aurora_attack7");
			auroraHit.AddAudio("aurora_E1");
			auroraHit.AddAudio("aurora_E2");
			auroraHit.AddAudio("aurora_leave");
			auroraHit.AddAudio("aurora_pcha");
			auroraHit.AddAudio("aurora_Q1");
			auroraHit.AddAudio("aurora_Q2");
			auroraHit.AddAudio("aurora_R1");
			auroraHit.AddAudio("aurora_R2");
			auroraGloat.AddAudio("aurora_bookmark");
			auroraGloat.AddAudio("aurora_spirit");
			auroraGloat.AddAudio("aurora_train");
			auroraGloat.AddAudio("aurora_enough");
			auroraGloat.AddAudio("aurora_waste");
			auroraGloat.AddAudio("aurora_work");
			auroraGloat.AddAudio("aurora_book");
		}

		public static AudioClip GetAudioClipFromName(string name)
		{
			Object obj = MainAssetBundle.LoadAsset(name);
			return (AudioClip)(object)((obj is AudioClip) ? obj : null);
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		public IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}