Decompiled source of MoreElites v1.0.4

MoreElites.dll

Decompiled 5 hours ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using On.RoR2;
using R2API;
using RoR2;
using RoR2.Navigation;
using RoR2.Projectile;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Networking;
using UnityEngine.Rendering;

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

public class Echo
{
	public class CustomAffixEchoBehavior : ItemBehavior
	{
		private DeployableMinionSpawner echoSpawner1;

		private DeployableMinionSpawner echoSpawner2;

		private CharacterSpawnCard spawnCard;

		private List<CharacterMaster> spawnedEchoes = new List<CharacterMaster>();

		private void FixedUpdate()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			((SpawnCard)spawnCard).nodeGraphType = (GraphType)(base.body.isFlying ? 1 : 0);
		}

		private void Awake()
		{
			((Behaviour)this).enabled = false;
			Util.PlaySound("Play_voidRaid_fog_explode", ((Component)this).gameObject);
		}

		private void OnEnable()
		{
			//IL_0007: 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_0011: 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_0065: 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_0080: Unknown result type (might be due to invalid IL or missing references)
			MasterIndex val = MasterCatalog.FindAiMasterIndexForBody(base.body.bodyIndex);
			spawnCard = ScriptableObject.CreateInstance<CharacterSpawnCard>();
			((SpawnCard)spawnCard).prefab = MasterCatalog.GetMasterPrefab(val);
			spawnCard.inventoryToCopy = base.body.inventory;
			spawnCard.equipmentToGrant = (EquipmentDef[])(object)new EquipmentDef[1];
			spawnCard.itemsToGrant = (ItemCountPair[])(object)new ItemCountPair[1]
			{
				new ItemCountPair
				{
					itemDef = SummonedEcho,
					count = 1
				}
			};
			CreateSpawners();
		}

		private void OnDisable()
		{
			Object.Destroy((Object)(object)spawnCard);
			spawnCard = null;
			for (int num = spawnedEchoes.Count - 1; num >= 0; num--)
			{
				if (Object.op_Implicit((Object)(object)spawnedEchoes[num]))
				{
					spawnedEchoes[num].TrueKill();
				}
			}
			DestroySpawners();
		}

		private void CreateSpawners()
		{
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Expected O, but got Unknown
			Xoroshiro128Plus rng = new Xoroshiro128Plus(Run.instance.seed ^ (ulong)((Object)this).GetInstanceID());
			CreateSpawner(ref echoSpawner1, (DeployableSlot)12, (SpawnCard)(object)spawnCard);
			CreateSpawner(ref echoSpawner2, (DeployableSlot)13, (SpawnCard)(object)spawnCard);
			void CreateSpawner(ref DeployableMinionSpawner buddySpawner, DeployableSlot deployableSlot, SpawnCard spawnCard)
			{
				//IL_000d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0015: Unknown result type (might be due to invalid IL or missing references)
				//IL_001a: 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_002d: Expected O, but got Unknown
				buddySpawner = new DeployableMinionSpawner(base.body.master, deployableSlot, rng)
				{
					respawnInterval = 30f,
					spawnCard = spawnCard
				};
				buddySpawner.onMinionSpawnedServer += OnMinionSpawnedServer;
			}
		}

		private void DestroySpawners()
		{
			DeployableMinionSpawner obj = echoSpawner1;
			if (obj != null)
			{
				obj.Dispose();
			}
			echoSpawner1 = null;
			DeployableMinionSpawner obj2 = echoSpawner2;
			if (obj2 != null)
			{
				obj2.Dispose();
			}
			echoSpawner2 = null;
		}

