Decompiled source of Maokai v1.0.0

Maokai.dll

Decompiled 4 days ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using EntityStates;
using EntityStates.FlyingVermin.Mode;
using EntityStates.Huntress;
using EntityStates.Merc;
using KinematicCharacterController;
using R2API;
using R2API.Utils;
using Rewired.ComponentControls.Effects;
using RoR2;
using RoR2.Achievements;
using RoR2.Navigation;
using RoR2.Projectile;
using RoR2.Skills;
using RoR2.UI;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Networking;
using UnityEngine.Rendering;

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

public static class Achievements
{
	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("MaokaiBody");
		}
	}

	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_MAOKAI__";
		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 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("Maokai.AssetBundle." + "Maokai".ToLower() + "assets");
			MainAssetBundle = AssetBundle.LoadFromStream(stream);
		}
		using Stream stream2 = executingAssembly.GetManifestResourceStream("Maokai.Maokai.bnk");
		byte[] array = new byte[stream2.Length];
		stream2.Read(array, 0, array.Length);
		SoundBanks.Add(array);
	}
}
internal class Behaviour : HuntressTracker
{
	public float damageCollected;
}
[DefaultExecutionOrder(100)]
internal class ProjectileGhostSkin : MonoBehaviour
{
	private ChildLocator childLocator;

	private ProjectileGhostController controller;

	private bool enabledSkin;

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

	private void Start()
	{
		EnableSkin();
	}

	private void FixedUpdate()
	{
		if (!enabledSkin)
		{
			EnableSkin();
		}
	}

	private void EnableSkin()
	{
		Transform val = (Object.op_Implicit((Object)(object)controller.authorityTransform) ? controller.authorityTransform : controller.predictionTransform);
		ProjectileController val2 = ((!Object.op_Implicit((Object)(object)val)) ? null : (Object.op_Implicit((Object)(object)val.parent) ? ((Component)val).GetComponentInParent<ProjectileController>() : ((Component)val).GetComponent<ProjectileController>()));
		if (!Object.op_Implicit((Object)(object)val2) || !Object.op_Implicit((Object)(object)val2.owner))
		{
			return;
		}
		CharacterBody component = val2.owner.GetComponent<CharacterBody>();
		if (Object.op_Implicit((Object)(object)component))
		{
			GameObject gameObject = ((Component)childLocator.transformPairs[component.skinIndex].transform).gameObject;
			gameObject.SetActive(true);
			ModelLocator component2 = ((Component)val2).GetComponent<ModelLocator>();
			if (Object.op_Implicit((Object)(object)component2))
			{
				component2.modelTransform = gameObject.transform;
			}
			enabledSkin = true;
		}
	}
}
internal class ProjectileLinePathing : MonoBehaviour
{
	private Rigidbody rigidbody;

	public Vector3[] positions = (Vector3[])(object)new Vector3[0];

	public float speed;

	private int index = 0;

	private void OnEnable()
	{
		rigidbody = ((Component)this).GetComponent<Rigidbody>();
		ProjectileSimple component = ((Component)this).GetComponent<ProjectileSimple>();
		if (Object.op_Implicit((Object)(object)component))
		{
			((Behaviour)component).enabled = false;
		}
	}

	private void Update()
	{
		//IL_0040: 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_005c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0061: 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_007c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00af: 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_00d1: Unknown result type (might be due to invalid IL or missing references)
		if (Object.op_Implicit((Object)(object)rigidbody) && positions.Length != 0 && index != positions.Length)
		{
			((Component)this).transform.rotation = Quaternion.LookRotation(Vector3.RotateTowards(((Component)this).transform.forward, ((Component)this).transform.position - positions[index], speed * Time.deltaTime, 0f));
			((Component)this).transform.position = Vector3.Lerp(((Component)this).transform.position, positions[index], speed);
			if (((Component)this).transform.position == positions[index])
			{
				index++;
			}
		}
	}
}
internal class ProjefileFireChild : MonoBehaviour
{
	public GameObject childPrefab;

	private ProjectileController controller;

	private ProjectileDamage damage;

	private void Awake()
	{
		controller = ((Component)this).GetComponent<ProjectileController>();
		damage = ((Component)this).GetComponent<ProjectileDamage>();
	}

	private void OnDisable()
	{
		//IL_001c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0027: 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_0031: Unknown result type (might be due to invalid IL or missing references)
		if (NetworkServer.active)
		{
			ProjectileManager.instance.FireProjectile(childPrefab, ((Component)this).transform.position, Quaternion.LookRotation(Utils.GetForwardDirection(((Component)this).transform.forward)), controller.owner, damage.damage, 0f, damage.crit, (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null);
		}
	}
}
internal class RootEffectBehaviour : MonoBehaviour
{
	public float duration = 1f;

	private float stopwatch;

	private bool ended;

	private Animator animator;

	private void Awake()
	{
		animator = ((Component)this).GetComponent<Animator>();
	}

