Decompiled source of AnjiMito v1.0.0

Anji.dll

Decompiled 4 hours ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using EntityStates;
using EntityStates.Commando;
using EntityStates.Merc;
using HG;
using JetBrains.Annotations;
using KinematicCharacterController;
using On.RoR2;
using On.RoR2.UI;
using R2API;
using R2API.Utils;
using Rewired;
using Rewired.ComponentControls.Effects;
using RoR2;
using RoR2.Achievements;
using RoR2.ContentManagement;
using RoR2.Projectile;
using RoR2.Skills;
using RoR2.UI;
using TMPro;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Networking;
using UnityEngine.Rendering;
using UnityEngine.Rendering.PostProcessing;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("Anji")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Anji")]
[assembly: AssemblyTitle("Anji")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Anji;

public static class Achievements
{
	[RegisterAchievement("ANJI_MASTERY", "ACHIEVEMENT_ANJI_MASTERY_UNLOCKABLE_ID", null, 10u, null)]
	public class MasteryUnlockable : BasePerSurvivorClearGameMonsoonAchievement
	{
		public override BodyIndex LookUpRequiredBodyIndex()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			return BodyCatalog.FindBodyIndex("Anji MitoBody");
		}
	}

	internal static UnlockableDef masteryUnlock;

	public static void RegisterUnlockables()
	{
	}

	private static UnlockableDef NewUnlockable<T>(string AchievementIdentifier, Sprite Icon, string Title, string Description) where T : BaseAchievement
	{
		string text = "ACHIEVEMENT_ANJI_";
		UnlockableDef val = ScriptableObject.CreateInstance<UnlockableDef>();
		string langName = text + AchievementIdentifier + "_NAME";
		string langDesc = text + AchievementIdentifier + "_DESCRIPTION";
		LanguageAPI.Add(langName, Title);
		LanguageAPI.Add(langDesc, Description);
		Func<string> func = () => Language.GetStringFormatted("UNLOCKED_FORMAT", new object[2]
		{
			Language.GetString(langName),
			Language.GetString(langDesc)
		});
		Type typeFromHandle = typeof(T);
		val.cachedName = text + AchievementIdentifier + "_UNLOCKABLE_ID";
		val.getHowToUnlockString = func;
		val.getUnlockedString = func;
		val.achievementIcon = Icon;
		val.sortScore = 200;
		val.hidden = false;
		ContentAddition.AddUnlockableDef(val);
		return val;
	}
}
internal class AnjiSkillDef : SkillDef
{
	private class InstanceData : BaseSkillInstanceData
	{
		public AnjiBehaviour behaviour;

		public Inventory inventory;
	}

	public float minValue = 0f;

	public float valueReduction = 0f;

	public string item = "";

	private Sprite originalIcon;

	public float finalValueCost { get; private set; }

	public void SetIconOverride(Sprite newIcon)
	{
		originalIcon = base.icon;
		base.icon = newIcon;
	}

	public void UnsetIconOverride()
	{
		base.icon = originalIcon;
	}

	public override BaseSkillInstanceData OnAssigned([NotNull] GenericSkill skillSlot)
	{
		return (BaseSkillInstanceData)(object)new InstanceData
		{
			behaviour = ((Component)skillSlot).GetComponent<AnjiBehaviour>(),
			inventory = (Object.op_Implicit((Object)(object)skillSlot.characterBody) ? skillSlot.characterBody.inventory : null)
		};
	}

	internal static bool IsExecutable([NotNull] GenericSkill skillSlot)
	{
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		InstanceData instanceData = (InstanceData)(object)skillSlot.skillInstanceData;
		AnjiBehaviour behaviour = instanceData.behaviour;
		Inventory inventory = instanceData.inventory;
		AnjiSkillDef anjiSkillDef = skillSlot.skillDef as AnjiSkillDef;
		float num = anjiSkillDef.minValue;
		if (Object.op_Implicit((Object)(object)inventory) && !Utility.IsNullOrWhiteSpace(anjiSkillDef.item))
		{
			num -= (float)inventory.GetItemCount(ItemCatalog.FindItemIndex(anjiSkillDef.item)) * anjiSkillDef.valueReduction;
		}
		anjiSkillDef.finalValueCost = num;
		return behaviour.value >= anjiSkillDef.finalValueCost;
	}

	public override bool CanExecute([NotNull] GenericSkill skillSlot)
	{
		return IsExecutable(skillSlot) && ((SkillDef)this).CanExecute(skillSlot);
	}

	public override bool IsReady([NotNull] GenericSkill skillSlot)
	{
		return ((SkillDef)this).IsReady(skillSlot) && IsExecutable(skillSlot);
	}
}
internal class Assets
{
	public static AssetBundle MainAssetBundle;

	public static T Load<T>(string name) where T : Object
	{
		return MainAssetBundle.LoadAsset<T>(name);
	}

	public static void PopulateAssets()
	{
		Assembly executingAssembly = Assembly.GetExecutingAssembly();
		if ((Object)(object)MainAssetBundle == (Object)null)
		{
			using Stream stream = executingAssembly.GetManifestResourceStream("Anji.AssetBundle.anjiassets");
			MainAssetBundle = AssetBundle.LoadFromStream(stream);
		}
		using Stream stream2 = executingAssembly.GetManifestResourceStream("Anji.Anji.bnk");
		byte[] array = new byte[stream2.Length];
		stream2.Read(array, 0, array.Length);
		SoundBanks.Add(array);
	}
}
internal class AnjiBehaviour : MonoBehaviour
{
	public float value = 1f;

	public float upForce = 35f;

	public float upSpeed = 35f;

	public float fwSpeed = 32f;

	public float knockupForce = 2400f;

	public float hitstopDuration = 0.15f;

	public float hitstopTime;

	public bool hitstop;

	public bool parried;

	public float timeScale;

	private bool debuff;

	public float debuffTime;

	public float cancelHop = 15f;

	private CharacterBody body;

	public GameObject counterLoopEffect;

	private void Awake()
	{
		body = ((Component)this).GetComponent<CharacterBody>();
	}

	public void AddBar(float amount)
	{
		if (!debuff)
		{
			value = Mathf.Clamp(value + amount, 0f, 1f);
		}
	}

	public void ConsumeBar(float amount, bool debuff)
	{
		value = Mathf.Clamp(value - amount, 0f, 1f);
		if (debuff)
		{
			if (NetworkServer.active)
			{
				body.AddTimedBuff(Prefabs.tensionDebuff, MainPlugin.tensionDebuffDuration.Value);
			}
			this.debuff = true;
			debuffTime = 0f;
		}
	}

	public void Parry()
	{
		parried = true;
		if (RoR2Application.isInSinglePlayer)
		{
			hitstop = true;
			timeScale = Time.timeScale;
			Time.timeScale = 0f;
		}
	}

