Decompiled source of NiaMercSkin v2.0.2

NiaMercSkin.dll

Decompiled 3 weeks ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using MonoMod.RuntimeDetour;
using MonoMod.RuntimeDetour.HookGen;
using MwSkinAdditions;
using RiskOfOptions;
using RiskOfOptions.OptionConfigs;
using RiskOfOptions.Options;
using RoR2;
using RuneFoxMods.DynamicSkins;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Rendering;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
namespace NiaMercSkin
{
	public static class MwSkinEvents
	{
		public static VoiceGroup[] voiceGroups;

		private static BlendShapeAnimation[] blinkAnimations = (BlendShapeAnimation[])(object)new BlendShapeAnimation[1] { (BlendShapeAnimation)new BlinkBlendShapeAnimation("MercMesh", "LowBlink", -1, 0, 0.1f, 0f, 0.1f, false) };

		private static IdleAnimation[] conditionalIdleAnimations = (IdleAnimation[])(object)new IdleAnimation[2]
		{
			new IdleAnimation((BlendShapeAnimation[])(object)new BlendShapeAnimation[2]
			{
				new BlendShapeAnimation("MercMesh", "BrowAngry", 1, -2, 0.3f, float.PositiveInfinity, 0.3f, false),
				new BlendShapeAnimation("MercMesh", "MouthFrown", 2, -2, 0.3f, float.PositiveInfinity, 0.3f, false)
			}, (Func<ExpressionController, bool>)InCombat, true),
			new IdleAnimation((BlendShapeAnimation[])(object)new BlendShapeAnimation[3]
			{
				new BlendShapeAnimation("MercMesh", "EyesDepressed", 0, -1, 0.3f, float.PositiveInfinity, 0.3f, true),
				new BlendShapeAnimation("MercMesh", "BrowsConcerned", 1, -1, 0.3f, float.PositiveInfinity, 0.3f, false),
				new BlendShapeAnimation("MercMesh", "MouthFrown", 2, -1, 0.3f, float.PositiveInfinity, 0.3f, false)
			}, (Func<ExpressionController, bool>)IsLowHealth, true)
		};

		public static VoiceArray blockDamage = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[6]
		{
			new VoiceInfo("Play_NiaMerc_Block_1", 2.4f),
			new VoiceInfo("Play_NiaMerc_Block_2", 1.9f),
			new VoiceInfo("Play_NiaMerc_Block_3", 1.3f),
			new VoiceInfo("Play_NiaMerc_Block_4", 1.7f),
			new VoiceInfo("Play_NiaMerc_Block_5", 1.5f),
			new VoiceInfo("Play_NiaMerc_Block_6", 1.6f)
		});