	private void FixedUpdate()
	{
		if (!ended)
		{
			stopwatch += Time.fixedDeltaTime;
			if (stopwatch >= duration)
			{
				ended = true;
				animator.SetBool("ded", true);
			}
		}
	}

	public void Death()
	{
		Object.Destroy((Object)(object)((Component)this).gameObject);
	}
}
internal class SoundLoop : MonoBehaviour
{
	public string sound;

	private uint ID;

	private void Start()
	{
		ID = AkSoundEngine.PostEvent(sound, ((Component)this).gameObject);
	}

	private void OnDisable()
	{
		AkSoundEngine.StopPlayingID(ID);
	}
}
internal class CharacterBodySetup
{
	internal const bool melee = true;

	internal static GameObject baseBody = Prefabs.Load<GameObject>("RoR2/Base/Merc/MercBody.prefab");

	internal const string SURVIVORNAME = "Maokai";

	internal const string SURVIVORNAMEKEY = "MAOKAI_";

	internal static void CreateCharacterBodies()
	{
		RegisterStates();
		CreateSurvivorPrefab();
	}

	internal static void CreateSurvivorPrefab()
	{
		//IL_0017: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: 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_0073: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: 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)
		GameObject val = CreateBodyPrefab("Maokai", Color32.op_Implicit(new Color32((byte)134, (byte)153, (byte)79, byte.MaxValue)), 240f, large: true);
		((HuntressTracker)val.AddComponent<Behaviour>()).maxTrackingDistance = 45f;
		Transform modelTransform = val.GetComponent<ModelLocator>().modelTransform;
		Utils.CreateHitbox("Punch", modelTransform, new Vector3(5.5f, 5f, 7f), new Vector3(0f, 1f, 2f));
		Utils.CreateHitbox("Slam", modelTransform, new Vector3(6.5f, 6f, 15f), new Vector3(0f, 1f, 7f));
		CharacterBody component = val.GetComponent<CharacterBody>();
		component.mainRootSpeed = 0f;
		component.baseMaxHealth = 160f;
		component.levelMaxHealth = 48f;
		component.baseRegen = 3.75f;
		component.levelRegen = 0.2f;
		component.baseMaxShield = 0f;
		component.levelMaxShield = 0f;
		component.baseMoveSpeed = 7f;
		component.levelMoveSpeed = 0f;
		component.baseAcceleration = 110f;
		component.baseJumpPower = 15f;
		component.levelJumpPower = 0f;
		component.baseDamage = 15f;
		component.levelDamage = 3f;
		component.baseAttackSpeed = 1f;
		component.levelAttackSpeed = 0f;
		component.baseCrit = 1f;
		component.levelCrit = 0f;
		component.baseArmor = 20f;
		component.levelArmor = 0f;
		component.baseJumpCount = 1;
		component.sprintingSpeedMultiplier = 1.45f;
		val.GetComponent<HealthComponent>().health = component.baseMaxHealth;
		CreateSurvivorDef(val);
		PassiveSetup(val);
		PrimarySetup(val);
		SecondarySetup(val);
		UtilitySetup(val);
		SpecialSetup(val);
	}

	internal static void CreateSurvivorDef(GameObject characterPrefab)
	{
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_014b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0150: Unknown result type (might be due to invalid IL or missing references)
		CharacterBody component = characterPrefab.GetComponent<CharacterBody>();
		string text = ((Object)characterPrefab).name.Replace("Body", "");
		string text2 = text.Replace(" ", "").ToUpper();
		string text3 = " <style=cSub>\r\n\r\n< ! > \r\n\r\n< ! > \r\n\r\n< ! > \r\n\r\n< ! > \r\n\r\n";
		string text4 = "..and so he left.";
		string text5 = "..and so he vanished.";
		string text6 = "";
		LanguageAPI.Add("MAOKAI_" + text2 + "_DESCRIPTION", text3);
		LanguageAPI.Add("MAOKAI_" + text2 + "_SUBTITLE", "Twisted Treant");
		LanguageAPI.Add("MAOKAI_" + text2 + "_OUTRO", text4);
		LanguageAPI.Add("MAOKAI_" + text2 + "_FAIL", text5);
		GameObject val = PrefabAPI.InstantiateClone(((Component)characterPrefab.GetComponent<ModelLocator>().modelBaseTransform).gameObject, text + "Display", false);
		Animator componentInChildren = val.GetComponentInChildren<Animator>();
		componentInChildren.runtimeAnimatorController = Assets.Load<RuntimeAnimatorController>("displayAnimator");
		((Component)componentInChildren).transform.localScale = Vector3.one;
		Utils.SetupDisplay(val);
		SurvivorDef val2 = ScriptableObject.CreateInstance<SurvivorDef>();
		val2.cachedName = "MAOKAI_" + text2 + "_NAME";
		val2.unlockableDef = null;
		val2.descriptionToken = "MAOKAI_" + text2 + "_DESCRIPTION";
		val2.primaryColor = component.bodyColor;
		val2.bodyPrefab = characterPrefab;
		val2.displayPrefab = val;
		val2.outroFlavorToken = "MAOKAI_" + text2 + "_OUTRO";
		val2.desiredSortPosition = 22f;
		val2.mainEndingEscapeFailureFlavorToken = "MAOKAI_" + text2 + "_FAIL";
		ContentAddition.AddSurvivorDef(val2);
		GameObject val3 = PrefabAPI.InstantiateClone(Prefabs.Load<GameObject>("RoR2/Base/Merc/MercMonsterMaster.prefab"), text + "Master", true);
		ContentAddition.AddMaster(val3);
		CharacterMaster component2 = val3.GetComponent<CharacterMaster>();
		component2.bodyPrefab = characterPrefab;
	}