	private void Update()
	{
		if (PauseManager.isPaused)
		{
			return;
		}
		if (hitstop)
		{
			hitstopTime += Time.unscaledDeltaTime;
			if (hitstopTime >= hitstopDuration)
			{
				hitstop = false;
				hitstopTime = 0f;
				Time.timeScale = timeScale;
			}
		}
		if (debuff)
		{
			debuffTime += Time.deltaTime;
			if (debuffTime >= MainPlugin.tensionDebuffDuration.Value)
			{
				debuff = false;
				debuffTime = 0f;
			}
		}
	}
}
internal class HUDTracker : MonoBehaviour
{
	public GameObject barRoot;

	public Image bar;

	public GameObject middleIcon;

	public RotateAroundAxis middleIconRotation;

	public GameObject endIcon;

	public TextMeshProUGUI currentText;

	public TextMeshProUGUI fullText;

	public HUD hud;

	private AnjiBehaviour behaviour;

	private void Awake()
	{
		hud = ((Component)this).GetComponent<HUD>();
	}

	private void FixedUpdate()
	{
		if (!Object.op_Implicit((Object)(object)behaviour))
		{
			if (Object.op_Implicit((Object)(object)hud) && Object.op_Implicit((Object)(object)hud.targetBodyObject) && Util.HasEffectiveAuthority(hud.targetBodyObject))
			{
				behaviour = hud.targetBodyObject.GetComponent<AnjiBehaviour>();
				if (Object.op_Implicit((Object)(object)behaviour))
				{
					barRoot.gameObject.SetActive(true);
				}
			}
			if (barRoot.activeInHierarchy)
			{
				barRoot.gameObject.SetActive(false);
			}
			if (middleIcon.activeInHierarchy)
			{
				middleIcon.SetActive(false);
				((Behaviour)middleIconRotation).enabled = false;
			}
			if (endIcon.activeInHierarchy)
			{
				endIcon.SetActive(false);
			}
		}
		else if (Util.HasEffectiveAuthority(((Component)behaviour).gameObject))
		{
			if (!barRoot.activeInHierarchy)
			{
				barRoot.gameObject.SetActive(true);
			}
			bar.fillAmount = behaviour.value;
			middleIcon.SetActive(bar.fillAmount >= 0.5f);
			((Behaviour)middleIconRotation).enabled = middleIcon.activeInHierarchy;
			endIcon.SetActive(bar.fillAmount >= 1f);
		}
	}
}
internal class ModelBehaviour : MonoBehaviour
{
	private ChildLocator childLocator;

	private CharacterModel model;

	private CharacterBody body;

	private void Awake()
	{
		childLocator = ((Component)this).GetComponent<ChildLocator>();
		model = ((Component)this).GetComponent<CharacterModel>();
	}

	private void Start()
	{
		body = (Object.op_Implicit((Object)(object)model) ? model.body : null);
	}

	public void SpinEffect()
	{
		if (Object.op_Implicit((Object)(object)body))
		{
			EffectManager.SimpleMuzzleFlash(Prefabs.spinEffect, ((Component)body).gameObject, "base", false);
		}
	}
}
internal class Hook
{
	internal static void Hooks()
	{
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Expected O, but got Unknown
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0036: Expected O, but got Unknown
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0048: Expected O, but got Unknown
		GlobalEventManager.onClientDamageNotified += GlobalEventManager_onClientDamageNotified;
		HealthComponent.TakeDamage += new hook_TakeDamage(HealthComponent_TakeDamage);
		Row.FromSkin += new hook_FromSkin(Row_FromSkin);
		RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(RecalculateStatsAPI_GetStatCoefficients);
	}

	private static void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args)
	{
		if (sender.HasBuff(Prefabs.cancelDebuff))
		{
			args.armorAdd -= 20f;
		}
	}

	private static object Row_FromSkin(orig_FromSkin orig, LoadoutPanelController owner, BodyIndex bodyIndex)
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0151: Unknown result type (might be due to invalid IL or missing references)
		//IL_0112: Unknown result type (might be due to invalid IL or missing references)
		//IL_011f: Unknown result type (might be due to invalid IL or missing references)
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		CharacterBody bodyPrefabBodyComponent = BodyCatalog.GetBodyPrefabBodyComponent(bodyIndex);
		if (Object.op_Implicit((Object)(object)bodyPrefabBodyComponent) && Object.op_Implicit((Object)(object)((Component)bodyPrefabBodyComponent).GetComponent<AnjiBehaviour>()))
		{
			LanguageTextMeshController[] componentsInChildren = ((Component)owner).GetComponentsInChildren<LanguageTextMeshController>();
			for (int i = 0; i < componentsInChildren.Length; i++)
			{
				if (componentsInChildren[i].token == "LOADOUT_SKILL_MISC")
				{
					((Component)((Component)componentsInChildren[i]).transform.parent).gameObject.SetActive(false);
					HGButton[] componentsInChildren2 = ((Component)((Component)componentsInChildren[i]).transform.parent.parent).GetComponentsInChildren<HGButton>();
					foreach (HGButton b in componentsInChildren2)
					{
						((Behaviour)b).enabled = false;
						EnumerableExtensions.ForEachTry<Image>((IEnumerable<Image>)((Component)b).GetComponentsInChildren<Image>(), (Action<Image>)delegate(Image x)
						{
							((Component)x).gameObject.SetActive(((Object)(object)((Component)x).gameObject == (Object)(object)((Component)b).gameObject) ? true : false);
						}, (IDictionary<Image, Exception>)null);
					}
				}
				else if (componentsInChildren[i].token == "LOADOUT_SKILL_SECONDARY")
				{
					Transform transform = ((Component)((Component)componentsInChildren[i]).transform.parent.GetChild(0)).transform;
					transform.localPosition = Vector3.zero;
					((RectTransform)transform).sizeDelta = new Vector2(420f, 100f);
				}
			}
		}
		return orig.Invoke(owner, bodyIndex);
	}

	private static void HealthComponent_TakeDamage(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo)
	{
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		AnjiBehaviour component = ((Component)self.body).GetComponent<AnjiBehaviour>();
		if (damageInfo.procCoefficient > 0f && Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)damageInfo.attacker) && self.body.HasBuff(Prefabs.parryBuff))
		{
			if (Vector3.Distance(damageInfo.attacker.transform.position, ((Component)self).transform.position) <= 4f)
			{
				SetStateOnHurt.SetStunOnObject(damageInfo.attacker, 3f);
				component.Parry();
			}
			damageInfo.rejected = true;
		}
		orig.Invoke(self, damageInfo);
	}

	private static void GlobalEventManager_onClientDamageNotified(DamageDealtMessage damageMessage)
	{
		if (Object.op_Implicit((Object)(object)damageMessage.victim))
		{
			AnjiBehaviour component = damageMessage.victim.GetComponent<AnjiBehaviour>();
			if (Object.op_Implicit((Object)(object)component))
			{
				component.AddBar(damageMessage.damage * MainPlugin.tensionGainReceived.Value / 100f);
			}
		}
	}

	private static void LateSetup(ReadOnlyArray<ReadOnlyContentPack> obj)
	{
		ItemDisplays.SetIDRS();
	}
}
internal class ItemDisplays
{
	internal static ItemDisplayRuleSet itemDisplayRuleSet;

