Decompiled source of Wendy v1.0.1

Wendy.dll

Decompiled 5 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using EntityStates;
using EntityStates.Mage;
using EntityStates.Merc;
using HG.BlendableTypes;
using JetBrains.Annotations;
using KinematicCharacterController;
using R2API;
using R2API.Utils;
using Rewired.ComponentControls.Effects;
using RoR2;
using RoR2.Achievements;
using RoR2.Projectile;
using RoR2.Skills;
using RoR2.UI;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Events;
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.0", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("Wendy")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Wendy")]
[assembly: AssemblyTitle("Wendy")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Wendy;

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

	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_WENDY_";
		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("Wendy.AssetBundle." + "Wendy".ToLower() + "assets");
			MainAssetBundle = AssetBundle.LoadFromStream(stream);
		}
		using Stream stream2 = executingAssembly.GetManifestResourceStream("Wendy.Wendy.bnk");
		byte[] array = new byte[stream2.Length];
		stream2.Read(array, 0, array.Length);
		SoundBanks.Add(array);
	}
}
internal class HealingEffectBehaviour : MonoBehaviour
{
	public class Healing : MonoBehaviour
	{
		public HealingEffectBehaviour healingBehaviour;
	}

	private Healing healing;

	public float damage;

	public WendyTracker tracker;

	public Vector3 healingPos;

	private void Start()
	{
		HurtBox component = ((Component)((Component)this).transform.parent).GetComponent<HurtBox>();
		if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.healthComponent))
		{
			healing = ((Component)component.healthComponent).gameObject.AddComponent<Healing>();
			healing.healingBehaviour = this;
		}
	}

	private void OnDisable()
	{
		if (Object.op_Implicit((Object)(object)healing))
		{
			Object.Destroy((Object)(object)healing);
		}
	}

	private void FixedUpdate()
	{
		//IL_006a: 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)
		if (Object.op_Implicit((Object)(object)tracker) && Object.op_Implicit((Object)(object)((HuntressTracker)tracker).characterBody))
		{
			damage = ((HuntressTracker)tracker).characterBody.damage;
		}
		if (!Object.op_Implicit((Object)(object)tracker) || (Object.op_Implicit((Object)(object)tracker) && !tracker.healing) || Vector3.Distance(((Component)this).transform.position, ((Component)tracker).transform.position) > tracker.healingRadius)
		{
			Object.Destroy((Object)(object)((Component)this).gameObject);
		}
	}
}
internal class HoverSoundBehaviour : MonoBehaviour
{
	private uint ID;

	private void OnEnable()
	{
		ID = AkSoundEngine.PostEvent(Sounds.Play_Wendy_Hover_Loop, ((Component)this).gameObject);
	}

	private void OnDisable()
	{
		AkSoundEngine.StopPlayingID(ID);
	}
}
internal class ReviveBehaviour : MonoBehaviour
{
	public float radius = 90f;

	public CharacterMaster master;

	private float stopwatch;

	private void OnEnable()
	{
		InstanceTracker.Add<ReviveBehaviour>(this);
	}

	private void FixedUpdate()
	{
		stopwatch += Time.fixedDeltaTime;
		if ((NetworkServer.active && !Object.op_Implicit((Object)(object)master)) || (Object.op_Implicit((Object)(object)master) && Object.op_Implicit((Object)(object)master.GetBody()) && master.GetBody().healthComponent.alive))
		{
			Debug.LogWarning((object)stopwatch);
			NetworkServer.Destroy(((Component)this).gameObject);
		}
	}

	private void OnDisable()
	{
		InstanceTracker.Remove<ReviveBehaviour>(this);
	}
}
internal class StartRotation : MonoBehaviour
{
	private ProjectileController controller;

	public float minRot = -40f;

	public float maxRot = 41f;

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

	private void Start()
	{
		//IL_0027: 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)
		((Component)this).transform.localRotation = Quaternion.Euler(0f, 0f, RoR2Application.rng.RangeFloat(minRot, maxRot));
		if (Object.op_Implicit((Object)(object)controller) && Object.op_Implicit((Object)(object)controller.ghost))
		{
			controller.ghost.transform.GetChild(0).localRotation = ((Component)this).transform.localRotation;
		}
	}
}
internal class WendyTracker : HuntressTracker
{
	private float stopwatch;

	private float flightDuration = 5f;

	public float flightStopwatch;

	public float healingRadius = 25f;

	public float distance = 40f;