	internal static void RegisterStates()
	{
		//IL_0003: 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_0013: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: 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_002b: 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_003b: 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_004b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0053: Unknown result type (might be due to invalid IL or missing references)
		//IL_005b: Unknown result type (might be due to invalid IL or missing references)
		bool flag = default(bool);
		ContentAddition.AddEntityState<Primary>(ref flag);
		ContentAddition.AddEntityState<Secondary>(ref flag);
		ContentAddition.AddEntityState<SecondaryAlt>(ref flag);
		ContentAddition.AddEntityState<Utility>(ref flag);
		ContentAddition.AddEntityState<Special>(ref flag);
		ContentAddition.AddEntityState<SpecialAlt>(ref flag);
		ContentAddition.AddEntityState<CharacterMain>(ref flag);
		ContentAddition.AddEntityState<MeleeSkillState>(ref flag);
		ContentAddition.AddEntityState<BasicMeleeSkillState>(ref flag);
		ContentAddition.AddEntityState<BaseSaplingState>(ref flag);
		ContentAddition.AddEntityState<SaplingIdle>(ref flag);
		ContentAddition.AddEntityState<SaplingLand>(ref flag);
	}

	internal static void PassiveSetup(GameObject characterPrefab)
	{
		SkillLocator component = characterPrefab.GetComponent<SkillLocator>();
		LanguageAPI.Add("MAOKAI__PASSIVE_NAME", "Sap Magic");
		LanguageAPI.Add("MAOKAI__PASSIVE_DESCRIPTION", "Each time Maokai's abilities, with the exception of Arcane Smash, hits at least one enemy, he gains a Sap Magic stack. At 5 stacks, <style=cIsHealing>heal 10+5% health</style>.");
		component.passiveSkill.enabled = true;
		component.passiveSkill.skillNameToken = "MAOKAI__PASSIVE_NAME";
		component.passiveSkill.skillDescriptionToken = "MAOKAI__PASSIVE_DESCRIPTION";
		component.passiveSkill.icon = Assets.MainAssetBundle.LoadAsset<Sprite>("Maokai_Passive");
	}

	internal static void PrimarySetup(GameObject characterPrefab)
	{
		SkillLocator component = characterPrefab.GetComponent<SkillLocator>();
		string text = "_M1";
		LanguageAPI.Add("MAOKAI_" + text, "Arcane Smash");
		LanguageAPI.Add("MAOKAI_" + text + "_DESCRIPTION", "Maokai heavy hits forward for <style=cIsDamage>350% damage</style>.");
		SkillDef skill = Utils.NewSkillDef<SkillDef>(typeof(Primary), "Weapon", 0, 0f, beginSkillCooldownOnSkillEnd: true, canceledFromSprinting: false, fullRestockOnAssign: true, (InterruptPriority)0, isCombatSkill: true, mustKeyPress: false, cancelSprintingOnActivation: true, 0, 0, 0, Assets.MainAssetBundle.LoadAsset<Sprite>("old_q"), "MAOKAI_" + text, "MAOKAI_" + text + "_DESCRIPTION", Array.Empty<string>());
		component.primary = Utils.NewGenericSkill(characterPrefab, skill);
	}