	internal static List<KeyAssetRuleGroup> itemDisplayRules;

	private static Dictionary<Object, GameObject> itemDisplayPrefabs = new Dictionary<Object, GameObject>();

	private static Vector3 vec = Vector3.one;

	internal static void PopulateDisplays()
	{
		PopulateFromBody("Commando");
		PopulateFromBody("Croco");
		PopulateFromBody("Mage");
	}

	private static void PopulateFromBody(string bodyName)
	{
		ItemDisplayRuleSet val = ((Component)Prefabs.Load<GameObject>("Prefabs/CharacterBodies/" + bodyName + "Body").GetComponent<ModelLocator>().modelTransform).GetComponent<CharacterModel>().itemDisplayRuleSet;
		KeyAssetRuleGroup[] keyAssetRuleGroups = val.keyAssetRuleGroups;
		for (int i = 0; i < keyAssetRuleGroups.Length; i++)
		{
			ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules;
			for (int j = 0; j < rules.Length; j++)
			{
				GameObject followerPrefab = rules[j].followerPrefab;
				if (Object.op_Implicit((Object)(object)followerPrefab))
				{
					Object keyAsset = keyAssetRuleGroups[i].keyAsset;
					ItemDef val2 = (ItemDef)(object)((keyAsset is ItemDef) ? keyAsset : null);
					Object keyAsset2 = keyAssetRuleGroups[i].keyAsset;
					EquipmentDef val3 = (EquipmentDef)(object)((keyAsset2 is EquipmentDef) ? keyAsset2 : null);
					if ((Object)(object)val2 != (Object)null && !itemDisplayPrefabs.ContainsKey((Object)(object)val2))
					{
						itemDisplayPrefabs.Add((Object)(object)val2, followerPrefab);
					}
					if ((Object)(object)val3 != (Object)null && !itemDisplayPrefabs.ContainsKey((Object)(object)val3))
					{
						itemDisplayPrefabs.Add((Object)(object)val3, followerPrefab);
					}
				}
			}
		}
	}

	public static void RegisterDisplays()
	{
		itemDisplayRuleSet = ScriptableObject.CreateInstance<ItemDisplayRuleSet>();
		((Object)itemDisplayRuleSet).name = "Anji MitoIDRS";
		GameObject characterPrefab = MainPlugin.characterPrefab;
		GameObject gameObject = ((Component)characterPrefab.GetComponentInChildren<ModelLocator>().modelTransform).gameObject;
		CharacterModel component = gameObject.GetComponent<CharacterModel>();
		component.itemDisplayRuleSet = itemDisplayRuleSet;
	}