	public float angle = 30f;

	public float dashSpeed = 0.1f;

	public float upForce = 845f;

	public float upForceE = 600f;

	public bool healing;

	public ParticleSystem[] DFParticles;

	public GameObject hoverParticles;

	public bool flight { get; set; }

	private void Awake()
	{
		//IL_000d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Expected O, but got Unknown
		base.indicator = new Indicator(((Component)this).gameObject, Prefabs.healIndicator);
	}

	private void OnEnable()
	{
		((HuntressTracker)this).OnEnable();
		InstanceTracker.Add<WendyTracker>(this);
	}

	private void OnDisable()
	{
		InstanceTracker.Remove<WendyTracker>(this);
		((HuntressTracker)this).OnDisable();
	}

	private void FixedUpdate()
	{
		//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0108: Unknown result type (might be due to invalid IL or missing references)
		//IL_0127: Unknown result type (might be due to invalid IL or missing references)
		//IL_012c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0139: Unknown result type (might be due to invalid IL or missing references)
		//IL_013e: Unknown result type (might be due to invalid IL or missing references)
		//IL_014a: Unknown result type (might be due to invalid IL or missing references)
		if (flight)
		{
			flightStopwatch += Time.fixedDeltaTime;
			if (flightStopwatch >= flightDuration)
			{
				flight = false;
				flightStopwatch = 0f;
				hoverParticles.SetActive(false);
			}
		}
		else if (flightStopwatch > 0f)
		{
			flightStopwatch = 0f;
			hoverParticles.SetActive(false);
		}
		base.trackerUpdateStopwatch = 0f;
		stopwatch += Time.fixedDeltaTime;
		if (stopwatch >= 1f / base.trackerUpdateFrequency)
		{
			stopwatch = 0f;
			Ray val = default(Ray);
			((Ray)(ref val))..ctor(base.inputBank.aimOrigin, base.inputBank.aimDirection);
			base.search.teamMaskFilter = TeamMask.none;
			((TeamMask)(ref base.search.teamMaskFilter)).AddTeam(base.teamComponent.teamIndex);
			base.search.filterByLoS = false;
			base.search.searchOrigin = ((Ray)(ref val)).origin;
			base.search.searchDirection = ((Ray)(ref val)).direction;
			base.search.sortMode = (SortMode)1;
			base.search.maxDistanceFilter = 30f;
			base.search.maxAngleFilter = base.maxTrackingAngle;
			base.search.RefreshCandidates();
			base.search.FilterOutGameObject(((Component)this).gameObject);
			base.trackingTarget = base.search.GetResults().FirstOrDefault();
			base.indicator.targetTransform = (Object.op_Implicit((Object)(object)base.trackingTarget) ? ((Component)base.trackingTarget).transform : null);
		}
	}
}
internal class Hook
{
	internal static void Hooks()
	{
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_0012: Expected O, but got Unknown
		RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(RecalculateStatsAPI_GetStatCoefficients);
		GlobalEventManager.onCharacterDeathGlobal += GlobalEventManager_onCharacterDeathGlobal;
	}

	private static void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args)
	{
		if (sender.HasBuff(Prefabs.buff))
		{
			HealingEffectBehaviour.Healing[] components = ((Component)sender).GetComponents<HealingEffectBehaviour.Healing>();
			HealingEffectBehaviour.Healing[] array = components;
			foreach (HealingEffectBehaviour.Healing healing in array)
			{
				args.baseAttackSpeedAdd += 0.5f * healing.healingBehaviour.damage / 100f;
				args.baseDamageAdd += 0.5f * healing.healingBehaviour.damage;
				args.armorAdd += (float)Mathf.CeilToInt(0.5f * healing.healingBehaviour.damage);
			}
		}
		if (sender.HasBuff(Prefabs.armor))
		{
			args.armorAdd += 50f;
		}
		if (sender.HasBuff(Prefabs.flight))
		{
			args.moveSpeedMultAdd += 0.4f;
		}
	}

	private static void GlobalEventManager_onCharacterDeathGlobal(DamageReport damageReport)
	{
		//IL_0088: Unknown result type (might be due to invalid IL or missing references)
		//IL_008d: Unknown result type (might be due to invalid IL or missing references)
		//IL_008f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0091: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ad: 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_00b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		if (!NetworkServer.active || !Object.op_Implicit((Object)(object)damageReport.victimMaster) || !Object.op_Implicit((Object)(object)damageReport.victimBody) || !damageReport.victimBody.isPlayerControlled)
		{
			return;
		}
		foreach (WendyTracker instances in InstanceTracker.GetInstancesList<WendyTracker>())
		{
			if (!Object.op_Implicit((Object)(object)instances) || !Object.op_Implicit((Object)(object)((HuntressTracker)instances).characterBody) || !((HuntressTracker)instances).characterBody.healthComponent.alive)
			{
				continue;
			}
			Vector3 val = damageReport.victimBody.footPosition;
			if (val == Vector3.zero)
			{
				val = damageReport.victimMaster.deathFootPosition;
				if (val == Vector3.zero && damageReport.damageInfo != null)
				{
					val = damageReport.damageInfo.position;
				}
			}
			GameObject val2 = Object.Instantiate<GameObject>(Prefabs.reviveBeacon, val, Quaternion.identity);
			ReviveBehaviour component = val2.GetComponent<ReviveBehaviour>();
			component.master = damageReport.victimMaster;
			NetworkServer.Spawn(val2);
			break;
		}
	}
}
internal class ItemDisplays
{
	internal static ItemDisplayRuleSet itemDisplayRuleSet;