		private void OnMinionSpawnedServer(SpawnResult spawnResult)
		{
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			GameObject spawnedInstance = spawnResult.spawnedInstance;
			if (!Object.op_Implicit((Object)(object)spawnedInstance))
			{
				return;
			}
			CharacterMaster spawnedMaster = spawnedInstance.GetComponent<CharacterMaster>();
			if (Object.op_Implicit((Object)(object)spawnedMaster))
			{
				spawnedEchoes.Add(spawnedMaster);
				OnDestroyCallback.AddCallback(((Component)spawnedMaster).gameObject, (Action<OnDestroyCallback>)delegate
				{
					spawnedEchoes.Remove(spawnedMaster);
				});
			}
		}
	}

	public class CustomSummonedEchoBodyBehavior : MonoBehaviour
	{
		private float fireTimer;

		private float fireInterval = 3f;

		private float normalBaseDamage = 24f;

		private float normalLevelDamage = 4.8f;

		private float championBaseDamage = 32f;

		private float championLevelDamage = 7.2f;

		private CharacterBody body;

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

		private void FixedUpdate()
		{
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: 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_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: 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_0116: Unknown result type (might be due to invalid IL or missing references)
			//IL_011b: 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_014d: Unknown result type (might be due to invalid IL or missing references)
			fireTimer += Time.fixedDeltaTime;
			if (!((double)fireTimer < (double)fireInterval))
			{
				fireTimer %= 1f;
				if (!Object.op_Implicit((Object)(object)body.healthComponent) || body.healthComponent.alive)
				{
					float damage = ((!body.isChampion) ? (normalBaseDamage + normalLevelDamage * body.level) : (championBaseDamage + championLevelDamage * body.level));
					ProjectileManager.instance.FireProjectile(new FireProjectileInfo
					{
						crit = false,
						damage = damage,
						damageColorIndex = (DamageColorIndex)0,
						damageTypeOverride = DamageTypeCombo.op_Implicit((DamageType)8),
						owner = ((Component)body).gameObject,
						position = body.aimOrigin,
						rotation = Quaternion.LookRotation(Vector3.up),
						procChainMask = default(ProcChainMask),
						projectilePrefab = echoProjectile,
						force = 400f,
						target = null
					});
				}
			}
		}
	}

	public static Color AffixEchoColor = Color.black;

	public static EquipmentDef AffixEchoEquipment;

	public static BuffDef AffixEchoBuff;

	public static EliteDef AffixEchoElite;

	public static ItemDef SummonedEcho = Addressables.LoadAssetAsync<ItemDef>((object)"RoR2/InDev/SummonedEcho.asset").WaitForCompletion();

	public static float healthMult = MoreElites.t2HealthMult.Value;

	public static float damageMult = MoreElites.t2DamageMult.Value;

	public static float affixDropChance = 0.00025f;

	private static GameObject echoProjectile = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/InDev/EchoHunterProjectile.prefab").WaitForCompletion();

	private static GameObject celestineHalo = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteHaunted/DisplayEliteStealthCrown.prefab").WaitForCompletion(), "EchoCrown");

	private static Material echoMat = Addressables.LoadAssetAsync<Material>((object)"RoR2/InDev/matEcho.mat").WaitForCompletion();

	private static Material overlayMat = Addressables.LoadAssetAsync<Material>((object)"RoR2/DLC1/voidoutro/matVoidRaidCrabEyeOverlay1BLUE.mat").WaitForCompletion();

	private static Texture2D eliteRamp = Addressables.LoadAssetAsync<Texture2D>((object)"RoR2/Base/Common/ColorRamps/texRampShadowClone.png").WaitForCompletion();

	private static Sprite eliteIcon = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/EliteIce/texBuffAffixWhite.tif").WaitForCompletion();

	private static Sprite aspectIcon = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/DLC1/EliteEarth/texAffixEarthIcon.png").WaitForCompletion();

	public Echo()
	{
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Expected O, but got Unknown
		//IL_006a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0074: Expected O, but got Unknown
		//IL_007c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Expected O, but got Unknown
		//IL_008e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0098: Expected O, but got Unknown
		//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00aa: Expected O, but got Unknown
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Expected O, but got Unknown
		celestineHalo.AddComponent<NetworkIdentity>();
		AddLanguageTokens();
		SetupBuff();
		SetupEquipment();
		SetupElite();
		AddContent();
		EliteRamp.AddRamp(AffixEchoElite, eliteRamp);
		ContentAddition.AddItemDef(SummonedEcho);
		RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(ReduceSummonHP);
		CharacterMaster.OnBodyStart += new hook_OnBodyStart(CharacterMaster_OnBodyStart);
		CharacterBody.OnBuffFirstStackGained += new hook_OnBuffFirstStackGained(CharacterBody_OnBuffFirstStackGained);
		CharacterBody.OnBuffFinalStackLost += new hook_OnBuffFinalStackLost(CharacterBody_OnBuffFinalStackLost);
		CharacterModel.UpdateOverlays += new hook_UpdateOverlays(CharacterModel_UpdateOverlays);
		CombatDirector.Init += new hook_Init(CombatDirector_Init);
	}

	private void CombatDirector_Init(orig_Init orig)
	{
		orig.Invoke();
		if (EliteAPI.VanillaEliteTiers.Length > 3)
		{
			EliteTierDef val = EliteAPI.VanillaEliteTiers[3];
			List<EliteDef> list = val.eliteTypes.ToList();
			list.Add(AffixEchoElite);
			val.eliteTypes = list.ToArray();
		}
	}

	private void ReduceSummonHP(CharacterBody sender, StatHookEventArgs args)
	{
		if (Object.op_Implicit((Object)(object)sender) && Object.op_Implicit((Object)(object)sender.inventory))
		{
			int itemCount = sender.inventory.GetItemCount(SummonedEcho);
			if (itemCount > 0)
			{
				args.baseCurseAdd += Mathf.Pow(10f, (float)itemCount) - 1f;
			}
		}
	}

	private void CharacterMaster_OnBodyStart(orig_OnBodyStart orig, CharacterMaster self, CharacterBody body)
	{
		orig.Invoke(self, body);
		if (Object.op_Implicit((Object)(object)self.inventory) && self.inventory.GetItemCount(SummonedEcho) > 0)
		{
			((Component)body).gameObject.AddComponent<CustomSummonedEchoBodyBehavior>();
		}
	}

	private void CharacterModel_UpdateOverlays(orig_UpdateOverlays orig, CharacterModel self)
	{
		orig.Invoke(self);
		if (Object.op_Implicit((Object)(object)self.body) && Object.op_Implicit((Object)(object)self.body.inventory) && self.activeOverlayCount < CharacterModel.maxOverlays)
		{
			if (self.body.HasBuff(AffixEchoBuff))
			{
				Material[] currentOverlays = self.currentOverlays;
				int activeOverlayCount = self.activeOverlayCount;
				self.activeOverlayCount = activeOverlayCount + 1;
				currentOverlays[activeOverlayCount] = overlayMat;
			}
			if (self.body.inventory.GetItemCount(SummonedEcho) > 0)
			{
				Material[] currentOverlays2 = self.currentOverlays;
				int activeOverlayCount2 = self.activeOverlayCount;
				self.activeOverlayCount = activeOverlayCount2 + 1;
				currentOverlays2[activeOverlayCount2] = echoMat;
			}
		}
	}

	private void CharacterBody_OnBuffFirstStackGained(orig_OnBuffFirstStackGained orig, CharacterBody self, BuffDef buffDef)
	{
		orig.Invoke(self, buffDef);
		if ((Object)(object)buffDef == (Object)(object)AffixEchoBuff)
		{
			self.AddItemBehavior<CustomAffixEchoBehavior>(1);
		}
	}

	private void CharacterBody_OnBuffFinalStackLost(orig_OnBuffFinalStackLost orig, CharacterBody self, BuffDef buffDef)
	{
		orig.Invoke(self, buffDef);
		if ((Object)(object)buffDef == (Object)(object)AffixEchoBuff)
		{
			self.AddItemBehavior<CustomAffixEchoBehavior>(0);
		}
	}

	private void AddContent()
	{
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_003c: Expected O, but got Unknown
		ItemDisplays itemDisplays = new ItemDisplays();
		ContentAddition.AddEliteDef(AffixEchoElite);
		ContentAddition.AddBuffDef(AffixEchoBuff);
		ItemAPI.Add(new CustomEquipment(AffixEchoEquipment, itemDisplays.CreateItemDisplayRules(celestineHalo, echoMat)));
	}

	private void SetupBuff()
	{
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		AffixEchoBuff = ScriptableObject.CreateInstance<BuffDef>();
		((Object)AffixEchoBuff).name = "AffixEchoBuff";
		AffixEchoBuff.canStack = false;
		AffixEchoBuff.isCooldown = false;
		AffixEchoBuff.isDebuff = false;
		AffixEchoBuff.buffColor = AffixEchoColor;
		AffixEchoBuff.iconSprite = eliteIcon;
		((Object)AffixEchoBuff).name = ((Object)AffixEchoBuff).name;
	}

	private void SetupEquipment()
	{
		//IL_003d: 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_00b4: Unknown result type (might be due to invalid IL or missing references)
		AffixEchoEquipment = ScriptableObject.CreateInstance<EquipmentDef>();
		AffixEchoEquipment.appearsInMultiPlayer = true;
		AffixEchoEquipment.appearsInSinglePlayer = true;
		AffixEchoEquipment.canBeRandomlyTriggered = false;
		AffixEchoEquipment.canDrop = false;
		AffixEchoEquipment.colorIndex = (ColorIndex)5;
		AffixEchoEquipment.cooldown = 0f;
		AffixEchoEquipment.isLunar = false;
		AffixEchoEquipment.isBoss = false;
		AffixEchoEquipment.passiveBuffDef = AffixEchoBuff;
		AffixEchoEquipment.dropOnDeathChance = affixDropChance * 0.01f;
		AffixEchoEquipment.enigmaCompatible = false;
		AffixEchoEquipment.pickupIconSprite = aspectIcon;
		AffixEchoEquipment.pickupModelPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteFire/PickupEliteFire.prefab").WaitForCompletion(), "PickupAffixEcho", false);
		Renderer[] componentsInChildren = AffixEchoEquipment.pickupModelPrefab.GetComponentsInChildren<Renderer>();
		foreach (Renderer val in componentsInChildren)
		{
			val.material = echoMat;
		}
		AffixEchoEquipment.nameToken = "EQUIPMENT_AFFIX_Echo_NAME";
		((Object)AffixEchoEquipment).name = "AffixEcho";
		AffixEchoEquipment.pickupToken = "Aspect of Echo";
		AffixEchoEquipment.descriptionToken = "Summon 2 copies of yourself";
		AffixEchoEquipment.loreToken = "";
	}

	private void SetupElite()
	{
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		AffixEchoElite = ScriptableObject.CreateInstance<EliteDef>();
		AffixEchoElite.color = Color32.op_Implicit(AffixEchoColor);
		AffixEchoElite.eliteEquipmentDef = AffixEchoEquipment;
		AffixEchoElite.modifierToken = "ELITE_MODIFIER_Echo";
		((Object)AffixEchoElite).name = "EliteEcho";
		AffixEchoElite.healthBoostCoefficient = healthMult;
		AffixEchoElite.damageBoostCoefficient = damageMult;
		AffixEchoBuff.eliteDef = AffixEchoElite;
		((Object)AffixEchoElite).name = "EliteEcho";
	}

	private void AddLanguageTokens()
	{
		LanguageAPI.Add("ELITE_MODIFIER_Echo", "Echo {0}");
		LanguageAPI.Add("EQUIPMENT_AFFIX_Echo_NAME", "Echo Aspect");
	}
}
public class Empowering
{
	public static Color AffixEmpoweringColor = new Color(1f, 0.5f, 0f);