	public static void SetIDRS()
	{
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0055: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Unknown result type (might be due to invalid IL or missing references)
		//IL_005f: 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_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_007f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0095: Unknown result type (might be due to invalid IL or missing references)
		//IL_009a: Unknown result type (might be due to invalid IL or missing references)
		//IL_009f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00da: Unknown result type (might be due to invalid IL or missing references)
		//IL_00df: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_011a: Unknown result type (might be due to invalid IL or missing references)
		//IL_011f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0135: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: Unknown result type (might be due to invalid IL or missing references)
		//IL_013f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0155: Unknown result type (might be due to invalid IL or missing references)
		//IL_015a: Unknown result type (might be due to invalid IL or missing references)
		//IL_015f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0175: Unknown result type (might be due to invalid IL or missing references)
		//IL_017a: Unknown result type (might be due to invalid IL or missing references)
		//IL_017f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0195: Unknown result type (might be due to invalid IL or missing references)
		//IL_019a: Unknown result type (might be due to invalid IL or missing references)
		//IL_019f: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01da: Unknown result type (might be due to invalid IL or missing references)
		//IL_01df: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0215: Unknown result type (might be due to invalid IL or missing references)
		//IL_021a: Unknown result type (might be due to invalid IL or missing references)
		//IL_021f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0235: 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_023f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0255: Unknown result type (might be due to invalid IL or missing references)
		//IL_025a: Unknown result type (might be due to invalid IL or missing references)
		//IL_025f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0275: Unknown result type (might be due to invalid IL or missing references)
		//IL_027a: Unknown result type (might be due to invalid IL or missing references)
		//IL_027f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0295: Unknown result type (might be due to invalid IL or missing references)
		//IL_029a: Unknown result type (might be due to invalid IL or missing references)
		//IL_029f: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02da: Unknown result type (might be due to invalid IL or missing references)
		//IL_02df: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0315: Unknown result type (might be due to invalid IL or missing references)
		//IL_031a: Unknown result type (might be due to invalid IL or missing references)
		//IL_031f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0335: Unknown result type (might be due to invalid IL or missing references)
		//IL_033a: Unknown result type (might be due to invalid IL or missing references)
		//IL_033f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0355: Unknown result type (might be due to invalid IL or missing references)
		//IL_035a: Unknown result type (might be due to invalid IL or missing references)
		//IL_035f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0375: Unknown result type (might be due to invalid IL or missing references)
		//IL_037a: Unknown result type (might be due to invalid IL or missing references)
		//IL_037f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0395: Unknown result type (might be due to invalid IL or missing references)
		//IL_039a: Unknown result type (might be due to invalid IL or missing references)
		//IL_039f: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03da: 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_03f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0415: Unknown result type (might be due to invalid IL or missing references)
		//IL_041a: Unknown result type (might be due to invalid IL or missing references)
		//IL_041f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0435: Unknown result type (might be due to invalid IL or missing references)
		//IL_043a: Unknown result type (might be due to invalid IL or missing references)
		//IL_043f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0455: Unknown result type (might be due to invalid IL or missing references)
		//IL_045a: Unknown result type (might be due to invalid IL or missing references)
		//IL_045f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0475: Unknown result type (might be due to invalid IL or missing references)
		//IL_047a: Unknown result type (might be due to invalid IL or missing references)
		//IL_047f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0495: Unknown result type (might be due to invalid IL or missing references)
		//IL_049a: Unknown result type (might be due to invalid IL or missing references)
		//IL_049f: 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_04ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_04bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04da: Unknown result type (might be due to invalid IL or missing references)
		//IL_04df: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0509: Unknown result type (might be due to invalid IL or missing references)
		//IL_050e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0513: Unknown result type (might be due to invalid IL or missing references)
		//IL_0529: Unknown result type (might be due to invalid IL or missing references)
		//IL_052e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0533: Unknown result type (might be due to invalid IL or missing references)
		//IL_0549: Unknown result type (might be due to invalid IL or missing references)
		//IL_054e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0553: Unknown result type (might be due to invalid IL or missing references)
		//IL_0569: Unknown result type (might be due to invalid IL or missing references)
		//IL_056e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0573: Unknown result type (might be due to invalid IL or missing references)
		//IL_0589: Unknown result type (might be due to invalid IL or missing references)
		//IL_058e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0593: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ae: 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_05c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0609: Unknown result type (might be due to invalid IL or missing references)
		//IL_060e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0613: Unknown result type (might be due to invalid IL or missing references)
		//IL_0629: Unknown result type (might be due to invalid IL or missing references)
		//IL_062e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0633: Unknown result type (might be due to invalid IL or missing references)
		//IL_0649: Unknown result type (might be due to invalid IL or missing references)
		//IL_064e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0653: Unknown result type (might be due to invalid IL or missing references)
		//IL_0669: Unknown result type (might be due to invalid IL or missing references)
		//IL_066e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0673: Unknown result type (might be due to invalid IL or missing references)
		//IL_0689: Unknown result type (might be due to invalid IL or missing references)
		//IL_068e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0693: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_06c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_06d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_06e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_06f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0709: Unknown result type (might be due to invalid IL or missing references)
		//IL_070e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0713: Unknown result type (might be due to invalid IL or missing references)
		//IL_0729: Unknown result type (might be due to invalid IL or missing references)
		//IL_072e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0733: Unknown result type (might be due to invalid IL or missing references)
		//IL_0749: Unknown result type (might be due to invalid IL or missing references)
		//IL_074e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0753: Unknown result type (might be due to invalid IL or missing references)
		//IL_0769: Unknown result type (might be due to invalid IL or missing references)
		//IL_076e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0773: Unknown result type (might be due to invalid IL or missing references)
		//IL_0789: Unknown result type (might be due to invalid IL or missing references)
		//IL_078e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0793: Unknown result type (might be due to invalid IL or missing references)
		//IL_079d: Unknown result type (might be due to invalid IL or missing references)
		//IL_07a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_07a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_07bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_07dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_07fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0802: Unknown result type (might be due to invalid IL or missing references)
		//IL_0807: Unknown result type (might be due to invalid IL or missing references)
		//IL_081d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0822: Unknown result type (might be due to invalid IL or missing references)
		//IL_0827: Unknown result type (might be due to invalid IL or missing references)
		//IL_083d: 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_0847: Unknown result type (might be due to invalid IL or missing references)
		//IL_085d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0862: Unknown result type (might be due to invalid IL or missing references)
		//IL_0867: Unknown result type (might be due to invalid IL or missing references)
		//IL_087d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0882: Unknown result type (might be due to invalid IL or missing references)
		//IL_0887: Unknown result type (might be due to invalid IL or missing references)
		//IL_089d: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_08bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_08c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_08c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_08dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_08fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0902: Unknown result type (might be due to invalid IL or missing references)
		//IL_0907: Unknown result type (might be due to invalid IL or missing references)
		//IL_091d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0922: Unknown result type (might be due to invalid IL or missing references)
		//IL_0927: Unknown result type (might be due to invalid IL or missing references)
		//IL_093d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0942: Unknown result type (might be due to invalid IL or missing references)
		//IL_0947: Unknown result type (might be due to invalid IL or missing references)
		//IL_095d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0962: Unknown result type (might be due to invalid IL or missing references)
		//IL_0967: Unknown result type (might be due to invalid IL or missing references)
		//IL_097d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0982: Unknown result type (might be due to invalid IL or missing references)
		//IL_0987: Unknown result type (might be due to invalid IL or missing references)
		//IL_099d: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_09bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_09dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_09fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a02: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a07: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a1d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a22: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a27: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a3d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a42: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a47: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a5d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a62: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a67: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a71: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a76: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a7b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a9b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0abb: 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_0ad6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0adb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0af1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0af6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0afb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b11: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b16: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b1b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b31: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b36: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b3b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b51: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b56: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b5b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b71: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b76: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b7b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b9b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb6: 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_0bd1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bd6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bdb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bf1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bf6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bfb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c11: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c16: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c1b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c31: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c36: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c3b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c51: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c56: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c5b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c71: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c76: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c7b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c9b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cb1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cb6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cbb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cd1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cd6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cdb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cf1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cf6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cfb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d11: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d16: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d1b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d31: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d36: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d3b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d51: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d56: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d5b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d71: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d76: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d7b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d9b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0db1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0db6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dbb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dd1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dd6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ddb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0df1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0df6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dfb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e11: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e16: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e1b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e31: 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_0e3b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e51: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e56: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e5b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e71: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e76: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e7b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e9b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0eb1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0eb6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ebb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ed1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ed6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0edb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ef1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ef6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0efb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f11: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f16: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f1b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f25: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f2a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f2f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f45: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f4a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f4f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f65: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f6a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f6f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f85: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f8a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f8f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fa5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0faa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0faf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fc5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fca: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fcf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fe5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fea: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fef: Unknown result type (might be due to invalid IL or missing references)
		//IL_1005: Unknown result type (might be due to invalid IL or missing references)
		//IL_100a: Unknown result type (might be due to invalid IL or missing references)
		//IL_100f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1025: Unknown result type (might be due to invalid IL or missing references)
		//IL_102a: Unknown result type (might be due to invalid IL or missing references)
		//IL_102f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1045: Unknown result type (might be due to invalid IL or missing references)
		//IL_104a: Unknown result type (might be due to invalid IL or missing references)
		//IL_104f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1065: Unknown result type (might be due to invalid IL or missing references)
		//IL_106a: Unknown result type (might be due to invalid IL or missing references)
		//IL_106f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1085: Unknown result type (might be due to invalid IL or missing references)
		//IL_108a: Unknown result type (might be due to invalid IL or missing references)
		//IL_108f: Unknown result type (might be due to invalid IL or missing references)
		//IL_10a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_10aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_10af: 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_10ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_10cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_10e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_10ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_10ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_1105: Unknown result type (might be due to invalid IL or missing references)
		//IL_110a: Unknown result type (might be due to invalid IL or missing references)
		//IL_110f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1125: Unknown result type (might be due to invalid IL or missing references)
		//IL_112a: Unknown result type (might be due to invalid IL or missing references)
		//IL_112f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1145: Unknown result type (might be due to invalid IL or missing references)
		//IL_114a: Unknown result type (might be due to invalid IL or missing references)
		//IL_114f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1165: Unknown result type (might be due to invalid IL or missing references)
		//IL_116a: Unknown result type (might be due to invalid IL or missing references)
		//IL_116f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1185: Unknown result type (might be due to invalid IL or missing references)
		//IL_118a: Unknown result type (might be due to invalid IL or missing references)
		//IL_118f: Unknown result type (might be due to invalid IL or missing references)
		//IL_11a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_11aa: 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_11c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_11ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_11cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_11e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_11ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_11ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_1205: Unknown result type (might be due to invalid IL or missing references)
		//IL_120a: Unknown result type (might be due to invalid IL or missing references)
		//IL_120f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1225: Unknown result type (might be due to invalid IL or missing references)
		//IL_122a: Unknown result type (might be due to invalid IL or missing references)
		//IL_122f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1245: Unknown result type (might be due to invalid IL or missing references)
		//IL_124a: Unknown result type (might be due to invalid IL or missing references)
		//IL_124f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1265: Unknown result type (might be due to invalid IL or missing references)
		//IL_126a: Unknown result type (might be due to invalid IL or missing references)
		//IL_126f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1285: Unknown result type (might be due to invalid IL or missing references)
		//IL_128a: Unknown result type (might be due to invalid IL or missing references)
		//IL_128f: Unknown result type (might be due to invalid IL or missing references)
		//IL_12a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_12aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_12af: Unknown result type (might be due to invalid IL or missing references)
		//IL_12c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_12ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_12cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_12e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_12ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_12ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_1305: Unknown result type (might be due to invalid IL or missing references)
		//IL_130a: Unknown result type (might be due to invalid IL or missing references)
		//IL_130f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1325: Unknown result type (might be due to invalid IL or missing references)
		//IL_132a: Unknown result type (might be due to invalid IL or missing references)
		//IL_132f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1345: Unknown result type (might be due to invalid IL or missing references)
		//IL_134a: Unknown result type (might be due to invalid IL or missing references)
		//IL_134f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1365: Unknown result type (might be due to invalid IL or missing references)
		//IL_136a: Unknown result type (might be due to invalid IL or missing references)
		//IL_136f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1385: Unknown result type (might be due to invalid IL or missing references)
		//IL_138a: Unknown result type (might be due to invalid IL or missing references)
		//IL_138f: Unknown result type (might be due to invalid IL or missing references)
		//IL_13a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_13aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_13af: Unknown result type (might be due to invalid IL or missing references)
		//IL_13c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_13ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_13cf: Unknown result type (might be due to invalid IL or missing references)
		itemDisplayRules = new List<KeyAssetRuleGroup>();
		NewIDRS((Object)(object)Items.AlienHead, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ArmorPlate, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ArmorReductionOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.AttackSpeedAndMoveSpeed, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.AttackSpeedOnCrit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.AutoCastEquipment, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Bandolier, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BarrierOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BarrierOnOverHeal, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Bear, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BearVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BeetleGland, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Behemoth, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BleedOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BleedOnHitAndExplode, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BleedOnHitVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BonusGoldPackOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BossDamageBonus, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.BounceNearby, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ChainLightning, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ChainLightningVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Clover, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.CloverVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.CritDamage, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.CritGlasses, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.CritGlassesVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Crowbar, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Dagger, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.DeathMark, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ElementalRingVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.EnergizedOnEquipmentUse, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.EquipmentMagazine, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.EquipmentMagazineVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ExecuteLowHealthElite, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ExplodeOnDeath, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ExplodeOnDeathVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ExtraLife, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ExtraLifeVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewDualIDRS((Object)(object)Items.FallBoots, "chest", Vector3.zero, Vector3.zero, Vector3.one, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Feather, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.FireRing, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.FireballsOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Firework, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.FlatHealth, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.FragileDamageBonus, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.FreeChest, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.GhostOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.GoldOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.GoldOnHurt, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.HalfAttackSpeedHalfCooldowns, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.HalfSpeedDoubleHealth, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.HeadHunter, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.HealOnCrit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.HealWhileSafe, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.HealingPotion, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Hoof, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.IceRing, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.IgniteOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ImmuneToDebuff, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewDualIDRS((Object)(object)Items.IncreaseHealing, "chest", Vector3.zero, Vector3.zero, Vector3.one, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Infusion, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.JumpBoost, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.KillEliteFrenzy, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Knurl, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.LaserTurbine, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.LunarBadLuck, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.LunarDagger, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.LunarPrimaryReplacement, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.LunarSecondaryReplacement, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.LunarSpecialReplacement, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.LunarTrinket, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.LunarUtilityReplacement, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Medkit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Missile, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.MissileVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.MonstersOnShrineUse, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.MoreMissile, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.MoveSpeedOnKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Mushroom, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.MushroomVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.NearbyDamageBonus, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewDualIDRS((Object)(object)Items.NovaOnHeal, "chest", Vector3.zero, Vector3.zero, Vector3.one, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.NovaOnLowHealth, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.OutOfCombatArmor, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ParentEgg, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Pearl, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.PermanentDebuffOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.PersonalShield, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Phasing, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Plant, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.PrimarySkillShuriken, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.RandomDamageZone, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.RandomEquipmentTrigger, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.RegeneratingScrap, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.RepeatHeal, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.SecondarySkillMagazine, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Seed, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ShieldOnly, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ShinyPearl, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.ShockNearby, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.SiphonOnLowHealth, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.SlowOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.SlowOnHitVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.SprintArmor, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.SprintBonus, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.SprintOutOfCombat, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.SprintWisp, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Squid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.StickyBomb, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.StrengthenBurn, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.StunChanceOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Syringe, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.TPHealingNova, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.Thorns, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.TitanGoldDuringTP, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.TreasureCache, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.TreasureCacheVoid, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.UseAmbientLevel, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewDualIDRS((Object)(object)Items.UtilitySkillMagazine, "chest", Vector3.zero, Vector3.zero, Vector3.one, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.VoidMegaCrabItem, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.WarCryOnMultiKill, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Items.WardOnLevel, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.BFG, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.BossHunter, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.BurnNearby, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Cleanse, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.CommandMissile, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.CrippleWard, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.CritOnUse, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.DeathProjectile, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.DroneBackup, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.FireBallDash, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Fruit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.GainArmor, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Gateway, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.GoldGat, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Jetpack, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.LifestealOnHit, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Lightning, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Meteor, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Molotov, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.MultiShopCard, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.QuestVolatileBattery, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Recycle, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Saw, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Scanner, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.TeamWarCry, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.Tonic, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.LunarPortalOnUse, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.AffixBlue, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.AffixEcho, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.AffixHaunted, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.AffixLunar, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.AffixPoison, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.AffixRed, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		NewIDRS((Object)(object)Equipment.AffixWhite, "chest", Vector3.zero, Vector3.zero, Vector3.one, (LimbFlags)0);
		itemDisplayRuleSet.keyAssetRuleGroups = itemDisplayRules.ToArray();
		itemDisplayRuleSet.GenerateRuntimeValues();
	}

	private static void NewDualIDRS(Object obj, string childName, Vector3 localPos, Vector3 localAngles, Vector3 localScale, string childName2, Vector3 localPos2, Vector3 localAngles2, Vector3 localScale2, LimbFlags flags = 0)
	{
		//IL_0095: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00da: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: 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_00ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_004b: 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_004f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0051: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Unknown result type (might be due to invalid IL or missing references)
		//IL_0065: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_007c: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		ItemDef val = (ItemDef)(object)((obj is ItemDef) ? obj : null);
		EquipmentDef val2 = (EquipmentDef)(object)((obj is EquipmentDef) ? obj : null);
		if ((Object)(object)val != (Object)null)
		{
			itemDisplayRules.Add(new KeyAssetRuleGroup
			{
				keyAsset = (Object)(object)val,
				displayRuleGroup = new DisplayRuleGroup
				{
					rules = (ItemDisplayRule[])(object)new ItemDisplayRule[2]
					{
						newDisplayRule(childName, LoadDisplay((Object)(object)val), localPos, localAngles, localScale, flags),
						newDisplayRule(childName2, LoadDisplay((Object)(object)val), localPos2, localAngles2, localScale2, flags)
					}
				}
			});
		}
		else
		{
			itemDisplayRules.Add(new KeyAssetRuleGroup
			{
				keyAsset = (Object)(object)val2,
				displayRuleGroup = new DisplayRuleGroup
				{
					rules = (ItemDisplayRule[])(object)new ItemDisplayRule[2]
					{
						newDisplayRule(childName, LoadDisplay((Object)(object)val2), localPos, localAngles, localScale, flags),
						newDisplayRule(childName2, LoadDisplay((Object)(object)val2), localPos2, localAngles2, localScale2, flags)
					}
				}
			});
		}
	}

	internal static ItemDisplayRule newDisplayRule(string childName, GameObject equipDef, Vector3 localPos, Vector3 localAngles, Vector3 localScale, LimbFlags flags)
	{
		//IL_0003: Unknown result type (might be due to invalid IL or missing references)
		//IL_000c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: 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_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_0045: 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_0049: Unknown result type (might be due to invalid IL or missing references)
		ItemDisplayRule result = default(ItemDisplayRule);
		result.ruleType = (ItemDisplayRuleType)0;
		result.followerPrefab = equipDef;
		result.childName = childName;
		result.localPos = localPos;
		result.localAngles = localAngles;
		result.localScale = localScale;
		result.limbMask = flags;
		return result;
	}

	private static void NewIDRS(Object obj, string childName, Vector3 localPos, Vector3 localAngles, Vector3 localScale, LimbFlags flags = 0)
	{
		//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00da: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0100: Unknown result type (might be due to invalid IL or missing references)
		//IL_0107: Unknown result type (might be due to invalid IL or missing references)
		//IL_0108: Unknown result type (might be due to invalid IL or missing references)
		//IL_010f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0111: Unknown result type (might be due to invalid IL or missing references)
		//IL_0118: Unknown result type (might be due to invalid IL or missing references)
		//IL_011a: Unknown result type (might be due to invalid IL or missing references)
		//IL_011f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0121: Unknown result type (might be due to invalid IL or missing references)
		//IL_012b: Unknown result type (might be due to invalid IL or missing references)
		//IL_012d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0132: Unknown result type (might be due to invalid IL or missing references)
		//IL_0025: Unknown result type (might be due to invalid IL or missing references)
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_0049: 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_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_008e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Unknown result type (might be due to invalid IL or missing references)
		//IL_009a: Unknown result type (might be due to invalid IL or missing references)
		//IL_009c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
		ItemDef val = (ItemDef)(object)((obj is ItemDef) ? obj : null);
		EquipmentDef val2 = (EquipmentDef)(object)((obj is EquipmentDef) ? obj : null);
		if ((Object)(object)val != (Object)null)
		{
			itemDisplayRules.Add(new KeyAssetRuleGroup
			{
				keyAsset = (Object)(object)val,
				displayRuleGroup = new DisplayRuleGroup
				{
					rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1]
					{
						new ItemDisplayRule
						{
							ruleType = (ItemDisplayRuleType)0,
							followerPrefab = LoadDisplay((Object)(object)val),
							childName = childName,
							localPos = localPos,
							localAngles = localAngles,
							localScale = localScale,
							limbMask = flags
						}
					}
				}
			});
		}
		else
		{
			itemDisplayRules.Add(new KeyAssetRuleGroup
			{
				keyAsset = (Object)(object)val2,
				displayRuleGroup = new DisplayRuleGroup
				{
					rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1]
					{
						new ItemDisplayRule
						{
							ruleType = (ItemDisplayRuleType)0,
							followerPrefab = LoadDisplay((Object)(object)val2),
							childName = childName,
							localPos = localPos,
							localAngles = localAngles,
							localScale = localScale,
							limbMask = flags
						}
					}
				}
			});
		}
	}

	internal static GameObject LoadDisplay(Object obj)
	{
		if (obj != (Object)null)
		{
			ItemDef val = (ItemDef)(object)((obj is ItemDef) ? obj : null);
			EquipmentDef val2 = (EquipmentDef)(object)((obj is EquipmentDef) ? obj : null);
			if ((Object)(object)val != (Object)null && itemDisplayPrefabs.ContainsKey((Object)(object)val) && Object.op_Implicit((Object)(object)itemDisplayPrefabs[(Object)(object)val]))
			{
				return itemDisplayPrefabs[(Object)(object)val];
			}
			if ((Object)(object)val2 != (Object)null && itemDisplayPrefabs.ContainsKey((Object)(object)val2) && Object.op_Implicit((Object)(object)itemDisplayPrefabs[(Object)(object)val2]))
			{
				return itemDisplayPrefabs[(Object)(object)val2];
			}
		}
		return null;
	}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("com.Dragonyck.Anji", "Anji", "1.0.0")]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
public class MainPlugin : BaseUnityPlugin
{
	public const string MODUID = "com.Dragonyck.Anji";

	public const string MODNAME = "Anji";

	public const string VERSION = "1.0.0";

	public const string SURVIVORNAME = "Anji Mito";

	public const string SURVIVORNAMEKEY = "ANJI";

	public static GameObject characterPrefab;

	private static readonly Color characterColor = Color32.op_Implicit(new Color32((byte)70, (byte)179, (byte)235, byte.MaxValue));

	internal static ConfigEntry<float> cancelCost;

	internal static ConfigEntry<float> tensionGainDealt;

	internal static ConfigEntry<float> tensionGainReceived;

	internal static ConfigEntry<float> secondaryCost;

	internal static ConfigEntry<float> secondaryRecastCost;

	internal static ConfigEntry<float> secondaryCostReduction;

	internal static ConfigEntry<float> utilityCost;

	internal static ConfigEntry<float> specialCost;

	internal static ConfigEntry<float> specialCostReduction;

	internal static ConfigEntry<float> tensionDebuffDuration;

	internal static ConfigEntry<float> primaryDamage;

	internal static ConfigEntry<float> primaryFinisherDamage;

	internal static ConfigEntry<float> secondaryMinDamage;

	internal static ConfigEntry<float> secondaryMaxDamage;

	internal static ConfigEntry<float> utilityDamage;

	internal static ConfigEntry<float> specialDamage;

	internal static ConfigEntry<float> shinDamage;

	internal static ConfigEntry<float> nagihaDamage;

	internal static ConfigEntry<float> rinDamage;

	internal static ConfigEntry<float> counterDamage;

	internal static ConfigEntry<float> counterAddDamage;

	internal static ConfigEntry<KeyCode> cancelKey;

	private void Awake()
	{
		string text = "Tension";
		tensionGainDealt = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Tension Gain On Hit", 0.05f, (ConfigDescription)null);
		tensionGainReceived = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Damage Received Multiplier For Tension Gain", 1f, (ConfigDescription)null);
		cancelCost = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Roman Cancel Cost", 0.5f, (ConfigDescription)null);
		secondaryCost = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Secondary Tension Cost", 0.15f, (ConfigDescription)null);
		secondaryRecastCost = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Secondary Recast Tension Cost", 0.05f, (ConfigDescription)null);
		secondaryCostReduction = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Secondary Tension Cost Reduction Per Backup Magazine", 0.012f, (ConfigDescription)null);
		utilityCost = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Utility Tension Cost", 0.2f, (ConfigDescription)null);
		specialCost = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Special Tension Cost", 0.5f, (ConfigDescription)null);
		specialCostReduction = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Special Tension Cost Reduction Per Lysate Cell", 0.018f, (ConfigDescription)null);
		tensionDebuffDuration = ((BaseUnityPlugin)this).Config.Bind<float>(text, "Debuff Duration", 0.5f, (ConfigDescription)null);
		string text2 = "Keybinds";
		cancelKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>(text2, "Roman Cancel Keybind", (KeyCode)120, (ConfigDescription)null);
		string text3 = "Damage";
		primaryDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Primary Basic Combo Damage", 2.2f, (ConfigDescription)null);
		primaryFinisherDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Primary Finisher Damage", 3f, (ConfigDescription)null);
		secondaryMinDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Secondary Min Damage", 3.2f, (ConfigDescription)null);
		secondaryMaxDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Secondary Max Damage", 4.5f, (ConfigDescription)null);
		utilityDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Utility Damage", 3.5f, (ConfigDescription)null);
		specialDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Special Damage", 5f, (ConfigDescription)null);
		shinDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Shin Damage", 3.5f, (ConfigDescription)null);
		nagihaDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Nagiha Damage", 3.8f, (ConfigDescription)null);
		rinDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Rin Damage", 4.2f, (ConfigDescription)null);
		counterDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Parry Starting Damage", 4f, (ConfigDescription)null);
		counterAddDamage = ((BaseUnityPlugin)this).Config.Bind<float>(text3, "Parry Additional Damage For Subsequent Attacks", 0.5f, (ConfigDescription)null);
		Assets.PopulateAssets();
		Prefabs.CreatePrefabs();
		CreatePrefab();
		RegisterStates();
		RegisterCharacter();
		Hook.Hooks();
	}

	internal static void CreatePrefab()
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_000b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Expected O, but got Unknown
		//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Unknown result type (might be due to invalid IL or missing references)
		//IL_0129: Unknown result type (might be due to invalid IL or missing references)
		//IL_0139: Unknown result type (might be due to invalid IL or missing references)
		//IL_013f: Expected O, but got Unknown
		//IL_0166: Unknown result type (might be due to invalid IL or missing references)
		//IL_0177: Unknown result type (might be due to invalid IL or missing references)
		//IL_0188: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0237: Unknown result type (might be due to invalid IL or missing references)
		//IL_0368: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_043d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0442: Unknown result type (might be due to invalid IL or missing references)
		//IL_046f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0474: Unknown result type (might be due to invalid IL or missing references)
		//IL_0526: Unknown result type (might be due to invalid IL or missing references)
		//IL_0531: Unknown result type (might be due to invalid IL or missing references)
		//IL_066d: Unknown result type (might be due to invalid IL or missing references)
		//IL_06df: Unknown result type (might be due to invalid IL or missing references)
		//IL_074a: Unknown result type (might be due to invalid IL or missing references)
		//IL_075e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0783: Unknown result type (might be due to invalid IL or missing references)
		//IL_0797: Unknown result type (might be due to invalid IL or missing references)
		//IL_07a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_07ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b58: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b5d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b80: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b85: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb8: Unknown result type (might be due to invalid IL or missing references)
		GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Merc/MercBody.prefab").WaitForCompletion();
		characterPrefab = PrefabAPI.InstantiateClone(val, "Anji MitoBody", true);
		characterPrefab.AddComponent<AnjiBehaviour>();
		characterPrefab.GetComponent<NetworkIdentity>().localPlayerAuthority = true;
		Object.Destroy((Object)(object)((Component)characterPrefab.transform.Find("ModelBase")).gameObject);
		Object.Destroy((Object)(object)((Component)characterPrefab.transform.Find("CameraPivot")).gameObject);
		Object.Destroy((Object)(object)((Component)characterPrefab.transform.Find("AimOrigin")).gameObject);
		GameObject val2 = Assets.MainAssetBundle.LoadAsset<GameObject>("anjiMdl");
		val2.AddComponent<AnimationEvents>().soundCenter = val2;
		val2.AddComponent<ModelBehaviour>();
		GameObject val3 = new GameObject("ModelBase");
		val3.transform.parent = characterPrefab.transform;
		val3.transform.localPosition = new Vector3(0f, -0.94f, 0f);
		val3.transform.localRotation = Quaternion.identity;
		val3.transform.localScale = new Vector3(1f, 1f, 1f);
		GameObject val4 = new GameObject("AimOrigin");
		val4.transform.parent = val3.transform;
		val4.transform.localPosition = new Vector3(0f, 1.4f, 0f);
		val4.transform.localRotation = Quaternion.identity;
		val4.transform.localScale = Vector3.one;
		Transform transform = val2.transform;
		transform.parent = val3.transform;
		transform.localPosition = Vector3.zero;
		transform.localScale = Vector3.one;
		transform.localRotation = Quaternion.identity;
		CharacterDirection component = characterPrefab.GetComponent<CharacterDirection>();
		component.targetTransform = val3.transform;
		component.modelAnimator = val2.GetComponentInChildren<Animator>();
		component.turnSpeed = 720f;
		CharacterBody component2 = characterPrefab.GetComponent<CharacterBody>();
		((Object)component2).name = "Anji MitoBody";
		component2.baseNameToken = "ANJI_NAME";
		component2.subtitleNameToken = "ANJI_SUBTITLE";
		component2.bodyFlags = (BodyFlags)16;
		component2.rootMotionInMainState = false;
		component2.mainRootSpeed = 0f;
		component2.baseMaxHealth = 110f;
		component2.levelMaxHealth = 35f;
		component2.baseRegen = 1.5f;
		component2.levelRegen = 0.2f;
		component2.baseMaxShield = 0f;
		component2.levelMaxShield = 0f;
		component2.baseMoveSpeed = 7f;
		component2.levelMoveSpeed = 0f;
		component2.baseAcceleration = 110f;
		component2.baseJumpPower = 15f;
		component2.levelJumpPower = 0f;
		component2.baseDamage = 12f;
		component2.levelDamage = 2.4f;
		component2.baseAttackSpeed = 1f;
		component2.levelAttackSpeed = 0f;
		component2.baseCrit = 1f;
		component2.levelCrit = 0f;
		component2.baseArmor = 0f;
		component2.levelArmor = 0f;
		component2.baseJumpCount = 1;
		component2.sprintingSpeedMultiplier = 1.45f;
		component2.wasLucky = false;
		component2.hideCrosshair = false;
		component2.aimOriginTransform = val4.transform;
		component2.hullClassification = (HullClassification)0;
		component2.portraitIcon = (Texture)(object)Assets.MainAssetBundle.LoadAsset<Sprite>("portrait").texture;
		component2.isChampion = false;
		component2.currentVehicle = null;
		component2.skinIndex = 0u;
		component2.bodyColor = characterColor;
		HealthComponent component3 = characterPrefab.GetComponent<HealthComponent>();
		component3.health = component2.baseMaxHealth;
		component3.shield = 0f;
		component3.barrier = 0f;
		CharacterMotor component4 = characterPrefab.GetComponent<CharacterMotor>();
		component4.walkSpeedPenaltyCoefficient = 1f;
		component4.characterDirection = component;
		component4.muteWalkMotion = false;
		component4.mass = 160f;
		component4.airControl = 0.25f;
		component4.disableAirControlUntilCollision = false;
		component4.generateParametersOnAwake = true;
		InputBankTest component5 = characterPrefab.GetComponent<InputBankTest>();
		component5.moveVector = Vector3.zero;
		CameraTargetParams component6 = characterPrefab.GetComponent<CameraTargetParams>();
		component6.cameraParams = val.GetComponent<CameraTargetParams>().cameraParams;
		component6.cameraPivotTransform = null;
		component6.recoil = Vector2.zero;
		component6.dontRaycastToPivot = false;
		ModelLocator component7 = characterPrefab.GetComponent<ModelLocator>();
		component7.modelTransform = transform;
		component7.modelBaseTransform = val3.transform;
		component7.dontReleaseModelOnDeath = false;
		component7.autoUpdateModelTransform = true;
		component7.dontDetatchFromParent = false;
		component7.noCorpse = false;
		component7.normalizeToFloor = false;
		component7.preserveModel = false;
		ChildLocator component8 = val2.GetComponent<ChildLocator>();
		PostProcessVolume component9 = ((Component)component8.FindChild("PP")).GetComponent<PostProcessVolume>();
		component9.profile = Object.Instantiate<PostProcessProfile>(Prefabs.Load<PostProcessProfile>("RoR2/Base/title/PostProcessing/ppLocalBlur.asset"));
		component9.sharedProfile = component9.profile;
		((ParameterOverride<KernelSize>)(object)((DepthOfField)component9.profile.settings[1]).kernelSize).value = (KernelSize)0;
		CharacterModel val5 = val2.AddComponent<CharacterModel>();
		Renderer[] componentsInChildren = val2.GetComponentsInChildren<Renderer>();
		List<RendererInfo> list = new List<RendererInfo>();
		foreach (Renderer val6 in componentsInChildren)
		{
			string name = ((Object)val6).name;
			if (!name.Contains("Decal") && name != "glasses")
			{
				val6.material = Utils.InstantiateMaterial(val6.material.mainTexture);
				list.Add(new RendererInfo
				{
					renderer = val6,
					defaultMaterial = val6.material,
					defaultShadowCastingMode = (ShadowCastingMode)1,
					ignoreOverlays = false
				});
			}
		}
		RendererInfo[] array = list.ToArray();
		val5.body = component2;
		val5.baseRendererInfos = array;
		val5.autoPopulateLightInfos = true;
		val5.invisibilityCount = 0;
		val5.temporaryOverlays = new List<TemporaryOverlayInstance>();
		ref SkinnedMeshRenderer mainSkinnedMeshRenderer = ref val5.mainSkinnedMeshRenderer;
		Renderer obj = componentsInChildren[0];
		mainSkinnedMeshRenderer = (SkinnedMeshRenderer)(object)((obj is SkinnedMeshRenderer) ? obj : null);
		LanguageAPI.Add("ANJIBODY_DEFAULT_SKIN_NAME", "Default");
		ModelSkinController val7 = val2.AddComponent<ModelSkinController>();
		val7.skins = (SkinDef[])(object)new SkinDef[1] { Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, "ANJIBODY_DEFAULT_SKIN_NAME", array, "base")) };
		Collider[] componentsInChildren2 = val2.GetComponentsInChildren<Collider>();
		HurtBoxGroup val8 = val2.AddComponent<HurtBoxGroup>();
		List<HurtBox> list2 = new List<HurtBox>();
		Collider[] array2 = componentsInChildren2;
		foreach (Collider val9 in array2)
		{
			HurtBox val10 = ((Component)val9).gameObject.AddComponent<HurtBox>();
			((Component)val10).gameObject.layer = LayerIndex.entityPrecise.intVal;
			val10.healthComponent = component3;
			val10.isBullseye = true;
			val10.damageModifier = (DamageModifier)0;
			val10.hurtBoxGroup = val8;
			val10.indexInGroup = 0;
			val8.mainHurtBox = val10;
			val8.bullseyeCount = 1;
			list2.Add(val10);
		}
		val8.hurtBoxes = list2.ToArray();
		Utils.CreateHitbox("Attack", val2.transform, new Vector3(4.5f, 5.5f, 7f), new Vector3(0f, 0.6f, 1.5f));
		Utils.CreateHitbox("Kou", val2.transform, new Vector3(5.5f, 7f, 5.5f), new Vector3(0f, 0.6f, 0f));
		PhysicMaterial val11 = Addressables.LoadAssetAsync<PhysicMaterial>((object)"RoR2/Base/Common/physmatRagdoll.physicMaterial").WaitForCompletion();
		List<Transform> list3 = new List<Transform>();
		List<string> list4 = new List<string>
		{
			"G_pelvis", "G_sodeB_F_auto", "G_sodeB_L_auto", "G_sodeB_R_auto", "G_thigh_L", "G_calf_L", "G_foot_L", "G_thigh_R", "G_caRf_R", "G_foot_R",
			"G_hakama_adge_base", "G_hakama_inseam_auto", "G_hakama_inseamF_auto", "G_hakama_inseamB_auto", "G_waist", "G_stomach", "G_chest", "G_neck", "G_Head_Attach", "G_shoulder_L",
			"G_clavicle_L", "G_uparm_L", "G_lowarm_L", "G_hand_L", "G_shouRder_R", "G_cRavicRe_R", "G_uparm_R", "G_Rowarm_R", "G_hand_R"
		};
		int num = 12;
		Transform[] componentsInChildren3 = val2.GetComponents