	internal static List<KeyAssetRuleGroup> itemDisplayRules;

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

	private static Vector3 vec = Vector3.one;

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

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

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

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

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

	internal static ItemDisplayRule newDisplayRule(string childName, GameObject equipDef, Vector3 localPos, Vector3 localAngles, Vector3 localScale, LimbFlags flags)
	{
		//IL_0003: Unknown result type (might be due to invalid IL or missing references)
		//IL_000c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_0045: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		ItemDisplayRule result = default(ItemDisplayRule);
		result.ruleType = (ItemDisplayRuleType)0;
		result.followerPrefab = equipDef;
		result.childName = childName;
		result.localPos = localPos;
		result.localAngles = localAngles;
		result.localScale = localScale;
		result.limbMask = flags;
		return result;
	}

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

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

	public const string MODNAME = "Wendy";

	public const string VERSION = "1.0.1";

	public const string SURVIVORNAME = "Wendy";

	public const string SURVIVORNAMEKEY = "WENDY";

	public static GameObject characterPrefab;

	private static readonly Color characterColor = Color32.op_Implicit(new Color32((byte)143, (byte)89, (byte)153, byte.MaxValue));

	public static SkillDef primary;

	public static SkillDef secondary;

	public static SkillDef utility;

	public static SkillDef special;

	public static GameObject transformModel;

	public static GameObject deTransformModel;

	private void Awake()
	{
		Assets.PopulateAssets();
		Prefabs.CreatePrefabs();
		CreatePrefab();
		RegisterStates();
		RegisterCharacter();
		Hook.Hooks();
	}