	internal static void SecondarySetup(GameObject characterPrefab)
	{
		SkillLocator component = characterPrefab.GetComponent<SkillLocator>();
		string text = "_M2";
		LanguageAPI.Add("MAOKAI_" + text, "Bramble Smash");
		LanguageAPI.Add("MAOKAI_" + text + "_DESCRIPTION", "<style=cIsDamage>Stunning</style>. Maokai sends a shockwave in the target direction that deals <style=cIsDamage>500% damage</style>, <style=cIsUtility>slowing</style> enemies hit.");
		SkillDef skill = Utils.NewSkillDef<SkillDef>(typeof(Secondary), "Weapon", 1, 5f, beginSkillCooldownOnSkillEnd: true, canceledFromSprinting: false, fullRestockOnAssign: false, (InterruptPriority)1, isCombatSkill: true, mustKeyPress: true, cancelSprintingOnActivation: false, 1, 1, 1, Assets.MainAssetBundle.LoadAsset<Sprite>("Maokai_Q"), "MAOKAI_" + text, "MAOKAI_" + text + "_DESCRIPTION", Array.Empty<string>());
		component.secondary = Utils.NewGenericSkill(characterPrefab, skill);
		text = "_M2_ALT";
		LanguageAPI.Add("MAOKAI_" + text, "Sapling Toss");
		LanguageAPI.Add("MAOKAI_" + text + "_DESCRIPTION", "Maokai flings a Sapling to the target location, dealing <style=cIsDamage>280% damage</style> once landed. Sapling remains stationary, until it reacts to the first nearby enemy, chasing them. Saplings detonate on nearby enemies, <style=cIsUtility>slowing</style> and dealing <style=cIsDamage>280%-1400% damage</style>. Damage increases every second while stationary.");
		skill = Utils.NewSkillDef<SkillDef>(typeof(SecondaryAlt), "Weapon", 1, 8f, beginSkillCooldownOnSkillEnd: true, canceledFromSprinting: false, fullRestockOnAssign: false, (InterruptPriority)1, isCombatSkill: true, mustKeyPress: true, cancelSprintingOnActivation: false, 1, 1, 1, Assets.MainAssetBundle.LoadAsset<Sprite>("Maokai_E"), "MAOKAI_" + text, "MAOKAI_" + text + "_DESCRIPTION", Array.Empty<string>());
		Utils.AddAlt(component.secondary.skillFamily, skill);
	}

	internal static void UtilitySetup(GameObject characterPrefab)
	{
		SkillLocator component = characterPrefab.GetComponent<SkillLocator>();
		string text = "_UTIL";
		LanguageAPI.Add("MAOKAI_" + text, "Twisted Advance");
		LanguageAPI.Add("MAOKAI_" + text + "_DESCRIPTION", "Maokai dashes to the target enemy while being <style=cIsDamage>untargetable</style>. Upon arrival, he deals <style=cIsDamage>400% damage</style> and <style=cIsDamage>roots</style> them for <style=cIsUtility>1s</style>.");
		SkillDef skill = Utils.NewSkillDef<HuntressTrackingSkillDef>(typeof(Utility), "Weapon", 1, 5f, beginSkillCooldownOnSkillEnd: true, canceledFromSprinting: false, fullRestockOnAssign: false, (InterruptPriority)1, isCombatSkill: true, mustKeyPress: true, cancelSprintingOnActivation: false, 1, 1, 1, Assets.MainAssetBundle.LoadAsset<Sprite>("Maokai_W"), "MAOKAI_" + text, "MAOKAI_" + text + "_DESCRIPTION", Array.Empty<string>());
		component.utility = Utils.NewGenericSkill(characterPrefab, skill);
	}

	internal static void SpecialSetup(GameObject characterPrefab)
	{
		SkillLocator component = characterPrefab.GetComponent<SkillLocator>();
		string text = "_SPEC";
		LanguageAPI.Add("MAOKAI_" + text, "Nature's Grasp");
		LanguageAPI.Add("MAOKAI_" + text + "_DESCRIPTION", "Maokai summons a colossal wall of five thorny brambles that slowly advances in the target direction, each dealing <style=cIsDamage>600% damage</style> and <style=cIsDamage>rooting</style> enemies hit. Maokai also gains <style=cIsUtility>40% movement speed</style> for <style=cIsUtility>8s</style>.");
		SkillDef skill = Utils.NewSkillDef<SkillDef>(typeof(Special), "Body", 1, 20f, beginSkillCooldownOnSkillEnd: true, canceledFromSprinting: false, fullRestockOnAssign: false, (InterruptPriority)1, isCombatSkill: true, mustKeyPress: true, cancelSprintingOnActivation: false, 1, 1, 1, Assets.MainAssetBundle.LoadAsset<Sprite>("Maokai_R"), "MAOKAI_" + text, "MAOKAI_" + text + "_DESCRIPTION", Array.Empty<string>());
		component.special = Utils.NewGenericSkill(characterPrefab, skill);
		text = "_SPEC_ALT";
		LanguageAPI.Add("MAOKAI_" + text, "Vengeful Maelstrom");
		LanguageAPI.Add("MAOKAI_" + text + "_DESCRIPTION", "Maokai creates a magical vortex around himself for up to <style=cIsUtility>10s</style>, reducing damage done to allies in the area by <style=cIsDamage>20%</style>. When the effect ends, Maokai unleashes the damage absorbed during it to deal <style=cIsDamage>1000% damage</style> + <style=cIsDamage>double</style> the amount received.");
		skill = Utils.NewSkillDef<SkillDef>(typeof(SpecialAlt), "Ult", 1, 15f, beginSkillCooldownOnSkillEnd: true, canceledFromSprinting: false, fullRestockOnAssign: false, (InterruptPriority)1, isCombatSkill: true, mustKeyPress: true, cancelSprintingOnActivation: false, 1, 1, 1, Assets.MainAssetBundle.LoadAsset<Sprite>("Maokai_R_old"), "MAOKAI_" + text, "MAOKAI_" + text + "_DESCRIPTION", Array.Empty<string>());
		Utils.AddAlt(component.special.skillFamily, skill);
	}