	public static EquipmentDef AffixEmpoweringEquipment;

	public static BuffDef AffixEmpoweringBuff;

	public static EliteDef AffixEmpoweringElite;

	public static float healthMult = 4f;

	public static float damageMult = 2f;

	public static float affixDropChance = 0.00025f;

	private static GameObject EmpoweringWard = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteHaunted/AffixHauntedWard.prefab").WaitForCompletion(), "EmpoweringWard");

	private static Material empoweringMat = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/WardOnLevel/matWarbannerBuffRing.mat").WaitForCompletion();

	private static Texture2D eliteRamp = Addressables.LoadAssetAsync<Texture2D>((object)"RoR2/Base/Common/ColorRamps/texRampMagmaWorm.png").WaitForCompletion();

	private static Sprite eliteIcon = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/EliteIce/texBuffAffixWhite.tif").WaitForCompletion();

	private static Sprite aspectIcon = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/DLC1/EliteEarth/texAffixEarthIcon.png").WaitForCompletion();

	public Empowering()
	{
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Expected O, but got Unknown
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Expected O, but got Unknown
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0096: Expected O, but got Unknown
		((Renderer)((Component)EmpoweringWard.transform.GetChild(0).GetChild(0)).GetComponent<MeshRenderer>()).material = empoweringMat;
		AddLanguageTokens();
		SetupBuff();
		SetupEquipment();
		SetupElite();
		AddContent();
		EliteRamp.AddRamp(AffixEmpoweringElite, eliteRamp);
		CharacterBody.OnBuffFirstStackGained += new hook_OnBuffFirstStackGained(CharacterBody_OnBuffFirstStackGained);
		CharacterBody.OnBuffFinalStackLost += new hook_OnBuffFinalStackLost(CharacterBody_OnBuffFinalStackLost);
		CombatDirector.Init += new hook_Init(CombatDirector_Init);
	}

	private void CombatDirector_Init(orig_Init orig)
	{
		orig.Invoke();
		if (EliteAPI.VanillaEliteTiers.Length > 2)
		{
			EliteTierDef val = EliteAPI.VanillaEliteTiers[2];
			List<EliteDef> list = val.eliteTypes.ToList();
			AffixEmpoweringElite.healthBoostCoefficient = 2.5f;
			AffixEmpoweringElite.damageBoostCoefficient = 1.5f;
			list.Add(AffixEmpoweringElite);
			val.eliteTypes = list.ToArray();
		}
		if (EliteAPI.VanillaEliteTiers.Length > 1)
		{
			EliteTierDef val2 = EliteAPI.VanillaEliteTiers[1];
			List<EliteDef> list2 = val2.eliteTypes.ToList();
			AffixEmpoweringElite.healthBoostCoefficient = 4f;
			AffixEmpoweringElite.damageBoostCoefficient = 2f;
			list2.Add(AffixEmpoweringElite);
			val2.eliteTypes = list2.ToArray();
		}
	}

	private void CharacterBody_OnBuffFirstStackGained(orig_OnBuffFirstStackGained orig, CharacterBody self, BuffDef buffDef)
	{
		//IL_003b: Unknown result type (might be due to invalid IL or missing references)
		orig.Invoke(self, buffDef);
		if ((Object)(object)buffDef == (Object)(object)AffixEmpoweringBuff)
		{
			GameObject val = Object.Instantiate<GameObject>(EmpoweringWard);
			BuffWard component = val.GetComponent<BuffWard>();
			val.GetComponent<TeamFilter>().teamIndex = self.teamComponent.teamIndex;
			component.buffDef = Buffs.Warbanner;
			component.Networkradius = 25f + self.radius;
			val.GetComponent<NetworkedBodyAttachment>().AttachToGameObjectAndSpawn(((Component)self).gameObject, (string)null);
			Object.Destroy((Object)(object)val.GetComponent<AkEvent>());
			Object.Destroy((Object)(object)val.GetComponent<AkEvent>());
			Object.Destroy((Object)(object)val.GetComponent<AkGameObj>());
		}
	}

	private void CharacterBody_OnBuffFinalStackLost(orig_OnBuffFinalStackLost orig, CharacterBody self, BuffDef buffDef)
	{
		orig.Invoke(self, buffDef);
		if ((Object)(object)buffDef == (Object)(object)AffixEmpoweringBuff)
		{
			BuffWard componentInChildren = ((Component)self).gameObject.GetComponentInChildren<BuffWard>();
			Object.Destroy((Object)(object)componentInChildren);
		}
	}

	private void AddContent()
	{
		ContentAddition.AddEliteDef(AffixEmpoweringElite);
		ContentAddition.AddBuffDef(AffixEmpoweringBuff);
		ContentAddition.AddEquipmentDef(AffixEmpoweringEquipment);
	}

	private void SetupBuff()
	{
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		AffixEmpoweringBuff = ScriptableObject.CreateInstance<BuffDef>();
		((Object)AffixEmpoweringBuff).name = "EliteEmpoweringBuff";
		AffixEmpoweringBuff.canStack = false;
		AffixEmpoweringBuff.isCooldown = false;
		AffixEmpoweringBuff.isDebuff = false;
		AffixEmpoweringBuff.buffColor = AffixEmpoweringColor;
		AffixEmpoweringBuff.iconSprite = eliteIcon;
		((Object)AffixEmpoweringBuff).name = ((Object)AffixEmpoweringBuff).name;
	}

	private void SetupEquipment()
	{
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		AffixEmpoweringEquipment = ScriptableObject.CreateInstance<EquipmentDef>();
		AffixEmpoweringEquipment.appearsInMultiPlayer = true;
		AffixEmpoweringEquipment.appearsInSinglePlayer = true;
		AffixEmpoweringEquipment.canBeRandomlyTriggered = false;
		AffixEmpoweringEquipment.canDrop = false;
		AffixEmpoweringEquipment.colorIndex = (ColorIndex)5;
		AffixEmpoweringEquipment.cooldown = 0f;
		AffixEmpoweringEquipment.isLunar = false;
		AffixEmpoweringEquipment.isBoss = false;
		AffixEmpoweringEquipment.passiveBuffDef = AffixEmpoweringBuff;
		AffixEmpoweringEquipment.dropOnDeathChance = affixDropChance;
		AffixEmpoweringEquipment.enigmaCompatible = false;
		AffixEmpoweringEquipment.pickupIconSprite = aspectIcon;
		AffixEmpoweringEquipment.pickupModelPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteFire/PickupEliteFire.prefab").WaitForCompletion(), "PickupAffixEmpowering", false);
		Renderer[] componentsInChildren = AffixEmpoweringEquipment.pickupModelPrefab.GetComponentsInChildren<Renderer>();
		foreach (Renderer val in componentsInChildren)
		{
			val.material = empoweringMat;
		}
		AffixEmpoweringEquipment.nameToken = "EQUIPMENT_AFFIX_EMPOWERING_NAME";
		((Object)AffixEmpoweringEquipment).name = "AffixEmpowering";
		AffixEmpoweringEquipment.pickupToken = "Aspect of Empowering";
		AffixEmpoweringEquipment.descriptionToken = "Buffed move/atk speed of allies";
		AffixEmpoweringEquipment.loreToken = "";
	}

