Decompiled source of Briar Playermodel Pack v2.0.2

Briar Playermodel Pack.dll

Decompiled 2 weeks ago
using System;
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 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("Briar Playermodel Pack")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Briar Playermodel Pack")]
[assembly: AssemblyTitle("Briar 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 ModelReplacement
{
	public class BRIAR_SUIT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			if (Plugin.BriarSkin.Value == Plugin.BriarSkinList.Classic)
			{
				if (!Plugin.BaseFrenzy.Value)
				{
					if (Plugin.BriarBaseWep.Value == Plugin.BriarBaseWepEnum.Pillory)
					{
						string text = "briar_base_normal_pillory";
						return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
					}
					if (Plugin.BriarBaseWep.Value == Plugin.BriarBaseWepEnum.Shackles)
					{
						string text2 = "briar_base_normal_shackles";
						return Assets.MainAssetBundle.LoadAsset<GameObject>(text2);
					}
					string text3 = "briar_base_normal";
					return Assets.MainAssetBundle.LoadAsset<GameObject>(text3);
				}
				if (Plugin.BriarBaseWep.Value == Plugin.BriarBaseWepEnum.Pillory)
				{
					string text4 = "briar_base_frenzy_pillory";
					return Assets.MainAssetBundle.LoadAsset<GameObject>(text4);
				}
				if (Plugin.BriarBaseWep.Value == Plugin.BriarBaseWepEnum.Shackles)
				{
					string text5 = "briar_base_frenzy_shackles";
					return Assets.MainAssetBundle.LoadAsset<GameObject>(text5);
				}
				string text6 = "briar_base_frenzy";
				return Assets.MainAssetBundle.LoadAsset<GameObject>(text6);
			}
			if (Plugin.BriarSkin.Value == Plugin.BriarSkinList.Street_Demons)
			{
				Material material = Assets.MainAssetBundle.LoadAsset<Material>("BSD_body_color" + (int)Plugin.StreetDemonChroma.Value);
				Material material2 = Assets.MainAssetBundle.LoadAsset<Material>("BSD_body_color" + (int)Plugin.StreetDemonChroma.Value + "_BODY");
				Material material3 = Assets.MainAssetBundle.LoadAsset<Material>("BSD_body_color" + (int)Plugin.StreetDemonChroma.Value + "_GLOW");
				Material material4 = Assets.MainAssetBundle.LoadAsset<Material>("BSD_weapon_color" + (int)Plugin.StreetDemonChroma.Value);
				Material material5 = Assets.MainAssetBundle.LoadAsset<Material>("BSD_weapon_color" + (int)Plugin.StreetDemonChroma.Value + "_GLOW");
				if (!Plugin.SDFrenzy.Value)
				{
					if (Plugin.BriarSDWep.Value == Plugin.BriarSDWepEnum.Pillory)
					{
						string text7 = "briar_SD_normal_pillory";
						GameObject val = Assets.MainAssetBundle.LoadAsset<GameObject>(text7);
						SkinnedMeshRenderer[] componentsInChildren = val.GetComponentsInChildren<SkinnedMeshRenderer>();
						((Renderer)componentsInChildren[0]).material = material;
						((Renderer)componentsInChildren[4]).material = material;
						((Renderer)componentsInChildren[1]).material = material;
						((Renderer)componentsInChildren[2]).material = material2;
						((Renderer)componentsInChildren[3]).material = material;
						((Renderer)componentsInChildren[5]).material = material;
						((Renderer)componentsInChildren[13]).material = material;
						((Renderer)componentsInChildren[6]).material = material;
						((Renderer)componentsInChildren[7]).material = material3;
						((Renderer)componentsInChildren[8]).material = material;
						((Renderer)componentsInChildren[9]).material = material;
						((Renderer)componentsInChildren[10]).material = material5;
						((Renderer)componentsInChildren[11]).material = material4;
						((Renderer)componentsInChildren[12]).material = material2;
						((Renderer)componentsInChildren[14]).material = material;
						return val;
					}
					if (Plugin.BriarSDWep.Value == Plugin.BriarSDWepEnum.Shackles)
					{
						string text8 = "briar_SD_normal_shackles";
						GameObject val2 = Assets.MainAssetBundle.LoadAsset<GameObject>(text8);
						SkinnedMeshRenderer[] componentsInChildren2 = val2.GetComponentsInChildren<SkinnedMeshRenderer>();
						((Renderer)componentsInChildren2[0]).material = material;
						((Renderer)componentsInChildren2[1]).material = material2;
						((Renderer)componentsInChildren2[2]).material = material;
						((Renderer)componentsInChildren2[3]).material = material;
						((Renderer)componentsInChildren2[7]).material = material;
						((Renderer)componentsInChildren2[4]).material = material;
						((Renderer)componentsInChildren2[12]).material = material;
						((Renderer)componentsInChildren2[5]).material = material;
						((Renderer)componentsInChildren2[6]).material = material3;
						((Renderer)componentsInChildren2[8]).material = material;
						((Renderer)componentsInChildren2[9]).material = material;
						((Renderer)componentsInChildren2[10]).material = material4;
						((Renderer)componentsInChildren2[11]).material = material5;
						((Renderer)componentsInChildren2[13]).material = material;
						return val2;
					}
					string text9 = "briar_SD_normal";
					GameObject val3 = Assets.MainAssetBundle.LoadAsset<GameObject>(text9);
					SkinnedMeshRenderer[] componentsInChildren3 = val3.GetComponentsInChildren<SkinnedMeshRenderer>();
					((Renderer)componentsInChildren3[0]).material = material;
					((Renderer)componentsInChildren3[1]).material = material2;
					((Renderer)componentsInChildren3[2]).material = material;
					((Renderer)componentsInChildren3[3]).material = material;
					((Renderer)componentsInChildren3[7]).material = material;
					((Renderer)componentsInChildren3[4]).material = material;
					((Renderer)componentsInChildren3[10]).material = material;
					((Renderer)componentsInChildren3[5]).material = material;
					((Renderer)componentsInChildren3[6]).material = material3;
					((Renderer)componentsInChildren3[8]).material = material;
					((Renderer)componentsInChildren3[9]).material = material;
					((Renderer)componentsInChildren3[11]).material = material;
					return val3;
				}
				if (Plugin.BriarSDWep.Value == Plugin.BriarSDWepEnum.Pillory)
				{
					string text10 = "briar_SD_frenzy_pillory";
					GameObject val4 = Assets.MainAssetBundle.LoadAsset<GameObject>(text10);
					SkinnedMeshRenderer[] componentsInChildren4 = val4.GetComponentsInChildren<SkinnedMeshRenderer>();
					((Renderer)componentsInChildren4[0]).material = material;
					((Renderer)componentsInChildren4[6]).material = material;
					((Renderer)componentsInChildren4[1]).material = material;
					((Renderer)componentsInChildren4[2]).material = material3;
					((Renderer)componentsInChildren4[3]).material = material;
					((Renderer)componentsInChildren4[4]).material = material2;
					((Renderer)componentsInChildren4[5]).material = material;
					((Renderer)componentsInChildren4[7]).material = material;
					((Renderer)componentsInChildren4[12]).material = material;
					((Renderer)componentsInChildren4[8]).material = material2;
					((Renderer)componentsInChildren4[9]).material = material5;
					((Renderer)componentsInChildren4[10]).material = material4;
					((Renderer)componentsInChildren4[11]).material = material5;
					((Renderer)componentsInChildren4[13]).material = material;
					return val4;
				}
				if (Plugin.BriarSDWep.Value == Plugin.BriarSDWepEnum.Shackles)
				{
					string text11 = "briar_SD_frenzy_shackles";
					GameObject val5 = Assets.MainAssetBundle.LoadAsset<GameObject>(text11);
					SkinnedMeshRenderer[] componentsInChildren5 = val5.GetComponentsInChildren<SkinnedMeshRenderer>();
					((Renderer)componentsInChildren5[0]).material = material;
					((Renderer)componentsInChildren5[1]).material = material3;
					((Renderer)componentsInChildren5[2]).material = material;
					((Renderer)componentsInChildren5[3]).material = material;
					((Renderer)componentsInChildren5[4]).material = material2;
					((Renderer)componentsInChildren5[5]).material = material;
					((Renderer)componentsInChildren5[6]).material = material;
					((Renderer)componentsInChildren5[7]).material = material;
					((Renderer)componentsInChildren5[11]).material = material;
					((Renderer)componentsInChildren5[8]).material = material2;
					((Renderer)componentsInChildren5[9]).material = material4;
					((Renderer)componentsInChildren5[10]).material = material5;
					((Renderer)componentsInChildren5[12]).material = material;
					return val5;
				}
				string text12 = "briar_SD_frenzy";
				GameObject val6 = Assets.MainAssetBundle.LoadAsset<GameObject>(text12);
				SkinnedMeshRenderer[] componentsInChildren6 = val6.GetComponentsInChildren<SkinnedMeshRenderer>();
				((Renderer)componentsInChildren6[0]).material = material;
				((Renderer)componentsInChildren6[1]).material = material3;
				((Renderer)componentsInChildren6[2]).material = material;
				((Renderer)componentsInChildren6[3]).material = material;
				((Renderer)componentsInChildren6[4]).material = material2;
				((Renderer)componentsInChildren6[5]).material = material;
				((Renderer)componentsInChildren6[6]).material = material;
				((Renderer)componentsInChildren6[7]).material = material;
				((Renderer)componentsInChildren6[9]).material = material;
				((Renderer)componentsInChildren6[8]).material = material2;
				((Renderer)componentsInChildren6[10]).material = material;
				return val6;
			}
			Material material6 = Assets.MainAssetBundle.LoadAsset<Material>("BPM_body_color" + (int)Plugin.PrimordianChroma.Value);
			Material material7 = Assets.MainAssetBundle.LoadAsset<Material>("BPM_body_color" + (int)Plugin.PrimordianChroma.Value + "_BODY");
			Material material8 = Assets.MainAssetBundle.LoadAsset<Material>("BPM_body_color" + (int)Plugin.PrimordianChroma.Value + "_GLOW");
			Material material9 = Assets.MainAssetBundle.LoadAsset<Material>("BPM_body_color" + (int)Plugin.PrimordianChroma.Value + "_TRANS");
			Material material10 = Assets.MainAssetBundle.LoadAsset<Material>("BPM_weapon_color" + (int)Plugin.PrimordianChroma.Value);
			Material material11 = Assets.MainAssetBundle.LoadAsset<Material>("BPM_weapon_color" + (int)Plugin.PrimordianChroma.Value + "_GLOW");
			Material material12 = Assets.MainAssetBundle.LoadAsset<Material>("briar_invis");
			if (!Plugin.PMFrenzy.Value)
			{
				if (Plugin.BriarPMWep.Value == Plugin.BriarPMWepEnum.Pillory)
				{
					string text13 = "briar_PM_normal_pillory";
					GameObject val7 = Assets.MainAssetBundle.LoadAsset<GameObject>(text13);
					SkinnedMeshRenderer[] componentsInChildren7 = val7.GetComponentsInChildren<SkinnedMeshRenderer>();
					((Renderer)componentsInChildren7[0]).material = material6;
					((Renderer)componentsInChildren7[1]).material = material6;
					((Renderer)componentsInChildren7[7]).material = material6;
					((Renderer)componentsInChildren7[8]).material = material7;
					((Renderer)componentsInChildren7[2]).material = material7;
					((Renderer)componentsInChildren7[3]).material = material8;
					((Renderer)componentsInChildren7[4]).material = material8;
					((Renderer)componentsInChildren7[5]).material = material8;
					((Renderer)componentsInChildren7[6]).material = material6;
					((Renderer)componentsInChildren7[9]).material = material9;
					((Renderer)componentsInChildren7[10]).material = material6;
					((Renderer)componentsInChildren7[11]).material = material11;
					((Renderer)componentsInChildren7[12]).material = material6;
					((Renderer)componentsInChildren7[13]).material = material6;
					((Renderer)componentsInChildren7[14]).material = material10;
					((Renderer)componentsInChildren7[15]).material = material11;
					((Renderer)componentsInChildren7[16]).material = material6;
					if (Plugin.PMJacket.Value)
					{
						((Renderer)componentsInChildren7[12]).material = material12;
					}
					return val7;
				}
				if (Plugin.BriarPMWep.Value == Plugin.BriarPMWepEnum.Shackles)
				{
					string text14 = "briar_PM_normal_shackles";
					GameObject val8 = Assets.MainAssetBundle.LoadAsset<GameObject>(text14);
					SkinnedMeshRenderer[] componentsInChildren8 = val8.GetComponentsInChildren<SkinnedMeshRenderer>();
					((Renderer)componentsInChildren8[0]).material = material7;
					((Renderer)componentsInChildren8[1]).material = material8;
					((Renderer)componentsInChildren8[2]).material = material8;
					((Renderer)componentsInChildren8[3]).material = material8;
					((Renderer)componentsInChildren8[4]).material = material6;
					((Renderer)componentsInChildren8[5]).material = material6;
					((Renderer)componentsInChildren8[10]).material = material6;
					((Renderer)componentsInChildren8[6]).material = material7;
					((Renderer)componentsInChildren8[7]).material = material9;
					((Renderer)componentsInChildren8[8]).material = material6;
					((Renderer)componentsInChildren8[9]).material = material6;
					((Renderer)componentsInChildren8[11]).material = material6;
					((Renderer)componentsInChildren8[12]).material = material6;
					((Renderer)componentsInChildren8[13]).material = material10;
					((Renderer)componentsInChildren8[14]).material = material11;
					((Renderer)componentsInChildren8[15]).material = material6;
					if (Plugin.PMJacket.Value)
					{
						((Renderer)componentsInChildren8[11]).material = material12;
					}
					return val8;
				}
				string text15 = "briar_PM_normal";
				GameObject val9 = Assets.MainAssetBundle.LoadAsset<GameObject>(text15);
				SkinnedMeshRenderer[] componentsInChildren9 = val9.GetComponentsInChildren<SkinnedMeshRenderer>();
				((Renderer)componentsInChildren9[0]).material = material7;
				((Renderer)componentsInChildren9[1]).material = material8;
				((Renderer)componentsInChildren9[2]).material = material8;
				((Renderer)componentsInChildren9[3]).material = material8;
				((Renderer)componentsInChildren9[4]).material = material6;
				((Renderer)componentsInChildren9[5]).material = material6;
				((Renderer)componentsInChildren9[10]).material = material6;
				((Renderer)componentsInChildren9[6]).material = material7;
				((Renderer)componentsInChildren9[7]).material = material9;
				((Renderer)componentsInChildren9[8]).material = material6;
				((Renderer)componentsInChildren9[9]).material = material6;
				((Renderer)componentsInChildren9[11]).material = material6;
				((Renderer)componentsInChildren9[12]).material = material6;
				((Renderer)componentsInChildren9[13]).material = material6;
				if (Plugin.PMJacket.Value)
				{
					((Renderer)componentsInChildren9[11]).material = material12;
				}
				return val9;
			}
			if (Plugin.BriarPMWep.Value == Plugin.BriarPMWepEnum.Pillory)
			{
				string text16 = "briar_PM_frenzy_pillory";
				GameObject val10 = Assets.MainAssetBundle.LoadAsset<GameObject>(text16);
				SkinnedMeshRenderer[] componentsInChildren10 = val10.GetComponentsInChildren<SkinnedMeshRenderer>();
				((Renderer)componentsInChildren10[0]).material = material6;
				((Renderer)componentsInChildren10[1]).material = material6;
				((Renderer)componentsInChildren10[8]).material = material6;
				((Renderer)componentsInChildren10[2]).material = material7;
				((Renderer)componentsInChildren10[3]).material = material9;
				((Renderer)componentsInChildren10[4]).material = material6;
				((Renderer)componentsInChildren10[5]).material = material7;
				((Renderer)componentsInChildren10[6]).material = material8;
				((Renderer)componentsInChildren10[7]).material = material6;
				((Renderer)componentsInChildren10[9]).material = material6;
				((Renderer)componentsInChildren10[10]).material = material11;
				((Renderer)componentsInChildren10[11]).material = material6;
				((Renderer)componentsInChildren10[12]).material = material6;
				((Renderer)componentsInChildren10[13]).material = material10;
				((Renderer)componentsInChildren10[14]).material = material11;
				((Renderer)componentsInChildren10[15]).material = material6;
				if (Plugin.PMJacket.Value)
				{
					((Renderer)componentsInChildren10[11]).material = material12;
				}
				return val10;
			}
			if (Plugin.BriarPMWep.Value == Plugin.BriarPMWepEnum.Shackles)
			{
				string text17 = "briar_PM_frenzy_shackles";
				GameObject val11 = Assets.MainAssetBundle.LoadAsset<GameObject>(text17);
				SkinnedMeshRenderer[] componentsInChildren11 = val11.GetComponentsInChildren<SkinnedMeshRenderer>();
				((Renderer)componentsInChildren11[0]).material = material7;
				((Renderer)componentsInChildren11[1]).material = material9;
				((Renderer)componentsInChildren11[2]).material = material6;
				((Renderer)componentsInChildren11[3]).material = material6;
				((Renderer)componentsInChildren11[4]).material = material6;
				((Renderer)componentsInChildren11[8]).material = material6;
				((Renderer)componentsInChildren11[5]).material = material7;
				((Renderer)componentsInChildren11[6]).material = material8;
				((Renderer)componentsInChildren11[7]).material = material6;
				((Renderer)componentsInChildren11[9]).material = material7;
				((Renderer)componentsInChildren11[10]).material = material6;
				((Renderer)componentsInChildren11[11]).material = material6;
				((Renderer)componentsInChildren11[12]).material = material10;
				((Renderer)componentsInChildren11[13]).material = material11;
				((Renderer)componentsInChildren11[14]).material = material6;
				if (Plugin.PMJacket.Value)
				{
					((Renderer)componentsInChildren11[10]).material = material12;
				}
				return val11;
			}
			string text18 = "briar_PM_frenzy";
			GameObject val12 = Assets.MainAssetBundle.LoadAsset<GameObject>(text18);
			SkinnedMeshRenderer[] componentsInChildren12 = val12.GetComponentsInChildren<SkinnedMeshRenderer>();
			((Renderer)componentsInChildren12[0]).material = material7;
			((Renderer)componentsInChildren12[1]).material = material9;
			((Renderer)componentsInChildren12[2]).material = material6;
			((Renderer)componentsInChildren12[3]).material = material6;
			((Renderer)componentsInChildren12[4]).material = material6;
			((Renderer)componentsInChildren12[8]).material = material6;
			((Renderer)componentsInChildren12[5]).material = material7;
			((Renderer)componentsInChildren12[6]).material = material8;
			((Renderer)componentsInChildren12[7]).material = material6;
			((Renderer)componentsInChildren12[9]).material = material7;
			((Renderer)componentsInChildren12[10]).material = material6;
			((Renderer)componentsInChildren12[11]).material = material6;
			((Renderer)componentsInChildren12[12]).material = material6;
			if (Plugin.PMJacket.Value)
			{
				((Renderer)componentsInChildren12[10]).material = material12;
			}
			return val12;
		}
	}
	[BepInPlugin("com.theflipsider.briarplayermodels", "Briar Playermodel Pack", "0.1.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		public enum BriarSkinList
		{
			Classic = 1,
			Street_Demons,
			Primordian
		}

		public enum BriarBaseWepEnum
		{
			Pillory,
			Shackles,
			Free
		}

		public enum StreetDemonC
		{
			Original = 1,
			Ruby,
			Emerald,
			Rose,
			Tanzanite,
			Turquoise,
			Sapphire,
			Obsidian,
			Pearl
		}

		public enum BriarSDWepEnum
		{
			Pillory,
			Shackles,
			Free
		}

		public enum PrimordianC
		{
			Original = 1,
			Ruby,
			Catseye,
			Aquamarine,
			Peridot,
			Amethyst,
			Rose,
			Obsidian,
			Pearl,
			Abyssal
		}

		public enum BriarPMWepEnum
		{
			Pillory,
			Shackles,
			Free
		}

		public static ConfigFile config;

		public static ConfigEntry<BriarSkinList> BriarSkin { get; private set; }

		public static ConfigEntry<BriarBaseWepEnum> BriarBaseWep { get; private set; }

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

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

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

		public static ConfigEntry<StreetDemonC> StreetDemonChroma { get; private set; }

		public static ConfigEntry<BriarSDWepEnum> BriarSDWep { get; private set; }

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

		public static ConfigEntry<PrimordianC> PrimordianChroma { get; private set; }

		public static ConfigEntry<BriarPMWepEnum> BriarPMWep { get; private set; }

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

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

		private static void InitConfig()
		{
			//IL_0146: Unknown result type (might be due to invalid IL or missing references)
			//IL_014b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0158: Expected O, but got Unknown
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0177: Expected O, but got Unknown
			//IL_0184: Unknown result type (might be due to invalid IL or missing references)
			//IL_0189: Unknown result type (might be due to invalid IL or missing references)
			//IL_0196: Expected O, but got Unknown
			//IL_0191: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Expected O, but got Unknown
			//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Expected O, but got Unknown
			//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d4: Expected O, but got Unknown
			//IL_01e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f5: Expected O, but got Unknown
			//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f7: Expected O, but got Unknown
			//IL_0204: Unknown result type (might be due to invalid IL or missing references)
			//IL_0209: Unknown result type (might be due to invalid IL or missing references)
			//IL_0216: 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_0246: Unknown result type (might be due to invalid IL or missing references)
			//IL_024b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0258: Expected O, but got Unknown
			//IL_0253: Unknown result type (might be due to invalid IL or missing references)
			//IL_025a: Expected O, but got Unknown
			//IL_0267: Unknown result type (might be due to invalid IL or missing references)
			//IL_026c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0279: Expected O, but got Unknown
			//IL_0274: Unknown result type (might be due to invalid IL or missing references)
			//IL_027b: Expected O, but got Unknown
			BriarSkin = config.Bind<BriarSkinList>("General", "Choose skin", BriarSkinList.Classic, "Picks what skin Briar uses. Reapply the suit for the effect!");
			BriarBaseWep = config.Bind<BriarBaseWepEnum>("Classic Briar", "Pillory State", BriarBaseWepEnum.Pillory, "Picks what state Classic Briar's pillory is. Reapply the suit for the effect!");
			BaseFrenzy = config.Bind<bool>("Classic Briar", "Enable Frenzy", false, "Puts Classic Briar in her hematomania state (No mauling enemies included). Reapply the suit for the effect!");
			StreetDemonChroma = config.Bind<StreetDemonC>("Street Demon", "Choose chroma (color)", StreetDemonC.Original, "Picks what chroma Street Demons Briar uses. Reapply the suit for the effect!");
			BriarSDWep = config.Bind<BriarSDWepEnum>("Street Demon", "Pillory State", BriarSDWepEnum.Pillory, "Picks what state Street Demon Briar's pillory is. Reapply the suit for the effect!");
			SDFrenzy = config.Bind<bool>("Street Demon", "Enable Frenzy", false, "Puts Street Demon Briar in her hematomania state (No mauling enemies included). Reapply the suit for the effect!");
			PrimordianChroma = config.Bind<PrimordianC>("Primordian", "Choose chroma (color)", PrimordianC.Original, "Picks what chroma Primordian Briar uses. Reapply the suit for the effect!");
			BriarPMWep = config.Bind<BriarPMWepEnum>("Primordian", "Pillory State", BriarPMWepEnum.Pillory, "Picks what state Primordian Briar's pillory is. Reapply the suit for the effect!");
			PMFrenzy = config.Bind<bool>("Primordian", "Enable Frenzy", false, "Puts Primordian Briar in her hematomania state (No mauling enemies included). Reapply the suit for the effect!");
			PMJacket = config.Bind<bool>("Primordian", "Disable Jacket", false, "Removes Primordian Briar's Jacket. WARNING: She might be chilly. Reapply the suit for the effect!");
			EnumDropDownConfigItem<BriarSkinList> val = new EnumDropDownConfigItem<BriarSkinList>(BriarSkin, new EnumDropDownOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val);
			EnumDropDownConfigItem<BriarBaseWepEnum> val2 = new EnumDropDownConfigItem<BriarBaseWepEnum>(BriarBaseWep, new EnumDropDownOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val2);
			BoolCheckBoxConfigItem val3 = new BoolCheckBoxConfigItem(BaseFrenzy, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val3);
			EnumDropDownConfigItem<StreetDemonC> val4 = new EnumDropDownConfigItem<StreetDemonC>(StreetDemonChroma, new EnumDropDownOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val4);
			EnumDropDownConfigItem<BriarSDWepEnum> val5 = new EnumDropDownConfigItem<BriarSDWepEnum>(BriarSDWep, new EnumDropDownOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val5);
			BoolCheckBoxConfigItem val6 = new BoolCheckBoxConfigItem(SDFrenzy, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val6);
			EnumDropDownConfigItem<PrimordianC> val7 = new EnumDropDownConfigItem<PrimordianC>(PrimordianChroma, new EnumDropDownOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val7);
			EnumDropDownConfigItem<BriarPMWepEnum> val8 = new EnumDropDownConfigItem<BriarPMWepEnum>(BriarPMWep, new EnumDropDownOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val8);
			BoolCheckBoxConfigItem val9 = new BoolCheckBoxConfigItem(PMFrenzy, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val9);
			BoolCheckBoxConfigItem val10 = new BoolCheckBoxConfigItem(PMJacket, new BoolCheckBoxOptions
			{
				RequiresRestart = false
			});
			LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val10);
		}

		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("Briar (Use LethalConfig)", typeof(BRIAR_SUIT));
			Harmony val = new Harmony("com.theflipsider.briarplayermodels");
			val.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.theflipsider.briarplayermodels is loaded!");
		}
	}
	public static class Assets
	{
		public static string mainAssetBundleName = "BriarPlayermodels";

		public static AssetBundle MainAssetBundle = null;

		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);
			}
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		public IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}