	internal static GameObject CreateBodyPrefab(string characterName, Color bodyColor, float mass, bool large = false, bool flying = false)
	{
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: Expected O, but got Unknown
		//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_010e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0120: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_0137: Expected O, but got Unknown
		//IL_0161: Unknown result type (might be due to invalid IL or missing references)
		//IL_0173: Unknown result type (might be due to invalid IL or missing references)
		//IL_0185: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0254: Unknown result type (might be due to invalid IL or missing references)
		//IL_0270: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_033d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0342: Unknown result type (might be due to invalid IL or missing references)
		//IL_036f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0374: Unknown result type (might be due to invalid IL or missing references)
		//IL_041d: 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_044a: 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_060c: Unknown result type (might be due to invalid IL or missing references)
		//IL_062f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0652: Unknown result type (might be due to invalid IL or missing references)
		//IL_0675: Unknown result type (might be due to invalid IL or missing references)
		//IL_0698: Unknown result type (might be due to invalid IL or missing references)
		//IL_06bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_06de: Unknown result type (might be due to invalid IL or missing references)
		//IL_0701: Unknown result type (might be due to invalid IL or missing references)
		//IL_0725: 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_07bb: 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_09a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_09ad: Unknown result type (might be due to invalid IL or missing references)
		string text = characterName.Replace(" ", "");
		string text2 = text.ToUpper();
		LanguageAPI.Add("MAOKAI_" + text2 + "_NAME", characterName);
		GameObject val = PrefabAPI.InstantiateClone(baseBody, text + "Body", true);
		val.GetComponent<NetworkIdentity>().localPlayerAuthority = true;
		Object.Destroy((Object)(object)((Component)val.transform.Find("ModelBase")).gameObject);
		Object.Destroy((Object)(object)((Component)val.transform.Find("CameraPivot")).gameObject);
		Object.Destroy((Object)(object)((Component)val.transform.Find("AimOrigin")).gameObject);
		GameObject val2 = Assets.MainAssetBundle.LoadAsset<GameObject>(text + "Mdl");
		val2.AddComponent<AnimationEvents>().soundCenter = val2;
		GameObject val3 = new GameObject("ModelBase");
		val3.transform.parent = val.transform;
		val3.transform.localPosition = new Vector3(0f, -0.94f, 0f);
		val3.transform.localRotation = Quaternion.identity;
		val3.transform.localScale = Vector3.one;
		GameObject val4 = new GameObject("AimOrigin");
		val4.transform.parent = val3.transform;
		val4.transform.localPosition = new Vector3(0f, 3.84f, 0f);
		val4.transform.localRotation = Quaternion.identity;
		val4.transform.localScale = Vector3.one;
		Transform transform = val2.transform;
		transform.parent = val3.transform;
		transform.localPosition = Vector3.zero;
		transform.localRotation = Quaternion.identity;
		transform.localScale = Vector3.one * 2f;
		CharacterDirection component = val.GetComponent<CharacterDirection>();
		component.targetTransform = val3.transform;
		component.modelAnimator = val2.GetComponentInChildren<Animator>();
		component.turnSpeed = 720f;
		CharacterBody component2 = val.GetComponent<CharacterBody>();
		((Object)component2).name = text + "Body";
		component2.baseNameToken = "MAOKAI_" + text2 + "_NAME";
		component2.subtitleNameToken = "MAOKAI_" + text2 + "_SUBTITLE";
		component2.bodyFlags = (BodyFlags)16;
		component2.aimOriginTransform = val4.transform;
		component2.hullClassification = (HullClassification)(large ? 1 : 0);
		Sprite val5 = Assets.MainAssetBundle.LoadAsset<Sprite>(text);
		component2.portraitIcon = (Texture)(object)(Object.op_Implicit((Object)(object)val5) ? val5.texture : null);
		component2.isChampion = false;
		component2.currentVehicle = null;
		component2.skinIndex = 0u;
		component2.bodyColor = bodyColor;
		HealthComponent component3 = val.GetComponent<HealthComponent>();
		component3.health = component2.baseMaxHealth;
		component3.shield = 0f;
		component3.barrier = 0f;
		CharacterMotor component4 = val.GetComponent<CharacterMotor>();
		component4.walkSpeedPenaltyCoefficient = 1f;
		component4.characterDirection = component;
		component4.muteWalkMotion = false;
		component4.mass = mass;
		component4.airControl = 0.25f;
		component4.disableAirControlUntilCollision = false;
		component4.generateParametersOnAwake = true;
		InputBankTest component5 = val.GetComponent<InputBankTest>();
		component5.moveVector = Vector3.zero;
		CameraTargetParams component6 = val.GetComponent<CameraTargetParams>();
		component6.cameraParams = baseBody.GetComponent<CameraTargetParams>().cameraParams;
		component6.cameraPivotTransform = null;
		component6.recoil = Vector2.zero;
		component6.dontRaycastToPivot = false;
		ModelLocator component7 = val.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>();
		CharacterModel val6 = val2.AddComponent<CharacterModel>();
		SkinnedMeshRenderer[] componentsInChildren = val2.GetComponentsInChildren<SkinnedMeshRenderer>();
		List<RendererInfo> list = new List<RendererInfo>();
		foreach (SkinnedMeshRenderer val7 in componentsInChildren)
		{
			((Renderer)val7).material = Prefabs.InstantiateDefaultSurvivorMaterial(((Renderer)val7).material.mainTexture);
			list.Add(new RendererInfo
			{
				renderer = (Renderer)(object)val7,
				defaultMaterial = ((Renderer)val7).material,
				defaultShadowCastingMode = (ShadowCastingMode)1,
				ignoreOverlays = false
			});
			if (!((Object)val7).name.Contains("base"))
			{
				((Component)val7).gameObject.SetActive(false);
			}
		}
		RendererInfo[] array = list.ToArray();
		val6.body = component2;
		val6.baseRendererInfos = array;
		val6.autoPopulateLightInfos = true;
		val6.temporaryOverlays = new List<TemporaryOverlayInstance>();
		val6.mainSkinnedMeshRenderer = componentsInChildren[0];
		LanguageAPI.Add(text2 + "BODY_DEFAULT_SKIN_NAME", "Default");
		LanguageAPI.Add(text2 + "BODY_SKIN01_NAME", "Charred");
		LanguageAPI.Add(text2 + "BODY_SKIN02_NAME", "Totemic");
		LanguageAPI.Add(text2 + "BODY_SKIN03_NAME", "Festive");
		LanguageAPI.Add(text2 + "BODY_SKIN04_NAME", "Haunted");
		LanguageAPI.Add(text2 + "BODY_SKIN05_NAME", "Goalkeeper");
		LanguageAPI.Add(text2 + "BODY_SKIN06_NAME", "Meowkai");
		LanguageAPI.Add(text2 + "BODY_SKIN07_NAME", "Victorious");
		LanguageAPI.Add(text2 + "BODY_SKIN16_NAME", "Worldbreaker");
		LanguageAPI.Add(text2 + "BODY_SKIN24_NAME", "Astronaut");
		LanguageAPI.Add(text2 + "BODY_SKIN33_NAME", "DRX");
		ModelSkinController val8 = val2.AddComponent<ModelSkinController>();
		val8.skins = (SkinDef[])(object)new SkinDef[11]
		{
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_DEFAULT_SKIN_NAME", "base", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN01_NAME", "skin01", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN02_NAME", "skin02", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN03_NAME", "skin03", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN04_NAME", "skin04", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN05_NAME", "skin05", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN06_NAME", "skin06", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN07_NAME", "skin07", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN16_NAME", "skin16", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN24_NAME", "skin24", array)),
			Skins.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, val2, text2 + "BODY_SKIN33_NAME", "skin33", array))
		};
		Collider[] componentsInChildren2 = val2.GetComponentsInChildren<Collider>();
		HurtBoxGroup val9 = val2.AddComponent<HurtBoxGroup>();
		List<HurtBox> list2 = new List<HurtBox>();
		Collider[] array2 = componentsInChildren2;
		foreach (Collider val10 in array2)
		{
			HurtBox val11 = ((Component)val10).gameObject.AddComponent<HurtBox>();
			((Component)val11).gameObject.layer = LayerIndex.entityPrecise.intVal;
			val11.healthComponent = component3;
			val11.isBullseye = true;
			val11.damageModifier = (DamageModifier)0;
			val11.hurtBoxGroup = val9;
			val11.indexInGroup = 0;
			val9.mainHurtBox = val11;
			val9.bullseyeCount = 1;
			list2.Add(val11);
		}
		val9.hurtBoxes = list2.ToArray();
		KinematicCharacterMotor component9 = val.GetComponent<KinematicCharacterMotor>();
		component9.CharacterController = (ICharacterController)(object)component4;
		component9.playerCharacter = true;
		val.GetComponent<Interactor>().maxInteractionDistance = 3f;
		val.GetComponent<InteractionDriver>().highlightInteractor = true;
		SfxLocator component10 = val.GetComponent<SfxLocator>();
		component10.deathSound = "Play_ui_player_death";
		component10.barkSound = "";
		component10.openSound = "";
		component10.landingSound = (large ? "Play_gravekeeper_land" : "Play_char_land");
		component10.fallDamageSound = "Play_char_land_fall_damage";
		component10.aliveLoopStart = "";
		component10.aliveLoopStop = "";
		val.GetComponent<Rigidbody>().mass = mass;
		FootstepHandler val12 = val2.AddComponent<FootstepHandler>();
		val12.baseFootstepString = (large ? "Play_beetle_queen_step" : "Play_player_footstep");
		val12.sprintFootstepOverrideString = "";
		val12.enableFootstepDust = true;
		val12.footstepDustPrefab = Prefabs.Load<GameObject>(large ? "RoR2/Base/Common/VFX/GenericHugeFootstepDust.prefab" : "RoR2/Base/Common/VFX/GenericFootstepDust.prefab");
		Utils.NewStateMachine<Idle>(val, "Ult");
		GenericSkill[] componentsInChildren3 = val.GetComponentsInChildren<GenericSkill>();
		foreach (GenericSkill val13 in componentsInChildren3)
		{
			Object.DestroyImmediate((Object)(object)val13);
		}
		if (flying)
		{
			Utils.NewStateMachine<GrantFlight>(val, "Flight");
			component10.landingSound = "";
			component10.fallDamageSound = "";
		}
		EntityStateMachine component11 = ((Component)component2).GetComponent<EntityStateMachine>();
		component11.mainStateType = new SerializableEntityStateType(typeof(CharacterMain));
		CharacterDeathBehavior component12 = val.GetComponent<CharacterDeathBehavior>();
		component12.deathStateMachine = val.GetComponent<EntityStateMachine>();
		component12.deathState = new SerializableEntityStateType(typeof(GenericCharacterDeath));
		NetworkStateMachine component13 = ((Component)component2).GetComponent<NetworkStateMachine>();
		component13.stateMachines = ((Component)component2).GetComponents<EntityStateMachine>();
		ContentAddition.AddBody(val);
		return val;
	}
}
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
		GlobalEventManager.onServerDamageDealt += GlobalEventManager_onServerDamageDealt;
		RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(RecalculateStatsAPI_GetStatCoefficients);
	}

	private static void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args)
	{
		if (sender.HasBuff(Prefabs.ult1Buff))
		{
			args.moveSpeedMultAdd += 0.4f;
		}
		if (sender.HasBuff(Prefabs.ult2Buff))
		{
			args.moveSpeedMultAdd += 0.4f;
		}
		if (sender.HasBuff(Prefabs.ult2BuffAlly))
		{
			args.armorAdd += 40f;
		}
	}

	private static void GlobalEventManager_onServerDamageDealt(DamageReport damageReport)
	{
		//IL_0063: 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_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_0190: 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_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_015d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0163: Unknown result type (might be due to invalid IL or missing references)
		if (damageReport.victimBody.HasBuff(Prefabs.ult2Buff))
		{
			Behaviour component = ((Component)damageReport.victimBody).GetComponent<Behaviour>();
			if (Object.op_Implicit((Object)(object)component))
			{
				component.damageCollected += damageReport.damageDealt * 2f;
			}
		}
		if (!Object.op_Implicit((Object)(object)damageReport.victimBody) || !Object.op_Implicit((Object)(object)damageReport.attackerBody) || damageReport.attackerBodyIndex != BodyCatalog.FindBodyIndex("MaokaiBody"))
		{
			return;
		}
		if (!DamageAPI.HasModdedDamageType(damageReport.damageInfo, Prefabs.primary))
		{
			if (!damageReport.attackerBody.HasBuff(Prefabs.healBuff))
			{
				damageReport.attackerBody.AddBuff(Prefabs.healStackBuff);
				int buffCount = damageReport.attackerBody.GetBuffCount(Prefabs.healStackBuff);
				if (buffCount >= 5)
				{
					for (int i = 0; i < buffCount; i++)
					{
						damageReport.attackerBody.RemoveBuff(Prefabs.healStackBuff);
					}
					damageReport.attackerBody.AddBuff(Prefabs.healBuff);
				}
			}
			else
			{
				damageReport.attackerBody.RemoveBuff(Prefabs.healBuff);
				HealthComponent healthComponent = damageReport.attackerBody.healthComponent;
				healthComponent.Heal(10f + healthComponent.fullCombinedHealth * 0.05f, default(ProcChainMask), true);
				EffectManager.SimpleMuzzleFlash(Prefabs.healHitEffect, ((Component)damageReport.attackerBody).gameObject, "center", true);
			}
		}
		if (DamageTypeCombo.op_Implicit(damageReport.damageInfo.damageType & DamageTypeCombo.op_Implicit((DamageType)33554432)) != 0)
		{
			damageReport.victimBody.AddTimedBuff(Buffs.Entangle, 3f);
			GameObject val = Object.Instantiate<GameObject>(Prefabs.rootHitEffect, damageReport.victimBody.transform.position, Quaternion.identity);
			val.GetComponent<RootEffectBehaviour>().duration = 3f;
			NetworkServer.Spawn(val);
		}
	}
}
internal class ItemDisplays
{
	internal static ItemDisplayRuleSet itemDisplayRuleSet;