	private void SetupElite()
	{
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		AffixEmpoweringElite = ScriptableObject.CreateInstance<EliteDef>();
		AffixEmpoweringElite.color = Color32.op_Implicit(AffixEmpoweringColor);
		AffixEmpoweringElite.eliteEquipmentDef = AffixEmpoweringEquipment;
		AffixEmpoweringElite.modifierToken = "ELITE_MODIFIER_EMPOWERING";
		((Object)AffixEmpoweringElite).name = "EliteEmpowering";
		AffixEmpoweringElite.healthBoostCoefficient = healthMult;
		AffixEmpoweringElite.damageBoostCoefficient = damageMult;
		AffixEmpoweringBuff.eliteDef = AffixEmpoweringElite;
		((Object)AffixEmpoweringElite).name = "EliteEmpowering";
	}

	private void AddLanguageTokens()
	{
		LanguageAPI.Add("ELITE_MODIFIER_EMPOWERING", "Empowering {0}");
		LanguageAPI.Add("EQUIPMENT_AFFIX_EMPOWERING_NAME", "Empowering Aspect");
	}
}
public class Frenzied
{
	public class FrenziedTeleportController : MonoBehaviour
	{
		private float fireTimer;

		private float fireInterval = 10f;

		private GameObject blinkPrefab = blinkEffect;

		private CharacterBody body;

		private Vector3 blinkDestination = Vector3.zero;

		private Vector3 blinkStart = Vector3.zero;

		private float shortBlinkDistance = 25f;

		private float blinkDistance = 50f;

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

		private void FixedUpdate()
		{
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			if (body.isPlayerControlled)
			{
				return;
			}
			fireTimer += Time.fixedDeltaTime;
			if (!((double)fireTimer < (double)fireInterval) && (!Object.op_Implicit((Object)(object)body.healthComponent) || body.healthComponent.alive))
			{
				fireTimer %= 1f;
				CalculateBlinkDestination();
				if (!(blinkStart == blinkDestination))
				{
					((MonoBehaviour)this).StartCoroutine(Teleport());
				}
			}
		}

		public IEnumerator Teleport()
		{
			Util.PlaySound("Play_parent_teleport", ((Component)this).gameObject);
			CreateBlinkEffect(Util.GetCorePosition(((Component)this).gameObject));
			TeleportHelper.TeleportBody(body, blinkDestination, false);
			yield return (object)new WaitForSeconds(0.33f);
			CreateBlinkEffect(Util.GetCorePosition(((Component)this).gameObject));
		}

		private void CreateBlinkEffect(Vector3 origin)
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: 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_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Expected O, but got Unknown
			if (Object.op_Implicit((Object)(object)blinkPrefab))
			{
				EffectManager.SpawnEffect(blinkPrefab, new EffectData
				{
					rotation = Util.QuaternionSafeLookRotation(blinkDestination - blinkStart),
					origin = origin,
					scale = body.radius
				}, false);
			}
		}