	internal static void CreatePrefab()
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_000b: Unknown result type (might be due to invalid IL or missing references)
		//IL_012c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0133: Expected O, but got Unknown
		//IL_0160: Unknown result type (might be due to invalid IL or missing references)
		//IL_0172: Unknown result type (might be due to invalid IL or missing references)
		//IL_0193: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01aa: Expected O, but got Unknown
		//IL_01d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_021c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0229: Unknown result type (might be due to invalid IL or missing references)
		//IL_0236: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03db: 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_047e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0483: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b0: 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_04d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_04de: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0765: Unknown result type (might be due to invalid IL or missing references)
		//IL_076f: Expected O, but got Unknown
		//IL_08aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a1b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ad8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0add: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b0b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b10: Unknown result type (might be due to invalid IL or missing references)
		GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion();
		characterPrefab = PrefabAPI.InstantiateClone(val, "WendyBody", true);
		WendyTracker wendyTracker = characterPrefab.AddComponent<WendyTracker>();
		characterPrefab.GetComponent<NetworkIdentity>().localPlayerAuthority = true;
		Object.Destroy((Object)(object)((Component)characterPrefab.transform.Find("ModelBase")).gameObject);
		Object.Destroy((Object)(object)((Component)characterPrefab.transform.Find("CameraPivot")).gameObject);
		Object.Destroy((Object)(object)((Component)characterPrefab.transform.Find("AimOrigin")).gameObject);
		GameObject val2 = Assets.MainAssetBundle.LoadAsset<GameObject>("wendyMdl");
		PrintController val3 = val2.AddComponent<PrintController>();
		((Behaviour)val3).enabled = false;
		val3.printTime = 1.2f;
		val3.disableWhenFinished = false;
		val3.startingPrintHeight = 1.4f;
		val3.maxPrintHeight = 0f;
		val3.startingPrintBias = 10f;
		val3.maxPrintBias = 3.5f;
		val3.printCurve = AnimationCurve.Linear(0f, 1f, 1f, 0f);
		wendyTracker.DFParticles = val2.GetComponentsInChildren<ParticleSystem>();
		GameObject val4 = new GameObject("ModelBase");
		val4.transform.parent = characterPrefab.transform;
		val4.transform.localPosition = new Vector3(0f, -0.92f, 0f);
		val4.transform.localRotation = Quaternion.identity;
		val4.transform.localScale = new Vector3(1f, 1f, 1f);
		GameObject val5 = new GameObject("AimOrigin");
		val5.transform.parent = val4.transform;
		val5.transform.localPosition = new Vector3(0f, 0.5f, 0f);
		val5.transform.localRotation = Quaternion.identity;
		val5.transform.localScale = Vector3.one;
		Transform transform = val2.transform;
		transform.parent = val4.transform;
		transform.localPosition = Vector3.zero;
		transform.localScale = Vector3.one;
		transform.localRotation = Quaternion.identity;
		CharacterDirection component = characterPrefab.GetComponent<CharacterDirection>();
		component.targetTransform = val4.transform;
		component.modelAnimator = val2.GetComponentInChildren<Animator>();
		component.turnSpeed = 720f;
		CharacterBody component2 = characterPrefab.GetComponent<CharacterBody>();
		((Object)component2).name = "WendyBody";
		component2.baseNameToken = "WENDY_NAME";
		component2.subtitleNameToken = "WENDY_SUBTITLE";
		component2.bodyFlags = (BodyFlags)16;
		component2.rootMotionInMainState = false;
		component2.mainRootSpeed = 0f;
		component2.baseMaxHealth = 110f;
		component2.levelMaxHealth = 35f;
		component2.baseRegen = 1.5f;
		component2.levelRegen = 0.2f;
		component2.baseMaxShield = 0f;
		component2.levelMaxShield = 0f;
		component2.baseMoveSpeed = 7f;
		component2.levelMoveSpeed = 0f;
		component2.baseAcceleration = 110f;
		component2.baseJumpPower = 15f;
		component2.levelJumpPower = 0f;
		component2.baseDamage = 12f;
		component2.levelDamage = 2.4f;
		component2.baseAttackSpeed = 1f;
		component2.levelAttackSpeed = 0f;
		component2.baseCrit = 1f;
		component2.levelCrit = 0f;
		component2.baseArmor = 0f;
		component2.levelArmor = 0f;
		component2.baseJumpCount = 1;
		component2.sprintingSpeedMultiplier = 1.45f;
		component2.wasLucky = false;
		component2.hideCrosshair = false;
		component2.aimOriginTransform = val5.transform;
		component2.hullClassification = (HullClassification)0;
		component2.portraitIcon = (Texture)(object)Assets.MainAssetBundle.LoadAsset<Sprite>("portrait").texture;
		component2.isChampion = false;
		component2.currentVehicle = null;
		component2.skinIndex = 0u;
		component2.bodyColor = characterColor;
		CharacterMotor component3 = characterPrefab.GetComponent<CharacterMotor>();
		component3.walkSpeedPenaltyCoefficient = 1f;
		component3.characterDirection = component;
		component3.muteWalkMotion = false;
		component3.mass = 60f;
		component3.airControl = 0.25f;
		component3.disableAirControlUntilCollision = false;
		component3.generateParametersOnAwake = true;
		InputBankTest component4 = characterPrefab.GetComponent<InputBankTest>();
		component4.moveVector = Vector3.zero;
		CharacterCameraParams val6 = Object.Instantiate<CharacterCameraParams>(val.GetComponent<CameraTargetParams>().cameraParams);
		val6.data.idealLocalCameraPos = BlendableVector3.op_Implicit(Vector3.forward * -6f);
		CameraTargetParams component5 = characterPrefab.GetComponent<CameraTargetParams>();
		component5.cameraParams = val6;
		component5.cameraPivotTransform = null;
		component5.recoil = Vector2.zero;
		component5.dontRaycastToPivot = false;
		ModelLocator component6 = characterPrefab.GetComponent<ModelLocator>();
		component6.modelTransform = transform;
		component6.modelBaseTransform = val4.transform;
		component6.dontReleaseModelOnDeath = false;
		component6.autoUpdateModelTransform = true;
		component6.dontDetatchFromParent = false;
		component6.noCorpse = false;
		component6.normalizeToFloor = false;
		component6.preserveModel = false;
		ChildLocator component7 = val2.GetComponent<ChildLocator>();
		((Component)component7.FindChild("JetOn")).gameObject.AddComponent<HoverSoundBehaviour>();
		((Component)component7.FindChild("DFOn")).gameObject.AddComponent<HoverSoundBehaviour>();
		CharacterModel val7 = val2.AddComponent<CharacterModel>();
		SkinnedMeshRenderer[] componentsInChildren = val2.GetComponentsInChildren<SkinnedMeshRenderer>();
		List<RendererInfo> list = new List<RendererInfo>();
		for (int i = 0; i < componentsInChildren.Length; i++)
		{
			Material val8 = Utils.InstantiateMaterial(((Renderer)componentsInChildren[i]).material.mainTexture);
			((Renderer)componentsInChildren[i]).material = val8;
			list.Add(new RendererInfo
			{
				renderer = (Renderer)(object)componentsInChildren[i],
				defaultMaterial = val8,
				defaultShadowCastingMode = (ShadowCastingMode)1,
				ignoreOverlays = false
			});
		}
		RendererInfo[] array = list.ToArray();
		val7.body = component2;
		val7.baseRendererInfos = array;
		val7.autoPopulateLightInfos = true;
		val7.invisibilityCount = 0;
		val7.temporaryOverlays = new List<TemporaryOverlay>();
		val7.mainSkinnedMeshRenderer = componentsInChildren[0];
		transformModel = Object.Instantiate<GameObject>(val2, Prefabs.dashEffect.transform.parent);
		((Object)transformModel).name = "TransformModelEffect";
		transformModel.GetComponent<Animator>().runtimeAnimatorController = Assets.Load<RuntimeAnimatorController>("transformationAnimator");
		((Component)transformModel.GetComponent<ChildLocator>().FindChild("baseHead")).gameObject.SetActive(false);
		PrintController component8 = transformModel.GetComponent<PrintController>();
		component8.printCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f);
		component8.printTime = 0.45f;
		((Behaviour)component8).enabled = true;
		transformModel.AddComponent<DestroyOnTimer>().duration = 0.5f;
		Collider[] componentsInChildren2 = transformModel.GetComponentsInChildren<Collider>();
		foreach (Collider val9 in componentsInChildren2)
		{
			Object.Destroy((Object)(object)((Component)val9).gameObject);
		}
		CharacterModel component9 = transformModel.GetComponent<CharacterModel>();
		for (int k = 0; k < component9.baseRendererInfos.Length; k++)
		{
			component9.baseRendererInfos[k].defaultMaterial = new Material(component9.baseRendererInfos[k].defaultMaterial);
			component9.baseRendererInfos[k].defaultMaterial.SetTexture("_PrintRamp", (Texture)(object)Prefabs.Load<Texture2D>("RoR2/Base/Common/ColorRamps/texRampNearbyDamageBonus.png"));
		}
		deTransformModel = Object.Instantiate<GameObject>(transformModel, transformModel.transform.parent);
		((Object)deTransformModel).name = "DeTransformModelEffect";
		PrintController component10 = deTransformModel.GetComponent<PrintController>();
		component10.printCurve = AnimationCurve.Linear(0f, 1f, 1f, 0f);
		component10.printTime = 0.9f;
		deTransformModel.GetComponent<DestroyOnTimer>().duration = 1f;
		Collider[] componentsInChildren3 = deTransformModel.GetComponentsInChildren<Collider>();
		foreach (Collider val10 in componentsInChildren3)
		{
			Object.Destroy((Object)(object)((Component)val10).gameObject);
		}
		GameObject gameObject = ((Component)transform).gameObject;
		CharacterModel component11 = gameObject.GetComponent<CharacterModel>();
		ModelSkinController val11 = gameObject.AddComponent<ModelSkinController>();
		ChildLocator component12 = gameObject.GetComponent<ChildLocator>();
		LanguageAPI.Add("WENDYBODY_DEFAULT_SKIN_NAME", "Default");
		val11.skins = (SkinDef[])(object)new SkinDef[1] { LoadoutAPI.CreateNewSkinDef(Utils.CreateNewSkinDefInfo(componentsInChildren, gameObject, "WENDYBODY_DEFAULT_SKIN_NAME", array)) };
		((Component)component7.FindChild("dfHead")).gameObject.SetActive(false);
		HealthComponent component13 = characterPrefab.GetComponent<HealthComponent>();
		component13.health = component2.baseMaxHealth;
		component13.shield = 0f;
		component13.barrier = 0f;
		component13.magnetiCharge = 0f;
		component13.body = null;
		component13.dontShowHealthbar = false;
		characterPrefab.GetComponent<Interactor>().maxInteractionDistance = 3f;
		characterPrefab.GetComponent<InteractionDriver>().highlightInteractor = true;
		SfxLocator component14 = characterPrefab.GetComponent<SfxLocator>();
		component14.deathSound = "Play_ui_player_death";
		component14.barkSound = "";
		component14.openSound = "";
		component14.landingSound = "Play_char_land";
		component14.fallDamageSound = "Play_char_land_fall_damage";
		component14.aliveLoopStart = "";
		component14.aliveLoopStop = "";
		characterPrefab.GetComponent<Rigidbody>().mass = 60f;
		Collider[] componentsInChildren4 = val2.GetComponentsInChildren<Collider>();
		HurtBoxGroup val12 = val2.AddComponent<HurtBoxGroup>();
		List<HurtBox> list2 = new List<HurtBox>();
		Collider[] array2 = componentsInChildren4;
		foreach (Collider val13 in array2)
		{
			HurtBox val14 = ((Component)val13).gameObject.AddComponent<HurtBox>();
			((Component)val14).gameObject.layer = LayerIndex.entityPrecise.intVal;
			val14.healthComponent = component13;
			val14.isBullseye = true;
			val14.damageModifier = (DamageModifier)0;
			val14.hurtBoxGroup = val12;
			val14.indexInGroup = 0;
			val12.mainHurtBox = val14;
			val12.bullseyeCount = 1;
			list2.Add(val14);
		}
		val12.hurtBoxes = list2.ToArray();
		KinematicCharacterMotor component15 = characterPrefab.GetComponent<KinematicCharacterMotor>();
		component15.CharacterController = (BaseCharacterController)(object)component3;
		FootstepHandler val15 = val2.AddComponent<FootstepHandler>();
		val15.baseFootstepString = "Play_player_footstep";
		val15.sprintFootstepOverrideString = "";
		val15.enableFootstepDust = true;
		val15.footstepDustPrefab = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/VFX/GenericFootstepDust.prefab").WaitForCompletion();
		EntityStateMachine component16 = ((Component)component2).GetComponent<EntityStateMachine>();
		component16.mainStateType = new SerializableEntityStateType(typeof(CharacterMain));
		CharacterDeathBehavior component17 = characterPrefab.GetComponent<CharacterDeathBehavior>();
		component17.deathStateMachine = characterPrefab.GetComponent<EntityStateMachine>();
		component17.deathState = new SerializableEntityStateType(typeof(DeathState));
		Utils.NewStateMachine<Idle>(characterPrefab, "Jet");
		Utils.NewStateMachine<Flight>(characterPrefab, "Hover");
		NetworkStateMachine component18 = ((Component)component2).GetComponent<NetworkStateMachine>();
		component18.stateMachines = ((Component)component2).GetComponents<EntityStateMachine>();
		ContentAddition.AddBody(characterPrefab);
	}

	private void RegisterCharacter()
	{
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		string text = "Wendy is a small support character, able to heal and support her Teammates with her Wind magic. Her primary goal is to keep her teammates alive. To be able to do this and have a chance of reviving her teammates she can get some space using her more offensive Dragonslayer form.<style=cSub>\r\n\r\n< ! > Wendy can use her Dragonslayer form to fly, get at higher positions and gain mobility.\r\n\r\n< ! > Wendy can revive a teammate, marked by a beacon.\r\n\r\n< ! > Wendy can defend her team against Heavy damage with her Aoe spheare.\r\n\r\n";
		string text2 = "...after this hard battle, she returned to Fairy Tail.";
		string text3 = "..and so she vanished.";
		LanguageAPI.Add("WENDY_NAME", "Wendy");
		LanguageAPI.Add("WENDY_DESCRIPTION", text);
		LanguageAPI.Add("WENDY_SUBTITLE", "");
		LanguageAPI.Add("WENDY_OUTRO", text2);
		LanguageAPI.Add("WENDY_FAIL", text3);
		SurvivorDef val = ScriptableObject.CreateInstance<Surviv