Decompiled source of NiaMercSkin v1.4.0

NiaMercSkin.dll

Decompiled a month ago
using System;
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.Logging;
using MonoMod.RuntimeDetour;
using MonoMod.RuntimeDetour.HookGen;
using RoR2;
using RoR2.ContentManagement;
using RuneFoxMods.DynamicSkins;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Rendering;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
namespace NiaMercSkin
{
	[BepInPlugin("com.Miyowi.NiaMercSkin", "NiaMercSkin", "1.4.0")]
	public class NiaMercSkinPlugin : BaseUnityPlugin
	{
		private class FieldException : Exception
		{
			public FieldException(string message, Exception innerException)
				: base(message, innerException)
			{
			}
		}

		public class DynamicSkinExtension
		{
			private Modification NiaSkincapeleftModification;

			private Modification NiaSkincaperightModification;

			private Modification NiaSkinhairbackleft2Modification;

			private Modification NiaSkinhairbackmiddle1Modification;

			private Modification NiaSkinhairbackright2Modification;

			private Modification NiaSkinhairfrontleft2Modification;

			private Modification NiaSkinhairfrontmiddle1Modification;

			private Modification NiaSkinhairfrontright2Modification;

			private Modification NiaSkinheadcatearleftrootModification;

			private Modification NiaSkinheadcatearrightrootModification;

			private Modification NiaSkinBWcapeleftModification;

			private Modification NiaSkinBWcaperightModification;

			private Modification NiaSkinBWhairbackleft2Modification;

			private Modification NiaSkinBWhairbackmiddle1Modification;

			private Modification NiaSkinBWhairbackright2Modification;

			private Modification NiaSkinBWhairfrontleft2Modification;

			private Modification NiaSkinBWhairfrontmiddle1Modification;

			private Modification NiaSkinBWhairfrontright2Modification;

			private Modification NiaSkinBWheadcatearleftrootModification;

			private Modification NiaSkinBWheadcatearrightrootModification;

			private Modification NiaSkinCScapeleftModification;

			private Modification NiaSkinCScaperightModification;

			private Modification NiaSkinCShairbackleft2Modification;

			private Modification NiaSkinCShairbackmiddle1Modification;

			private Modification NiaSkinCShairbackright2Modification;

			private Modification NiaSkinCShairfrontleft2Modification;

			private Modification NiaSkinCShairfrontmiddle1Modification;

			private Modification NiaSkinCShairfrontright2Modification;

			private Modification NiaSkinCSheadcatearleftrootModification;

			private Modification NiaSkinCSheadcatearrightrootModification;

			private Modification NiaBladeSkinskirtleftrootModification;

			private Modification NiaBladeSkinskirtrightrootModification;

			private Modification NiaBladeSkinarmsleeveleftrootModification;

			private Modification NiaBladeSkinarmsleeverightrootModification;

			private Modification NiaBladeSkinhairbackleft1Modification;

			private Modification NiaBladeSkinhairbackright1Modification;

			private Modification NiaBladeSkinhairfrontleft1Modification;

			private Modification NiaBladeSkinhairfrontright1Modification;

			private Modification NiaBladeSkinheadrabbitearleft1Modification;

			private Modification NiaBladeSkinheadrabbitearright1Modification;

			private Modification NiaBladeSkinDMskirtleftrootModification;

			private Modification NiaBladeSkinDMskirtrightrootModification;

			private Modification NiaBladeSkinDMarmsleeveleftrootModification;

			private Modification NiaBladeSkinDMarmsleeverightrootModification;

			private Modification NiaBladeSkinDMhairbackleft1Modification;

			private Modification NiaBladeSkinDMhairbackright1Modification;

			private Modification NiaBladeSkinDMhairfrontleft1Modification;

			private Modification NiaBladeSkinDMhairfrontright1Modification;

			private Modification NiaBladeSkinDMheadrabbitearleft1Modification;

			private Modification NiaBladeSkinDMheadrabbitearright1Modification;

			private Modification NiaBladeSkinLBskirtleftrootModification;

			private Modification NiaBladeSkinLBskirtrightrootModification;

			private Modification NiaBladeSkinLBarmsleeveleftrootModification;

			private Modification NiaBladeSkinLBarmsleeverightrootModification;

			private Modification NiaBladeSkinLBhairbackleft1Modification;

			private Modification NiaBladeSkinLBhairbackright1Modification;

			private Modification NiaBladeSkinLBhairfrontleft1Modification;

			private Modification NiaBladeSkinLBhairfrontright1Modification;

			private Modification NiaBladeSkinLBheadrabbitearleft1Modification;

			private Modification NiaBladeSkinLBheadrabbitearright1Modification;

			private Modification NiaBladeSkinSPskirtleftrootModification;

			private Modification NiaBladeSkinSPskirtrightrootModification;

			private Modification NiaBladeSkinSParmsleeveleftrootModification;

			private Modification NiaBladeSkinSParmsleeverightrootModification;

			private Modification NiaBladeSkinSPhairbackleft1Modification;

			private Modification NiaBladeSkinSPhairbackright1Modification;

			private Modification NiaBladeSkinSPhairfrontleft1Modification;

			private Modification NiaBladeSkinSPhairfrontright1Modification;

			private Modification NiaBladeSkinSPheadrabbitearleft1Modification;

			private Modification NiaBladeSkinSPheadrabbitearright1Modification;

			internal void BeforeStart()
			{
				//IL_0039: Unknown result type (might be due to invalid IL or missing references)
				_DynamicSkinManager.InstanceLogger = ((BaseUnityPlugin)Instance).Logger;
				new Hook((MethodBase)typeof(SkinDef).GetMethod("Apply"), (Delegate)new Action<Action<SkinDef, GameObject>, SkinDef, GameObject>(_DynamicSkinManager.SkinDefApply)).Apply();
			}

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

			internal void BeforeBodyCatalogInit()
			{
				MercBodyNiaSkinSkinAddedEvent += onSkinAdded;
				MercBodyNiaSkinBWSkinAddedEvent += onSkinAdded;
				MercBodyNiaSkinCSSkinAddedEvent += onSkinAdded;
				MercBodyNiaBladeSkinSkinAddedEvent += onSkinAdded;
				MercBodyNiaBladeSkinDMSkinAddedEvent += onSkinAdded;
				MercBodyNiaBladeSkinLBSkinAddedEvent += onSkinAdded;
				MercBodyNiaBladeSkinSPSkinAddedEvent += onSkinAdded;
			}

			internal void AfterBodyCatalogInit()
			{
			}