		private void CalculateBlinkDestination()
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_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_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Expected O, but got Unknown
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_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_00a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: 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_00fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0101: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: 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_0113: 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_011d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0122: 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_0164: Unknown result type (might be due to invalid IL or missing references)
			//IL_0169: 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_014c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0157: Unknown result type (might be due to invalid IL or missing references)
			//IL_015c: 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_01db: 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_01f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0203: Unknown result type (might be due to invalid IL or missing references)
			//IL_020e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0219: Unknown result type (might be due to invalid IL or missing references)
			//IL_021e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0223: Unknown result type (might be due to invalid IL or missing references)
			//IL_0228: Unknown result type (might be due to invalid IL or missing references)
			//IL_024e: Unknown result type (might be due to invalid IL or missing references)
			Vector3 val = Vector3.zero;
			Ray val2 = (Object.op_Implicit((Object)(object)body.inputBank) ? new Ray(body.inputBank.aimOrigin, body.inputBank.aimDirection) : new Ray(((Component)this).transform.position, ((Component)this).transform.forward));
			BullseyeSearch val3 = new BullseyeSearch();
			val3.searchOrigin = ((Ray)(ref val2)).origin;
			val3.searchDirection = ((Ray)(ref val2)).direction;
			val3.maxDistanceFilter = blinkDistance;
			val3.teamMaskFilter = TeamMask.allButNeutral;
			val3.filterByLoS = false;
			((TeamMask)(ref val3.teamMaskFilter)).RemoveTeam(TeamComponent.GetObjectTeam(((Component)this).gameObject));
			val3.sortMode = (SortMode)2;
			val3.RefreshCandidates();
			HurtBox val4 = val3.GetResults().FirstOrDefault();
			if (Object.op_Implicit((Object)(object)val4) && !body.isPlayerControlled)
			{
				Vector3 val5 = ((Component)val4).transform.position - ((Component)this).transform.position;
				float num = 15f;
				val = val5 + Vector2.op_Implicit(num * Random.insideUnitCircle);
			}
			else if (Object.op_Implicit((Object)(object)body.inputBank))
			{
				val = body.inputBank.moveVector * shortBlinkDistance;
			}
			blinkDestination = ((Component)this).transform.position;
			blinkStart = ((Component)this).transform.position;
			NodeGraph val6 = (body.isFlying ? SceneInfo.instance.airNodes : SceneInfo.instance.groundNodes);
			if (((Object)body).name == "MinorConstructBody(Clone)")
			{
				val6 = SceneInfo.instance.groundNodes;
			}
			val6.GetNodePosition(val6.FindClosestNode(((Component)this).transform.position + val, body.hullClassification, float.PositiveInfinity), ref blinkDestination);
			blinkDestination += ((Component)this).transform.position - body.footPosition;
			if (Object.op_Implicit((Object)(object)body.characterDirection))
			{
				body.characterDirection.forward = val;
			}
		}
	}

	public static Color AffixFrenziedColor = Color.yellow;

	public static Color AffixFrenziedLightColor = Color.yellow;

	public static EquipmentDef AffixFrenziedEquipment;

	public static BuffDef AffixFrenziedBuff;

	public static EliteDef AffixFrenziedElite;

	public static float healthMult = 4f;

	public static float damageMult = 2f;

	public static float affixDropChance = 0.00025f;

	private static Material warbannerMat = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/WardOnLevel/matWarbannerSphereIndicator.mat").WaitForCompletion();

	private static GameObject blinkEffect = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Junk/Treebot/SonicBoomEffect.prefab").WaitForCompletion();

	private static GameObject blinkEffect2 = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/DLC1/VoidSuppressor/SuppressorRetreatToShellEffect.prefab").WaitForCompletion();

	private static Material FrenziedMat = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/WardOnLevel/matWarbannerBuffRing.mat").WaitForCompletion();

	private static Texture2D eliteRamp = Addressables.LoadAssetAsync<Texture2D>((object)"RoR2/Base/Common/ColorRamps/texRampWarbanner2.png").WaitForCompletion();

	private static Sprite eliteIcon = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/EliteIce/texBuffAffixWhite.tif").WaitForCompletion();

	private static Sprite aspectIcon = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/DLC1/EliteEarth/texAffixEarthIcon.png").WaitForCompletion();

	public Frenzied()
	{
		//IL_0042: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Expected O, but got Unknown
		//IL_0054: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Expected O, but got Unknown
		//IL_0066: Unknown result type (might be due to invalid IL or missing references)
		//IL_0070: Expected O, but got Unknown
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Expected O, but got Unknown
		//IL_008a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0094: Expected O, but got Unknown
		AddLanguageTokens();
		SetupBuff();
		SetupEquipment();
		SetupElite();
		AddContent();
		EliteRamp.AddRamp(AffixFrenziedElite, eliteRamp);
		RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(Frenzy);
		CharacterBody.OnBuffFirstStackGained += new hook_OnBuffFirstStackGained(CharacterBody_OnBuffFirstStackGained);
		CharacterBody.OnBuffFinalStackLost += new hook_OnBuffFinalStackLost(CharacterBody_OnBuffFinalStackLost);
		CombatDirector.Init += new hook_Init(CombatDirector_Init);
		EquipmentSlot.PerformEquipmentAction += new hook_PerformEquipmentAction(EquipmentSlot_PerformEquipmentAction);
	}

	private bool EquipmentSlot_PerformEquipmentAction(orig_PerformEquipmentAction orig, EquipmentSlot self, EquipmentDef equipmentDef)
	{
		bool flag = orig.Invoke(self, equipmentDef);
		if (!flag && (Object)(object)equipmentDef == (Object)(object)AffixFrenziedEquipment)
		{
			CharacterBody characterBody = self.characterBody;
			if (Object.op_Implicit((Object)(object)characterBody) && characterBody.isPlayerControlled && Object.op_Implicit((Object)(object)Run.instance))
			{
				Xoroshiro128Plus spawnRng = Run.instance.spawnRng;
				FrenziedTeleportController component = ((Component)characterBody).GetComponent<FrenziedTeleportController>();
				if (Object.op_Implicit((Object)(object)component))
				{
					((MonoBehaviour)self).StartCoroutine(component.Teleport());
				}
			}
			flag = true;
		}
		return flag;
	}

	private void CombatDirector_Init(orig_Init orig)
	{
		orig.Invoke();
		if (EliteAPI.VanillaEliteTiers.Length > 2)
		{
			EliteTierDef val = EliteAPI.VanillaEliteTiers[2];
			List<EliteDef> list = val.eliteTypes.ToList();
			AffixFrenziedElite.healthBoostCoefficient = 2.5f;
			AffixFrenziedElite.damageBoostCoefficient = 1.5f;
			list.Add(AffixFrenziedElite);
			val.eliteTypes = list.ToArray();
		}
		if (EliteAPI.VanillaEliteTiers.Length > 1)
		{
			EliteTierDef val2 = EliteAPI.VanillaEliteTiers[1];
			List<EliteDef> list2 = val2.eliteTypes.ToList();
			AffixFrenziedElite.healthBoostCoefficient = 4f;
			AffixFrenziedElite.damageBoostCoefficient = 2f;
			list2.Add(AffixFrenziedElite);
			val2.eliteTypes = list2.ToArray();
		}
	}

	private void Frenzy(CharacterBody sender, StatHookEventArgs args)
	{
		if (Object.op_Implicit((Object)(object)sender) && Object.op_Implicit((Object)(object)sender.inventory) && sender.HasBuff(AffixFrenziedBuff))
		{
			args.baseMoveSpeedAdd += 2f;
			args.attackSpeedMultAdd += 0.5f;
		}
	}

	private void CharacterBody_OnBuffFirstStackGained(orig_OnBuffFirstStackGained orig, CharacterBody self, BuffDef buffDef)
	{
		orig.Invoke(self, buffDef);
		if ((Object)(object)buffDef == (Object)(object)AffixFrenziedBuff)
		{
			((Component)self).gameObject.AddComponent<FrenziedTeleportController>();
		}
	}

	private void CharacterBody_OnBuffFinalStackLost(orig_OnBuffFinalStackLost orig, CharacterBody self, BuffDef buffDef)
	{
		orig.Invoke(self, buffDef);
		if ((Object)(object)buffDef == (Object)(object)AffixFrenziedBuff)
		{
			Object.Destroy((Object)(object)((Component)self).gameObject.GetComponent<FrenziedTeleportController>());
		}
	}

	private void AddContent()
	{
		ContentAddition.AddEliteDef(AffixFrenziedElite);
		ContentAddition.AddBuffDef(AffixFrenziedBuff);
		ContentAddition.AddEquipmentDef(AffixFrenziedEquipment);
	}

	private void SetupBuff()
	{
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		AffixFrenziedBuff = ScriptableObject.CreateInstance<BuffDef>();
		((Object)AffixFrenziedBuff).name = "EliteFrenziedBuff";
		AffixFrenziedBuff.canStack = false;
		AffixFrenziedBuff.isCooldown = false;
		AffixFrenziedBuff.isDebuff = false;
		AffixFrenziedBuff.buffColor = AffixFrenziedLightColor;
		((Object)AffixFrenziedBuff).name = ((Object)AffixFrenziedBuff).name;
		AffixFrenziedBuff.iconSprite = eliteIcon;
		((Object)AffixFrenziedBuff).name = ((Object)AffixFrenziedBuff).name;
	}

	private void SetupEquipment()
	{
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		AffixFrenziedEquipment = ScriptableObject.CreateInstance<EquipmentDef>();
		AffixFrenziedEquipment.appearsInMultiPlayer = true;
		AffixFrenziedEquipment.appearsInSinglePlayer = true;
		AffixFrenziedEquipment.canBeRandomlyTriggered = false;
		AffixFrenziedEquipment.canDrop = false;
		AffixFrenziedEquipment.colorIndex = (ColorIndex)5;
		AffixFrenziedEquipment.cooldown = 10f;
		AffixFrenziedEquipment.isLunar = false;
		AffixFrenziedEquipment.isBoss = false;
		AffixFrenziedEquipment.passiveBuffDef = AffixFrenziedBuff;
		AffixFrenziedEquipment.dropOnDeathChance = affixDropChance;
		AffixFrenziedEquipment.enigmaCompatible = false;
		AffixFrenziedEquipment.pickupIconSprite = aspectIcon;
		AffixFrenziedEquipment.pickupModelPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/EliteFire/PickupEliteFire.prefab").WaitForCompletion(), "PickupAffixFrenzied", false);
		Renderer[] componentsInChildren = AffixFrenziedEquipment.pickupModelPrefab.GetComponentsInChildren<Renderer>();
		foreach (Renderer val in componentsInChildren)
		{
			val.material = warbannerMat;
		}
		AffixFrenziedEquipment.nameToken = "EQUIPMENT_AFFIX_Frenzied_NAME";
		((Object)AffixFrenziedEquipment).name = "AffixFrenziedNuxlar";
		AffixFrenziedEquipment.pickupToken = "Aspect of Frenzy";
		AffixFrenziedEquipment.descriptionToken = "Buffed move/atk speed";
		AffixFrenziedEquipment.loreToken = "";
	}

	private void SetupElite()
	{
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Unknown result type (might be due to invalid IL or missing references)
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		AffixFrenziedElite = ScriptableObject.CreateInstance<EliteDef>();
		AffixFrenziedElite.color = Color32.op_Implicit(AffixFrenziedLightColor);
		AffixFrenziedElite.eliteEquipmentDef = AffixFrenziedEquipment;
		AffixFrenziedElite.modifierToken = "ELITE_MODIFIER_Frenzied";
		((Object)AffixFrenziedElite).name = "EliteFrenzied";
		((Object)AffixFrenziedElite).name = "EliteFrenzied";
		AffixFrenziedElite.healthBoostCoefficient = healthMult;
		AffixFrenziedElite.damageBoostCoefficient = damageMult;
		AffixFrenziedBuff.eliteDef = AffixFrenziedElite;
	}

	private void AddLanguageTokens()
	{
		LanguageAPI.Add("ELITE_MODIFIER_Frenzied", "Frenzied {0}");
		LanguageAPI.Add("EQUIPMENT_AFFIX_Frenzied_NAME", "Frenzied Aspect");
	}
}
public class ItemDisplays
{
	public GameObject ItemBodyModelPrefab;