	internal static List<KeyAssetRuleGroup> itemDisplayRules;

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

	private static Dictionary<Object, AssetReferenceGameObject> itemDisplayAssetRefs = new Dictionary<Object, AssetReferenceGameObject>();

	internal static void PopulateDisplays()
	{
		PopulateFromBody("RoR2/Base/Commando/idrsCommando.asset");
		PopulateFromBody("RoR2/Base/Croco/idrsCroco.asset");
		PopulateFromBody("RoR2/Base/Mage/idrsMage.asset");
	}

	private static void PopulateFromBody(string path)
	{
		//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_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: 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)
		ItemDisplayRuleSet val = Prefabs.Load<ItemDisplayRuleSet>(path);
		KeyAssetRuleGroup[] keyAssetRuleGroups = val.keyAssetRuleGroups;
		for (int i = 0; i < keyAssetRuleGroups.Length; i++)
		{
			ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules;
			foreach (ItemDisplayRule val2 in rules)
			{
				Object keyAsset = keyAssetRuleGroups[i].keyAsset;
				ItemDef val3 = (ItemDef)(object)((keyAsset is ItemDef) ? keyAsset : null);
				Object keyAsset2 = keyAssetRuleGroups[i].keyAsset;
				EquipmentDef val4 = (EquipmentDef)(object)((keyAsset2 is EquipmentDef) ? keyAsset2 : null);
				GameObject followerPrefab = val2.followerPrefab;
				if ((Object)(object)val3 != (Object)null)
				{
					if (!itemDisplayAssetRefs.ContainsKey((Object)(object)val3))
					{
						itemDisplayAssetRefs.Add((Object)(object)val3, val2.followerPrefabAddress);
					}
					if (Object.op_Implicit((Object)(object)followerPrefab) && !itemDisplayPrefabs.ContainsKey((Object)(object)val3))
					{
						itemDisplayPrefabs.Add((Object)(object)val3, followerPrefab);
					}
				}
				else if ((Object)(object)val4 != (Object)null)
				{
					if (!itemDisplayAssetRefs.ContainsKey((Object)(object)val4))
					{
						itemDisplayAssetRefs.Add((Object)(object)val4, val2.followerPrefabAddress);
					}
					if (Object.op_Implicit((Object)(object)followerPrefab) && !itemDisplayPrefabs.ContainsKey((Object)(object)val4))
					{
						itemDisplayPrefabs.Add((Object)(object)val4, followerPrefab);
					}
				}
			}
		}
	}