			private void InitializeModifications()
			{
				NiaSkincapeleftModification = new Modification("capeleft.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaSkincaperightModification = new Modification("caperight.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 95, AffectsBaseModel: true, assetBundle);
				NiaSkinhairbackleft2Modification = new Modification("hairbackleft2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 37, AffectsBaseModel: true, assetBundle);
				NiaSkinhairbackmiddle1Modification = new Modification("hairbackmiddle1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 40, AffectsBaseModel: true, assetBundle);
				NiaSkinhairbackright2Modification = new Modification("hairbackright2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaSkinhairfrontleft2Modification = new Modification("hairfrontleft2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaSkinhairfrontmiddle1Modification = new Modification("hairfrontmiddle1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 46, AffectsBaseModel: true, assetBundle);
				NiaSkinhairfrontright2Modification = new Modification("hairfrontright2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaSkinheadcatearleftrootModification = new Modification("headcatearleftroot.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 31, AffectsBaseModel: true, assetBundle);
				NiaSkinheadcatearrightrootModification = new Modification("headcatearrightroot.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKIN_NAME", 34, AffectsBaseModel: true, assetBundle);
				NiaSkinBWcapeleftModification = new Modification("capeleft.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaSkinBWcaperightModification = new Modification("caperight.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 95, AffectsBaseModel: true, assetBundle);
				NiaSkinBWhairbackleft2Modification = new Modification("hairbackleft2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 37, AffectsBaseModel: true, assetBundle);
				NiaSkinBWhairbackmiddle1Modification = new Modification("hairbackmiddle1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 40, AffectsBaseModel: true, assetBundle);
				NiaSkinBWhairbackright2Modification = new Modification("hairbackright2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaSkinBWhairfrontleft2Modification = new Modification("hairfrontleft2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaSkinBWhairfrontmiddle1Modification = new Modification("hairfrontmiddle1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 46, AffectsBaseModel: true, assetBundle);
				NiaSkinBWhairfrontright2Modification = new Modification("hairfrontright2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaSkinBWheadcatearleftrootModification = new Modification("headcatearleftroot.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 31, AffectsBaseModel: true, assetBundle);
				NiaSkinBWheadcatearrightrootModification = new Modification("headcatearrightroot.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINBW_NAME", 34, AffectsBaseModel: true, assetBundle);
				NiaSkinCScapeleftModification = new Modification("capeleft.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 88, AffectsBaseModel: true, assetBundle);
				NiaSkinCScaperightModification = new Modification("caperight.prefab", "chest", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 95, AffectsBaseModel: true, assetBundle);
				NiaSkinCShairbackleft2Modification = new Modification("hairbackleft2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 37, AffectsBaseModel: true, assetBundle);
				NiaSkinCShairbackmiddle1Modification = new Modification("hairbackmiddle1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 40, AffectsBaseModel: true, assetBundle);
				NiaSkinCShairbackright2Modification = new Modification("hairbackright2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaSkinCShairfrontleft2Modification = new Modification("hairfrontleft2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 49, AffectsBaseModel: true, assetBundle);
				NiaSkinCShairfrontmiddle1Modification = new Modification("hairfrontmiddle1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 46, AffectsBaseModel: true, assetBundle);
				NiaSkinCShairfrontright2Modification = new Modification("hairfrontright2.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 52, AffectsBaseModel: true, assetBundle);
				NiaSkinCSheadcatearleftrootModification = new Modification("headcatearleftroot.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 31, AffectsBaseModel: true, assetBundle);
				NiaSkinCSheadcatearrightrootModification = new Modification("headcatearrightroot.prefab", "head", "MercBody", "MIYOWI_SKIN_NIASKINCS_NAME", 34, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinskirtleftrootModification = new Modification("skirtleftroot.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 109, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinskirtrightrootModification = new Modification("skirtrightroot.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 115, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinarmsleeveleftrootModification = new Modification("armsleeveleftroot.prefab", "upper_arm.l", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 28, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinarmsleeverightrootModification = new Modification("armsleeverightroot.prefab", "upper_arm.r", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 86, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinhairbackleft1Modification = new Modification("hairbackleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 36, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinhairbackright1Modification = new Modification("hairbackright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinhairfrontleft1Modification = new Modification("hairfrontleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 50, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinhairfrontright1Modification = new Modification("hairfrontright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 53, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinheadrabbitearleft1Modification = new Modification("headrabbitearleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 56, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinheadrabbitearright1Modification = new Modification("headrabbitearright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKIN_NAME", 59, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMskirtleftrootModification = new Modification("skirtleftroot.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 109, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMskirtrightrootModification = new Modification("skirtrightroot.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 115, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMarmsleeveleftrootModification = new Modification("armsleeveleftroot.prefab", "upper_arm.l", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 28, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMarmsleeverightrootModification = new Modification("armsleeverightroot.prefab", "upper_arm.r", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 86, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMhairbackleft1Modification = new Modification("hairbackleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 36, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMhairbackright1Modification = new Modification("hairbackright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMhairfrontleft1Modification = new Modification("hairfrontleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 50, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMhairfrontright1Modification = new Modification("hairfrontright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 53, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMheadrabbitearleft1Modification = new Modification("headrabbitearleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 56, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinDMheadrabbitearright1Modification = new Modification("headrabbitearright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINDM_NAME", 59, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBskirtleftrootModification = new Modification("skirtleftroot.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 109, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBskirtrightrootModification = new Modification("skirtrightroot.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 115, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBarmsleeveleftrootModification = new Modification("armsleeveleftroot.prefab", "upper_arm.l", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 28, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBarmsleeverightrootModification = new Modification("armsleeverightroot.prefab", "upper_arm.r", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 86, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBhairbackleft1Modification = new Modification("hairbackleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 36, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBhairbackright1Modification = new Modification("hairbackright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBhairfrontleft1Modification = new Modification("hairfrontleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 50, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBhairfrontright1Modification = new Modification("hairfrontright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 53, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBheadrabbitearleft1Modification = new Modification("headrabbitearleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 56, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinLBheadrabbitearright1Modification = new Modification("headrabbitearright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINLB_NAME", 59, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSPskirtleftrootModification = new Modification("skirtleftroot.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 109, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSPskirtrightrootModification = new Modification("skirtrightroot.prefab", "pelvis", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 115, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSParmsleeveleftrootModification = new Modification("armsleeveleftroot.prefab", "upper_arm.l", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 28, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSParmsleeverightrootModification = new Modification("armsleeverightroot.prefab", "upper_arm.r", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 86, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSPhairbackleft1Modification = new Modification("hairbackleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 36, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSPhairbackright1Modification = new Modification("hairbackright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 43, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSPhairfrontleft1Modification = new Modification("hairfrontleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 50, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSPhairfrontright1Modification = new Modification("hairfrontright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 53, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSPheadrabbitearleft1Modification = new Modification("headrabbitearleft1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 56, AffectsBaseModel: true, assetBundle);
				NiaBladeSkinSPheadrabbitearright1Modification = new Modification("headrabbitearright1.prefab", "head", "MercBody", "MIYOWI_SKIN_NIABLADESKINSP_NAME", 59, AffectsBaseModel: true, assetBundle);
			}

			private void InitializeDynamicBones()
			{
				//IL_003e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
				//IL_013c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0150: 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_01bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e3: Unknown result type (might be due to invalid IL or missing references)
				//IL_023a: Unknown result type (might be due to invalid IL or missing references)
				//IL_024e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0262: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b9: Unknown result type (might be due to invalid IL or missing references)
				//IL_02cd: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0338: Unknown result type (might be due to invalid IL or missing references)
				//IL_034c: 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_03b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_03cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_03df: Unknown result type (might be due to invalid IL or missing references)
				//IL_0436: Unknown result type (might be due to invalid IL or missing references)
				//IL_044a: Unknown result type (might be due to invalid IL or missing references)
				//IL_045e: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_04c9: Unknown result type (might be due to invalid IL or missing references)
				//IL_04dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0534: Unknown result type (might be due to invalid IL or missing references)
				//IL_0548: Unknown result type (might be due to invalid IL or missing references)
				//IL_055c: Unknown result type (might be due to invalid IL or missing references)
				//IL_05b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
				//IL_05db: Unknown result type (might be due to invalid IL or missing references)
				//IL_0632: Unknown result type (might be due to invalid IL or missing references)
				//IL_0646: Unknown result type (might be due to invalid IL or missing references)
				//IL_065a: Unknown result type (might be due to invalid IL or missing references)
				//IL_06b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_06c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_06d9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0730: Unknown result type (might be due to invalid IL or missing references)
				//IL_0744: Unknown result type (might be due to invalid IL or missing references)
				//IL_0758: Unknown result type (might be due to invalid IL or missing references)
				//IL_07af: Unknown result type (might be due to invalid IL or missing references)
				//IL_07c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_07d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_082e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0842: Unknown result type (might be due to invalid IL or missing references)
				//IL_0856: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_08c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_08d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_092c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0940: Unknown result type (might be due to invalid IL or missing references)
				//IL_0954: Unknown result type (might be due to invalid IL or missing references)
				//IL_09ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_09bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_09d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a2a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a3e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a52: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aa9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0abd: 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_0b28: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b3c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b50: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ba7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bbb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bcf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c26: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c3a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c4e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ca5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cb9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ccd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d24: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d38: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d4c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0da3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0db7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dcb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e22: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e36: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e4a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ea1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0eb5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ec9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f20: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f34: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f48: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f9f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fb3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fc7: Unknown result type (might be due to invalid IL or missing references)
				//IL_101e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1032: Unknown result type (might be due to invalid IL or missing references)
				//IL_1046: Unknown result type (might be due to invalid IL or missing references)
				//IL_109d: Unknown result type (might be due to invalid IL or missing references)
				//IL_10b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_10c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_111c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1130: Unknown result type (might be due to invalid IL or missing references)
				//IL_1144: Unknown result type (might be due to invalid IL or missing references)
				//IL_119b: Unknown result type (might be due to invalid IL or missing references)
				//IL_11af: Unknown result type (might be due to invalid IL or missing references)
				//IL_11c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_121a: Unknown result type (might be due to invalid IL or missing references)
				//IL_122e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1242: Unknown result type (might be due to invalid IL or missing references)
				//IL_1299: Unknown result type (might be due to invalid IL or missing references)
				//IL_12ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_12c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_1318: Unknown result type (might be due to invalid IL or missing references)
				//IL_132c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1340: Unknown result type (might be due to invalid IL or missing references)
				//IL_1397: Unknown result type (might be due to invalid IL or missing references)
				//IL_13ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_13bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_1416: Unknown result type (might be due to invalid IL or missing references)
				//IL_142a: Unknown result type (might be due to invalid IL or missing references)
				//IL_143e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1495: Unknown result type (might be due to invalid IL or missing references)
				//IL_14a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_14bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_1514: Unknown result type (might be due to invalid IL or missing references)
				//IL_1528: Unknown result type (might be due to invalid IL or missing references)
				//IL_153c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1593: Unknown result type (might be due to invalid IL or missing references)
				//IL_15a7: Unknown result type (might be due to invalid IL or missing references)
				//IL_15bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_1612: Unknown result type (might be due to invalid IL or missing references)
				//IL_1626: Unknown result type (might be due to invalid IL or missing references)
				//IL_163a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1691: Unknown result type (might be due to invalid IL or missing references)
				//IL_16a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_16b9: Unknown result type (might be due to invalid IL or missing references)
				//IL_1710: Unknown result type (might be due to invalid IL or missing references)
				//IL_1724: Unknown result type (might be due to invalid IL or missing references)
				//IL_1738: Unknown result type (might be due to invalid IL or missing references)
				//IL_178f: Unknown result type (might be due to invalid IL or missing references)
				//IL_17a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_17b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_180e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1822: Unknown result type (might be due to invalid IL or missing references)
				//IL_1836: Unknown result type (might be due to invalid IL or missing references)
				//IL_188d: Unknown result type (might be due to invalid IL or missing references)
				//IL_18a1: Unknown result type (might be due to invalid IL or missing references)
				//IL_18b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_190c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1920: Unknown result type (might be due to invalid IL or missing references)
				//IL_1934: Unknown result type (might be due to invalid IL or missing references)
				//IL_198b: Unknown result type (might be due to invalid IL or missing references)
				//IL_199f: Unknown result type (might be due to invalid IL or missing references)
				//IL_19b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a0a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a1e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a32: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a89: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a9d: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ab1: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b08: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b1c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b30: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b87: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b9b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1baf: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c06: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c1a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c2e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c85: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c99: Unknown result type (might be due to invalid IL or missing references)
				//IL_1cad: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d04: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d18: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d2c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d83: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d97: Unknown result type (might be due to invalid IL or missing references)
				//IL_1dab: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e02: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e16: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e2a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e81: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e95: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ea9: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f00: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f14: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f28: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f7f: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f93: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fa7: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ffe: Unknown result type (might be due to invalid IL or missing references)
				//IL_2012: Unknown result type (might be due to invalid IL or missing references)
				//IL_2026: Unknown result type (might be due to invalid IL or missing references)
				//IL_207d: Unknown result type (might be due to invalid IL or missing references)
				//IL_2091: Unknown result type (might be due to invalid IL or missing references)
				//IL_20a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_20fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_2110: Unknown result type (might be due to invalid IL or missing references)
				//IL_2124: Unknown result type (might be due to invalid IL or missing references)
				//IL_217b: Unknown result type (might be due to invalid IL or missing references)
				//IL_218f: Unknown result type (might be due to invalid IL or missing references)
				//IL_21a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_21fa: Unknown result type (might be due to invalid IL or missing references)
				//IL_220e: Unknown result type (might be due to invalid IL or missing references)
				//IL_2222: Unknown result type (might be due to invalid IL or missing references)
				//IL_2279: Unknown result type (might be due to invalid IL or missing references)
				//IL_228d: Unknown result type (might be due to invalid IL or missing references)
				//IL_22a1: Unknown result type (might be due to invalid IL or missing references)
				NiaSkincapeleftModification.dynamicBoneData = new DynamicBoneData("capeleft", 0.2f, null, 0.05f, null, 0.7f, null, 0.5f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkincaperightModification.dynamicBoneData = new DynamicBoneData("caperight", 0.2f, null, 0.05f, null, 0.7f, null, 0.5f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinhairbackleft2Modification.dynamicBoneData = new DynamicBoneData("hairbackleft2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinhairbackmiddle1Modification.dynamicBoneData = new DynamicBoneData("hairbackmiddle1", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinhairbackright2Modification.dynamicBoneData = new DynamicBoneData("hairbackright2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinhairfrontleft2Modification.dynamicBoneData = new DynamicBoneData("hairfrontleft2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinhairfrontmiddle1Modification.dynamicBoneData = new DynamicBoneData("hairfrontmiddle1", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinhairfrontright2Modification.dynamicBoneData = new DynamicBoneData("hairfrontright2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinheadcatearleftrootModification.dynamicBoneData = new DynamicBoneData("headcatearleftroot", 0.5f, null, 0.018f, null, 0.75f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinheadcatearrightrootModification.dynamicBoneData = new DynamicBoneData("headcatearrightroot", 0.5f, null, 0.018f, null, 0.75f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWcapeleftModification.dynamicBoneData = new DynamicBoneData("capeleft", 0.2f, null, 0.05f, null, 0.7f, null, 0.5f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWcaperightModification.dynamicBoneData = new DynamicBoneData("caperight", 0.2f, null, 0.05f, null, 0.7f, null, 0.5f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWhairbackleft2Modification.dynamicBoneData = new DynamicBoneData("hairbackleft2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWhairbackmiddle1Modification.dynamicBoneData = new DynamicBoneData("hairbackmiddle1", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWhairbackright2Modification.dynamicBoneData = new DynamicBoneData("hairbackright2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWhairfrontleft2Modification.dynamicBoneData = new DynamicBoneData("hairfrontleft2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWhairfrontmiddle1Modification.dynamicBoneData = new DynamicBoneData("hairfrontmiddle1", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWhairfrontright2Modification.dynamicBoneData = new DynamicBoneData("hairfrontright2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWheadcatearleftrootModification.dynamicBoneData = new DynamicBoneData("headcatearleftroot", 0.5f, null, 0.018f, null, 0.75f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinBWheadcatearrightrootModification.dynamicBoneData = new DynamicBoneData("headcatearrightroot", 0.5f, null, 0.018f, null, 0.75f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCScapeleftModification.dynamicBoneData = new DynamicBoneData("capeleft", 0.2f, null, 0.05f, null, 0.7f, null, 0.5f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCScaperightModification.dynamicBoneData = new DynamicBoneData("caperight", 0.2f, null, 0.05f, null, 0.7f, null, 0.5f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCShairbackleft2Modification.dynamicBoneData = new DynamicBoneData("hairbackleft2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCShairbackmiddle1Modification.dynamicBoneData = new DynamicBoneData("hairbackmiddle1", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCShairbackright2Modification.dynamicBoneData = new DynamicBoneData("hairbackright2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCShairfrontleft2Modification.dynamicBoneData = new DynamicBoneData("hairfrontleft2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCShairfrontmiddle1Modification.dynamicBoneData = new DynamicBoneData("hairfrontmiddle1", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCShairfrontright2Modification.dynamicBoneData = new DynamicBoneData("hairfrontright2", 0.2f, null, 0.05f, null, 0.8f, null, 0f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCSheadcatearleftrootModification.dynamicBoneData = new DynamicBoneData("headcatearleftroot", 0.5f, null, 0.018f, null, 0.75f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaSkinCSheadcatearrightrootModification.dynamicBoneData = new DynamicBoneData("headcatearrightroot", 0.5f, null, 0.018f, null, 0.75f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinskirtleftrootModification.dynamicBoneData = new DynamicBoneData("skirtleftroot", 0.04f, null, 0.005f, null, 0.55f, null, 0.85f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinskirtrightrootModification.dynamicBoneData = new DynamicBoneData("skirtrightroot", 0.04f, null, 0.005f, null, 0.55f, null, 0.85f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinarmsleeveleftrootModification.dynamicBoneData = new DynamicBoneData("armsleeveleftroot", 0.04f, null, 0.005f, null, 0.735f, null, 0.953f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinarmsleeverightrootModification.dynamicBoneData = new DynamicBoneData("armsleeverightroot", 0.04f, null, 0.005f, null, 0.735f, null, 0.953f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinhairbackleft1Modification.dynamicBoneData = new DynamicBoneData("hairbackleft1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, -0.005f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinhairbackright1Modification.dynamicBoneData = new DynamicBoneData("hairbackright1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, -0.005f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinhairfrontleft1Modification.dynamicBoneData = new DynamicBoneData("hairfrontleft1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinhairfrontright1Modification.dynamicBoneData = new DynamicBoneData("hairfrontright1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinheadrabbitearleft1Modification.dynamicBoneData = new DynamicBoneData("headrabbitearleft1", 0.18f, null, 0.018f, null, 0.35f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinheadrabbitearright1Modification.dynamicBoneData = new DynamicBoneData("headrabbitearright1", 0.18f, null, 0.018f, null, 0.35f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMskirtleftrootModification.dynamicBoneData = new DynamicBoneData("skirtleftroot", 0.04f, null, 0.005f, null, 0.55f, null, 0.85f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMskirtrightrootModification.dynamicBoneData = new DynamicBoneData("skirtrightroot", 0.04f, null, 0.005f, null, 0.55f, null, 0.85f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMarmsleeveleftrootModification.dynamicBoneData = new DynamicBoneData("armsleeveleftroot", 0.04f, null, 0.005f, null, 0.735f, null, 0.953f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMarmsleeverightrootModification.dynamicBoneData = new DynamicBoneData("armsleeverightroot", 0.04f, null, 0.005f, null, 0.735f, null, 0.953f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMhairbackleft1Modification.dynamicBoneData = new DynamicBoneData("hairbackleft1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, -0.005f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMhairbackright1Modification.dynamicBoneData = new DynamicBoneData("hairbackright1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, -0.005f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMhairfrontleft1Modification.dynamicBoneData = new DynamicBoneData("hairfrontleft1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMhairfrontright1Modification.dynamicBoneData = new DynamicBoneData("hairfrontright1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMheadrabbitearleft1Modification.dynamicBoneData = new DynamicBoneData("headrabbitearleft1", 0.18f, null, 0.018f, null, 0.35f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinDMheadrabbitearright1Modification.dynamicBoneData = new DynamicBoneData("headrabbitearright1", 0.18f, null, 0.018f, null, 0.35f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBskirtleftrootModification.dynamicBoneData = new DynamicBoneData("skirtleftroot", 0.04f, null, 0.005f, null, 0.55f, null, 0.85f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBskirtrightrootModification.dynamicBoneData = new DynamicBoneData("skirtrightroot", 0.04f, null, 0.005f, null, 0.55f, null, 0.85f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBarmsleeveleftrootModification.dynamicBoneData = new DynamicBoneData("armsleeveleftroot", 0.04f, null, 0.005f, null, 0.735f, null, 0.953f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBarmsleeverightrootModification.dynamicBoneData = new DynamicBoneData("armsleeverightroot", 0.04f, null, 0.005f, null, 0.735f, null, 0.953f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBhairbackleft1Modification.dynamicBoneData = new DynamicBoneData("hairbackleft1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, -0.005f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBhairbackright1Modification.dynamicBoneData = new DynamicBoneData("hairbackright1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, -0.005f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBhairfrontleft1Modification.dynamicBoneData = new DynamicBoneData("hairfrontleft1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBhairfrontright1Modification.dynamicBoneData = new DynamicBoneData("hairfrontright1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBheadrabbitearleft1Modification.dynamicBoneData = new DynamicBoneData("headrabbitearleft1", 0.18f, null, 0.018f, null, 0.35f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinLBheadrabbitearright1Modification.dynamicBoneData = new DynamicBoneData("headrabbitearright1", 0.18f, null, 0.018f, null, 0.35f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSPskirtleftrootModification.dynamicBoneData = new DynamicBoneData("skirtleftroot", 0.04f, null, 0.005f, null, 0.55f, null, 0.85f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSPskirtrightrootModification.dynamicBoneData = new DynamicBoneData("skirtrightroot", 0.04f, null, 0.005f, null, 0.55f, null, 0.85f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSParmsleeveleftrootModification.dynamicBoneData = new DynamicBoneData("armsleeveleftroot", 0.04f, null, 0.005f, null, 0.735f, null, 0.953f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSParmsleeverightrootModification.dynamicBoneData = new DynamicBoneData("armsleeverightroot", 0.04f, null, 0.005f, null, 0.735f, null, 0.953f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSPhairbackleft1Modification.dynamicBoneData = new DynamicBoneData("hairbackleft1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, -0.005f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSPhairbackright1Modification.dynamicBoneData = new DynamicBoneData("hairbackright1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, -0.01f, -0.005f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSPhairfrontleft1Modification.dynamicBoneData = new DynamicBoneData("hairfrontleft1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSPhairfrontright1Modification.dynamicBoneData = new DynamicBoneData("hairfrontright1", 0.894f, null, 0.1f, null, 0.7f, null, 0.2f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSPheadrabbitearleft1Modification.dynamicBoneData = new DynamicBoneData("headrabbitearleft1", 0.18f, null, 0.018f, null, 0.35f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
				NiaBladeSkinSPheadrabbitearright1Modification.dynamicBoneData = new DynamicBoneData("headrabbitearright1", 0.18f, null, 0.018f, null, 0.35f, null, 0.247f, null, 0f, null, 0f, new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f), new List<DynamicBoneColliderData>(), new List<string>(), (FreezeAxis)0);
			}

			private void AddModificationsToList()
			{
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 88, NiaSkincapeleftModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 95, NiaSkincaperightModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 37, NiaSkinhairbackleft2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 40, NiaSkinhairbackmiddle1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 43, NiaSkinhairbackright2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 49, NiaSkinhairfrontleft2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 46, NiaSkinhairfrontmiddle1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 52, NiaSkinhairfrontright2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 31, NiaSkinheadcatearleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKIN_NAME", 34, NiaSkinheadcatearrightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 88, NiaSkinBWcapeleftModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 95, NiaSkinBWcaperightModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 37, NiaSkinBWhairbackleft2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 40, NiaSkinBWhairbackmiddle1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 43, NiaSkinBWhairbackright2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 49, NiaSkinBWhairfrontleft2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 46, NiaSkinBWhairfrontmiddle1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 52, NiaSkinBWhairfrontright2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 31, NiaSkinBWheadcatearleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINBW_NAME", 34, NiaSkinBWheadcatearrightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 88, NiaSkinCScapeleftModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 95, NiaSkinCScaperightModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 37, NiaSkinCShairbackleft2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 40, NiaSkinCShairbackmiddle1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 43, NiaSkinCShairbackright2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 49, NiaSkinCShairfrontleft2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 46, NiaSkinCShairfrontmiddle1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 52, NiaSkinCShairfrontright2Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 31, NiaSkinCSheadcatearleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIASKINCS_NAME", 34, NiaSkinCSheadcatearrightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 109, NiaBladeSkinskirtleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 115, NiaBladeSkinskirtrightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 28, NiaBladeSkinarmsleeveleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 86, NiaBladeSkinarmsleeverightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 36, NiaBladeSkinhairbackleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 43, NiaBladeSkinhairbackright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 50, NiaBladeSkinhairfrontleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 53, NiaBladeSkinhairfrontright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 56, NiaBladeSkinheadrabbitearleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKIN_NAME", 59, NiaBladeSkinheadrabbitearright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 109, NiaBladeSkinDMskirtleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 115, NiaBladeSkinDMskirtrightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 28, NiaBladeSkinDMarmsleeveleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 86, NiaBladeSkinDMarmsleeverightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 36, NiaBladeSkinDMhairbackleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 43, NiaBladeSkinDMhairbackright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 50, NiaBladeSkinDMhairfrontleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 53, NiaBladeSkinDMhairfrontright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 56, NiaBladeSkinDMheadrabbitearleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINDM_NAME", 59, NiaBladeSkinDMheadrabbitearright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 109, NiaBladeSkinLBskirtleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 115, NiaBladeSkinLBskirtrightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 28, NiaBladeSkinLBarmsleeveleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 86, NiaBladeSkinLBarmsleeverightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 36, NiaBladeSkinLBhairbackleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 43, NiaBladeSkinLBhairbackright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 50, NiaBladeSkinLBhairfrontleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 53, NiaBladeSkinLBhairfrontright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 56, NiaBladeSkinLBheadrabbitearleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINLB_NAME", 59, NiaBladeSkinLBheadrabbitearright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 109, NiaBladeSkinSPskirtleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 115, NiaBladeSkinSPskirtrightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 28, NiaBladeSkinSParmsleeveleftrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 86, NiaBladeSkinSParmsleeverightrootModification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 36, NiaBladeSkinSPhairbackleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 43, NiaBladeSkinSPhairbackright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 50, NiaBladeSkinSPhairfrontleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 53, NiaBladeSkinSPhairfrontright1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 56, NiaBladeSkinSPheadrabbitearleft1Modification);
				_DynamicSkinManager.AddModification("MIYOWI_SKIN_NIABLADESKINSP_NAME", 59, NiaBladeSkinSPheadrabbitearright1Modification);
			}

			private static void onSkinAdded(object sender, SkinAddedArgs e)
			{
				_DynamicSkinManager.AddSkinDef(e.skinDef);
			}
		}

		public delegate void VoidDelegate();

		public class SkinAddedArgs : EventArgs
		{
			public SkinDef skinDef { get; }

			public GameObject bodyPrefab { get; }

			public SkinAddedArgs(SkinDef newSkinDef, GameObject newGameObject)
			{
				skinDef = newSkinDef;
				bodyPrefab = newGameObject;
			}
		}

		private static AssetBundle assetBundle;

		private static readonly List<Material> materialsWithRoRShader = new List<Material>();

		private static DynamicSkinExtension _DynamicSkinExtension = new DynamicSkinExtension();

		private static DynamicSkinManager _DynamicSkinManager = new DynamicSkinManager();

		private static VoidDelegate BeforeStartDelegate;

		private static VoidDelegate AfterStartDelegate;

		private static VoidDelegate BeforeBodyCatalogDelegate;

		private static VoidDelegate AfterBodyCatalogDelegate;

		internal static NiaMercSkinPlugin Instance { get; private set; }

		internal static ManualLogSource InstanceLogger
		{
			get
			{
				NiaMercSkinPlugin instance = Instance;
				return (instance != null) ? ((BaseUnityPlugin)instance).Logger : null;
			}
		}

		private static event EventHandler<SkinAddedArgs> MercBodyNiaSkinSkinAddedEvent;

		private static event EventHandler<SkinAddedArgs> MercBodyNiaSkinBWSkinAddedEvent;

		private static event EventHandler<SkinAddedArgs> MercBodyNiaSkinCSSkinAddedEvent;

		private static event EventHandler<SkinAddedArgs> MercBodyNiaBladeSkinSkinAddedEvent;

		private static event EventHandler<SkinAddedArgs> MercBodyNiaBladeSkinDMSkinAddedEvent;

		private static event EventHandler<SkinAddedArgs> MercBodyNiaBladeSkinLBSkinAddedEvent;

		private static event EventHandler<SkinAddedArgs> MercBodyNiaBladeSkinSPSkinAddedEvent;

		private void Start()
		{
			Instance = this;
			BeforeStart();
			using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("NiaMercSkin.miyowiniamercskin"))
			{
				assetBundle = AssetBundle.LoadFromStream(stream);
			}
			((ResourceAvailability)(ref BodyCatalog.availability)).CallWhenAvailable((Action)BodyCatalogInit);
			HookEndpointManager.Add((MethodBase)typeof(Language).GetMethod("LoadStrings"), (Delegate)new Action<Action<Language>, Language>(LanguageLoadStrings));
			ReplaceShaders();
			AfterStart();
		}

		private void BeforeStart()
		{
			BeforeStartDelegate = (VoidDelegate)Delegate.Combine(BeforeStartDelegate, new VoidDelegate(_DynamicSkinExtension.BeforeStart));
			BeforeStartDelegate?.Invoke();
		}

		private void AfterStart()
		{
			AfterStartDelegate = (VoidDelegate)Delegate.Combine(AfterStartDelegate, new VoidDelegate(_DynamicSkinExtension.AfterStart));
			AfterStartDelegate?.Invoke();
		}

		private static void BeforeBodyCatalogInit()
		{
			BeforeBodyCatalogDelegate = (VoidDelegate)Delegate.Combine(BeforeBodyCatalogDelegate, new VoidDelegate(_DynamicSkinExtension.BeforeBodyCatalogInit));
			BeforeBodyCatalogDelegate?.Invoke();
		}

		private static void AfterBodyCatalogInit()
		{
			AfterBodyCatalogDelegate = (VoidDelegate)Delegate.Combine(AfterBodyCatalogDelegate, new VoidDelegate(_DynamicSkinExtension.AfterBodyCatalogInit));
			AfterBodyCatalogDelegate?.Invoke();
		}

		private static void ReplaceShaders()
		{
			LoadMaterialsWithReplacedShader("RoR2/Base/Shaders/HGStandard.shader", "Assets/Resources/NiaDriver/NiaMat.mat", "Assets/Resources/NiaDriver/ScimitarMat.mat", "Assets/Resources/NiaDriver/NiaMatBW.mat", "Assets/Resources/NiaDriver/NiaMatCS.mat", "Assets/Resources/NiaBlade/BladeNiaMat.mat", "Assets/Resources/NiaBlade/Scimitar2Mat.mat", "Assets/Resources/NiaBlade/BladeNiaMatDM.mat", "Assets/Resources/NiaBlade/BladeNiaMatLB.mat", "Assets/Resources/NiaBlade/BladeNiaMatSP.mat");
		}

		private static void LoadMaterialsWithReplacedShader(string shaderPath, params string[] materialPaths)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			Shader shader = Addressables.LoadAssetAsync<Shader>((object)shaderPath).WaitForCompletion();
			foreach (string text in materialPaths)
			{
				Material val = assetBundle.LoadAsset<Material>(text);
				val.shader = shader;
				materialsWithRoRShader.Add(val);
			}
		}

		private static void LanguageLoadStrings(Action<Language> orig, Language self)
		{
			orig(self);
			self.SetStringByToken("MIYOWI_SKIN_NIASKIN_NAME", "Nia (Driver)");
			self.SetStringByToken("MIYOWI_SKIN_NIASKINBW_NAME", "Nia (Blood Witch)");
			self.SetStringByToken("MIYOWI_SKIN_NIASKINCS_NAME", "Nia (Candy Stripe)");
			self.SetStringByToken("MIYOWI_SKIN_NIABLADESKIN_NAME", "Nia (Blade)");
			self.SetStringByToken("MIYOWI_SKIN_NIABLADESKINDM_NAME", "Nia (Devoted Marigold)");
			self.SetStringByToken("MIYOWI_SKIN_NIABLADESKINLB_NAME", "Nia (Loyal Bellflower)");
			self.SetStringByToken("MIYOWI_SKIN_NIABLADESKINSP_NAME", "Nia (Sincere Primrose)");
		}

		private static void Nothing(Action<SkinDef> orig, SkinDef self)
		{
		}

		private static void BodyCatalogInit()
		{
			BeforeBodyCatalogInit();
			MethodInfo method = typeof(SkinDef).GetMethod("Awake", BindingFlags.Instance | BindingFlags.NonPublic);
			HookEndpointManager.Add((MethodBase)method, (Delegate)new Action<Action<SkinDef>, SkinDef>(Nothing));
			AddMercBodyNiaSkinSkin();
			AddMercBodyNiaSkinBWSkin();
			AddMercBodyNiaSkinCSSkin();
			AddMercBodyNiaBladeSkinSkin();
			AddMercBodyNiaBladeSkinDMSkin();
			AddMercBodyNiaBladeSkinLBSkin();
			AddMercBodyNiaBladeSkinSPSkin();
			HookEndpointManager.Remove((MethodBase)method, (Delegate)new Action<Action<SkinDef>, SkinDef>(Nothing));
			AfterBodyCatalogInit();
		}

		private static void MercBodyNiaSkinSkinAdded(SkinDef skinDef, GameObject bodyPrefab)
		{
			NiaMercSkinPlugin.MercBodyNiaSkinSkinAddedEvent(Instance, new SkinAddedArgs(skinDef, bodyPrefab));
		}

		private static void AddMercBodyNiaSkinSkin()
		{
			//IL_0273: Unknown result type (might be due to invalid IL or missing references)
			string text = "MercBody";
			string text2 = "NiaSkin";
			try
			{
				GameObject val = BodyCatalog.FindBodyPrefab(text);
				if (!Object.op_Implicit((Object)(object)val))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin because \"" + text + "\" doesn't exist"));
					return;
				}
				ModelLocator component = val.GetComponent<ModelLocator>();
				if (!Object.op_Implicit((Object)(object)component))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelLocator\" component"));
					return;
				}
				GameObject gameObject = ((Component)component.modelTransform).gameObject;
				ModelSkinController skinController = (Object.op_Implicit((Object)(object)gameObject) ? gameObject.GetComponent<ModelSkinController>() : null);
				if (!Object.op_Implicit((Object)(object)skinController))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelSkinController\" component"));
					return;
				}
				Renderer[] renderers = gameObject.GetComponentsInChildren<Renderer>(true);
				SkinDef skin = ScriptableObject.CreateInstance<SkinDef>();
				TryCatchThrow("Icon", delegate
				{
					skin.icon = assetBundle.LoadAsset<Sprite>("Assets\\SkinMods\\NiaMercSkin\\Icons\\NiaSkinIcon.png");
				});
				((Object)skin).name = text2;
				skin.nameToken = "MIYOWI_SKIN_NIASKIN_NAME";
				skin.rootObject = gameObject;
				TryCatchThrow("Base Skins", delegate
				{
					skin.baseSkins = (SkinDef[])(object)new SkinDef[1] { skinController.skins[0] };
				});
				TryCatchThrow("Unlockable Name", delegate
				{
					skin.unlockableDef = ((IEnumerable<UnlockableDef>)ContentManager.unlockableDefs).FirstOrDefault((Func<UnlockableDef, bool>)((UnlockableDef def) => def.cachedName == "Nia (Driver)"));
				});
				TryCatchThrow("Game Object Activations", delegate
				{
					skin.gameObjectActivations = Array.Empty<GameObjectActivation>();
				});
				TryCatchThrow("Renderer Infos", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_0030: 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_004d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0056: Unknown result type (might be due to invalid IL or missing references)
					//IL_0075: Unknown result type (might be due to invalid IL or missing references)
					//IL_0091: Unknown result type (might be due to invalid IL or missing references)
					//IL_0092: Unknown result type (might be due to invalid IL or missing references)
					skin.rendererInfos = (RendererInfo[])(object)new RendererInfo[2]
					{
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaDriver/NiaMat.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[7]
						},
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaDriver/ScimitarMat.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Mesh Replacements", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_003c: Unknown result type (might be due to invalid IL or missing references)
					//IL_003d: 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_0071: 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)
					skin.meshReplacements = (MeshReplacement[])(object)new MeshReplacement[2]
					{
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\Body.mesh"),
							renderer = renderers[7]
						},
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\Scimitar.mesh"),
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Minion Skin Replacements", delegate
				{
					skin.minionSkinReplacements = Array.Empty<MinionSkinReplacement>();
				});
				TryCatchThrow("Projectile Ghost Replacements", delegate
				{
					skin.projectileGhostReplacements = Array.Empty<ProjectileGhostReplacement>();
				});
				Array.Resize(ref skinController.skins, skinController.skins.Length + 1);
				skinController.skins[skinController.skins.Length - 1] = skin;
				BodyCatalog.skins[BodyCatalog.FindBodyIndex(val)] = skinController.skins;
				MercBodyNiaSkinSkinAdded(skin, val);
			}
			catch (FieldException ex)
			{
				InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\""));
				InstanceLogger.LogWarning((object)("Field causing issue: " + ex.Message));
				InstanceLogger.LogError((object)ex.InnerException);
			}
			catch (Exception ex2)
			{
				InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\""));
				InstanceLogger.LogError((object)ex2);
			}
		}

		private static void MercBodyNiaSkinBWSkinAdded(SkinDef skinDef, GameObject bodyPrefab)
		{
			NiaMercSkinPlugin.MercBodyNiaSkinBWSkinAddedEvent(Instance, new SkinAddedArgs(skinDef, bodyPrefab));
		}

		private static void AddMercBodyNiaSkinBWSkin()
		{
			//IL_0273: Unknown result type (might be due to invalid IL or missing references)
			string text = "MercBody";
			string text2 = "NiaSkinBW";
			try
			{
				GameObject val = BodyCatalog.FindBodyPrefab(text);
				if (!Object.op_Implicit((Object)(object)val))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin because \"" + text + "\" doesn't exist"));
					return;
				}
				ModelLocator component = val.GetComponent<ModelLocator>();
				if (!Object.op_Implicit((Object)(object)component))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelLocator\" component"));
					return;
				}
				GameObject gameObject = ((Component)component.modelTransform).gameObject;
				ModelSkinController skinController = (Object.op_Implicit((Object)(object)gameObject) ? gameObject.GetComponent<ModelSkinController>() : null);
				if (!Object.op_Implicit((Object)(object)skinController))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelSkinController\" component"));
					return;
				}
				Renderer[] renderers = gameObject.GetComponentsInChildren<Renderer>(true);
				SkinDef skin = ScriptableObject.CreateInstance<SkinDef>();
				TryCatchThrow("Icon", delegate
				{
					skin.icon = assetBundle.LoadAsset<Sprite>("Assets\\SkinMods\\NiaMercSkin\\Icons\\NiaSkinBWIcon.png");
				});
				((Object)skin).name = text2;
				skin.nameToken = "MIYOWI_SKIN_NIASKINBW_NAME";
				skin.rootObject = gameObject;
				TryCatchThrow("Base Skins", delegate
				{
					skin.baseSkins = (SkinDef[])(object)new SkinDef[1] { skinController.skins[0] };
				});
				TryCatchThrow("Unlockable Name", delegate
				{
					skin.unlockableDef = ((IEnumerable<UnlockableDef>)ContentManager.unlockableDefs).FirstOrDefault((Func<UnlockableDef, bool>)((UnlockableDef def) => def.cachedName == "Blood Witch Nia"));
				});
				TryCatchThrow("Game Object Activations", delegate
				{
					skin.gameObjectActivations = Array.Empty<GameObjectActivation>();
				});
				TryCatchThrow("Renderer Infos", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_0030: 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_004d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0056: Unknown result type (might be due to invalid IL or missing references)
					//IL_0075: Unknown result type (might be due to invalid IL or missing references)
					//IL_0091: Unknown result type (might be due to invalid IL or missing references)
					//IL_0092: Unknown result type (might be due to invalid IL or missing references)
					skin.rendererInfos = (RendererInfo[])(object)new RendererInfo[2]
					{
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaDriver/NiaMatBW.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[7]
						},
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaDriver/ScimitarMat.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Mesh Replacements", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_003c: Unknown result type (might be due to invalid IL or missing references)
					//IL_003d: 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_0071: 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)
					skin.meshReplacements = (MeshReplacement[])(object)new MeshReplacement[2]
					{
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\Body.mesh"),
							renderer = renderers[7]
						},
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\Scimitar.mesh"),
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Minion Skin Replacements", delegate
				{
					skin.minionSkinReplacements = Array.Empty<MinionSkinReplacement>();
				});
				TryCatchThrow("Projectile Ghost Replacements", delegate
				{
					skin.projectileGhostReplacements = Array.Empty<ProjectileGhostReplacement>();
				});
				Array.Resize(ref skinController.skins, skinController.skins.Length + 1);
				skinController.skins[skinController.skins.Length - 1] = skin;
				BodyCatalog.skins[BodyCatalog.FindBodyIndex(val)] = skinController.skins;
				MercBodyNiaSkinBWSkinAdded(skin, val);
			}
			catch (FieldException ex)
			{
				InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\""));
				InstanceLogger.LogWarning((object)("Field causing issue: " + ex.Message));
				InstanceLogger.LogError((object)ex.InnerException);
			}
			catch (Exception ex2)
			{
				InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\""));
				InstanceLogger.LogError((object)ex2);
			}
		}

		private static void MercBodyNiaSkinCSSkinAdded(SkinDef skinDef, GameObject bodyPrefab)
		{
			NiaMercSkinPlugin.MercBodyNiaSkinCSSkinAddedEvent(Instance, new SkinAddedArgs(skinDef, bodyPrefab));
		}

		private static void AddMercBodyNiaSkinCSSkin()
		{
			//IL_0273: Unknown result type (might be due to invalid IL or missing references)
			string text = "MercBody";
			string text2 = "NiaSkinCS";
			try
			{
				GameObject val = BodyCatalog.FindBodyPrefab(text);
				if (!Object.op_Implicit((Object)(object)val))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin because \"" + text + "\" doesn't exist"));
					return;
				}
				ModelLocator component = val.GetComponent<ModelLocator>();
				if (!Object.op_Implicit((Object)(object)component))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelLocator\" component"));
					return;
				}
				GameObject gameObject = ((Component)component.modelTransform).gameObject;
				ModelSkinController skinController = (Object.op_Implicit((Object)(object)gameObject) ? gameObject.GetComponent<ModelSkinController>() : null);
				if (!Object.op_Implicit((Object)(object)skinController))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelSkinController\" component"));
					return;
				}
				Renderer[] renderers = gameObject.GetComponentsInChildren<Renderer>(true);
				SkinDef skin = ScriptableObject.CreateInstance<SkinDef>();
				TryCatchThrow("Icon", delegate
				{
					skin.icon = assetBundle.LoadAsset<Sprite>("Assets\\SkinMods\\NiaMercSkin\\Icons\\NiaSkinCSIcon.png");
				});
				((Object)skin).name = text2;
				skin.nameToken = "MIYOWI_SKIN_NIASKINCS_NAME";
				skin.rootObject = gameObject;
				TryCatchThrow("Base Skins", delegate
				{
					skin.baseSkins = (SkinDef[])(object)new SkinDef[1] { skinController.skins[0] };
				});
				TryCatchThrow("Unlockable Name", delegate
				{
					skin.unlockableDef = ((IEnumerable<UnlockableDef>)ContentManager.unlockableDefs).FirstOrDefault((Func<UnlockableDef, bool>)((UnlockableDef def) => def.cachedName == "Blood Witch Nia"));
				});
				TryCatchThrow("Game Object Activations", delegate
				{
					skin.gameObjectActivations = Array.Empty<GameObjectActivation>();
				});
				TryCatchThrow("Renderer Infos", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_0030: 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_004d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0056: Unknown result type (might be due to invalid IL or missing references)
					//IL_0075: Unknown result type (might be due to invalid IL or missing references)
					//IL_0091: Unknown result type (might be due to invalid IL or missing references)
					//IL_0092: Unknown result type (might be due to invalid IL or missing references)
					skin.rendererInfos = (RendererInfo[])(object)new RendererInfo[2]
					{
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaDriver/NiaMatCS.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[7]
						},
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaDriver/ScimitarMat.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Mesh Replacements", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_003c: Unknown result type (might be due to invalid IL or missing references)
					//IL_003d: 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_0071: 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)
					skin.meshReplacements = (MeshReplacement[])(object)new MeshReplacement[2]
					{
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\Body.mesh"),
							renderer = renderers[7]
						},
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\Scimitar.mesh"),
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Minion Skin Replacements", delegate
				{
					skin.minionSkinReplacements = Array.Empty<MinionSkinReplacement>();
				});
				TryCatchThrow("Projectile Ghost Replacements", delegate
				{
					skin.projectileGhostReplacements = Array.Empty<ProjectileGhostReplacement>();
				});
				Array.Resize(ref skinController.skins, skinController.skins.Length + 1);
				skinController.skins[skinController.skins.Length - 1] = skin;
				BodyCatalog.skins[BodyCatalog.FindBodyIndex(val)] = skinController.skins;
				MercBodyNiaSkinCSSkinAdded(skin, val);
			}
			catch (FieldException ex)
			{
				InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\""));
				InstanceLogger.LogWarning((object)("Field causing issue: " + ex.Message));
				InstanceLogger.LogError((object)ex.InnerException);
			}
			catch (Exception ex2)
			{
				InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\""));
				InstanceLogger.LogError((object)ex2);
			}
		}

		private static void MercBodyNiaBladeSkinSkinAdded(SkinDef skinDef, GameObject bodyPrefab)
		{
			NiaMercSkinPlugin.MercBodyNiaBladeSkinSkinAddedEvent(Instance, new SkinAddedArgs(skinDef, bodyPrefab));
		}

		private static void AddMercBodyNiaBladeSkinSkin()
		{
			//IL_0273: Unknown result type (might be due to invalid IL or missing references)
			string text = "MercBody";
			string text2 = "NiaBladeSkin";
			try
			{
				GameObject val = BodyCatalog.FindBodyPrefab(text);
				if (!Object.op_Implicit((Object)(object)val))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin because \"" + text + "\" doesn't exist"));
					return;
				}
				ModelLocator component = val.GetComponent<ModelLocator>();
				if (!Object.op_Implicit((Object)(object)component))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelLocator\" component"));
					return;
				}
				GameObject gameObject = ((Component)component.modelTransform).gameObject;
				ModelSkinController skinController = (Object.op_Implicit((Object)(object)gameObject) ? gameObject.GetComponent<ModelSkinController>() : null);
				if (!Object.op_Implicit((Object)(object)skinController))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelSkinController\" component"));
					return;
				}
				Renderer[] renderers = gameObject.GetComponentsInChildren<Renderer>(true);
				SkinDef skin = ScriptableObject.CreateInstance<SkinDef>();
				TryCatchThrow("Icon", delegate
				{
					skin.icon = assetBundle.LoadAsset<Sprite>("Assets\\SkinMods\\NiaMercSkin\\Icons\\NiaBladeSkinIcon.png");
				});
				((Object)skin).name = text2;
				skin.nameToken = "MIYOWI_SKIN_NIABLADESKIN_NAME";
				skin.rootObject = gameObject;
				TryCatchThrow("Base Skins", delegate
				{
					skin.baseSkins = (SkinDef[])(object)new SkinDef[1] { skinController.skins[0] };
				});
				TryCatchThrow("Unlockable Name", delegate
				{
					skin.unlockableDef = ((IEnumerable<UnlockableDef>)ContentManager.unlockableDefs).FirstOrDefault((Func<UnlockableDef, bool>)((UnlockableDef def) => def.cachedName == "Nia (Blade)"));
				});
				TryCatchThrow("Game Object Activations", delegate
				{
					skin.gameObjectActivations = Array.Empty<GameObjectActivation>();
				});
				TryCatchThrow("Renderer Infos", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_0030: 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_004d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0056: Unknown result type (might be due to invalid IL or missing references)
					//IL_0075: Unknown result type (might be due to invalid IL or missing references)
					//IL_0091: Unknown result type (might be due to invalid IL or missing references)
					//IL_0092: Unknown result type (might be due to invalid IL or missing references)
					skin.rendererInfos = (RendererInfo[])(object)new RendererInfo[2]
					{
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaBlade/BladeNiaMat.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[7]
						},
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaBlade/Scimitar2Mat.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Mesh Replacements", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_003c: Unknown result type (might be due to invalid IL or missing references)
					//IL_003d: 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_0071: 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)
					skin.meshReplacements = (MeshReplacement[])(object)new MeshReplacement[2]
					{
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\BladeNia.mesh"),
							renderer = renderers[7]
						},
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\Scimitar2.mesh"),
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Minion Skin Replacements", delegate
				{
					skin.minionSkinReplacements = Array.Empty<MinionSkinReplacement>();
				});
				TryCatchThrow("Projectile Ghost Replacements", delegate
				{
					skin.projectileGhostReplacements = Array.Empty<ProjectileGhostReplacement>();
				});
				Array.Resize(ref skinController.skins, skinController.skins.Length + 1);
				skinController.skins[skinController.skins.Length - 1] = skin;
				BodyCatalog.skins[BodyCatalog.FindBodyIndex(val)] = skinController.skins;
				MercBodyNiaBladeSkinSkinAdded(skin, val);
			}
			catch (FieldException ex)
			{
				InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\""));
				InstanceLogger.LogWarning((object)("Field causing issue: " + ex.Message));
				InstanceLogger.LogError((object)ex.InnerException);
			}
			catch (Exception ex2)
			{
				InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\""));
				InstanceLogger.LogError((object)ex2);
			}
		}

		private static void MercBodyNiaBladeSkinDMSkinAdded(SkinDef skinDef, GameObject bodyPrefab)
		{
			NiaMercSkinPlugin.MercBodyNiaBladeSkinDMSkinAddedEvent(Instance, new SkinAddedArgs(skinDef, bodyPrefab));
		}

		private static void AddMercBodyNiaBladeSkinDMSkin()
		{
			//IL_0273: Unknown result type (might be due to invalid IL or missing references)
			string text = "MercBody";
			string text2 = "NiaBladeSkinDM";
			try
			{
				GameObject val = BodyCatalog.FindBodyPrefab(text);
				if (!Object.op_Implicit((Object)(object)val))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin because \"" + text + "\" doesn't exist"));
					return;
				}
				ModelLocator component = val.GetComponent<ModelLocator>();
				if (!Object.op_Implicit((Object)(object)component))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelLocator\" component"));
					return;
				}
				GameObject gameObject = ((Component)component.modelTransform).gameObject;
				ModelSkinController skinController = (Object.op_Implicit((Object)(object)gameObject) ? gameObject.GetComponent<ModelSkinController>() : null);
				if (!Object.op_Implicit((Object)(object)skinController))
				{
					InstanceLogger.LogWarning((object)("Failed to add \"" + text2 + "\" skin to \"" + text + "\" because it doesn't have \"ModelSkinController\" component"));
					return;
				}
				Renderer[] renderers = gameObject.GetComponentsInChildren<Renderer>(true);
				SkinDef skin = ScriptableObject.CreateInstance<SkinDef>();
				TryCatchThrow("Icon", delegate
				{
					skin.icon = assetBundle.LoadAsset<Sprite>("Assets\\SkinMods\\NiaMercSkin\\Icons\\NiaBladeSkinDMIcon.png");
				});
				((Object)skin).name = text2;
				skin.nameToken = "MIYOWI_SKIN_NIABLADESKINDM_NAME";
				skin.rootObject = gameObject;
				TryCatchThrow("Base Skins", delegate
				{
					skin.baseSkins = (SkinDef[])(object)new SkinDef[1] { skinController.skins[0] };
				});
				TryCatchThrow("Unlockable Name", delegate
				{
					skin.unlockableDef = ((IEnumerable<UnlockableDef>)ContentManager.unlockableDefs).FirstOrDefault((Func<UnlockableDef, bool>)((UnlockableDef def) => def.cachedName == "Nia (Blade)"));
				});
				TryCatchThrow("Game Object Activations", delegate
				{
					skin.gameObjectActivations = Array.Empty<GameObjectActivation>();
				});
				TryCatchThrow("Renderer Infos", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_0030: 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_004d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0056: Unknown result type (might be due to invalid IL or missing references)
					//IL_0075: Unknown result type (might be due to invalid IL or missing references)
					//IL_0091: Unknown result type (might be due to invalid IL or missing references)
					//IL_0092: Unknown result type (might be due to invalid IL or missing references)
					skin.rendererInfos = (RendererInfo[])(object)new RendererInfo[2]
					{
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaBlade/BladeNiaMatDM.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[7]
						},
						new RendererInfo
						{
							defaultMaterial = assetBundle.LoadAsset<Material>("Assets/Resources/NiaBlade/Scimitar2Mat.mat"),
							defaultShadowCastingMode = (ShadowCastingMode)1,
							ignoreOverlays = false,
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Mesh Replacements", delegate
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					//IL_003c: Unknown result type (might be due to invalid IL or missing references)
					//IL_003d: 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_0071: 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)
					skin.meshReplacements = (MeshReplacement[])(object)new MeshReplacement[2]
					{
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\BladeNia.mesh"),
							renderer = renderers[7]
						},
						new MeshReplacement
						{
							mesh = assetBundle.LoadAsset<Mesh>("Assets\\SkinMods\\NiaMercSkin\\Meshes\\Scimitar2.mesh"),
							renderer = renderers[8]
						}
					};
				});
				TryCatchThrow("Minion Skin Replacements", delegate
				{
					skin.minionSkinReplacements = Array.Empty<MinionSkinReplacement>();
				});
				TryCatchThrow("Projectile Ghost Replacements", delegate
				{
					skin.projectileGhostReplacements = Array.Empty<ProjectileGhostReplacement>();
				});
				Array.Resize(ref skinController.skins, skinController.skins.Length + 1);
				skinController.skins[skinController.skins.Length - 1] = skin;
				BodyCatalog.skins[BodyCatalog.FindBodyIndex(val)] = skinController.skins;
				MercBodyNiaBladeSkinDMSkinAdded(skin, val);
			}