	public static RendererInfo[] ItemDisplaySetup(GameObject obj, bool debugmode = false)
	{
		//IL_0053: Unknown result type (might be due to invalid IL or missing references)
		//IL_009d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
		List<Renderer> list = new List<Renderer>();
		MeshRenderer[] componentsInChildren = obj.GetComponentsInChildren<MeshRenderer>();
		if (componentsInChildren.Length != 0)
		{
			list.AddRange((IEnumerable<Renderer>)(object)componentsInChildren);
		}
		SkinnedMeshRenderer[] componentsInChildren2 = obj.GetComponentsInChildren<SkinnedMeshRenderer>();
		if (componentsInChildren2.Length != 0)
		{
			list.AddRange((IEnumerable<Renderer>)(object)componentsInChildren2);
		}
		RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[list.Count];
		for (int i = 0; i < list.Count; i++)
		{
			array[i] = new RendererInfo
			{
				defaultMaterial = ((list[i] is SkinnedMeshRenderer) ? list[i].sharedMaterial : list[i].material),
				renderer = list[i],
				defaultShadowCastingMode = (ShadowCastingMode)1,
				ignoreOverlays = false
			};
		}
		return array;
	}

	public ItemDisplayRuleDict CreateItemDisplayRules(GameObject prefab, Material material)
	{
		//IL_0040: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_0056: 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_008e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: 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_00ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0122: 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_013d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0142: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Unknown result type (might be due to invalid IL or missing references)
		//IL_015d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0162: Unknown result type (might be due to invalid IL or missing references)
		//IL_0163: Unknown result type (might be due to invalid IL or missing references)
		//IL_017e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0187: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0212: Unknown result type (might be due to invalid IL or missing references)
		//IL_021b: Unknown result type (might be due to invalid IL or missing references)
		//IL_024a: Unknown result type (might be due to invalid IL or missing references)
		//IL_024f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0265: Unknown result type (might be due to invalid IL or missing references)
		//IL_026a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0280: Unknown result type (might be due to invalid IL or missing references)
		//IL_0285: Unknown result type (might be due to invalid IL or missing references)
		//IL_028a: Unknown result type (might be due to invalid IL or missing references)
		//IL_028b: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02af: Unknown result type (might be due to invalid IL or missing references)
		//IL_02de: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_0314: Unknown result type (might be due to invalid IL or missing references)
		//IL_0319: Unknown result type (might be due to invalid IL or missing references)
		//IL_031e: 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_033a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0343: Unknown result type (might be due to invalid IL or missing references)
		//IL_0372: Unknown result type (might be due to invalid IL or missing references)
		//IL_0377: Unknown result type (might be due to invalid IL or missing references)
		//IL_038d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0392: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0406: Unknown result type (might be due to invalid IL or missing references)
		//IL_040b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0421: Unknown result type (might be due to invalid IL or missing references)
		//IL_0426: Unknown result type (might be due to invalid IL or missing references)
		//IL_043c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0441: Unknown result type (might be due to invalid IL or missing references)
		//IL_0446: Unknown result type (might be due to invalid IL or missing references)
		//IL_0447: Unknown result type (might be due to invalid IL or missing references)
		//IL_0462: Unknown result type (might be due to invalid IL or missing references)
		//IL_046b: 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_04d0: 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_04db: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ff: 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_0564: 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_056f: Unknown result type (might be due to invalid IL or missing references)
		//IL_058a: 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_05c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_05fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0602: Unknown result type (might be due to invalid IL or missing references)
		//IL_0603: Unknown result type (might be due to invalid IL or missing references)
		//IL_061e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0627: Unknown result type (might be due to invalid IL or missing references)
		//IL_0656: Unknown result type (might be due to invalid IL or missing references)
		//IL_065b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0671: Unknown result type (might be due to invalid IL or missing references)
		//IL_0676: Unknown result type (might be due to invalid IL or missing references)
		//IL_068c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0691: Unknown result type (might be due to invalid IL or missing references)
		//IL_0696: Unknown result type (might be due to invalid IL or missing references)
		//IL_0697: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_06bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_0705: Unknown result type (might be due to invalid IL or missing references)
		//IL_070a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0720: Unknown result type (might be due to invalid IL or missing references)
		//IL_0725: Unknown result type (might be due to invalid IL or missing references)
		//IL_072a: Unknown result type (might be due to invalid IL or missing references)
		//IL_072b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0746: Unknown result type (might be due to invalid IL or missing references)
		//IL_074f: Unknown result type (might be due to invalid IL or missing references)
		//IL_077e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0783: Unknown result type (might be due to invalid IL or missing references)
		//IL_0799: Unknown result type (might be due to invalid IL or missing references)
		//IL_079e: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_07be: Unknown result type (might be due to invalid IL or missing references)
		//IL_07bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_07da: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0812: Unknown result type (might be due to invalid IL or missing references)
		//IL_0817: Unknown result type (might be due to invalid IL or missing references)
		//IL_082d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0832: Unknown result type (might be due to invalid IL or missing references)
		//IL_0848: Unknown result type (might be due to invalid IL or missing references)
		//IL_084d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0852: Unknown result type (might be due to invalid IL or missing references)
		//IL_0853: Unknown result type (might be due to invalid IL or missing references)
		//IL_086e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0877: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_08ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_08c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_08c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_08dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e6: 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_0902: Unknown result type (might be due to invalid IL or missing references)
		//IL_090b: Unknown result type (might be due to invalid IL or missing references)
		//IL_093a: Unknown result type (might be due to invalid IL or missing references)
		//IL_093f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0955: Unknown result type (might be due to invalid IL or missing references)
		//IL_095a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0970: Unknown result type (might be due to invalid IL or missing references)
		//IL_0975: Unknown result type (might be due to invalid IL or missing references)
		//IL_097a: Unknown result type (might be due to invalid IL or missing references)
		//IL_097b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0996: Unknown result type (might be due to invalid IL or missing references)
		//IL_099f: Unknown result type (might be due to invalid IL or missing references)
		//IL_09ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_09d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_09ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a04: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a09: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a0e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a0f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a2a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a33: 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_0a7d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a82: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a98: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a9d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aa2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aa3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0abe: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ac7: 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_0b2c: 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_0b37: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b52: 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_0b8a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b8f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ba5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0baa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bc0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bc5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bca: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bcb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0be6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bef: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c1e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c23: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c39: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c3e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c54: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c59: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c5e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c5f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c7a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c83: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cb2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cb7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ccd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cd2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ce8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ced: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cf2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cf3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d0e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d17: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d46: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d4b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d61: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d66: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d7c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d81: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d86: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d87: Unknown result type (might be due to invalid IL or missing references)
		//IL_0da2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dab: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dda: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ddf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0df5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dfa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e10: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e15: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e1a: 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_0e36: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e3f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e6e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e73: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e89: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e8e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ea4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ea9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0eae: Unknown result type (might be due to invalid IL or missing references)
		//IL_0eaf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0eca: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ed3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f02: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f07: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f1d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f22: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f38: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f3d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f42: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f43: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f5e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f67: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f9b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fb1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fb6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fcc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fd1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fd6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fd7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ff2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ffb: 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_1060: 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_106b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1086: Unknown result type (might be due to invalid IL or missing references)
		//IL_108f: Unknown result type (might be due to invalid IL or missing references)
		//IL_10be: Unknown result type (might be due to invalid IL or missing references)
		//IL_10c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_10d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_10de: Unknown result type (might be due to invalid IL or missing references)
		//IL_10f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_10f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_10fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_10ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_111a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1123: Unknown result type (might be due to invalid IL or missing references)
		//IL_1152: Unknown result type (might be due to invalid IL or missing references)
		//IL_1157: Unknown result type (might be due to invalid IL or missing references)
		//IL_116d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1172: Unknown result type (might be due to invalid IL or missing references)
		//IL_1188: Unknown result type (might be due to invalid IL or missing references)
		//IL_118d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1192: Unknown result type (might be due to invalid IL or missing references)
		//IL_1193: Unknown result type (might be due to invalid IL or missing references)
		//IL_11ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_11b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_11e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_11eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_1201: Unknown result type (might be due to invalid IL or missing references)
		//IL_1206: Unknown result type (might be due to invalid IL or missing references)
		//IL_121c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1221: Unknown result type (might be due to invalid IL or missing references)
		//IL_1226: Unknown result type (might be due to invalid IL or missing references)
		//IL_1227: Unknown result type (might be due to invalid IL or missing references)
		//IL_1242: Unknown result type (might be due to invalid IL or missing references)
		//IL_124b: Unknown result type (might be due to invalid IL or missing references)
		//IL_127a: Unknown result type (might be due to invalid IL or missing references)
		//IL_127f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1295: Unknown result type (might be due to invalid IL or missing references)
		//IL_129a: Unknown result type (might be due to invalid IL or missing references)
		//IL_12b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_12b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_12ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_12bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_12d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_12df: Unknown result type (might be due to invalid IL or missing references)
		//IL_130e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1313: Unknown result type (might be due to invalid IL or missing references)
		//IL_1329: Unknown result type (might be due to invalid IL or missing references)
		//IL_132e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1344: Unknown result type (might be due to invalid IL or missing references)
		//IL_1349: Unknown result type (might be due to invalid IL or missing references)
		//IL_134e: 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_136a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1373: Unknown result type (might be due to invalid IL or missing references)
		//IL_13a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_13a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_13bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_13c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_13d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_13dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_13e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_13e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_13fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_1407: Unknown result type (might be due to invalid IL or missing references)
		//IL_1436: Unknown result type (might be due to invalid IL or missing references)
		//IL_143b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1451: Unknown result type (might be due to invalid IL or missing references)
		//IL_1456: Unknown result type (might be due to invalid IL or missing references)
		//IL_146c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1471: Unknown result type (might be due to invalid IL or missing references)
		//IL_1476: Unknown result type (might be due to invalid IL or missing references)
		//IL_1477: Unknown result type (might be due to invalid IL or missing references)
		//IL_1492: Unknown result type (might be due to invalid IL or missing references)
		//IL_149b: Unknown result type (might be due to invalid IL or missing references)
		//IL_14ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_14cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_14e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_14ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_1500: Unknown result type (might be due to invalid IL or missing references)
		//IL_1505: Unknown result type (might be due to invalid IL or missing references)
		//IL_150a: Unknown result type (might be due to invalid IL or missing references)
		//IL_150b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1526: Unknown result type (might be due to invalid IL or missing references)
		//IL_152f: Unknown result type (might be due to invalid IL or missing references)
		//IL_155e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1563: Unknown result type (might be due to invalid IL or missing references)
		//IL_1579: Unknown result type (might be due to invalid IL or missing references)
		//IL_157e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1594: Unknown result type (might be due to invalid IL or missing references)
		//IL_1599: Unknown result type (might be due to invalid IL or missing references)
		//IL_159e: Unknown result type (might be due to invalid IL or missing references)
		//IL_159f: Unknown result type (might be due to invalid IL or missing references)
		//IL_15ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_15c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_15f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_15f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_160d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1612: Unknown result type (might be due to invalid IL or missing references)
		//IL_1628: Unknown result type (might be due to invalid IL or missing references)
		//IL_162d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1632: Unknown result type (might be due to invalid IL or missing references)
		//IL_1633: Unknown result type (might be due to invalid IL or missing references)
		//IL_164e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1657: Unknown result type (might be due to invalid IL or missing references)
		//IL_1686: Unknown result type (might be due to invalid IL or missing references)
		//IL_168b: Unknown result type (might be due to invalid IL or missing references)
		//IL_16a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_16a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_16bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_16c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_16c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_16c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_16e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_16eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_171a: Unknown result type (might be due to invalid IL or missing references)
		//IL_171f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1735: Unknown result type (might be due to invalid IL or missing references)
		//IL_173a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1750: Unknown result type (might be due to invalid IL or missing references)
		//IL_1755: Unknown result type (might be due to invalid IL or missing references)
		//IL_175a: Unknown result type (might be due to invalid IL or missing references)
		//IL_175b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1776: Unknown result type (might be due to invalid IL or missing references)
		//IL_177f: Unknown result type (might be due to invalid IL or missing references)
		//IL_17ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_17b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_17c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_17ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_17e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_17e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_17ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_17ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_180a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1813: Unknown result type (might be due to invalid IL or missing references)
		//IL_1842: Unknown result type (might be due to invalid IL or missing references)
		//IL_1847: Unknown result type (might be due to invalid IL or missing references)
		//IL_185d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1862: Unknown result type (might be due to invalid IL or missing references)
		//IL_1878: Unknown result type (might be due to invalid IL or missing references)
		//IL_187d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1882: Unknown result type (might be due to invalid IL or missing references)
		//IL_1883: Unknown result type (might be due to invalid IL or missing references)
		//IL_189e: Unknown result type (might be due to invalid IL or missing references)
		//IL_18a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_18d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_18db: Unknown result type (might be due to invalid IL or missing references)
		//IL_18f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_18f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_190c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1911: Unknown result type (might be due to invalid IL or missing references)
		//IL_1916: Unknown result type (might be due to invalid IL or missing references)
		//IL_1917: Unknown result type (might be due to invalid IL or missing references)
		//IL_1932: Unknown result type (might be due to invalid IL or missing references)
		//IL_193b: Unknown result type (might be due to invalid IL or missing references)
		//IL_196a: Unknown result type (might be due to invalid IL or missing references)
		//IL_196f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1985: Unknown result type (might be due to invalid IL or missing references)
		//IL_198a: Unknown result type (might be due to invalid IL or missing references)
		//IL_19a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_19a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_19aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_19ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_19c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_19cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_19fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a03: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a19: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a1e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a34: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a39: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a3e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a3f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a5a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a63: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a92: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a97: Unknown result type (might be due to invalid IL or missing references)
		//IL_1aad: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ab2: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ac8: Unknown result type (might be due to invalid IL or missing references)
		//IL_1acd: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ad2: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ad3: Unknown result type (might be due to invalid IL or missing references)
		//IL_1aee: Unknown result type (might be due to invalid IL or missing references)
		//IL_1af7: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b26: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b2b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b41: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b46: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b5c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b61: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b66: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b67: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b82: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b8b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bba: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bbf: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bd5: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bda: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bf0: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bf5: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bfa: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bfb: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c16: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c1f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c4e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c53: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c69: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c6e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c84: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c89: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c8e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c8f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1caa: Unknown result type (might be due to invalid IL or missing references)
		//IL_1cb3: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ce2: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ce7: Unknown result type (might be due to invalid IL or missing references)
		//IL_1cfd: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d02: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d18: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d1d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d22: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d23: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d3e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d47: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d76: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d7b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d91: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d96: Unknown result type (might be due to invalid IL or missing references)
		//IL_1dac: Unknown result type (might be due to invalid IL or missing references)
		//IL_1db1: Unknown result type (might be due to invalid IL or missing references)
		//IL_1db6: Unknown result type (might be due to invalid IL or missing references)
		//IL_1db7: Unknown result type (might be due to invalid IL or missing references)
		//IL_1dd2: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ddb: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e0a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e0f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e25: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e2a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e40: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e45: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e4a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e4b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e66: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e6f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e9e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ea3: Unknown result type (might be due to invalid IL or missing references)
		//IL_1eb9: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ebe: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ed4: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ed9: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ede: Unknown result type (might be due to invalid IL or missing references)
		//IL_1edf: Unknown result type (might be due to invalid IL or missing references)
		((Renderer)((Component)prefab.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = material;
		prefab.AddComponent<ItemDisplay>();
		prefab.GetComponent<ItemDisplay>().rendererInfos = ItemDisplaySetup(prefab);
		ItemBodyModelPrefab = prefab;
		ItemDisplayRuleDict val = new ItemDisplayRuleDict(Array.Empty<ItemDisplayRule>());
		val.Add("mdlCommandoDualies", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.0017f, 0.45426f, -0.00889f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.095f, 0.1f)
			}
		});
		val.Add("mdlHuntress", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.00237f, 0.34538f, -0.06892f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlToolbot", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.1519f, 2.71484f, 2.21381f),
				localAngles = new Vector3(60f, 0f, 0f),
				localScale = new Vector3(0.5f, 0.5f, 0.5f)
			}
		});
		val.Add("mdlEngi", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "HeadCenter",
				localPos = new Vector3(-0.00053f, 0.52744f, 0.08005f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.13f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlMage", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.0125f, 0.23135f, -0.03155f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlMerc", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(0.01953f, 0.31854f, 0.01433f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlLoader", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.00151f, 0.28744f, -0.00129f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlCroco", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.02466f, 0.46623f, 2.35514f),
				localAngles = new Vector3(70.00002f, 180f, 180f),
				localScale = new Vector3(0.5f, 0.5f, 0.5f)
			}
		});
		val.Add("mdlCaptain", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.01106f, 0.28928f, -0.0017f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlBandit2", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.01673f, 0.27646f, -0.00129f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlEquipmentDrone", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "HeadCenter",
				localPos = new Vector3(0f, 0f, 1.09378f),
				localAngles = new Vector3(90f, 0f, 0f),
				localScale = new Vector3(0.3f, 0.3f, 0.3f)
			}
		});
		val.Add("mdlWarframeWisp(Clone)", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.00284f, 0.25323f, -0.07018f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlRailGunner", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.00025f, 0.24998f, -0.01575f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlVoidSurvivor", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(0.02781f, 0.27557f, 0.02447f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlHeretic", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(0.09251f, 0.05643f, -0.01722f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlBeetle", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.02673f, 0.62368f, 0.43346f),
				localAngles = new Vector3(45f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("AcidLarva", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "BodyBase",
				localPos = new Vector3(-0.55948f, 5.77417f, -0.33291f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.5f, 0.5f, 0.5f)
			}
		});
		val.Add("mdlBeetleGuard", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.01662f, -0.13404f, 2.86457f),
				localAngles = new Vector3(90f, 0f, 0f),
				localScale = new Vector3(0.5f, 0.5f, 0.5f)
			}
		});
		val.Add("mdlBeetleQueen", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.06181f, 4.40589f, 0.24246f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.5f, 0.5f, 0.5f)
			}
		});
		val.Add("mdlBell", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Chain",
				localPos = new Vector3(0f, -1.43253f, 0f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.3f, 0.3f, 0.3f)
			}
		});
		val.Add("mdlBison", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.01535f, 0.14477f, 0.84346f),
				localAngles = new Vector3(90f, 0f, 0f),
				localScale = new Vector3(0.2f, 0.2f, 0.2f)
			}
		});
		val.Add("mdlBrother", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.05811f, 0.33004f, -0.01252f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.15f, 0.15f, 0.15f)
			}
		});
		val.Add("mdlClayBoss", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "PotLidTop",
				localPos = new Vector3(0f, 1.43864f, 1.25631f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.3f, 0.3f, 0.3f)
			}
		});
		val.Add("mdlClayBruiser", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.00255f, 0.59611f, 0.08158f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlClayGrenadier", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.02701f, 0.31263f, 0.02993f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlMagmaWorm", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-2E-05f, -2.48183f, -0.51458f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.3f, 0.3f, 0.3f)
			}
		});
		val.Add("mdlFlyingVermin", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Body",
				localPos = new Vector3(0f, 1.77686f, 0.11532f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.2f, 0.2f, 0.2f)
			}
		});
		val.Add("mdlGolem", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(0f, 1.39084f, -0.01647f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.3f, 0.3f, 0.3f)
			}
		});
		val.Add("mdlGrandparent", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(-0.0854f, 7.61769f, -0.17647f),
				localAngles = new Vector3(90f, 0f, 0f),
				localScale = new Vector3(0.8f, 0.8f, 0.8f)
			}
		});
		val.Add("mdlGravekeeper", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(0.1399f, 2.9322f, 0.53341f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.5f, 0.5f, 0.5f)
			}
		});
		val.Add("mdlGreaterWisp", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "MaskBase",
				localPos = new Vector3(0f, 1.7257f, 0f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.2f, 0.2f, 0.2f)
			}
		});
		val.Add("mdlGup", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "MainBody2",
				localPos = new Vector3(0.12951f, 1.5392f, 0.08611f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.2f, 0.2f, 0.2f)
			}
		});
		val.Add("mdlHermitCrab", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Base",
				localPos = new Vector3(1E-05f, 2.24121f, -1E-05f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.2f, 0.2f, 0.2f)
			}
		});
		val.Add("mdlImp", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Neck",
				localPos = new Vector3(0f, 0.42651f, 0.05615f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.1f, 0.1f, 0.1f)
			}
		});
		val.Add("mdlImpBoss", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Neck",
				localPos = new Vector3(0f, 1.75499f, -0.04981f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.35f, 0.35f, 0.35f)
			}
		});
		val.Add("mdlJellyfish", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Hull2",
				localPos = new Vector3(0.11887f, 1.8858f, 0.11731f),
				localAngles = new Vector3(0f, 0f, 0f),
				localScale = new Vector3(0.2f, 0.2f, 0.2f)
			}
		});
		val.Add("mdlLemurian", (ItemDisplayRule[])(object)new ItemDisplayRule[1]
		{
			new ItemDisplayRule
			{
				ruleType = (ItemDisplayRuleType)0,
				followerPrefab = ItemBodyModelPrefab,
				childName = "Head",
				localPos = new Vector3(0f, 1.74816f, -2.29201f),
				localAngles =