	public static void RegisterDisplays(GameObject characterPrefab)
	{
		string text = ((Object)characterPrefab).name.Replace(" ", "");
		itemDisplayRuleSet = ScriptableObject.CreateInstance<ItemDisplayRuleSet>();
		((Object)itemDisplayRuleSet).name = text + "IDRS";
		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)
		//IL_13e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_13ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_13ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_1405: Unknown result type (might be due to invalid IL or missing references)
		//IL_140a: Unknown result type (might be due to invalid IL or missing references)
		//IL_140f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1425: Unknown result type (might be due to invalid IL or missing references)
		//IL_142a: Unknown result type (might be due to invalid IL or missing references)
		//IL_142f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1445: Unknown result type (might be due to invalid IL or missing references)
		//IL_144a: Unknown result type (might be due to invalid IL or missing references)
		//IL_144f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1465: Unknown result type (might be due to invalid IL or missing references)
		//IL_146a: Unknown result type (might be due to invalid IL or missing references)
		//IL_146f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1485: Unknown result type (might be due to invalid IL or missing references)
		//IL_148a: Unknown result type (might be due to invalid IL or missing references)
		//IL_148f: Unknown result type (might be due to invalid IL or missing references)
		//IL_14a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_14aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_14af: Unknown result type (might be due to invalid IL or missing references)
		//IL_14c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_14ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_14cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_14e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_14ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_14ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_1505: Unknown result type (might be due to invalid IL or missing references)
		//IL_150a: Unknown result type (might be due to invalid IL or missing references)
		//IL_150f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1525: Unknown result type (might be due to invalid IL or missing references)
		//IL_152a: Unknown result type (might be due to invalid IL or missing references)
		//IL_152f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1545: Unknown result type (might be due to invalid IL or missing references)
		//IL_154a: Unknown result type (might be due to invalid IL or missing references)
		//IL_154f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1565: Unknown result type (might be due to invalid IL or missing references)
		//IL_156a: Unknown result type (might be due to invalid IL or missing references)
		//IL_156f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1585: Unknown result type (might be due to invalid IL or missing references)
		//IL_158a: Unknown result type (might be due to invalid IL or missing references)
		//IL_158f: Unknown result type (might be due to invalid IL or missing references)
		//IL_15a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_15aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_15af: Unknown result type (might be due to invalid IL or missing references)
		//IL_15c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_15ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_15cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_15e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_15ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_15ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_1605: Unknown result type (might be due to invalid IL or missing references)
		//IL_160a: Unknown result type (might be due to invalid IL or missing references)
		//IL_160f: 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,