		public static VoiceArray damage = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[4]
		{
			new VoiceInfo("Play_NiaMerc_Damage_1", 1f),
			new VoiceInfo("Play_NiaMerc_Damage_2", 1f),
			new VoiceInfo("Play_NiaMerc_Damage_3", 0.7f),
			new VoiceInfo("Play_NiaMerc_Damage_4", 0.9f)
		});

		public static VoiceArray death = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[5]
		{
			new VoiceInfo("Play_NiaMerc_Death_1", 4.5f),
			new VoiceInfo("Play_NiaMerc_Death_2", 1.5f),
			new VoiceInfo("Play_NiaMerc_Death_3", 2f),
			new VoiceInfo("Play_NiaMerc_Death_4", 2.2f),
			new VoiceInfo("Play_NiaMerc_Death_5", 1.5f)
		});

		public static VoiceArray defeatBossGroup = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[5]
		{
			new VoiceInfo("Play_NiaMerc_Defeat_Boss_Group_1", 1.7f),
			new VoiceInfo("Play_NiaMerc_Defeat_Boss_Group_2", 1.6f),
			new VoiceInfo("Play_NiaMerc_Defeat_Boss_Group_3", 2.2f),
			new VoiceInfo("Play_NiaMerc_Defeat_Boss_Group_4", 2.3f),
			new VoiceInfo("Play_NiaMerc_Defeat_Boss_Group_5", 1.3f)
		});

		public static VoiceArray getItem = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[10]
		{
			new VoiceInfo("Play_NiaMerc_Get_Item_1", 0.7f),
			new VoiceInfo("Play_NiaMerc_Get_Item_2", 0.5f),
			new VoiceInfo("Play_NiaMerc_Get_Item_3", 0.7f),
			new VoiceInfo("Play_NiaMerc_Get_Item_4", 1.8f),
			new VoiceInfo("Play_NiaMerc_Get_Item_5", 3.1f),
			new VoiceInfo("Play_NiaMerc_Get_Item_6", 1.6f),
			new VoiceInfo("Play_NiaMerc_Get_Item_7", 2.4f),
			new VoiceInfo("Play_NiaMerc_Get_Item_8", 1.7f),
			new VoiceInfo("Play_NiaMerc_Get_Item_9", 2.2f),
			new VoiceInfo("Play_NiaMerc_Get_Item_10", 1.5f)
		});

		public static VoiceArray heal = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[3]
		{
			new VoiceInfo("Play_NiaMerc_Heal_1", 2.5f),
			new VoiceInfo("Play_NiaMerc_Heal_2", 1.5f),
			new VoiceInfo("Play_NiaMerc_Heal_3", 1.3f)
		});

		public static VoiceArray leavePod = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[3]
		{
			new VoiceInfo("Play_NiaMerc_Leave_Pod_1", 1.8f),
			new VoiceInfo("Play_NiaMerc_Leave_Pod_2", 1.3f),
			new VoiceInfo("Play_NiaMerc_Leave_Pod_3", 1.1f)
		});

		public static VoiceArray levelUp = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[6]
		{
			new VoiceInfo("Play_NiaMerc_Level_Up_1", 2.2f),
			new VoiceInfo("Play_NiaMerc_Level_Up_2", 1.5f),
			new VoiceInfo("Play_NiaMerc_Level_Up_3", 1.3f),
			new VoiceInfo("Play_NiaMerc_Level_Up_4", 2.3f),
			new VoiceInfo("Play_NiaMerc_Level_Up_5", 1.7f),
			new VoiceInfo("Play_NiaMerc_Level_Up_6", 2f)
		});

		public static VoiceArray lowHealth = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[5]
		{
			new VoiceInfo("Play_NiaMerc_Low_Health_1", 2.5f),
			new VoiceInfo("Play_NiaMerc_Low_Health_2", 2.1f),
			new VoiceInfo("Play_NiaMerc_Low_Health_3", 2.7f),
			new VoiceInfo("Play_NiaMerc_Low_Health_4", 1.7f),
			new VoiceInfo("Play_NiaMerc_Low_Health_5", 1.8f)
		});

		public static VoiceArray mithrixDefeat = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[2]
		{
			new VoiceInfo("Play_NiaMerc_Mithrix_Defeat_1", 1.9f),
			new VoiceInfo("Play_NiaMerc_Mithrix_Defeat_2", 2.4f)
		});

		public static VoiceArray secondary = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[6]
		{
			new VoiceInfo("Play_NiaMerc_Secondary_1", 0.4f),
			new VoiceInfo("Play_NiaMerc_Secondary_2", 0.3f),
			new VoiceInfo("Play_NiaMerc_Secondary_3", 0.3f),
			new VoiceInfo("Play_NiaMerc_Secondary_4", 0.3f),
			new VoiceInfo("Play_NiaMerc_Secondary_5", 0.3f),
			new VoiceInfo("Play_NiaMerc_Secondary_6", 0.3f)
		});

		public static VoiceArray shrineFailure = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[3]
		{
			new VoiceInfo("Play_NiaMerc_Shrine_Failure_1", 3f),
			new VoiceInfo("Play_NiaMerc_Shrine_Failure_2", 0.8f),
			new VoiceInfo("Play_NiaMerc_Shrine_Failure_3", 1.2f)
		});

		public static VoiceArray shrineSuccess = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[3]
		{
			new VoiceInfo("Play_NiaMerc_Shrine_Success_1", 1.3f),
			new VoiceInfo("Play_NiaMerc_Shrine_Success_2", 1.3f),
			new VoiceInfo("Play_NiaMerc_Shrine_Success_3", 1.5f)
		});

		public static VoiceArray special = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[6]
		{
			new VoiceInfo("Play_NiaMerc_Special_1", 1.3f),
			new VoiceInfo("Play_NiaMerc_Special_2", 1.4f),
			new VoiceInfo("Play_NiaMerc_Special_3", 1f),
			new VoiceInfo("Play_NiaMerc_Special_4", 1.4f),
			new VoiceInfo("Play_NiaMerc_Special_5", 0.9f),
			new VoiceInfo("Play_NiaMerc_Special_6", 1.3f)
		});

		public static VoiceArray endTP = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[10]
		{
			new VoiceInfo("Play_NiaMerc_TP_End_1", 1.7f),
			new VoiceInfo("Play_NiaMerc_TP_End_2", 3.3f),
			new VoiceInfo("Play_NiaMerc_TP_End_3", 2.6f),
			new VoiceInfo("Play_NiaMerc_TP_End_4", 1.2f),
			new VoiceInfo("Play_NiaMerc_TP_End_5", 1.7f),
			new VoiceInfo("Play_NiaMerc_TP_End_6", 2.1f),
			new VoiceInfo("Play_NiaMerc_TP_End_7", 1.7f),
			new VoiceInfo("Play_NiaMerc_TP_End_8", 1f),
			new VoiceInfo("Play_NiaMerc_TP_End_9", 2.1f),
			new VoiceInfo("Play_NiaMerc_TP_End_10", 2.8f)
		});

		public static VoiceArray startTP = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[10]
		{
			new VoiceInfo("Play_NiaMerc_TP_Start_1", 2.4f),
			new VoiceInfo("Play_NiaMerc_TP_Start_2", 3.5f),
			new VoiceInfo("Play_NiaMerc_TP_Start_3", 1.4f),
			new VoiceInfo("Play_NiaMerc_TP_Start_4", 2.2f),
			new VoiceInfo("Play_NiaMerc_TP_Start_5", 1.9f),
			new VoiceInfo("Play_NiaMerc_TP_Start_6", 1.7f),
			new VoiceInfo("Play_NiaMerc_TP_Start_7", 2.2f),
			new VoiceInfo("Play_NiaMerc_TP_Start_8", 1.7f),
			new VoiceInfo("Play_NiaMerc_TP_Start_9", 2f),
			new VoiceInfo("Play_NiaMerc_TP_Start_10", 1.4f)
		});

		public static VoiceArray utility = new VoiceArray((VoiceInfo[])(object)new VoiceInfo[6]
		{
			new VoiceInfo("Play_NiaMerc_Utility_1", 0.7f),
			new VoiceInfo("Play_NiaMerc_Utility_2", 1.3f),
			new VoiceInfo("Play_NiaMerc_Utility_3", 1.3f),
			new VoiceInfo("Play_NiaMerc_Utility_4", 0.8f),
			new VoiceInfo("Play_NiaMerc_Utility_5", 1.3f),
			new VoiceInfo("Play_NiaMerc_Utility_6", 1.4f)
		});

		public static void InitDriver(SkinDef[] skinDefs)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Expected O, but got Unknown
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Expected O, but got Unknown
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Expected O, but got Unknown
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Expected O, but got Unknown
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0111: Unknown result type (might be due to invalid IL or missing references)
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			//IL_0133: Unknown result type (might be due to invalid IL or missing references)
			//IL_0134: Unknown result type (might be due to invalid IL or missing references)
			//IL_0155: Unknown result type (might be due to invalid IL or missing references)
			//IL_0156: Unknown result type (might be due to invalid IL or missing references)
			//IL_0177: Unknown result type (might be due to invalid IL or missing references)
			//IL_0178: Unknown result type (might be due to invalid IL or missing references)
			//IL_0199: Unknown result type (might be due to invalid IL or missing references)
			//IL_019a: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_01dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_01de: Unknown result type (might be due to invalid IL or missing references)
			//IL_0212: Unknown result type (might be due to invalid IL or missing references)
			//IL_0213: Unknown result type (might be due to invalid IL or missing references)
			//IL_0247: Unknown result type (might be due to invalid IL or missing references)
			//IL_0248: Unknown result type (might be due to invalid IL or missing references)
			//IL_027c: Unknown result type (might be due to invalid IL or missing references)
			//IL_027d: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_031b: Unknown result type (might be due to invalid IL or missing references)
			//IL_031c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0350: Unknown result type (might be due to invalid IL or missing references)
			//IL_0351: Unknown result type (might be due to invalid IL or missing references)
			//IL_0385: Unknown result type (might be due to invalid IL or missing references)
			//IL_0386: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_03bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0424: Unknown result type (might be due to invalid IL or missing references)
			//IL_0425: Unknown result type (might be due to invalid IL or missing references)
			//IL_0459: Unknown result type (might be due to invalid IL or missing references)
			//IL_045a: Unknown result type (might be due to invalid IL or missing references)
			//IL_048e: Unknown result type (might be due to invalid IL or missing references)
			//IL_048f: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_051a: Unknown result type (might be due to invalid IL or missing references)
			//IL_051b: Unknown result type (might be due to invalid IL or missing references)
			EventSubOptions val = new EventSubOptions();
			val.boneTransformations = (BoneTransformation[])(object)new BoneTransformation[3]
			{
				new BoneTransformation("MercArmature/ROOT/base/stomach/chest/clavicle.l", Vector3.one * 0.806f, Vector3.zero, (string)null),
				new BoneTransformation("MercArmature/ROOT/base/stomach/chest/clavicle.r", Vector3.one * 0.806f, Vector3.zero, (string)null),
				new BoneTransformation("MercArmature/ROOT/base/stomach/chest/SwingCenter/SwordBase", Vector3.one * 0.806f, Vector3.zero, "MercArmature/ROOT/base/stomach/chest/clavicle.l/upper_arm.l/lower_arm.l/hand.l")
			};
			val.voiceGroups = voiceGroups;
			val.useAnimations = true;
			val.blinkAnimations = blinkAnimations;
			val.conditionalIdleAnimations = conditionalIdleAnimations;
			EventSub val2 = new EventSub(skinDefs, val);
			val2.TakeDamage = (Action<GameObject, DamageReport>)Delegate.Combine(val2.TakeDamage, new Action<GameObject, DamageReport>(ExpressionOnHit));
			val2.Death = (Action<GameObject>)Delegate.Combine(val2.Death, new Action<GameObject>(ExpressionOnDeath));
			val2.ShrineFailure = (Action<GameObject>)Delegate.Combine(val2.ShrineFailure, new Action<GameObject>(ExpressionOnShrineFailure));
			val2.LevelUp = (Action<GameObject>)Delegate.Combine(val2.LevelUp, new Action<GameObject>(ExpressionOnHoldoutOnLevelOnMithrix));
			val2.MithrixDefeat = (Action<GameObject>)Delegate.Combine(val2.MithrixDefeat, new Action<GameObject>(ExpressionOnHoldoutOnLevelOnMithrix));
			val2.HoldoutZoneCharged = (Action<GameObject>)Delegate.Combine(val2.HoldoutZoneCharged, new Action<GameObject>(ExpressionOnHoldoutOnLevelOnMithrix));
			val2.GetItem = (Action<GameObject, ItemIndex>)Delegate.Combine(val2.GetItem, new Action<GameObject, ItemIndex>(ExpressionOnItem));
			val2.TakeDamage = (Action<GameObject, DamageReport>)Delegate.Combine(val2.TakeDamage, new Action<GameObject, DamageReport>(LowHealthLine));
			val2.Heal = (Action<GameObject, float>)Delegate.Combine(val2.Heal, new Action<GameObject, float>(HeavyHealLine));
			val2.TakeDamage = (Action<GameObject, DamageReport>)Delegate.Combine(val2.TakeDamage, (Action<GameObject, DamageReport>)delegate(GameObject body, DamageReport damageReport)
			{
				if (body != null)
				{
					VoiceController component15 = body.GetComponent<VoiceController>();
					if (component15 != null)
					{
						component15.TryPlayRandomUniqueSoundServer(damage, body, 0.4f);
					}
				}
			});
			val2.Death = (Action<GameObject>)Delegate.Combine(val2.Death, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component14 = body.GetComponent<VoiceController>();
					if (component14 != null)
					{
						component14.TryPlayRandomSoundServer(death, body, 1f);
					}
				}
			});
			val2.DefeatBossGroup = (Action<GameObject>)Delegate.Combine(val2.DefeatBossGroup, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component13 = body.GetComponent<VoiceController>();
					if (component13 != null)
					{
						component13.TryPlayRandomUniqueSoundServer(defeatBossGroup, body, 1f);
					}
				}
			});
			val2.TeleporterStart = (Action<GameObject>)Delegate.Combine(val2.TeleporterStart, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component12 = body.GetComponent<VoiceController>();
					if (component12 != null)
					{
						component12.TryPlayRandomUniqueSoundServer(startTP, body, 1f);
					}
				}
			});
			val2.TeleporterEnd = (Action<GameObject>)Delegate.Combine(val2.TeleporterEnd, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component11 = body.GetComponent<VoiceController>();
					if (component11 != null)
					{
						component11.TryPlayRandomUniqueSoundServer(endTP, body, 1f);
					}
				}
			});
			val2.LeavePod = (Action<GameObject>)Delegate.Combine(val2.LeavePod, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component10 = body.GetComponent<VoiceController>();
					if (component10 != null)
					{
						component10.TryPlayRandomUniqueSoundServer(leavePod, body, 1f);
					}
				}
			});
			val2.GetItem = (Action<GameObject, ItemIndex>)Delegate.Combine(val2.GetItem, (Action<GameObject, ItemIndex>)delegate(GameObject body, ItemIndex itemIndex)
			{
				if (body != null)
				{
					VoiceController component9 = body.GetComponent<VoiceController>();
					if (component9 != null)
					{
						component9.TryPlayRandomUniqueSoundServer(getItem, body, 0.75f);
					}
				}
			});
			val2.ShrineSuccess = (Action<GameObject>)Delegate.Combine(val2.ShrineSuccess, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component8 = body.GetComponent<VoiceController>();
					if (component8 != null)
					{
						component8.TryPlayRandomUniqueSoundServer(shrineSuccess, body, 1f);
					}
				}
			});
			val2.ShrineFailure = (Action<GameObject>)Delegate.Combine(val2.ShrineFailure, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component7 = body.GetComponent<VoiceController>();
					if (component7 != null)
					{
						component7.TryPlayRandomUniqueSoundServer(shrineFailure, body, 1f);
					}
				}
			});
			val2.LevelUp = (Action<GameObject>)Delegate.Combine(val2.LevelUp, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component6 = body.GetComponent<VoiceController>();
					if (component6 != null)
					{
						component6.TryPlayRandomUniqueSoundServer(levelUp, body, 0.25f);
					}
				}
			});
			val2.BearDamageBlock = (Action<GameObject>)Delegate.Combine(val2.BearDamageBlock, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component5 = body.GetComponent<VoiceController>();
					if (component5 != null)
					{
						component5.TryPlayRandomUniqueSoundServer(blockDamage, body, 0.6f);
					}
				}
			});
			val2.UseSpecial = (Action<GameObject>)Delegate.Combine(val2.UseSpecial, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component4 = body.GetComponent<VoiceController>();
					if (component4 != null)
					{
						component4.TryPlayRandomUniqueSoundServer(special, body, 0.25f);
					}
				}
			});
			val2.UseSecondary = (Action<GameObject>)Delegate.Combine(val2.UseSecondary, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component3 = body.GetComponent<VoiceController>();
					if (component3 != null)
					{
						component3.TryPlayRandomUniqueSoundServer(secondary, body, 0.15f);
					}
				}
			});
			val2.UseUtility = (Action<GameObject>)Delegate.Combine(val2.UseUtility, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component2 = body.GetComponent<VoiceController>();
					if (component2 != null)
					{
						component2.TryPlayRandomUniqueSoundServer(utility, body, 0.25f);
					}
				}
			});
			val2.MithrixDefeat = (Action<GameObject>)Delegate.Combine(val2.MithrixDefeat, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component = body.GetComponent<VoiceController>();
					if (component != null)
					{
						component.TryPlayRandomUniqueSoundServer(mithrixDefeat, body, 0.15f);
					}
				}
			});
			val2.SkinAppliedLobby = (Action<GameObject>)Delegate.Combine(val2.SkinAppliedLobby, new Action<GameObject>(HideLightsLobby));
			val2.SkinAppliedRun = (Action<GameObject>)Delegate.Combine(val2.SkinAppliedRun, new Action<GameObject>(HideLightsRun));
			val2.Init();
		}

		public static void InitBlade(SkinDef[] skinDefs)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Expected O, but got Unknown
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Expected O, but got Unknown
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Expected O, but got Unknown
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0120: Unknown result type (might be due to invalid IL or missing references)
			//IL_0121: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Unknown result type (might be due to invalid IL or missing references)
			//IL_0143: Unknown result type (might be due to invalid IL or missing references)
			//IL_0164: Unknown result type (might be due to invalid IL or missing references)
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_0186: Unknown result type (might be due to invalid IL or missing references)
			//IL_0187: 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_01a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0221: Unknown result type (might be due to invalid IL or missing references)
			//IL_0222: Unknown result type (might be due to invalid IL or missing references)
			//IL_0256: Unknown result type (might be due to invalid IL or missing references)
			//IL_0257: Unknown result type (might be due to invalid IL or missing references)
			//IL_028b: Unknown result type (might be due to invalid IL or missing references)
			//IL_028c: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_032a: Unknown result type (might be due to invalid IL or missing references)
			//IL_032b: Unknown result type (might be due to invalid IL or missing references)
			//IL_035f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0360: Unknown result type (might be due to invalid IL or missing references)
			//IL_0394: Unknown result type (might be due to invalid IL or missing references)
			//IL_0395: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0433: Unknown result type (might be due to invalid IL or missing references)
			//IL_0434: Unknown result type (might be due to invalid IL or missing references)
			//IL_0468: Unknown result type (might be due to invalid IL or missing references)
			//IL_0469: Unknown result type (might be due to invalid IL or missing references)
			//IL_049d: Unknown result type (might be due to invalid IL or missing references)
			//IL_049e: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0507: Unknown result type (might be due to invalid IL or missing references)
			//IL_0508: Unknown result type (might be due to invalid IL or missing references)
			//IL_0529: Unknown result type (might be due to invalid IL or missing references)
			//IL_052a: Unknown result type (might be due to invalid IL or missing references)
			EventSubOptions val = new EventSubOptions();
			val.boneTransformations = (BoneTransformation[])(object)new BoneTransformation[3]
			{
				new BoneTransformation("MercArmature/ROOT/base/stomach/chest/clavicle.l", Vector3.one * 0.84f, new Vector3(0f, -0.04f, 0f), (string)null),
				new BoneTransformation("MercArmature/ROOT/base/stomach/chest/clavicle.r", Vector3.one * 0.84f, Vector3.zero, (string)null),
				new BoneTransformation("MercArmature/ROOT/base/stomach/chest/SwingCenter/SwordBase", Vector3.one * 0.806f, Vector3.zero, "MercArmature/ROOT/base/stomach/chest/clavicle.l/upper_arm.l/lower_arm.l/hand.l")
			};
			val.voiceGroups = voiceGroups;
			val.useAnimations = true;
			val.blinkAnimations = blinkAnimations;
			val.conditionalIdleAnimations = conditionalIdleAnimations;
			EventSub val2 = new EventSub(skinDefs, val);
			val2.TakeDamage = (Action<GameObject, DamageReport>)Delegate.Combine(val2.TakeDamage, new Action<GameObject, DamageReport>(ExpressionOnHit));
			val2.Death = (Action<GameObject>)Delegate.Combine(val2.Death, new Action<GameObject>(ExpressionOnDeath));
			val2.ShrineFailure = (Action<GameObject>)Delegate.Combine(val2.ShrineFailure, new Action<GameObject>(ExpressionOnShrineFailure));
			val2.LevelUp = (Action<GameObject>)Delegate.Combine(val2.LevelUp, new Action<GameObject>(ExpressionOnHoldoutOnLevelOnMithrix));
			val2.MithrixDefeat = (Action<GameObject>)Delegate.Combine(val2.MithrixDefeat, new Action<GameObject>(ExpressionOnHoldoutOnLevelOnMithrix));
			val2.HoldoutZoneCharged = (Action<GameObject>)Delegate.Combine(val2.HoldoutZoneCharged, new Action<GameObject>(ExpressionOnHoldoutOnLevelOnMithrix));
			val2.GetItem = (Action<GameObject, ItemIndex>)Delegate.Combine(val2.GetItem, new Action<GameObject, ItemIndex>(ExpressionOnItem));
			val2.TakeDamage = (Action<GameObject, DamageReport>)Delegate.Combine(val2.TakeDamage, new Action<GameObject, DamageReport>(LowHealthLine));
			val2.Heal = (Action<GameObject, float>)Delegate.Combine(val2.Heal, new Action<GameObject, float>(HeavyHealLine));
			val2.TakeDamage = (Action<GameObject, DamageReport>)Delegate.Combine(val2.TakeDamage, (Action<GameObject, DamageReport>)delegate(GameObject body, DamageReport damageReport)
			{
				if (body != null)
				{
					VoiceController component15 = body.GetComponent<VoiceController>();
					if (component15 != null)
					{
						component15.TryPlayRandomUniqueSoundServer(damage, body, 0.4f);
					}
				}
			});
			val2.Death = (Action<GameObject>)Delegate.Combine(val2.Death, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component14 = body.GetComponent<VoiceController>();
					if (component14 != null)
					{
						component14.TryPlayRandomSoundServer(death, body, 1f);
					}
				}
			});
			val2.DefeatBossGroup = (Action<GameObject>)Delegate.Combine(val2.DefeatBossGroup, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component13 = body.GetComponent<VoiceController>();
					if (component13 != null)
					{
						component13.TryPlayRandomUniqueSoundServer(defeatBossGroup, body, 1f);
					}
				}
			});
			val2.TeleporterStart = (Action<GameObject>)Delegate.Combine(val2.TeleporterStart, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component12 = body.GetComponent<VoiceController>();
					if (component12 != null)
					{
						component12.TryPlayRandomUniqueSoundServer(startTP, body, 1f);
					}
				}
			});
			val2.TeleporterEnd = (Action<GameObject>)Delegate.Combine(val2.TeleporterEnd, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component11 = body.GetComponent<VoiceController>();
					if (component11 != null)
					{
						component11.TryPlayRandomUniqueSoundServer(endTP, body, 1f);
					}
				}
			});
			val2.LeavePod = (Action<GameObject>)Delegate.Combine(val2.LeavePod, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component10 = body.GetComponent<VoiceController>();
					if (component10 != null)
					{
						component10.TryPlayRandomUniqueSoundServer(leavePod, body, 1f);
					}
				}
			});
			val2.GetItem = (Action<GameObject, ItemIndex>)Delegate.Combine(val2.GetItem, (Action<GameObject, ItemIndex>)delegate(GameObject body, ItemIndex itemIndex)
			{
				if (body != null)
				{
					VoiceController component9 = body.GetComponent<VoiceController>();
					if (component9 != null)
					{
						component9.TryPlayRandomUniqueSoundServer(getItem, body, 0.75f);
					}
				}
			});
			val2.ShrineSuccess = (Action<GameObject>)Delegate.Combine(val2.ShrineSuccess, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component8 = body.GetComponent<VoiceController>();
					if (component8 != null)
					{
						component8.TryPlayRandomUniqueSoundServer(shrineSuccess, body, 1f);
					}
				}
			});
			val2.ShrineFailure = (Action<GameObject>)Delegate.Combine(val2.ShrineFailure, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component7 = body.GetComponent<VoiceController>();
					if (component7 != null)
					{
						component7.TryPlayRandomUniqueSoundServer(shrineFailure, body, 1f);
					}
				}
			});
			val2.LevelUp = (Action<GameObject>)Delegate.Combine(val2.LevelUp, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component6 = body.GetComponent<VoiceController>();
					if (component6 != null)
					{
						component6.TryPlayRandomUniqueSoundServer(levelUp, body, 0.25f);
					}
				}
			});
			val2.BearDamageBlock = (Action<GameObject>)Delegate.Combine(val2.BearDamageBlock, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component5 = body.GetComponent<VoiceController>();
					if (component5 != null)
					{
						component5.TryPlayRandomUniqueSoundServer(blockDamage, body, 0.6f);
					}
				}
			});
			val2.UseSpecial = (Action<GameObject>)Delegate.Combine(val2.UseSpecial, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component4 = body.GetComponent<VoiceController>();
					if (component4 != null)
					{
						component4.TryPlayRandomUniqueSoundServer(special, body, 0.25f);
					}
				}
			});
			val2.UseSecondary = (Action<GameObject>)Delegate.Combine(val2.UseSecondary, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component3 = body.GetComponent<VoiceController>();
					if (component3 != null)
					{
						component3.TryPlayRandomUniqueSoundServer(secondary, body, 0.15f);
					}
				}
			});
			val2.UseUtility = (Action<GameObject>)Delegate.Combine(val2.UseUtility, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component2 = body.GetComponent<VoiceController>();
					if (component2 != null)
					{
						component2.TryPlayRandomUniqueSoundServer(utility, body, 0.25f);
					}
				}
			});
			val2.MithrixDefeat = (Action<GameObject>)Delegate.Combine(val2.MithrixDefeat, (Action<GameObject>)delegate(GameObject body)
			{
				if (body != null)
				{
					VoiceController component = body.GetComponent<VoiceController>();
					if (component != null)
					{
						component.TryPlayRandomUniqueSoundServer(mithrixDefeat, body, 0.15f);
					}
				}
			});
			val2.SkinAppliedLobby = (Action<GameObject>)Delegate.Combine(val2.SkinAppliedLobby, new Action<GameObject>(HideLightsLobby));
			val2.SkinAppliedRun = (Action<GameObject>)Delegate.Combine(val2.SkinAppliedRun, new Action<GameObject>(HideLightsRun));
			val2.Init();
		}

		private static void HideLightsLobby(GameObject body)
		{
			((Component)body.transform.Find("MercArmature/ROOT/base/stomach/chest/Point Light (1)")).gameObject.SetActive(false);
			((Component)body.transform.Find("MercArmature/ROOT/base/stomach/chest/SwingCenter/SwordBase/Point Light")).gameObject.SetActive(false);
		}

		private static void HideLightsRun(GameObject body)
		{
			GameObject modelFromEventBody = SkinEvents.GetModelFromEventBody(body);
			((Component)modelFromEventBody.transform.Find("MercArmature/ROOT/base/stomach/chest/Point Light")).gameObject.SetActive(false);
			((Component)modelFromEventBody.transform.Find("MercArmature/ROOT/base/stomach/chest/SwingCenter/SwordBase/Point Light")).gameObject.SetActive(false);
		}

		private static bool InCombat(ExpressionController expressionController)
		{
			CharacterBody characterBody = expressionController.characterBody;
			if ((Object)(object)characterBody != (Object)null)
			{
				return !characterBody.outOfCombat;
			}
			return false;
		}

		private static bool IsLowHealth(ExpressionController expressionController)
		{
			CharacterBody characterBody = expressionController.characterBody;
			if ((Object)(object)characterBody != (Object)null)
			{
				if (characterBody == null)
				{
					return false;
				}
				HealthComponent healthComponent = characterBody.healthComponent;
				return ((healthComponent != null) ? new float?(healthComponent.combinedHealthFraction) : null) <= 0.25f;
			}
			return false;
		}

		private static void LowHealthLine(GameObject body, DamageReport damageReport)
		{
			if (damageReport == null)
			{
				return;
			}
			HealthComponent victim = damageReport.victim;
			if (((victim != null) ? new float?(((Component)victim).GetComponent<HealthComponent>().combinedHealthFraction) : null) <= 0.25f && body != null)
			{
				VoiceController component = body.GetComponent<VoiceController>();
				if (component != null)
				{
					component.TryPlayRandomUniqueSoundServer(lowHealth, body, 0.8f);
				}
			}
		}

		private static void HeavyHealLine(GameObject body, float amount)
		{
			VoiceController val = ((body != null) ? body.GetComponent<VoiceController>() : null);
			if (val != null)
			{
				object obj;
				if (body == null)
				{
					obj = null;
				}
				else
				{
					CharacterBody component = body.GetComponent<CharacterBody>();
					obj = ((component != null) ? component.healthComponent : null);
				}
				HealthComponent val2 = (HealthComponent)obj;
				if (val2 != null && amount >= 0.5f * val2.fullCombinedHealth && val2.combinedHealth < 0.5f * val2.fullCombinedHealth)
				{
					val.TryPlayRandomSoundServer(heal, body, 1f);
				}
			}
		}

		private static void ExpressionOnHit(GameObject body, DamageReport damageReport)
		{
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: Expected O, but got Unknown
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_009d: Expected O, but got Unknown
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Expected O, but got Unknown
			if (damageReport == null)
			{
				return;
			}
			HealthComponent victim = damageReport.victim;
			if (((victim != null) ? new float?(((Component)victim).GetComponent<HealthComponent>().combinedHealthFraction) : null) > 0.25f)
			{
				ExpressionController component = body.GetComponent<ExpressionController>();
				if (component != null)
				{
					component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "EyesHurt", 0, 0, 0.1f, 0.3f, 0.1f, true));
					component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "BrowHurt", 1, 0, 0.1f, 0.3f, 0.1f, false));
					component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "MouthGrimace", 2, 0, 0.1f, 0.3f, 0.1f, false));
				}
			}
		}

		private static void ExpressionOnShrineFailure(GameObject body)
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Expected O, but got Unknown
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Expected O, but got Unknown
			ExpressionController component = body.GetComponent<ExpressionController>();
			if (component != null)
			{
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "EyesGlare", 0, 0, 0.2f, 0.8f, 0.2f, true));
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "MouthPuff", 2, 0, 0.2f, 0.8f, 0.2f, false));
			}
		}

		private static void ExpressionOnHoldoutOnLevelOnMithrix(GameObject body)
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Expected O, but got Unknown
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Expected O, but got Unknown
			ExpressionController component = body.GetComponent<ExpressionController>();
			if (component != null)
			{
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "BrowHappy", 1, 0, 0.2f, 0.8f, 0.2f, false));
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "MouthSmile", 2, 0, 0.2f, 0.8f, 0.2f, false));
			}
		}

		private static void ExpressionOnItem(GameObject body, ItemIndex itemIndex)
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Expected O, but got Unknown
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Expected O, but got Unknown
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Expected O, but got Unknown
			ExpressionController component = body.GetComponent<ExpressionController>();
			if (component != null)
			{
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "HighBlink", 0, 0, 0.2f, 0.8f, 0.2f, true));
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "BrowHappy", 1, 0, 0.2f, 0.8f, 0.2f, false));
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "MouthSmile", 2, 0, 0.2f, 0.8f, 0.2f, false));
			}
		}

		private static void ExpressionOnDeath(GameObject body)
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Expected O, but got Unknown
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Expected O, but got Unknown
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Expected O, but got Unknown
			ExpressionController component = body.GetComponent<ExpressionController>();
			if (component != null)
			{
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "EyesDeath", 0, 2, 0.2f, float.PositiveInfinity, 0.2f, true));
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "BrowsConcerned", 1, 2, 0.2f, float.PositiveInfinity, 0.2f, false));
				component.TryPlayAnimation(new BlendShapeAnimation("MercMesh", "MouthDeath", 2, 2, 0.2f, float.PositiveInfinity, 0.2f, false));
			}
		}

		public static void CreateVoiceGroups()
		{
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Expected O, but got Unknown
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Expected O, but got Unknown
			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ae: Expected O, but got Unknown
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Expected O, but got Unknown
			//IL_0118: Unknown result type (might be due to invalid IL or missing references)
			//IL_011e: Expected O, but got Unknown
			//IL_0150: Unknown result type (might be due to invalid IL or missing references)
			//IL_0156: Expected O, but got Unknown
			RoR2Application.onLoadFinished = (Action)Delegate.Combine(RoR2Application.onLoadFinished, new Action(Options.OnLoadFinished));
			voiceGroups = (VoiceGroup[])(object)new VoiceGroup[7]
			{
				new VoiceGroup((VoiceArray[])(object)new VoiceArray[1] { leavePod }, 0.5f, 0.5f),
				new VoiceGroup((VoiceArray[])(object)new VoiceArray[1] { death }, 5f, 5f),
				new VoiceGroup((VoiceArray[])(object)new VoiceArray[1] { getItem }, 15f, 60f),
				new VoiceGroup((VoiceArray[])(object)new VoiceArray[2] { shrineSuccess, shrineFailure }, 10f, 20f),
				new VoiceGroup((VoiceArray[])(object)new VoiceArray[1] { levelUp }, 10f, 30f),
				new VoiceGroup((VoiceArray[])(object)new VoiceArray[7] { damage, secondary, special, blockDamage, heal, lowHealth, utility }, 2.5f, 14f),
				new VoiceGroup((VoiceArray[])(object)new VoiceArray[4] { startTP, defeatBossGroup, endTP, mithrixDefeat }, 5f, 10f)
			};
		}
	}
	public class Options
	{
		private static bool? _rooEnabled;

		public static bool rooEnabled
		{
			get
			{
				if (!_rooEnabled.HasValue)
				{
					_rooEnabled = Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions");
				}
				return _rooEnabled.Value;
			}
		}

		public static ConfigEntry<float> niaVoiceVolume { get; set; }

		private static void NiaVoiceVolumeSettingChanged()
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			AkSoundEngine.SetRTPCValue("NiaMercVoiceVolume", niaVoiceVolume.Value * 50f);
		}

		public static void Init()
		{
			niaVoiceVolume = NiaMercSkinPlugin.config.Bind<float>("Sound", "Nia Voice Volume", 1f, "How loud Nia's voice is relative to other sound effects.");
			niaVoiceVolume.SettingChanged += delegate
			{
				NiaVoiceVolumeSettingChanged();
			};
			if (rooEnabled)
			{
				RoOInit();
			}
		}

		public static void OnLoadFinished()
		{
			NiaVoiceVolumeSettingChanged();
		}

		private static void RoOInit()
		{
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Expected O, but got Unknown
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Expected O, but got Unknown
			ModSettingsManager.AddOption((BaseOption)new StepSliderOption(niaVoiceVolume, new StepSliderConfig
			{
				min = 0f,
				max = 2f,
				increment = 0.01f
			}));
			ModSettingsManager.SetModDescription("Config options relating to the NiaMerc skin mod.");
			ModSettingsManager.SetModIcon(NiaMercSkinPlugin.assetBundle.LoadAsset<Sprite>("Assets\\SkinMods\\NiaMercSkin\\Icons\\NiaDriverIcon.png"));
		}
	}
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInPlugin("com.Miyowi.NiaMercSkin", "NiaMercSkin", "2.0.2")]
	public class NiaMercSkinPlugin : BaseUnityPlugin
	{
		private class FieldException : Exception
		{
			public FieldException(string message, Exception innerException)
				: base(message, innerException)
			{
			}
		}

		private class ElementException : Exception
		{
			public int Index { get; }

			public ElementException(int index, string message)
				: base(message)
			{
				Index = index;
			}
		}

		public class DynamicSkinExtension
		{
			private Modification NiaDriverPouchModification;

			private Modification NiaDriverKnife1Modification;

			private Modification NiaDriverKnife2Modification;

			private Modification NiaDriverKnife3Modification;

			private Modification NiaDriverCapeLModification;

			private Modification NiaDriverCapeRModification;

			private Modification NiaDriverChestJewelryModification;

			private Modification NiaDriverHoodBackModification;

			private Modification NiaDriverBackHairLModification;

			private Modification NiaDriverBackHairMModification;

			private Modification NiaDriverBackHairRModification;

			private Modification NiaDriverEarLModification;

			private Modification NiaDriverEarRModification;

			private Modification NiaDriverFrontHairModification;

			private Modification NiaDriverTendrilLModification;

			private Modification NiaDriverTendrilRModification;

			private Modification NiaCandyStripePouchModification;

			private Modification NiaCandyStripeKnife1Modification;

			private Modification NiaCandyStripeKnife2Modification;

			private Modification NiaCandyStripeKnife3Modification;

			private Modification NiaCandyStripeCapeLModification;

			private Modification NiaCandyStripeCapeRModification;

			private Modification NiaCandyStripeChestJewelryModification;

			private Modification NiaCandyStripeHoodBackModification;

			private Modification NiaCandyStripeBackHairLModification;

			private Modification NiaCandyStripeBackHairMModification;

			private Modification NiaCandyStripeBackHairRModification;

			private Modification NiaCandyStripeEarLModification;

			private Modification NiaCandyStripeEarRModification;

			private Modification NiaCandyStripeFrontHairModification;

			private Modification NiaCandyStripeTendrilLModification;

			private Modification NiaCandyStripeTendrilRModification;

			private Modification NiaBloodWitchPouchModification;

			private Modification NiaBloodWitchKnife1Modification;

			private Modification NiaBloodWitchKnife2Modification;

			private Modification NiaBloodWitchKnife3Modification;

			private Modification NiaBloodWitchCapeLModification;

			private Modification NiaBloodWitchCapeRModification;

			private Modification NiaBloodWitchChestJewelryModification;

			private Modification NiaBloodWitchHoodBackModification;

			private Modification NiaBloodWitchBackHairLModification;

			private Modification NiaBloodWitchBackHairMModification;

			private Modification NiaBloodWitchBackHairRModification;

			private Modification NiaBloodWitchEarLModification;

			private Modification NiaBloodWitchEarRModification;

			private Modification NiaBloodWitchFrontHairModification;

			private Modification NiaBloodWitchTendrilLModification;

			private Modification NiaBloodWitchTendrilRModification;

			private Modification NiaBladeBeltLeftModification;

			private Modification NiaBladeBeltRightModification;

			private Modification NiaBladeSkirtLeftModification;

			private Modification NiaBladeSkirtRightModification;

			private Modification NiaBladeArmSleeveLeftModification;

			private Modification NiaBladeArmSleeveRightModification;

			private Modification NiaBladeEarLeftModification;

			private Modification NiaBladeEarRightModification;

			private Modification NiaBladeHairBackLeftModification;

			private Modification NiaBladeHairBackRightModification;

			private Modification NiaBladeHairFrontLeftModification;

			private Modification NiaBladeHairFrontMiddleModification;

			private Modification NiaBladeHairFrontRightModification;

			private Modification NiaBladeRibbonBackModification;

			private Modification NiaBladeRibbonFrontModification;

			private Modification NiaDevotedMarigoldBeltLeftModification;

			private Modification NiaDevotedMarigoldBeltRightModification;

			private Modification NiaDevotedMarigoldSkirtLeftModification;

			private Modification NiaDevotedMarigoldSkirtRightModification;

			private Modification NiaDevotedMarigoldArmSleeveLeftModification;

			private Modification NiaDevotedMarigoldArmSleeveRightModification;

			private Modification NiaDevotedMarigoldEarLeftModification;

			private Modification NiaDevotedMarigoldEarRightModification;

			private Modification NiaDevotedMarigoldHairBackLeftModification;

			private Modification NiaDevotedMarigoldHairBackRightModification;

			private Modification NiaDevotedMarigoldHairFrontLeftModification;

			private Modification NiaDevotedMarigoldHairFrontMiddleModification;

			private Modification NiaDevotedMarigoldHairFrontRightModification;

			private Modification NiaDevotedMarigoldRibbonBackModification;

			private Modification NiaDevotedMarigoldRibbonFrontModification;

			private Modification NiaLoyalBellflowerBeltLeftModification;

			private Modification NiaLoyalBellflowerBeltRightModification;

			private Modification NiaLoyalBellflowerSkirtLeftModification;

			private Modification NiaLoyalBellflowerSkirtRightModification;

			private Modification NiaLoyalBellflowerArmSleeveLeftModification;

			private Modification NiaLoyalBellflowerArmSleeveRightModification;

			private Modification NiaLoyalBellflowerEarLeftModification;

			private Modification NiaLoyalBellflowerEarRightModification;

			private Modification NiaLoyalBellflowerHairBackLeftModification;

			private Modification NiaLoyalBellflowerHairBackRightModification;

			private Modification NiaLoyalBellflowerHairFrontLeftModification;

			private Modification NiaLoyalBellflowerHairFrontMiddleModification;

			private Modification NiaLoyalBellflowerHairFrontRightModification;

			private Modification NiaLoyalBellflowerRibbonBackModification;

			private Modification NiaLoyalBellflowerRibbonFrontModification;

			private Modification NiaSincerePrimroseBeltLeftModification;

			private Modification NiaSincerePrimroseBeltRightModification;

			private Modification NiaSincerePrimroseSkirtLeftModification;

			private Modification NiaSincerePrimroseSkirtRightModification;

			private Modification NiaSincerePrimroseArmSleeveLeftModification;

			private Modification NiaSincerePrimroseArmSleeveRightModification;

			private Modification NiaSincerePrimroseEarLeftModification;

			private Modification NiaSincerePrimroseEarRightModification;

			private Modification NiaSincerePrimroseHairBackLeftModification;

			private Modification NiaSincerePrimroseHairBackRightModification;

			private Modification NiaSincerePrimroseHairFrontLeftModification;

			private Modification NiaSincerePrimroseHairFrontMiddleModification;

			private Modification NiaSincerePrimroseHairFrontRightModification;

			private Modification NiaSincerePrimroseRibbonBackModification;

			private Modification NiaSincerePrimroseRibbonFrontModification;

			internal void BeforeStart()
			{
				//IL_0038: Unknown result type (might be due to invalid IL or missing references)
				_DynamicSkinManager.InstanceLogger = ((BaseUnityPlugin)Instance).Logger;
				new Hook((MethodBase)typeof(SkinDef).GetMethod("ApplyAsync"), (Delegate)new Func<Func<SkinDef, GameObject, List<AssetReferenceT<Material>>, List<AssetReferenceT<Mesh>>, int, IEnumerator>, SkinDef, GameObject, List<AssetReferenceT<Material>>, List<AssetReferenceT<Mesh>>, int, IEnumerator>(_DynamicSkinManager.SkinDefApply)).Apply();
			}

			internal void AfterStart()
			{
				InitializeModifications();
				InitializeDynamicBones();
				AddModificationsToList();
			}

			internal void BeforeBodyCatalogInit()
			{
				MercBodyNiaDriverSkinAddedEvent += onSkinAdded;
				MercBodyNiaCandyStripeSkinAddedEvent += onSkinAdded;
				MercBodyNiaBloodWitchSkinAddedEvent += onSkinAdded;
				MercBodyNiaBladeSkinAddedEvent += onSkinAdded;
				MercBodyNiaDevotedMarigoldSkinAddedEvent += onSkinAdded;
				MercBodyNiaLoyalBellflowerSkinAddedEvent += onSkinAdded;
				MercBodyNiaSincerePrimroseSkinAddedEvent += onSkinAdded;
			}

			internal void AfterBodyCatalogInit()
			{
			}

			private void InitializeModifications()
			{
				NiaDriverPouchModification = new Modification("Pouch.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 116, AffectsBaseModel: true, assetBundle);
				NiaDriverKnife1Modification = new Modification("Knife1.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 109, AffectsBaseModel: true, assetBundle);
				NiaDriverKnife2Modification = new Modification("Knife2.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 110, AffectsBaseModel: true, assetBundle);
				NiaDriverKnife3Modification = new Modification("Knife3.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 111, AffectsBaseModel: true, assetBundle);
				NiaDriverCapeLModification = new Modification("CapeL.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaDriverCapeRModification = new Modification("CapeR.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 95, AffectsBaseModel: true, assetBundle);
				NiaDriverChestJewelryModification = new Modification("ChestJewelry.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 102, AffectsBaseModel: true, assetBundle);
				NiaDriverHoodBackModification = new Modification("HoodBack.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 103, AffectsBaseModel: true, assetBundle);
				NiaDriverBackHairLModification = new Modification("BackHairL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 31, AffectsBaseModel: true, assetBundle);
				NiaDriverBackHairMModification = new Modification("BackHairM.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 34, AffectsBaseModel: true, assetBundle);
				NiaDriverBackHairRModification = new Modification("BackHairR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 37, AffectsBaseModel: true, assetBundle);
				NiaDriverEarLModification = new Modification("EarL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaDriverEarRModification = new Modification("EarR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaDriverFrontHairModification = new Modification("FrontHair.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 40, AffectsBaseModel: true, assetBundle);
				NiaDriverTendrilLModification = new Modification("TendrilL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaDriverTendrilRModification = new Modification("TendrilR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADRIVER_NAME", 46, AffectsBaseModel: true, assetBundle);
				NiaCandyStripePouchModification = new Modification("Pouch.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 116, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeKnife1Modification = new Modification("Knife1.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 109, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeKnife2Modification = new Modification("Knife2.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 110, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeKnife3Modification = new Modification("Knife3.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 111, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeCapeLModification = new Modification("CapeL.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeCapeRModification = new Modification("CapeR.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 95, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeChestJewelryModification = new Modification("ChestJewelry.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 102, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeHoodBackModification = new Modification("HoodBack.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 103, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeBackHairLModification = new Modification("BackHairL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 31, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeBackHairMModification = new Modification("BackHairM.prefab", "head", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 34, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeBackHairRModification = new Modification("BackHairR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 37, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeEarLModification = new Modification("EarL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeEarRModification = new Modification("EarR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeFrontHairModification = new Modification("FrontHair.prefab", "head", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 40, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeTendrilLModification = new Modification("TendrilL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaCandyStripeTendrilRModification = new Modification("TendrilR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIACANDYSTRIPE_NAME", 46, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchPouchModification = new Modification("Pouch.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 116, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchKnife1Modification = new Modification("Knife1.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 109, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchKnife2Modification = new Modification("Knife2.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 110, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchKnife3Modification = new Modification("Knife3.prefab", "thigh.l", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 111, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchCapeLModification = new Modification("CapeL.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchCapeRModification = new Modification("CapeR.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 95, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchChestJewelryModification = new Modification("ChestJewelry.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 102, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchHoodBackModification = new Modification("HoodBack.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 103, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchBackHairLModification = new Modification("BackHairL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 31, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchBackHairMModification = new Modification("BackHairM.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 34, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchBackHairRModification = new Modification("BackHairR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 37, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchEarLModification = new Modification("EarL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchEarRModification = new Modification("EarR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchFrontHairModification = new Modification("FrontHair.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 40, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchTendrilLModification = new Modification("TendrilL.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaBloodWitchTendrilRModification = new Modification("TendrilR.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLOODWITCH_NAME", 46, AffectsBaseModel: true, assetBundle);
				NiaBladeBeltLeftModification = new Modification("BeltLeft.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 112, AffectsBaseModel: true, assetBundle);
				NiaBladeBeltRightModification = new Modification("BeltRight.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 114, AffectsBaseModel: true, assetBundle);
				NiaBladeSkirtLeftModification = new Modification("SkirtLeft.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 115, AffectsBaseModel: true, assetBundle);
				NiaBladeSkirtRightModification = new Modification("SkirtRight.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 120, AffectsBaseModel: true, assetBundle);
				NiaBladeArmSleeveLeftModification = new Modification("ArmSleeveLeft.prefab", "upper_arm.l", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 28, AffectsBaseModel: true, assetBundle);
				NiaBladeArmSleeveRightModification = new Modification("ArmSleeveRight.prefab", "upper_arm.r", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaBladeEarLeftModification = new Modification("EarLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 58, AffectsBaseModel: true, assetBundle);
				NiaBladeEarRightModification = new Modification("EarRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 61, AffectsBaseModel: true, assetBundle);
				NiaBladeHairBackLeftModification = new Modification("HairBackLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 35, AffectsBaseModel: true, assetBundle);
				NiaBladeHairBackRightModification = new Modification("HairBackRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 42, AffectsBaseModel: true, assetBundle);
				NiaBladeHairFrontLeftModification = new Modification("HairFrontLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaBladeHairFrontMiddleModification = new Modification("HairFrontMiddle.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaBladeHairFrontRightModification = new Modification("HairFrontRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 55, AffectsBaseModel: true, assetBundle);
				NiaBladeRibbonBackModification = new Modification("RibbonBack.prefab", "stomach", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 101, AffectsBaseModel: true, assetBundle);
				NiaBladeRibbonFrontModification = new Modification("RibbonFront.prefab", "stomach", "MercBody", "MIYOWI_SKIN_NIABLADE_NAME", 102, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldBeltLeftModification = new Modification("BeltLeft.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 112, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldBeltRightModification = new Modification("BeltRight.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 114, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldSkirtLeftModification = new Modification("SkirtLeft.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 115, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldSkirtRightModification = new Modification("SkirtRight.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 120, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldArmSleeveLeftModification = new Modification("ArmSleeveLeft.prefab", "upper_arm.l", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 28, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldArmSleeveRightModification = new Modification("ArmSleeveRight.prefab", "upper_arm.r", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldEarLeftModification = new Modification("EarLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 58, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldEarRightModification = new Modification("EarRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 61, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldHairBackLeftModification = new Modification("HairBackLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 35, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldHairBackRightModification = new Modification("HairBackRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 42, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldHairFrontLeftModification = new Modification("HairFrontLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldHairFrontMiddleModification = new Modification("HairFrontMiddle.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldHairFrontRightModification = new Modification("HairFrontRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 55, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldRibbonBackModification = new Modification("RibbonBack.prefab", "stomach", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 101, AffectsBaseModel: true, assetBundle);
				NiaDevotedMarigoldRibbonFrontModification = new Modification("RibbonFront.prefab", "stomach", "MercBody", "MIYOWI_SKIN_NIADEVOTEDMARIGOLD_NAME", 102, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerBeltLeftModification = new Modification("BeltLeft.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 112, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerBeltRightModification = new Modification("BeltRight.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 114, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerSkirtLeftModification = new Modification("SkirtLeft.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 115, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerSkirtRightModification = new Modification("SkirtRight.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 120, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerArmSleeveLeftModification = new Modification("ArmSleeveLeft.prefab", "upper_arm.l", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 28, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerArmSleeveRightModification = new Modification("ArmSleeveRight.prefab", "upper_arm.r", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerEarLeftModification = new Modification("EarLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 58, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerEarRightModification = new Modification("EarRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 61, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerHairBackLeftModification = new Modification("HairBackLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 35, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerHairBackRightModification = new Modification("HairBackRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 42, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerHairFrontLeftModification = new Modification("HairFrontLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerHairFrontMiddleModification = new Modification("HairFrontMiddle.prefab", "head", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerHairFrontRightModification = new Modification("HairFrontRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 55, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerRibbonBackModification = new Modification("RibbonBack.prefab", "stomach", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 101, AffectsBaseModel: true, assetBundle);
				NiaLoyalBellflowerRibbonFrontModification = new Modification("RibbonFront.prefab", "stomach", "MercBody", "MIYOWI_SKIN_NIALOYALBELLFLOWER_NAME", 102, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseBeltLeftModification = new Modification("BeltLeft.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 112, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseBeltRightModification = new Modification("BeltRight.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 114, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseSkirtLeftModification = new Modification("SkirtLeft.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 115, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseSkirtRightModification = new Modification("SkirtRight.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 120, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseArmSleeveLeftModification = new Modification("ArmSleeveLeft.prefab", "upper_arm.l", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 28, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseArmSleeveRightModification = new Modification("ArmSleeveRight.prefab", "upper_arm.r", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseEarLeftModification = new Modification("EarLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 58, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseEarRightModification = new Modification("EarRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 61, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseHairBackLeftModification = new Modification("HairBackLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 35, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseHairBackRightModification = new Modification("HairBackRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 42, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseHairFrontLeftModification = new Modification("HairFrontLeft.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseHairFrontMiddleModification = new Modification("HairFrontMiddle.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseHairFrontRightModification = new Modification("HairFrontRight.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 55, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseRibbonBackModification = new Modification("RibbonBack.prefab", "stomach", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 101, AffectsBaseModel: true, assetBundle);
				NiaSincerePrimroseRibbonFrontModification = new Modification("RibbonFront.prefab", "stomach", "MercBody", "MIYOWI_SKIN_NIASINCEREPRIMROSE_NAME", 102, AffectsBaseModel: true, assetBundle);
			}

			private void InitializeDynamicBones()
			{
				//IL_003d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0051: Unknown result type (might be due to invalid IL or missing references)
				//IL_0065: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_013b: Unknown result type (might be due to invalid IL or missing references)
				//IL_014f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0163: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0239: Unknown result type (might be due to invalid IL or missing references)
				//IL_024d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0261: Unknown result type (might be due to invalid IL or missing references)
				//IL_0281: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_02fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0310: Unknown result type (might be due to invalid IL or missing references)
				//IL_0330: Unknown result type (might be due to invalid IL or missing references)
				//IL_0397: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0416: Unknown result type (might be due to invalid IL or missing references)
				//IL_042a: Unknown result type (might be due to invalid IL or missing references)
				//IL_043e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0495: Unknown result type (might be due to invalid IL or missing references)
				//IL_04a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_04bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0514: Unknown result type (might be due to invalid IL or missing references)
				//IL_0528: Unknown result type (might be due to invalid IL or missing references)
				//IL_053c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0593: Unknown result type (might be due to invalid IL or missing references)
				//IL_05a7: Unknown result type (might be due to invalid IL or missing references)
				//IL_05bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0612: Unknown result type (might be due to invalid IL or missing references)
				//IL_0626: Unknown result type (might be due to invalid IL or missing references)
				//IL_063a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0691: Unknown result type (might be due to invalid IL or missing references)
				//IL_06a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0710: Unknown result type (might be due to invalid IL or missing references)
				//IL_0724: Unknown result type (might be due to invalid IL or missing references)
				//IL_0738: Unknown result type (might be due to invalid IL or missing references)
				//IL_078f: Unknown result type (might be due to invalid IL or missing references)
				//IL_07a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_07b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_080e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0822: Unknown result type (might be due to invalid IL or missing references)
				//IL_0836: Unknown result type (might be due to invalid IL or missing references)
				//IL_088d: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a1: Unknown result type (might be due to invalid IL or missing references)
				//IL_08b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_090c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0920: Unknown result type (might be due to invalid IL or missing references)
				//IL_0934: Unknown result type (might be due to invalid IL or missing references)
				//IL_098b: Unknown result type (might be due to invalid IL or missing references)
				//IL_099f: Unknown result type (might be due to invalid IL or missing references)
				//IL_09b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a0a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a1e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a32: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a89: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a9d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ab1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ad1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b38: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b4c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b60: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b80: Unknown result type (might be due to invalid IL or missing references)
				//IL_0be7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bfb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c0f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c66: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c7a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c8e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ce5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cf9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d0d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d64: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d78: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d8c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0de3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0df7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e0b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e62: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e76: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e8a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ee1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ef5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f09: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f60: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f74: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f88: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fdf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ff3: Unknown result type (might be due to invalid IL or missing references)
				//IL_1007: Unknown result type (might be due to invalid IL or missing references)
				//IL_105e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1072: Unknown result type (might be due to invalid IL or missing references)
				//IL_1086: Unknown result type (might be due to invalid IL or missing references)
				//IL_10dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_10f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_1105: Unknown result type (might be due to invalid IL or missing references)
				//IL_115c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1170: Unknown result type (might be due to invalid IL or missing references)
				//IL_1184: Unknown result type (might be due to invalid IL or missing references)
				//IL_11db: Unknown result type (might be due to invalid IL or missing references)
				//IL_11ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_1203: Unknown result type (might be due to invalid IL or missing references)
				//IL_125a: Unknown result type (might be due to invalid IL or missing references)
				//IL_126e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1282: Unknown result type (might be due to invalid IL or missing references)
				//IL_12d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_12ed: Unknown result type (might be due to invalid IL or missing references)
				//IL_1301: Unknown result type (might be due to invalid IL or missing references)
				//IL_1321: Unknown result type (might be due to invalid IL or missing references)
				//IL_1388: Unknown result type (might be due to invalid IL or missing references)
				//IL_139c: Unknown result type (might be due to invalid IL or missing references)
				//IL_13b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_13d0: Unknown result type (might be due to invalid IL or missing references)
				//IL_1437: Unknown result type (might be due to invalid IL or missing references)
				//IL_144b: Unknown result type (might be due to invalid IL or missing references)
				//IL_145f: Unknown result type (might be due to invalid IL or missing references)
				//IL_14b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_14ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_14de: Unknown result type (might be due to invalid IL or missing references)
				//IL_1535: Unknown result type (might be due to invalid IL or missing references)
				//IL_1549: Unknown result type (might be due to invalid IL or missing references)
				//IL_155d: Unknown result type (might be due to invalid IL or missing references)
				//IL_15b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_15c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_15dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_1633: Unknown result type (might be due to invalid IL or missing references)
				//IL_1647: Unknown result type (might be due to invalid IL or missing references)
				//IL_165b: Unknown result type (might be due to invalid IL or missing references)
				//IL_16b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_16c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_16da: Unknown result type (might be due to invalid IL or missing references)
				//IL_1731: Unknown result type (might be due to invalid IL or missing references)
				//IL_1745: Unknown result type (might be due to invalid IL or missing references)
				//IL_1759: Unknown result type (might be due to invalid IL or missing references)
				//IL_17b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_17c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_17d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_182f: Unknown result type (might be due to invalid IL or missing references)
				//IL_1843: Unknown result type (might be due to invalid IL or missing references)
				//IL_1857: Unknown result type (might be due to invalid IL or missing references)
				//IL_18ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_18c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_18d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_192d: Unknown result type (might be due to invalid IL or missing references)
				//IL_1941: Unknown result type (might be due to invalid IL or missing references)
				//IL_1955: Unknown result type (might be due to invalid IL or missing references)
				//IL_1975: Unknown result type (might be due to invalid IL or missing references)
				//IL_19dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_19f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a04: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a5b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a6f: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a83: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ada: Unknown result type (might be due to invalid IL or missing references)
				//IL_1aee: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b02: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b59: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b6d: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b81: Unknown result type (might be due to invalid IL or missing references)
				//IL_1bd8: Unknown result type (might be due to invalid IL or missing references)
				//IL_1bec: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c00: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c57: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c6b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c7f: Unknown result type (might be due to invalid IL or missing references)
				//IL_1cd6: Unknown result type (might be due to invalid IL or missing references)
				//IL_1cea: Unknown result type (might be due to invalid IL or missing references)
				//IL_1cfe: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d55: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d69: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d7d: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d9d: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e04: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e18: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e2c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e4c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1eb3: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ec7: Unknown result type (might be due to invalid IL or missing references)
				//IL_1edb: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f32: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f46: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f5a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fb1: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fc5: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fd9: Unknown result type (might be due to invalid IL or missing references)
				//IL_2030: Unknown result type (might be due to invalid IL or missing references)
				//IL_2044: Unknown result type (might be due to invalid IL or missing references)
				//IL_2058: Unknown result type (might be due to invalid IL or missing references)
				//IL_20af: Unknown result type (might be due to invalid IL or missing references)
				//IL_20c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_20d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_212e: Unknown result type (might be due to invalid IL or missing references)
				//IL_2142: Unknown result type (might be due to invalid IL or missing references)
				//IL_2156: Unknown result type (might be due to invalid IL or missing references)
				//IL_2176: Unknown result type (might be due to invalid IL or missing references)
				//IL_21dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_21f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_2205: Unknown result type (might be due to invalid IL or missing references)
				//IL_225c: Unknown result type (might be due to invalid IL or missing references)
				//IL_2270: Unknown result type (might be due to invalid IL or missing references)
				//IL_2284: Unknown result type (might be due to invalid IL or missing references)
				//IL_22db: Unknown result type (might be due to invalid IL or missing references)
				//IL_22ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_2303: Unknown result type (might be due to invalid IL or missing references)
				//IL_235a: Unknown result type (might be due to invalid IL or missing references)
				//IL_236e: Unknown result type (might be due to invalid IL or missing references)
				//IL_2382: Unknown result type (might be due to invalid IL or missing references)
				//IL_23d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_23ed: Unknown result type (might be due to invalid IL or missing references)
				//IL_2401: Unknown result type (might be due to invalid IL or missing references)
				//IL_2458: Unknown result type (might be due to invalid IL or missing references)
				//IL_246c: Unknown result type (might be due to invalid IL or missing references)
				//IL_2480: Unknown result type (might be due to invalid IL or missing references)
				//IL_24d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_24eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_24ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_2556: Unknown result type (might be due to invalid IL or missing references)
				//IL_256a: Unknown result type (might be due to invalid IL or missing references)
				//IL_257e: Unknown result type (might be due to invalid IL or missing references)
				//IL_259e: Unknown result type (might be due to invalid IL or missing references)
				//IL_2605: Unknown result type (might be due to invalid IL or missing references)
				//IL_2619: Unknown result type (might be due to invalid IL or missing references)
				//IL_262d: Unknown result type (might be due to invalid IL or missing references)
				//IL_264d: Unknown result type (might be due to invalid IL or missing references)
				//IL_26b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_26c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_26dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_2733: Unknown result type (might be due to invalid IL or missing references)
				//IL_2747: Unknown result type (might be due to invalid IL or missing references)
				//IL_275b: Unknown result type (might be due to invalid IL or missing references)
				//IL_27b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_27c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_27da: Unknown result type (might be due to invalid IL or missing references)
				//IL_2831: Unknown result type (might be due to invalid IL or missing references)
				//IL_2845: Unknown result type (might be due to invalid IL or missing references)
				//IL_2859: Unknown result type (might be due to invalid IL or missing references)
				//IL_28b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_28c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_28d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_292f: Unknown result type (might be due to invalid IL or missing references)
				//IL_2943: Unknown result type (might be due to invalid IL or missing references)
				//IL_2957: Unknown result type (might be due to invalid IL or missing references)
				//IL_2977: Unknown result type (might be due to invalid IL or missing references)
				//IL_29de: Unknown result type (might be due to invalid IL or missing references)
				//IL_29f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a06: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a5d: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a71: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a85: Unknown result type (might be due to invalid IL or missing references)
				//IL_2adc: Unknown result type (might be due to invalid IL or missing references)
				//IL_2af0: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b04: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b5b: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b6f: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b83: Unknown result type (might be due to invalid IL or missing references)
				//IL_2bda: Unknown result type (might be due to invalid IL or missing references)
				//IL_2bee: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c02: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c59: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c6d: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c81: Unknown result type (might be due to invalid IL or missing references)
				//IL_2cd8: Unknown result type (might be due to invalid IL or missing references)
				//IL_2cec: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d00: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d57: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d6b: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d7f: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d9f: Unknown result type (might be due to invalid IL or missing references)
				//IL_2e06: Unknown result type (might be due to invalid IL or missing references)
				//IL_2e1a: Unknown result type (might be due to invalid IL or missing references)
				//IL_2e2e: Unknown result type (might be due to invalid IL or missing references)
				//IL_2e4e: Unknown result type (might be due to invalid IL or missing references)
				//IL_2eb5: Unknown result type (might be due to invalid IL or missing references)
				//IL_2ec9: Unknown result type (might be due to invalid IL or missing references)
				//IL_2edd: Unknown result type (might be due to invalid IL or missing references)
				//IL_2f34: Unknown result type (might be due to invalid IL or missing references)
				//IL_2f48: Unknown result type (might be due to invalid IL or missing references)
				//IL_2f5c: Unknown result type (might be due to invalid IL or missing references)
				//IL_2fb3: Unknown result type (might be due to invalid IL or missing references)
				//IL_2fc7: Unknown result type (might be due to invalid IL or missing references)
				//IL_2fdb: Unknown result type (might be due to invalid IL or missing references)
				//IL_3032: Unknown result type (might be due to invalid IL or missing references)
				//IL_3046: Unknown result type (might be due to invalid IL or missing references)
				//IL_305a: Unknown result type (might be due to invalid IL or missing references)
				//IL_30b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_30c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_30d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_3130: Unknown result type (might be due to invalid IL or missing references)
				//IL_3144: Unknown result type (might be due to invalid IL or missing references)
				//IL_3158: Unknown result type (might be due to invalid IL or missing references)
				//IL_3178: Unknown result type (might be due to invalid IL or missing references)
				//IL_31df: Unknown result type (might be due to invalid IL or missing references)
				//IL_31f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_3207: Unknown result type (might be due to invalid IL or missing references)
				//IL_325e: Unknown result type (might be due to invalid IL or missing references)
				//IL_3272: Unknown result type (might be due to invalid IL or missing references)
				//IL_3286: Unknown result type (might be due to invalid IL or missing references)
				//IL_32dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_32f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_3305: Unknown result type (might be due to invalid IL or missing references)
				//IL_335c: Unknown result type (might be due to invalid IL or missing references)
				//IL_3370: Unknown result type (might be due to invalid IL or missing references)
				//IL_3384: Unknown result type (might be due to invalid IL or missing references)
				//IL_33db: Unknown result type (might be due to invalid IL or missing references)
				//IL_33ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_3403: Unknown result type (might be due to invalid IL or missing references)
				//IL_345a: Unknown result type (might be due to invalid IL or missing references)
				//IL_346e: Unknown result type (might be due to invalid IL or missing references)
				//IL_3482: Unknown result type (might be due to invalid IL or missing references)
				//IL_34d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_34ed: Unknown result type (might be due to invalid IL or missing references)
				//IL_3501: Unknown result type (might be due to invalid IL or missing references)
				//IL_3558: Unknown result type (might be due to invalid IL or missing references)
				//IL_356c: Unknown result type (might be due to invalid IL or missing references)
				//IL_3580: Unknown result type (might be due to invalid IL or missing references)
				//IL_35a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_3607: Unknown result type (might be due to invalid IL or missing references)
				//IL