Decompiled source of mythologymod v1.0.0

mythologymod.dll

Decompiled 2 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using Landfall.TABS;
using UModLoader;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Rendering;

[assembly: AssemblyVersion("0.0.0.0")]
namespace UMods;

public class UManager
{
	private string comment;

	private string directory = "mythology";

	public AssetBundle assetBundle;

	public void EditWeapons(GameObject weapon, HandType hand, Team team, Unit unit, MeleeWeapon melee, RangeWeapon range, LandfallUnitDatabase db)
	{
		//IL_0231: Unknown result type (might be due to invalid IL or missing references)
		//IL_025f: Unknown result type (might be due to invalid IL or missing references)
		//IL_028d: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0376: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0400: Unknown result type (might be due to invalid IL or missing references)
		//IL_042e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_008e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0661: Unknown result type (might be due to invalid IL or missing references)
		//IL_0714: Unknown result type (might be due to invalid IL or missing references)
		//IL_0716: Invalid comparison between Unknown and I4
		//IL_0692: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_0503: Unknown result type (might be due to invalid IL or missing references)
		//IL_051c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_07fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0806: Unknown result type (might be due to invalid IL or missing references)
		//IL_0740: Unknown result type (might be due to invalid IL or missing references)
		//IL_074a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0834: Unknown result type (might be due to invalid IL or missing references)
		//IL_0609: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a93: Invalid comparison between Unknown and I4
		//IL_084a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0854: Unknown result type (might be due to invalid IL or missing references)
		//IL_0859: Unknown result type (might be due to invalid IL or missing references)
		//IL_0958: Unknown result type (might be due to invalid IL or missing references)
		//IL_0986: Unknown result type (might be due to invalid IL or missing references)
		//IL_09b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a10: Unknown result type (might be due to invalid IL or missing references)
		//IL_0cef: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aa8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0be4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c12: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c40: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c6e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dfd: 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_0dab: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dc5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dcf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dd4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f41: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f43: Invalid comparison between Unknown and I4
		//IL_0e58: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e87: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ebf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f13: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f1d: Expected O, but got Unknown
		//IL_105e: Unknown result type (might be due to invalid IL or missing references)
		//IL_108c: Unknown result type (might be due to invalid IL or missing references)
		//IL_10ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_10e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_1116: Unknown result type (might be due to invalid IL or missing references)
		//IL_118c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1196: Unknown result type (might be due to invalid IL or missing references)
		//IL_11c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_11df: Unknown result type (might be due to invalid IL or missing references)
		//IL_1268: Unknown result type (might be due to invalid IL or missing references)
		//IL_1279: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f54: 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_1317: Unknown result type (might be due to invalid IL or missing references)
		//IL_1330: Unknown result type (might be due to invalid IL or missing references)
		//IL_176b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1784: Unknown result type (might be due to invalid IL or missing references)
		//IL_23f7: 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_1bd8: Unknown result type (might be due to invalid IL or missing references)
		//IL_143f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1449: Expected O, but got Unknown
		//IL_24fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_24ff: Invalid comparison between Unknown and I4
		//IL_2469: Unknown result type (might be due to invalid IL or missing references)
		//IL_24a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_24cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_2013: Unknown result type (might be due to invalid IL or missing references)
		//IL_202c: Unknown result type (might be due to invalid IL or missing references)
		//IL_269e: Unknown result type (might be due to invalid IL or missing references)
		//IL_254f: Unknown result type (might be due to invalid IL or missing references)
		//IL_2582: Unknown result type (might be due to invalid IL or missing references)
		//IL_25b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_25e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_261b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1475: Unknown result type (might be due to invalid IL or missing references)
		//IL_151f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1543: Unknown result type (might be due to invalid IL or missing references)
		//IL_156c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1679: Unknown result type (might be due to invalid IL or missing references)
		//IL_28d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_26b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_26ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_271c: Unknown result type (might be due to invalid IL or missing references)
		//IL_279b: Unknown result type (might be due to invalid IL or missing references)
		//IL_27c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_27f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_2825: Unknown result type (might be due to invalid IL or missing references)
		//IL_2853: Unknown result type (might be due to invalid IL or missing references)
		//IL_189b: Unknown result type (might be due to invalid IL or missing references)
		//IL_18d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_18dc: Expected O, but got Unknown
		//IL_1973: Unknown result type (might be due to invalid IL or missing references)
		//IL_1997: Unknown result type (might be due to invalid IL or missing references)
		//IL_19c0: 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_2901: Unknown result type (might be due to invalid IL or missing references)
		//IL_2903: Invalid comparison between Unknown and I4
		//IL_1c77: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d26: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d30: Expected O, but got Unknown
		//IL_1dc7: Unknown result type (might be due to invalid IL or missing references)
		//IL_1deb: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e14: Unknown result type (might be due to invalid IL or missing references)
		//IL_1f21: Unknown result type (might be due to invalid IL or missing references)
		//IL_29c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_2914: Unknown result type (might be due to invalid IL or missing references)
		//IL_291e: Unknown result type (might be due to invalid IL or missing references)
		//IL_2956: Unknown result type (might be due to invalid IL or missing references)
		//IL_20af: Unknown result type (might be due to invalid IL or missing references)
		//IL_215e: Unknown result type (might be due to invalid IL or missing references)
		//IL_2168: Expected O, but got Unknown
		//IL_21ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_2223: Unknown result type (might be due to invalid IL or missing references)
		//IL_224c: Unknown result type (might be due to invalid IL or missing references)
		//IL_2359: Unknown result type (might be due to invalid IL or missing references)
		//IL_2a84: Unknown result type (might be due to invalid IL or missing references)
		//IL_2a86: Invalid comparison between Unknown and I4
		//IL_29e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_2af1: Unknown result type (might be due to invalid IL or missing references)
		//IL_2af3: Invalid comparison between Unknown and I4
		//IL_2b5f: Unknown result type (might be due to invalid IL or missing references)
		//IL_2b69: Unknown result type (might be due to invalid IL or missing references)
		//IL_2b83: Unknown result type (might be due to invalid IL or missing references)
		//IL_2b8d: Unknown result type (might be due to invalid IL or missing references)
		//IL_2b92: Unknown result type (might be due to invalid IL or missing references)
		//IL_2b9c: Unknown result type (might be due to invalid IL or missing references)
		//IL_2ba1: Unknown result type (might be due to invalid IL or missing references)
		//IL_2ba6: Unknown result type (might be due to invalid IL or missing references)
		//IL_2c19: Unknown result type (might be due to invalid IL or missing references)
		//IL_2c47: Unknown result type (might be due to invalid IL or missing references)
		//IL_2c75: Unknown result type (might be due to invalid IL or missing references)
		//IL_2ca3: Unknown result type (might be due to invalid IL or missing references)
		//IL_2cd1: Unknown result type (might be due to invalid IL or missing references)
		//IL_2b0f: Unknown result type (might be due to invalid IL or missing references)
		if (unit.Entity.UModName == UFunctions.ModNamify("Test Plane"))
		{
			weapon.GetComponentInChildren<DodgeMove>().minRange = 5f;
			weapon.GetComponentInChildren<WeaponForceAnimation>().upwardsModifier = 50f;
			SpellAnimation[] animations = weapon.GetComponentInChildren<WeaponForceAnimation>().animations;
			for (int i = 0; i < animations.Length; i++)
			{
				animations[i].setDirectionContinious = false;
				animations[i].animationRig = (AnimationRig)2;
				animations[i].animationDirection = (SpawnRotation)1;
				animations[i].rigAnimationForce = 50f;
			}
			melee.curveForce *= 0f;
			CombatMoveDataInstance[] moves = weapon.GetComponentInChildren<DodgeMove>().moves;
			for (int j = 0; j < moves.Length; j++)
			{
				moves[j].force = 20f;
				moves[j].rigidbodyToMove = (RigidBodyToMove)5;
			}
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Poseidon's Water"))
		{
			melee.canDealDamageOutSideOfSwing = true;
			((Weapon)melee).internalCooldown = 0.25f;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 50f;
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
			weapon.AddComponent<MeleeWeaponStickGhost>();
			weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = UPool.MyPool.GetObject("Ghostcontrol").GetComponentInChildren<UnitEffectBase>();
			weapon.GetComponentInChildren<CollisionWeapon>().onImpactForce = 0f;
			((Behaviour)weapon.GetComponentInChildren<CollisionSound>()).enabled = false;
			weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = UPool.MyPool.GetObject("Poseidon2");
			weapon.GetComponentInChildren<CollisionWeapon>().impactMultiplier = 5f;
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
			MeleeWeaponStick obj = weapon.AddComponent<MeleeWeaponStick>();
			obj.breakForce = 20000f;
			obj.joint = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().joint;
			obj.stickEvent = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().stickEvent;
			obj.otherRigidbody = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().otherRigidbody;
			obj.downwardsForceOnStuckRig = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().downwardsForceOnStuckRig;
			obj.fixPositionAmount = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().fixPositionAmount;
			obj.hardStick = true;
			obj.onlyOtherTeam = true;
			obj.time = 10f;
			obj.walkBackwardsWhenStuck = false;
			((Behaviour)obj).enabled = true;
			StickPosition obj2 = weapon.AddComponent<StickPosition>();
			((Behaviour)obj2).enabled = true;
			obj2.lockRotation = true;
			obj2.radius = 20f;
			MeleeWeaponStick obj3 = weapon.AddComponent<MeleeWeaponStick>();
			obj3.breakForce = 20000f;
			obj3.joint = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().joint;
			obj3.stickEvent = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().stickEvent;
			obj3.otherRigidbody = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().otherRigidbody;
			obj3.downwardsForceOnStuckRig = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().downwardsForceOnStuckRig;
			obj3.fixPositionAmount = ((GameObject)ULoader.VDic["weapons"]["Spear_Vlad"]).GetComponent<MeleeWeaponStick>().fixPositionAmount;
			obj3.hardStick = true;
			obj3.onlyOtherTeam = true;
			obj3.time = 10f;
			obj3.walkBackwardsWhenStuck = false;
			((Behaviour)obj3).enabled = true;
			StickPosition obj4 = weapon.AddComponent<StickPosition>();
			((Behaviour)obj4).enabled = true;
			obj4.lockRotation = true;
			obj4.radius = 20f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Poseidon's Trident"))
		{
			BoxCollider[] componentsInChildren = weapon.GetComponentsInChildren<BoxCollider>();
			for (int k = 0; k < componentsInChildren.Length; k++)
			{
				Object.Destroy((Object)(object)componentsInChildren[k]);
			}
			PinaCollada.SetBundleObject(weapon, directory + "/myth/posiedon's trident", 2f, (Vector3?)new Vector3(90f, 0f, 0f), (Vector3?)new Vector3(0f, 0f, 0f), "/guns/ClaymoreAP");
			CollisionWeapon componentInChildren = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren.impactMultiplier *= 1000f;
			melee.canDealDamageOutSideOfSwing = true;
			melee.isSwinging = true;
			melee.setDirectionContinious = true;
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 500f;
			CollisionWeapon componentInChildren2 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren2.onImpactForce *= 2f;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = 0.25f;
			weapon.GetComponentInChildren<CollisionWeapon>().cooldown = 0.01f;
			((Weapon)melee).internalCooldown = 0.01f;
			CombatMoveDataInstance[] moves2 = weapon.GetComponentInChildren<DodgeMove>().moves;
			for (int l = 0; l < moves2.Length; l++)
			{
				moves2[l].force = 40f;
				moves2[l].rigidbodyToMove = (RigidBodyToMove)5;
			}
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Poseidon") && (int)hand == 0)
		{
			PinaCollada.SetBundleObject(range.objectToSpawn, directory + "/myth/posiedon's trident", 2f, (Vector3?)new Vector3(90f, 0f, 0f), (Vector3?)new Vector3(0f, 0f, 0f), "/particlesystems/exampleEffect_Fire");
			((Weapon)range).internalCooldown = 10f;
			((Weapon)range).maxRange = 20f;
			((Weapon)range).randomCooldown = true;
			range.charge *= 1.15f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Poseidon") && (int)hand == 1)
		{
			Object.Destroy((Object)(object)weapon.GetComponentInParent<WeaponForceAnimation>());
			melee.curveForce = 0f;
			Transform transform = weapon.transform;
			transform.localScale *= 0f;
			((Weapon)melee).internalCooldown = 20f;
			((Weapon)melee).maxRange = 10f;
			weapon.GetComponentInChildren<SpawnObject>().objectToSpawn = UPool.MyPool.GetObject("Poseidonwater");
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Zeus ++"))
		{
			((Weapon)range).internalCooldown = 5f;
			((Weapon)range).randomCooldown = true;
			((Weapon)range).maxRange = 300f;
			range.charge *= 1.5f;
			range.spread = 7.5f;
			Transform transform2 = ((Component)weapon.GetComponentInChildren<ShowProjectile>()).transform;
			transform2.localScale *= 5f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Ghost") && (int)hand == 0)
		{
			weapon.GetComponentInChildren<Holdable>().holdableData.relativePosition = Vector3.down * 0.25f;
			melee.canDealDamageOutSideOfSwing = true;
			((Weapon)melee).internalCooldown = 0.25f;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 1f;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = -50f;
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
			weapon.AddComponent<MeleeWeaponStickGhost>();
			weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = UPool.MyPool.GetObject("Ghostcontrol").GetComponentInChildren<UnitEffectBase>();
			weapon.GetComponentInChildren<CollisionWeapon>().onImpactForce = 0f;
			weapon.GetComponentInChildren<CollisionWeapon>().impactMultiplier = 5f;
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
			MeleeWeaponStick obj5 = weapon.AddComponent<MeleeWeaponStick>();
			obj5.breakForce = 20000f;
			obj5.joint = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().joint;
			obj5.stickEvent = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().stickEvent;
			obj5.otherRigidbody = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().otherRigidbody;
			obj5.downwardsForceOnStuckRig = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().downwardsForceOnStuckRig;
			obj5.fixPositionAmount = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().fixPositionAmount;
			obj5.hardStick = true;
			obj5.onlyOtherTeam = true;
			obj5.time = 10f;
			obj5.walkBackwardsWhenStuck = false;
			((Behaviour)obj5).enabled = true;
			StickPosition obj6 = weapon.AddComponent<StickPosition>();
			((Behaviour)obj6).enabled = true;
			obj6.lockRotation = true;
			obj6.radius = 20f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Ghost") && (int)hand == 1)
		{
			weapon.GetComponentInChildren<Holdable>().holdableData.relativePosition = Vector3.down * 0.5f;
			melee.canDealDamageOutSideOfSwing = true;
			((Weapon)melee).internalCooldown = 0.25f;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 1f;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = -50f;
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
			weapon.AddComponent<MeleeWeaponStickGhost>();
			weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = UPool.MyPool.GetObject("Ghostcontrol").GetComponentInChildren<UnitEffectBase>();
			weapon.GetComponentInChildren<CollisionWeapon>().onImpactForce = 0f;
			weapon.GetComponentInChildren<CollisionWeapon>().impactMultiplier = 5f;
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
			MeleeWeaponStick obj7 = weapon.AddComponent<MeleeWeaponStick>();
			obj7.breakForce = 20000f;
			obj7.joint = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().joint;
			obj7.stickEvent = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().stickEvent;
			obj7.otherRigidbody = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().otherRigidbody;
			obj7.downwardsForceOnStuckRig = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().downwardsForceOnStuckRig;
			obj7.fixPositionAmount = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().fixPositionAmount;
			obj7.hardStick = true;
			obj7.onlyOtherTeam = true;
			obj7.time = 10f;
			obj7.walkBackwardsWhenStuck = false;
			((Behaviour)obj7).enabled = true;
			StickPosition obj8 = weapon.AddComponent<StickPosition>();
			((Behaviour)obj8).enabled = true;
			obj8.lockRotation = true;
			obj8.radius = 20f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Cyclops") && (int)hand == 0)
		{
			CollisionWeapon componentInChildren3 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren3.impactMultiplier *= 3f;
			weapon.GetComponentInChildren<CollisionWeapon>().onImpactForce = 500f;
			melee.curveForce *= 2.5f;
			((Weapon)melee).internalCooldown = ((Weapon)melee).internalCooldown * 0.5f;
			((Weapon)melee).maxRange = 3.5f;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 300f;
			weapon.transform.localScale = new Vector3(2.5f, 4f, 2.5f);
			weapon.GetComponentInChildren<Rigidbody>().inertiaTensor = new Vector3(10f, 10f, 10f);
			weapon.GetComponentInChildren<Holdable>().holdableData.relativePosition = Vector3.down * 0.5f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Anubis") && (int)hand == 0)
		{
			range.objectToSpawn = UPool.MyPool.GetObject("Anubisstaff");
			((Weapon)range).internalCooldown = 3f;
			((Weapon)range).maxRange = 50f;
			((Weapon)melee).internalCooldown = 1f;
			melee.swingAction = ((GameObject)ULoader.VDic["weapons"]["KingSword"]).GetComponentInChildren<MeleeWeapon>().swingAction;
			melee.swingDirection = ((GameObject)ULoader.VDic["weapons"]["KingSword"]).GetComponentInChildren<MeleeWeapon>().swingDirection;
			weapon.GetComponentInChildren<CollisionWeapon>().impactMultiplier = ((GameObject)ULoader.VDic["weapons"]["KingSword"]).GetComponentInChildren<CollisionWeapon>().impactMultiplier;
			CollisionWeapon componentInChildren4 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren4.onImpactForce *= 5f;
			weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = (GameObject)ULoader.VDic["explosions"]["E_ExplosionIceGiant"];
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Anubis") && (int)hand == 1)
		{
			Transform transform3 = weapon.transform;
			transform3.localScale *= 3f;
			range.numberOfObjects = 1;
			((Weapon)range).internalCooldown = 20f;
			range.randomPosition = 1.5f;
			((Weapon)range).maxRange = 50f;
			range.spread = 100f;
			range.projectileSpeedSpread = 25f;
			range.spawnDelay = 0.1f;
			range.objectToSpawn = UPool.MyPool.GetObject("Anubisfireball");
			range.AddShootAction((Action)delegate
			{
				//IL_002d: Unknown result type (might be due to invalid IL or missing references)
				unit.holdingHandler.LetGoOfWeapon(weapon);
				Object.Destroy((Object)(object)weapon);
				unit.holdingHandler.leftHandActivity = (HandActivity)1;
			});
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Eternal Flame"))
		{
			melee.canDealDamageOutSideOfSwing = true;
			((Weapon)melee).internalCooldown = 1f;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 10f;
			MeleeWeaponStick obj9 = weapon.AddComponent<MeleeWeaponStick>();
			obj9.breakForce = 20000f;
			obj9.joint = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().joint;
			obj9.stickEvent = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().stickEvent;
			obj9.otherRigidbody = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().otherRigidbody;
			obj9.downwardsForceOnStuckRig = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().downwardsForceOnStuckRig;
			obj9.fixPositionAmount = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().fixPositionAmount;
			obj9.hardStick = true;
			obj9.onlyOtherTeam = true;
			obj9.time = 10f;
			obj9.walkBackwardsWhenStuck = false;
			((Behaviour)obj9).enabled = true;
			StickPosition obj10 = weapon.AddComponent<StickPosition>();
			((Behaviour)obj10).enabled = true;
			obj10.lockRotation = true;
			obj10.radius = 20f;
			GameObject @object = UPool.MyPool.GetObject("EternalFlameexp");
			Transform transform4 = @object.transform;
			transform4.localScale *= 1f;
			PinaCollada.SetBundleObject(@object, directory + "/particlesmthology/fire boom", 1f, (Vector3?)new Vector3(0f, 0f, 0f), (Vector3?)new Vector3(0f, 0f, 0f), "/guns/ClaymoreAP");
			CollisionWeapon componentInChildren5 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren5.onImpactForce *= 0.2f;
			weapon.GetComponentInChildren<CollisionWeapon>().cooldown = 1f;
			Object.Destroy((Object)(object)weapon.GetComponentInChildren<CollisionSound>());
			weapon.AddComponent<MeleeWeaponSpawn>().cd = 0.1f;
			weapon.GetComponentInChildren<MeleeWeaponSpawn>().objectToSpawn = @object;
			weapon.GetComponentInChildren<MeleeWeaponSpawn>().pos = (Pos)1;
			weapon.GetComponentInChildren<MeleeWeaponSpawn>().rot = (Rot)0;
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Arrow1"))
		{
			BoxCollider[] componentsInChildren2 = weapon.GetComponentsInChildren<BoxCollider>();
			for (int m = 0; m < componentsInChildren2.Length; m++)
			{
				Object.Destroy((Object)(object)componentsInChildren2[m]);
			}
			PinaCollada.SetBundleObject(weapon, directory + "/arrows/arrow1", 3f, (Vector3?)new Vector3(0f, 90f, 0f), (Vector3?)new Vector3(0f, 0f, -0f), "/guns/ClaymoreAP");
			CollisionWeapon componentInChildren6 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren6.impactMultiplier *= 1000f;
			MeshRenderer[] componentsInChildren3 = weapon.GetComponentsInChildren<MeshRenderer>();
			for (int n = 0; n < componentsInChildren3.Length; n++)
			{
				Object.Destroy((Object)(object)componentsInChildren3[n]);
			}
			melee.canDealDamageOutSideOfSwing = true;
			melee.isSwinging = true;
			melee.setDirectionContinious = true;
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 200f;
			CollisionWeapon componentInChildren7 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren7.onImpactForce *= 2f;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = 50f;
			weapon.GetComponentInChildren<CollisionWeapon>().cooldown = 0.01f;
			((Weapon)melee).internalCooldown = 0.01f;
			weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = (GameObject)ULoader.VDic["explosions"]["E_Angel_Explosion"];
			CombatMoveDataInstance[] moves3 = weapon.GetComponentInChildren<DodgeMove>().moves;
			for (int num = 0; num < moves3.Length; num++)
			{
				moves3[num].force = 50f;
				moves3[num].rigidbodyToMove = (RigidBodyToMove)5;
			}
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
			weapon.AddComponent<TrailRenderer>();
			weapon.GetComponentInChildren<TrailRenderer>().autodestruct = false;
			weapon.GetComponentInChildren<TrailRenderer>().endWidth = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().time = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().startWidth = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().startColor = new Color(0.9056604f, 0.7261716f, 0.03417584f);
			weapon.GetComponentInChildren<TrailRenderer>().endColor = new Color(0.9056604f, 0.7261716f, 0.03417584f);
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).material.color = new Color(0.9056604f, 0.7261716f, 0.03417584f);
			weapon.GetComponentInChildren<TrailRenderer>().emitting = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).enabled = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).receiveShadows = false;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).shadowCastingMode = (ShadowCastingMode)1;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).allowOcclusionWhenDynamic = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).motionVectorGenerationMode = (MotionVectorGenerationMode)1;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).rendererPriority = 0;
			weapon.GetComponentInChildren<TrailRenderer>().minVertexDistance = 0.5f;
			weapon.GetComponentInChildren<TrailRenderer>().alignment = (LineAlignment)0;
			weapon.GetComponentInChildren<TrailRenderer>().shadowBias = 0.5f;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).lightProbeUsage = (LightProbeUsage)1;
			weapon.AddComponent<Light>().type = (LightType)2;
			weapon.GetComponentInChildren<Light>().range = 20f;
			weapon.GetComponentInChildren<Light>().color = new Color(0.9056604f, 0.7261716f, 0.03417584f);
			weapon.GetComponentInChildren<Light>().colorTemperature = 100f;
			weapon.GetComponentInChildren<Light>().useColorTemperature = true;
			weapon.GetComponentInChildren<Light>().intensity = 20f;
			weapon.AddComponent<LightCurve>();
			weapon.GetComponentInChildren<LightCurve>().curve = AnimationCurve.EaseInOut(0f, 1f, 1f, 1f);
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Arrow2"))
		{
			BoxCollider[] componentsInChildren4 = weapon.GetComponentsInChildren<BoxCollider>();
			for (int num2 = 0; num2 < componentsInChildren4.Length; num2++)
			{
				Object.Destroy((Object)(object)componentsInChildren4[num2]);
			}
			PinaCollada.SetBundleObject(weapon, directory + "/arrows/arrow2", 3f, (Vector3?)new Vector3(0f, 90f, 0f), (Vector3?)new Vector3(0f, 0f, -0f), "/guns/ClaymoreAP");
			CollisionWeapon componentInChildren8 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren8.impactMultiplier *= 1000f;
			MeshRenderer[] componentsInChildren5 = weapon.GetComponentsInChildren<MeshRenderer>();
			for (int num3 = 0; num3 < componentsInChildren5.Length; num3++)
			{
				Object.Destroy((Object)(object)componentsInChildren5[num3]);
			}
			melee.canDealDamageOutSideOfSwing = true;
			melee.isSwinging = true;
			melee.setDirectionContinious = true;
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 200f;
			CollisionWeapon componentInChildren9 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren9.onImpactForce *= 2f;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = 50f;
			weapon.GetComponentInChildren<CollisionWeapon>().cooldown = 0.01f;
			((Weapon)melee).internalCooldown = 0.01f;
			CombatMoveDataInstance[] moves4 = weapon.GetComponentInChildren<DodgeMove>().moves;
			for (int num4 = 0; num4 < moves4.Length; num4++)
			{
				moves4[num4].force = 50f;
				moves4[num4].rigidbodyToMove = (RigidBodyToMove)5;
			}
			weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = (GameObject)ULoader.VDic["explosions"]["12_DragonFire"];
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
			weapon.AddComponent<TrailRenderer>();
			weapon.GetComponentInChildren<TrailRenderer>().autodestruct = false;
			weapon.GetComponentInChildren<TrailRenderer>().endWidth = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().time = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().startWidth = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().startColor = new Color(0.6037736f, 0f, 0f);
			weapon.GetComponentInChildren<TrailRenderer>().endColor = new Color(0.6037736f, 0f, 0f);
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).material.color = new Color(0.6037736f, 0f, 0f);
			weapon.GetComponentInChildren<TrailRenderer>().emitting = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).enabled = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).receiveShadows = false;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).shadowCastingMode = (ShadowCastingMode)1;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).allowOcclusionWhenDynamic = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).motionVectorGenerationMode = (MotionVectorGenerationMode)1;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).rendererPriority = 0;
			weapon.GetComponentInChildren<TrailRenderer>().minVertexDistance = 0.5f;
			weapon.GetComponentInChildren<TrailRenderer>().alignment = (LineAlignment)0;
			weapon.GetComponentInChildren<TrailRenderer>().shadowBias = 0.5f;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).lightProbeUsage = (LightProbeUsage)1;
			weapon.AddComponent<Light>().type = (LightType)2;
			weapon.GetComponentInChildren<Light>().range = 20f;
			weapon.GetComponentInChildren<Light>().color = new Color(0.6037736f, 0f, 0f);
			weapon.GetComponentInChildren<Light>().colorTemperature = 100f;
			weapon.GetComponentInChildren<Light>().useColorTemperature = true;
			weapon.GetComponentInChildren<Light>().intensity = 20f;
			weapon.AddComponent<LightCurve>();
			weapon.GetComponentInChildren<LightCurve>().curve = AnimationCurve.EaseInOut(0f, 1f, 1f, 1f);
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Arrow3"))
		{
			BoxCollider[] componentsInChildren6 = weapon.GetComponentsInChildren<BoxCollider>();
			for (int num5 = 0; num5 < componentsInChildren6.Length; num5++)
			{
				Object.Destroy((Object)(object)componentsInChildren6[num5]);
			}
			PinaCollada.SetBundleObject(weapon, directory + "/arrows/arrow3", 3f, (Vector3?)new Vector3(0f, 90f, 0f), (Vector3?)new Vector3(0f, 0f, -0f), "/guns/ClaymoreAP");
			CollisionWeapon componentInChildren10 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren10.impactMultiplier *= 1000f;
			MeshRenderer[] componentsInChildren7 = weapon.GetComponentsInChildren<MeshRenderer>();
			for (int num6 = 0; num6 < componentsInChildren7.Length; num6++)
			{
				Object.Destroy((Object)(object)componentsInChildren7[num6]);
			}
			melee.canDealDamageOutSideOfSwing = true;
			melee.isSwinging = true;
			melee.setDirectionContinious = true;
			CombatMoveDataInstance[] moves5 = weapon.GetComponentInChildren<DodgeMove>().moves;
			for (int num7 = 0; num7 < moves5.Length; num7++)
			{
				moves5[num7].force = 50f;
				moves5[num7].rigidbodyToMove = (RigidBodyToMove)5;
			}
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 200f;
			CollisionWeapon componentInChildren11 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren11.onImpactForce *= 2f;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = 50f;
			weapon.GetComponentInChildren<CollisionWeapon>().cooldown = 0.01f;
			((Weapon)melee).internalCooldown = 0.01f;
			weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = (GameObject)ULoader.VDic["explosions"]["E_CrescentExplosion"];
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
			weapon.AddComponent<TrailRenderer>();
			weapon.GetComponentInChildren<TrailRenderer>().autodestruct = false;
			weapon.GetComponentInChildren<TrailRenderer>().endWidth = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().time = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().startWidth = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().startColor = new Color(0f, 0.2088695f, 0.735849f);
			weapon.GetComponentInChildren<TrailRenderer>().endColor = new Color(0f, 0.2088695f, 0.735849f);
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).material.color = new Color(0f, 0.2088695f, 0.735849f);
			weapon.GetComponentInChildren<TrailRenderer>().emitting = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).enabled = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).receiveShadows = false;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).shadowCastingMode = (ShadowCastingMode)1;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).allowOcclusionWhenDynamic = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).motionVectorGenerationMode = (MotionVectorGenerationMode)1;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).rendererPriority = 0;
			weapon.GetComponentInChildren<TrailRenderer>().minVertexDistance = 0.5f;
			weapon.GetComponentInChildren<TrailRenderer>().alignment = (LineAlignment)0;
			weapon.GetComponentInChildren<TrailRenderer>().shadowBias = 0.5f;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).lightProbeUsage = (LightProbeUsage)1;
			weapon.AddComponent<Light>().type = (LightType)2;
			weapon.GetComponentInChildren<Light>().range = 20f;
			weapon.GetComponentInChildren<Light>().color = new Color(0f, 0.2088695f, 0.735849f);
			weapon.GetComponentInChildren<Light>().colorTemperature = 100f;
			weapon.GetComponentInChildren<Light>().useColorTemperature = true;
			weapon.GetComponentInChildren<Light>().intensity = 20f;
			weapon.AddComponent<LightCurve>();
			weapon.GetComponentInChildren<LightCurve>().curve = AnimationCurve.EaseInOut(0f, 1f, 1f, 1f);
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Arrow4"))
		{
			BoxCollider[] componentsInChildren8 = weapon.GetComponentsInChildren<BoxCollider>();
			for (int num8 = 0; num8 < componentsInChildren8.Length; num8++)
			{
				Object.Destroy((Object)(object)componentsInChildren8[num8]);
			}
			PinaCollada.SetBundleObject(weapon, directory + "/arrows/arrow4", 3f, (Vector3?)new Vector3(0f, 90f, 0f), (Vector3?)new Vector3(0f, 0f, -0f), "/guns/ClaymoreAP");
			MeshRenderer[] componentsInChildren9 = weapon.GetComponentsInChildren<MeshRenderer>();
			for (int num9 = 0; num9 < componentsInChildren9.Length; num9++)
			{
				Object.Destroy((Object)(object)componentsInChildren9[num9]);
			}
			melee.canDealDamageOutSideOfSwing = true;
			melee.isSwinging = true;
			melee.setDirectionContinious = true;
			CombatMoveDataInstance[] moves6 = weapon.GetComponentInChildren<DodgeMove>().moves;
			for (int num10 = 0; num10 < moves6.Length; num10++)
			{
				moves6[num10].force = 50f;
				moves6[num10].rigidbodyToMove = (RigidBodyToMove)5;
			}
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 200f;
			CollisionWeapon componentInChildren12 = weapon.GetComponentInChildren<CollisionWeapon>();
			componentInChildren12.onImpactForce *= 2f;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = 50f;
			weapon.GetComponentInChildren<CollisionWeapon>().cooldown = 0.01f;
			((Weapon)melee).internalCooldown = 0.01f;
			weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = (GameObject)ULoader.VDic["explosions"]["E_WitchPoof"];
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 0f;
				weapon.AddComponent<RemoveAfterSeconds>().seconds = 1f;
				((Component)unit).gameObject.AddComponent<RemoveAfterSeconds>().seconds = 2f;
			});
			weapon.AddComponent<TrailRenderer>();
			weapon.GetComponentInChildren<TrailRenderer>().autodestruct = false;
			weapon.GetComponentInChildren<TrailRenderer>().endWidth = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().time = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().startWidth = 0.05f;
			weapon.GetComponentInChildren<TrailRenderer>().startColor = new Color(0.3170757f, 0f, 0.5f);
			weapon.GetComponentInChildren<TrailRenderer>().endColor = new Color(0.3170757f, 0f, 0.5f);
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).material.color = new Color(0.3170757f, 0f, 0.5f);
			weapon.GetComponentInChildren<TrailRenderer>().emitting = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).enabled = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).receiveShadows = false;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).shadowCastingMode = (ShadowCastingMode)1;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).allowOcclusionWhenDynamic = true;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).motionVectorGenerationMode = (MotionVectorGenerationMode)1;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).rendererPriority = 0;
			weapon.GetComponentInChildren<TrailRenderer>().minVertexDistance = 0.5f;
			weapon.GetComponentInChildren<TrailRenderer>().alignment = (LineAlignment)0;
			weapon.GetComponentInChildren<TrailRenderer>().shadowBias = 0.5f;
			((Renderer)weapon.GetComponentInChildren<TrailRenderer>()).lightProbeUsage = (LightProbeUsage)1;
			weapon.AddComponent<Light>().type = (LightType)2;
			weapon.GetComponentInChildren<Light>().range = 20f;
			weapon.GetComponentInChildren<Light>().color = new Color(0.3170757f, 0f, 0.5f);
			weapon.GetComponentInChildren<Light>().colorTemperature = 100f;
			weapon.GetComponentInChildren<Light>().useColorTemperature = true;
			weapon.GetComponentInChildren<Light>().intensity = 20f;
			weapon.AddComponent<LightCurve>();
			weapon.GetComponentInChildren<LightCurve>().curve = AnimationCurve.EaseInOut(0f, 1f, 1f, 1f);
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Apollo") && (int)hand == 0)
		{
			range.numberOfObjects = 10;
			((Weapon)range).internalCooldown = 5f;
			range.randomPosition = 1.5f;
			((Weapon)range).maxRange = 100f;
			range.spread = 100f;
			range.projectileSpeedSpread = 25f;
			range.spawnDelay = 0.1f;
			range.objectToSpawn = ((GameObject)ULoader.VDic["weapons"]["Bow"]).GetComponentInChildren<RangeWeapon>().objectToSpawn;
			weapon.GetComponentInChildren<HoldingAnimation>().animationHoldingData = ((GameObject)ULoader.VDic["weapons"]["Musket"]).GetComponentInChildren<HoldingAnimation>().animationHoldingData;
			weapon.GetComponentInChildren<Rigidbody>().inertiaTensor = new Vector3(20f, 20f, 20f);
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Succubus") && (int)hand == 1)
		{
			((Weapon)melee).internalCooldown = 0.5f;
			melee.curveForce *= 2f;
			melee.canDealDamageOutSideOfSwing = true;
			weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = ((GameObject)ULoader.VDic["effects"]["E_Necromancer_SoulSiphon_Damage"]).GetComponentInChildren<UnitEffectBase>();
			weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = ((GameObject)ULoader.VDic["effects"]["E_Necromancer_SoulSiphon_Damage"]).GetComponentInChildren<UnitEffectBase>();
			weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = ((GameObject)ULoader.VDic["effects"]["E_Necromancer_SoulSiphon_Damage"]).GetComponentInChildren<UnitEffectBase>();
			weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = ((GameObject)ULoader.VDic["effects"]["E_Necromancer_SoulSiphon_Damage"]).GetComponentInChildren<UnitEffectBase>();
			weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = ((GameObject)ULoader.VDic["effects"]["E_Necromancer_SoulSiphon_Damage"]).GetComponentInChildren<UnitEffectBase>();
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = -2f;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 25f;
			weapon.GetComponentInChildren<MeleeWeaponStick>().time = 10f;
			weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Succubus") && (int)hand == 0)
		{
			Transform transform5 = weapon.transform;
			transform5.localScale *= 0f;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 25f;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = -2f;
			weapon.GetComponentInChildren<Explosion>().ignoreTeamMates = true;
			weapon.GetComponentInChildren<Explosion>().onlyTeamMates = false;
			weapon.GetComponentInChildren<Explosion>().forceDirection = (ForceDirection)1;
			weapon.GetComponentInChildren<Explosion>().radius = 5f;
			((Behaviour)weapon.GetComponentInChildren<DodgeMove>()).enabled = false;
			weapon.GetComponentInChildren<ExplosionAddEffect>().EffectPrefab = UPool.MyPool.GetObject("Succubus seduce").GetComponentInChildren<UnitEffectBase>();
			MeleeWeaponStick obj11 = weapon.AddComponent<MeleeWeaponStick>();
			obj11.breakForce = 20000f;
			obj11.joint = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().joint;
			obj11.stickEvent = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().stickEvent;
			obj11.otherRigidbody = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().otherRigidbody;
			obj11.downwardsForceOnStuckRig = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().downwardsForceOnStuckRig;
			obj11.fixPositionAmount = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().fixPositionAmount;
			obj11.hardStick = true;
			obj11.onlyOtherTeam = true;
			obj11.time = 10f;
			obj11.walkBackwardsWhenStuck = false;
			((Behaviour)obj11).enabled = true;
			StickPosition obj12 = weapon.AddComponent<StickPosition>();
			((Behaviour)obj12).enabled = true;
			obj12.lockRotation = true;
			obj12.radius = 20f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Medusa") && (int)hand == 0)
		{
			range.numberOfObjects = 10;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Medusa") && (int)hand == 1)
		{
			Transform transform6 = weapon.transform;
			transform6.localScale *= 0f;
			weapon.GetComponentInChildren<Explosion>().ignoreTeamMates = true;
			weapon.GetComponentInChildren<Explosion>().onlyTeamMates = false;
			weapon.GetComponentInChildren<Explosion>().forceDirection = (ForceDirection)1;
			weapon.GetComponentInChildren<Explosion>().radius = 5f;
			((Behaviour)weapon.GetComponentInChildren<DodgeMove>()).enabled = false;
			weapon.GetComponentInChildren<ExplosionAddEffect>().EffectPrefab = UPool.MyPool.GetObject("Medusaeffect").GetComponentInChildren<UnitEffectBase>();
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Dark Necromancer") && (int)hand == 0)
		{
			weapon.transform.localScale = new Vector3(2f, 2f, 3f);
			melee.curveForce *= 1.5f;
			Whip componentInChildren13 = weapon.GetComponentInChildren<Whip>();
			componentInChildren13.force *= 1.5f;
			weapon.GetComponentInChildren<Explosion>().ignoreTeamMates = true;
			weapon.GetComponentInChildren<AddObjectEffect>().EffectPrefab = UPool.MyPool.GetObject("Darknecropower").GetComponentInChildren<UnitEffectBase>();
			((Weapon)melee).internalCooldown = 2f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Darkprojpower") && (int)hand == 1)
		{
			range.spread = 1f;
			range.charge = 1f;
			((Weapon)range).internalCooldown = 30f;
			range.maxProjectilesPerFrane = 1;
			range.numberOfObjects = 10;
			((Weapon)range).maxRange = ((Weapon)range).maxRange * 1.5f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Valkyrie Champion") && (int)hand == 1)
		{
			weapon.transform.localScale = new Vector3(1f, 1.25f, 1f);
			weapon.GetComponentInChildren<Holdable>().rig.isKinematic = true;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Harpy"))
		{
			Transform transform7 = weapon.transform;
			transform7.localScale *= 0.25f;
			weapon.GetComponentInChildren<Holdable>().holdableData.relativePosition = Vector3.forward * 1f + Vector3.down * 0.5f;
			((Weapon)melee).internalCooldown = 1f;
			melee.canDealDamageOutSideOfSwing = true;
			weapon.GetComponentInChildren<CollisionWeapon>().selfDamageMultiplier = -5f;
			weapon.GetComponentInChildren<CollisionWeapon>().damage = 5f;
			MeleeWeaponStick obj13 = weapon.AddComponent<MeleeWeaponStick>();
			obj13.breakForce = 20000f;
			obj13.joint = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().joint;
			obj13.stickEvent = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().stickEvent;
			obj13.otherRigidbody = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().otherRigidbody;
			obj13.downwardsForceOnStuckRig = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().downwardsForceOnStuckRig;
			obj13.fixPositionAmount = ((GameObject)ULoader.VDic["weapons"]["MinoTaurGrab"]).GetComponent<MeleeWeaponStick>().fixPositionAmount;
			obj13.hardStick = true;
			obj13.onlyOtherTeam = true;
			obj13.time = 10f;
			obj13.walkBackwardsWhenStuck = false;
			((Behaviour)obj13).enabled = true;
			StickPosition obj14 = weapon.AddComponent<StickPosition>();
			((Behaviour)obj14).enabled = true;
			obj14.lockRotation = true;
			obj14.radius = 20f;
		}
	}

	public void CodeOnSpawn(Unit unit, LandfallUnitDatabase db)
	{
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0088: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cc: 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_0103: Unknown result type (might be due to invalid IL or missing references)
		//IL_0131: Unknown result type (might be due to invalid IL or missing references)
		//IL_014a: Unknown result type (might be due to invalid IL or missing references)
		//IL_015e: Expected O, but got Unknown
		//IL_056c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0576: Expected O, but got Unknown
		//IL_058d: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c1: 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_0621: Unknown result type (might be due to invalid IL or missing references)
		//IL_062b: Unknown result type (might be due to invalid IL or missing references)
		//IL_067c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0695: Unknown result type (might be due to invalid IL or missing references)
		//IL_0700: Unknown result type (might be due to invalid IL or missing references)
		//IL_070a: Expected O, but got Unknown
		//IL_0721: Unknown result type (might be due to invalid IL or missing references)
		//IL_0736: Unknown result type (might be due to invalid IL or missing references)
		//IL_074b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0755: 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_07b5: 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_0810: Unknown result type (might be due to invalid IL or missing references)
		//IL_0829: Unknown result type (might be due to invalid IL or missing references)
		//IL_0844: Unknown result type (might be due to invalid IL or missing references)
		//IL_084e: 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_0323: Unknown result type (might be due to invalid IL or missing references)
		//IL_0329: Expected O, but got Unknown
		//IL_033a: Unknown result type (might be due to invalid IL or missing references)
		//IL_034f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0364: Unknown result type (might be due to invalid IL or missing references)
		//IL_036e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0389: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0405: Unknown result type (might be due to invalid IL or missing references)
		//IL_041e: 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_04ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f8: Unknown result type (might be due to invalid IL or missing references)
		if (unit.Entity.UModName == UFunctions.ModNamify("Medusa"))
		{
			GameObject val = new GameObject();
			Transform transform = val.transform;
			transform.localScale *= 1f;
			val.transform.parent = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[0]).transform;
			val.transform.rotation = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[0]).transform.rotation;
			val.transform.position = new Vector3(((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[0]).transform.position.x + 0f, ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[0]).transform.position.y + 0f, ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[0]).transform.position.z + 0f);
			PinaCollada.SetBundleObject(val, directory + "/heads/Medusa Head", 100f, (Vector3?)new Vector3(0f, 0f, 0f), (Vector3?)new Vector3(0f, -1.7f, 0f), "Medusa head");
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("German Plane"))
		{
			((Component)unit).gameObject.GetComponentInChildren<EyeSpawner>().SetEyesVisable(false);
			((Component)unit).gameObject.GetComponentInChildren<Unit>().neverStopRunning = true;
			SphereCollider[] componentsInChildren = ((Component)unit).GetComponentsInChildren<SphereCollider>();
			for (int i = 0; i < componentsInChildren.Length; i++)
			{
				((Collider)componentsInChildren[i]).enabled = false;
			}
			CapsuleCollider[] componentsInChildren2 = ((Component)unit).GetComponentsInChildren<CapsuleCollider>();
			for (int j = 0; j < componentsInChildren2.Length; j++)
			{
				((Collider)componentsInChildren2[j]).enabled = false;
			}
			SkinnedMeshRenderer[] componentsInChildren3 = ((Component)((Component)unit).gameObject.GetComponent<Unit>()).GetComponentsInChildren<SkinnedMeshRenderer>();
			for (int k = 0; k < componentsInChildren3.Length; k++)
			{
				((Renderer)componentsInChildren3[k]).enabled = false;
			}
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().neverLetGo = true;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().removeArmColliders = true;
			MountPos componentInChildren = ((Component)unit).gameObject.GetComponentInChildren<MountPos>();
			componentInChildren.angularJointStrength *= 5f;
			MountPos componentInChildren2 = ((Component)unit).gameObject.GetComponentInChildren<MountPos>();
			componentInChildren2.jointStrength *= 5f;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().setGrounded = true;
			((Component)unit).gameObject.GetComponentInChildren<MovementHandler>().lerpSpeed = 0.1f;
			((Component)unit).gameObject.GetComponentInChildren<MovementHandler>().stopForTurns = false;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().mountAnimation.animateHip = false;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().mountAnimation.animateLeftLeg = false;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().mountAnimation.animateLeftKnee = false;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().mountAnimation.animateRightKnee = false;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().mountAnimation.animateRightLeg = false;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().mountType = (MountType)0;
			GameObject val2 = new GameObject();
			val2.transform.position = new Vector3(((Component)unit).gameObject.transform.localPosition.x, ((Component)unit).gameObject.transform.localPosition.y, ((Component)unit).gameObject.transform.localPosition.z);
			val2.transform.rotation = ((Component)unit).gameObject.transform.rotation;
			val2.transform.parent = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform;
			Transform transform2 = val2.transform;
			transform2.localScale *= 1f;
			UExtensions.SetHideFlags<GameObject>(val2, (HideFlags)61);
			val2.SetActive(true);
			PinaCollada.SetBundleObject(val2, directory + "/misc/german plane", 1f, (Vector3?)new Vector3(0f, 0f, 0f), (Vector3?)new Vector3(0f, 0f, 0f), "hereliesdorito");
			((Renderer)((Component)TransformExtensions.FindChildRecursive(val2.transform, "fire before crash")).GetComponentInChildren<ParticleSystemRenderer>()).enabled = false;
			((Renderer)((Component)TransformExtensions.FindChildRecursive(val2.transform, "FX_Fire_Embers_01")).GetComponentInChildren<ParticleSystemRenderer>()).enabled = false;
			_ = ((Component)TransformExtensions.FindChildRecursive(val2.transform, "posforMount")).gameObject;
			((Component)((Component)unit).gameObject.GetComponentInChildren<MountPos>()).gameObject.transform.position = val2.transform.position + new Vector3(-0.7f, 5.5f, 0f);
			((Component)((Component)unit).gameObject.GetComponentInChildren<MountPos>()).gameObject.transform.parent = val2.transform;
			((Component)((Component)unit).gameObject.GetComponentInChildren<MountPos>()).gameObject.transform.rotation = val2.transform.rotation;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("German Pilot"))
		{
			Collider[] componentsInChildren4 = ((Component)unit).GetComponentsInChildren<Collider>();
			for (int l = 0; l < componentsInChildren4.Length; l++)
			{
				componentsInChildren4[l].enabled = false;
			}
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Zeus ++"))
		{
			GameObject gameObject = new GameObject();
			gameObject.transform.position = new Vector3(((Component)unit).gameObject.transform.localPosition.x, ((Component)unit).gameObject.transform.localPosition.y, ((Component)unit).gameObject.transform.localPosition.z);
			gameObject.transform.rotation = ((Component)unit).gameObject.transform.rotation;
			gameObject.transform.parent = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform;
			Transform transform3 = gameObject.transform;
			transform3.localScale *= 1f;
			UExtensions.SetHideFlags<GameObject>(gameObject, (HideFlags)61);
			gameObject.SetActive(true);
			PinaCollada.SetBundleObject(gameObject, directory + "/particlesmthology/cloud", 1f, (Vector3?)new Vector3(0f, 180f, 0f), (Vector3?)new Vector3(0f, 0f, 0f), "/weapons/dori");
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				Object.Destroy((Object)(object)gameObject);
			});
			((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Poseidon"))
		{
			GameObject gameObject2 = new GameObject();
			gameObject2.transform.position = new Vector3(((Component)unit).gameObject.transform.localPosition.x, ((Component)unit).gameObject.transform.localPosition.y, ((Component)unit).gameObject.transform.localPosition.z);
			gameObject2.transform.parent = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform;
			gameObject2.transform.rotation = ((Component)unit).gameObject.transform.rotation;
			Transform transform4 = gameObject2.transform;
			transform4.localScale *= 1f;
			UExtensions.SetHideFlags<GameObject>(gameObject2, (HideFlags)61);
			gameObject2.SetActive(true);
			GameObject obj = PinaCollada.SetBundleObject(gameObject2, directory + "/particlesmthology/watercloudfinal", 1f, (Vector3?)new Vector3(0f, 180f, 0f), (Vector3?)new Vector3(0f, 0f, 0f), "/weapons/dori");
			Transform transform5 = obj.transform;
			transform5.localScale *= 1f;
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject (1)")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject (2)")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject (3)")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject (4)")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject (5)")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject (6)")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject (7)")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			((Component)TransformExtensions.FindChildRecursive(obj.transform, "GameObject (8)")).gameObject.AddComponent<SpawnWaterExplosion>().water = UPool.MyPool.GetObject("Poseidon1");
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				Object.Destroy((Object)(object)gameObject2);
			});
			((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
		}
	}

	public void CodeAfterSpawn(Unit unit, LandfallUnitDatabase db)
	{
		//IL_030e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0315: Expected O, but got Unknown
		//IL_0330: Unknown result type (might be due to invalid IL or missing references)
		//IL_0450: Unknown result type (might be due to invalid IL or missing references)
		//IL_045a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0481: Unknown result type (might be due to invalid IL or missing references)
		//IL_048b: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_04bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0526: Unknown result type (might be due to invalid IL or missing references)
		//IL_055b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0590: Unknown result type (might be due to invalid IL or missing references)
		//IL_0159: Unknown result type (might be due to invalid IL or missing references)
		//IL_0163: Expected O, but got Unknown
		//IL_017e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0198: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e1: 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_022d: Unknown result type (might be due to invalid IL or missing references)
		//IL_027b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0294: Unknown result type (might be due to invalid IL or missing references)
		//IL_066e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0678: Expected O, but got Unknown
		//IL_0685: Unknown result type (might be due to invalid IL or missing references)
		//IL_068f: Unknown result type (might be due to invalid IL or missing references)
		//IL_06fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0732: Unknown result type (might be due to invalid IL or missing references)
		//IL_0764: Unknown result type (might be due to invalid IL or missing references)
		//IL_0796: Unknown result type (might be due to invalid IL or missing references)
		//IL_07a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_07db: Unknown result type (might be due to invalid IL or missing references)
		//IL_07f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b5f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b69: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b90: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b9a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c7c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d85: Unknown result type (might be due to invalid IL or missing references)
		if (unit.Entity.UModName == UFunctions.ModNamify("Poseidon's Trident"))
		{
			SkinnedMeshRenderer[] componentsInChildren = ((Component)((Component)unit).gameObject.GetComponent<Unit>()).GetComponentsInChildren<SkinnedMeshRenderer>();
			for (int i = 0; i < componentsInChildren.Length; i++)
			{
				((Renderer)componentsInChildren[i]).enabled = false;
			}
			((Component)unit).gameObject.GetComponentInChildren<GravityHandler>().gravityData.gravity = 100f;
			((Component)unit).gameObject.GetComponentInChildren<EyeSpawner>().SetEyesVisable(false);
			((Component)unit).gameObject.AddComponent<KillAfterSeconds>().seconds = 15f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Poseidon's Water"))
		{
			SkinnedMeshRenderer[] componentsInChildren2 = ((Component)((Component)unit).gameObject.GetComponent<Unit>()).GetComponentsInChildren<SkinnedMeshRenderer>();
			for (int j = 0; j < componentsInChildren2.Length; j++)
			{
				((Renderer)componentsInChildren2[j]).enabled = false;
			}
			((Component)unit).gameObject.GetComponentInChildren<GravityHandler>().gravityData.gravity = 100f;
			((Component)unit).gameObject.GetComponentInChildren<EyeSpawner>().SetEyesVisable(false);
			((Component)unit).gameObject.AddComponent<KillAfterSeconds>().seconds = 15f;
			GameObject gameObject = new GameObject();
			gameObject.transform.position = new Vector3(((Component)unit).gameObject.transform.localPosition.x, ((Component)unit).gameObject.transform.localPosition.y, ((Component)unit).gameObject.transform.localPosition.z);
			gameObject.transform.rotation = ((Component)unit).gameObject.transform.rotation;
			gameObject.transform.parent = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform;
			Transform transform = gameObject.transform;
			transform.localScale *= 1f;
			UExtensions.SetHideFlags<GameObject>(gameObject, (HideFlags)61);
			gameObject.SetActive(true);
			PinaCollada.SetBundleObject(gameObject, directory + "/particlesmthology/watercloudsmall", 1f, (Vector3?)new Vector3(0f, 180f, 0f), (Vector3?)new Vector3(0f, 0.2f, 0f), "/weapons/dori");
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				Object.Destroy((Object)(object)gameObject);
			});
			((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Ghost"))
		{
			Material val = new Material(Shader.Find("Standard"));
			val.SetColor("_Color", new Color(1f, 1f, 1f, 0.6f));
			val.SetFloat("_Mode", 3f);
			val.SetInt("_SrcBlend", 5);
			val.SetInt("_DstBlend", 10);
			val.EnableKeyword("_ALPHABLEND_ON");
			val.renderQueue = 3000;
			Renderer[] componentsInChildren3 = ((Component)unit).gameObject.GetComponentsInChildren<Renderer>();
			for (int k = 0; k < componentsInChildren3.Length; k++)
			{
				componentsInChildren3[k].material = val;
			}
			Collider[] componentsInChildren4 = ((Component)unit).gameObject.GetComponentsInChildren<Collider>();
			for (int l = 0; l < componentsInChildren4.Length; l++)
			{
				((Component)componentsInChildren4[l]).gameObject.AddComponent<GhostProjPass>();
			}
			((Component)unit).gameObject.AddComponent<ToggleGhostcolor>();
			((Component)unit).gameObject.GetComponentInChildren<Unit>().targetingPriorityMultiplier = 1f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Cyclops"))
		{
			Transform transform2 = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[0]).transform;
			transform2.localScale *= 1.2f;
			Transform transform3 = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform;
			transform3.localScale *= 1.15f;
			Transform transform4 = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[2]).transform;
			transform4.localScale *= 1.35f;
			((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[3]).transform.localScale = new Vector3(1.5f, 1.5f, 1f);
			((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[4]).transform.localScale = new Vector3(1.5f, 1.5f, 1f);
			((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[5]).transform.localScale = new Vector3(1.5f, 1.5f, 1f);
			((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[6]).transform.localScale = new Vector3(1.5f, 1.5f, 1f);
			((Component)unit).gameObject.GetComponentInChildren<Unit>().data.canFall = false;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Eternal Flame"))
		{
			((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
			((Component)unit).gameObject.GetComponentInChildren<EyeSpawner>().SetEyesVisable(false);
			unit.targetingPriorityMultiplier = 0f;
			SkinnedMeshRenderer[] componentsInChildren5 = ((Component)((Component)unit).GetComponent<Unit>()).GetComponentsInChildren<SkinnedMeshRenderer>();
			for (int m = 0; m < componentsInChildren5.Length; m++)
			{
				((Renderer)componentsInChildren5[m]).enabled = false;
			}
			GameObject gameObject2 = new GameObject();
			Transform transform5 = gameObject2.transform;
			transform5.localScale *= 1f;
			gameObject2.transform.parent = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform;
			gameObject2.transform.rotation = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform.rotation;
			gameObject2.transform.position = new Vector3(((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform.position.x - 0f, ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform.position.y + 0f, ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform.position.z + 0f);
			PinaCollada.SetBundleObject(gameObject2, directory + "/particlesmthology/eternalflame", 1f, (Vector3?)new Vector3(0f, 0f, 0f), (Vector3?)new Vector3(0f, 0f, 0f), "Athenhelmet");
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				//IL_001c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0026: Unknown result type (might be due to invalid IL or missing references)
				Object.Destroy((Object)(object)gameObject2);
				Transform transform8 = ((Component)unit).transform;
				transform8.localScale *= 0f;
			});
			Rigidbody[] componentsInChildren6 = ((Component)((Component)unit).GetComponent<Unit>()).GetComponentsInChildren<Rigidbody>();
			for (int n = 0; n < componentsInChildren6.Length; n++)
			{
				componentsInChildren6[n].mass = 0.69f;
			}
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Arrow1"))
		{
			SkinnedMeshRenderer[] componentsInChildren7 = ((Component)((Component)unit).gameObject.GetComponent<Unit>()).GetComponentsInChildren<SkinnedMeshRenderer>();
			for (int num = 0; num < componentsInChildren7.Length; num++)
			{
				((Renderer)componentsInChildren7[num]).enabled = false;
			}
			((Component)unit).gameObject.GetComponentInChildren<GravityHandler>().gravityData.gravity = 100f;
			((Component)unit).gameObject.GetComponentInChildren<EyeSpawner>().SetEyesVisable(false);
			((Component)unit).gameObject.AddComponent<KillAfterSeconds>().seconds = 2f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Arrow2"))
		{
			SkinnedMeshRenderer[] componentsInChildren8 = ((Component)((Component)unit).gameObject.GetComponent<Unit>()).GetComponentsInChildren<SkinnedMeshRenderer>();
			for (int num2 = 0; num2 < componentsInChildren8.Length; num2++)
			{
				((Renderer)componentsInChildren8[num2]).enabled = false;
			}
			((Component)unit).gameObject.GetComponentInChildren<GravityHandler>().gravityData.gravity = 100f;
			((Component)unit).gameObject.GetComponentInChildren<EyeSpawner>().SetEyesVisable(false);
			((Component)unit).gameObject.AddComponent<KillAfterSeconds>().seconds = 2f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Arrow3"))
		{
			SkinnedMeshRenderer[] componentsInChildren9 = ((Component)((Component)unit).gameObject.GetComponent<Unit>()).GetComponentsInChildren<SkinnedMeshRenderer>();
			for (int num3 = 0; num3 < componentsInChildren9.Length; num3++)
			{
				((Renderer)componentsInChildren9[num3]).enabled = false;
			}
			((Component)unit).gameObject.GetComponentInChildren<GravityHandler>().gravityData.gravity = 100f;
			((Component)unit).gameObject.GetComponentInChildren<EyeSpawner>().SetEyesVisable(false);
			((Component)unit).gameObject.AddComponent<KillAfterSeconds>().seconds = 2f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Arrow4"))
		{
			SkinnedMeshRenderer[] componentsInChildren10 = ((Component)((Component)unit).gameObject.GetComponent<Unit>()).GetComponentsInChildren<SkinnedMeshRenderer>();
			for (int num4 = 0; num4 < componentsInChildren10.Length; num4++)
			{
				((Renderer)componentsInChildren10[num4]).enabled = false;
			}
			((Component)unit).gameObject.GetComponentInChildren<GravityHandler>().gravityData.gravity = 100f;
			((Component)unit).gameObject.GetComponentInChildren<EyeSpawner>().SetEyesVisable(false);
			((Component)unit).gameObject.AddComponent<KillAfterSeconds>().seconds = 2f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Succubus"))
		{
			((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
			Transform transform6 = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[2]).transform;
			transform6.localScale *= 1.2f;
			Transform transform7 = ((Component)((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().AllRigs[1]).transform;
			transform7.localScale *= 1.2f;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Pegasus"))
		{
			((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
			((Component)unit).gameObject.GetComponentInChildren<Unit>().data.canFall = true;
			((Component)unit).gameObject.GetComponentInChildren<Balance>().forceMultiplier = 1f;
			MountPos componentInChildren = ((Component)unit).gameObject.GetComponentInChildren<MountPos>();
			componentInChildren.angularJointStrength *= 2f;
			MountPos componentInChildren2 = ((Component)unit).gameObject.GetComponentInChildren<MountPos>();
			componentInChildren2.jointStrength *= 2f;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().LockedLegs = true;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().mountType = (MountType)0;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().neverLetGo = true;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().removeArmColliders = true;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Apollo's Pegasus"))
		{
			((Component)unit).gameObject.GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
			((Component)unit).gameObject.GetComponentInChildren<Unit>().data.canFall = true;
			((Component)unit).gameObject.GetComponentInChildren<Balance>().forceMultiplier = 1f;
			MountPos componentInChildren3 = ((Component)unit).gameObject.GetComponentInChildren<MountPos>();
			componentInChildren3.angularJointStrength *= 2f;
			MountPos componentInChildren4 = ((Component)unit).gameObject.GetComponentInChildren<MountPos>();
			componentInChildren4.jointStrength *= 2f;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().LockedLegs = true;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().mountType = (MountType)0;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().neverLetGo = true;
			((Component)unit).gameObject.GetComponentInChildren<MountPos>().removeArmColliders = true;
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Valkyrie Champion"))
		{
			List<int> list = new List<int>
			{
				2, 7, 40, 47, 48, 79, 80, 82, 86, 100,
				99, 102, 131, 141, 160, 161, 162, 166, 167, 174,
				196, 198, 203, 261, 259, 268, 269, 275
			};
			unit.unitBlueprint.RightWeapon = LandfallUnitDatabase.GetDatabase().Weapons[list[Random.Range(0, list.Count)]];
		}
		if (unit.Entity.UModName == UFunctions.ModNamify("Lich summons"))
		{
			((Component)unit).gameObject.AddComponent<KillAfterSeconds>().seconds = 20f;
			((Component)unit).gameObject.GetComponentInChildren<KillAfterSeconds>().destroyRoot = true;
			List<int> list2 = new List<int>
			{
				4, 21, 22, 24, 25, 26, 27, 30, 31, 56,
				57, 59, 60, 61, 62, 63, 64, 71, 79, 80,
				122, 127, 131, 132, 138, 139
			};
			unit.unitBlueprint.sizeMultiplier = Random.Range(1f, 2f);
			unit.unitBlueprint.RightWeapon = LandfallUnitDatabase.GetDatabase().Weapons[list2[Random.Range(0, list2.Count)]];
			unit.unitBlueprint.LeftWeapon = LandfallUnitDatabase.GetDatabase().Weapons[list2[Random.Range(0, list2.Count)]];
			unit.unitBlueprint.scaleWeapons = true;
		}
	}

	public void EditBlueprint(UnitBlueprint unit, Dictionary<string, Dictionary<string, object>> dict, LandfallUnitDatabase db)
	{
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Expected O, but got Unknown
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0073: Expected O, but got Unknown
		//IL_008e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0094: Expected O, but got Unknown
		//IL_00af: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b5: Expected O, but got Unknown
		//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d6: Expected O, but got Unknown
		//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ff: Expected O, but got Unknown
		//IL_0124: 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)
		//IL_0180: Unknown result type (might be due to invalid IL or missing references)
		//IL_01be: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c8: Expected O, but got Unknown
		//IL_0236: Unknown result type (might be due to invalid IL or missing references)
		//IL_0295: Unknown result type (might be due to invalid IL or missing references)
		//IL_029f: Expected O, but got Unknown
		//IL_02f0: 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_034c: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a6: Expected O, but got Unknown
		//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c7: Expected O, but got Unknown
		//IL_040a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0410: Expected O, but got Unknown
		//IL_0458: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c1: Expected O, but got Unknown
		//IL_0512: Unknown result type (might be due to invalid IL or missing references)
		//IL_053b: 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_05ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b6: Expected O, but got Unknown
		//IL_05df: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e5: Expected O, but got Unknown
		//IL_0600: Unknown result type (might be due to invalid IL or missing references)
		//IL_0606: Expected O, but got Unknown
		//IL_0667: Unknown result type (might be due to invalid IL or missing references)
		//IL_06c6: 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_0722: Unknown result type (might be due to invalid IL or missing references)
		//IL_0760: Unknown result type (might be due to invalid IL or missing references)
		//IL_076a: Expected O, but got Unknown
		//IL_0784: Unknown result type (might be due to invalid IL or missing references)
		//IL_078e: Expected O, but got Unknown
		//IL_07b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b6: Expected O, but got Unknown
		//IL_07d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_07d7: Expected O, but got Unknown
		//IL_07f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_07f8: Expected O, but got Unknown
		//IL_0868: Unknown result type (might be due to invalid IL or missing references)
		//IL_08c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_08f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0923: Unknown result type (might be due to invalid IL or missing references)
		//IL_0961: Unknown result type (might be due to invalid IL or missing references)
		//IL_096b: Expected O, but got Unknown
		//IL_0994: Unknown result type (might be due to invalid IL or missing references)
		//IL_099a: Expected O, but got Unknown
		//IL_0a0a: 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_0a6c: Expected O, but got Unknown
		//IL_0a86: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aaf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ae2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b1d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b23: Expected O, but got Unknown
		//IL_0b3e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b44: Expected O, but got Unknown
		//IL_0b5f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b65: Expected O, but got Unknown
		//IL_0b80: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b86: Expected O, but got Unknown
		//IL_0ba1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ba7: Expected O, but got Unknown
		//IL_0bc2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bc8: Expected O, but got Unknown
		//IL_0bfc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c06: Expected O, but got Unknown
		//IL_0c45: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c4b: Expected O, but got Unknown
		//IL_0c93: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ceb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d14: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d3d: 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_0d70: Expected O, but got Unknown
		//IL_0dab: Unknown result type (might be due to invalid IL or missing references)
		//IL_0db1: Expected O, but got Unknown
		//IL_0df9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e59: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e5f: Expected O, but got Unknown
		//IL_0e7a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0e80: Expected O, but got Unknown
		//IL_0e9b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ea1: Expected O, but got Unknown
		//IL_0ebc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ec2: Expected O, but got Unknown
		//IL_0ee1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f0a: 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_0f70: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f7a: Expected O, but got Unknown
		//IL_0f94: Unknown result type (might be due to invalid IL or missing references)
		//IL_0f9e: Expected O, but got Unknown
		//IL_0fd6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0fdc: Expected O, but got Unknown
		//IL_0ff7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ffd: Expected O, but got Unknown
		//IL_1018: Unknown result type (might be due to invalid IL or missing references)
		//IL_101e: Expected O, but got Unknown
		//IL_1039: Unknown result type (might be due to invalid IL or missing references)
		//IL_103f: Expected O, but got Unknown
		//IL_105a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1060: Expected O, but got Unknown
		//IL_10a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_1108: Unknown result type (might be due to invalid IL or missing references)
		//IL_110e: Expected O, but got Unknown
		//IL_1129: Unknown result type (might be due to invalid IL or missing references)
		//IL_112f: Expected O, but got Unknown
		//IL_114a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1150: Expected O, but got Unknown
		//IL_116b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1171: Expected O, but got Unknown
		//IL_1190: Unknown result type (might be due to invalid IL or missing references)
		//IL_11b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_11ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_121f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1229: Expected O, but got Unknown
		//IL_1272: Unknown result type (might be due to invalid IL or missing references)
		//IL_1278: Expected O, but got Unknown
		//IL_1293: Unknown result type (might be due to invalid IL or missing references)
		//IL_1299: Expected O, but got Unknown
		//IL_12b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_12ba: Expected O, but got Unknown
		//IL_12d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_12db: Expected O, but got Unknown
		//IL_1323: Unknown result type (might be due to invalid IL or missing references)
		//IL_1384: Unknown result type (might be due to invalid IL or missing references)
		//IL_138a: Expected O, but got Unknown
		//IL_13a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_13ab: Expected O, but got Unknown
		//IL_13c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_13cc: Expected O, but got Unknown
		//IL_13e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_13ed: Expected O, but got Unknown
		//IL_1408: Unknown result type (might be due to invalid IL or missing references)
		//IL_140e: Expected O, but got Unknown
		//IL_1429: Unknown result type (might be due to invalid IL or missing references)
		//IL_142f: Expected O, but got Unknown
		//IL_144a: Unknown result type (might be due to invalid IL or missing references)
		//IL_1450: Expected O, but got Unknown
		//IL_146b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1471: Expected O, but got Unknown
		//IL_148c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1492: Expected O, but got Unknown
		//IL_14ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_14b4: Expected O, but got Unknown
		//IL_14d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_14d6: Expected O, but got Unknown
		//IL_14f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_14f8: Expected O, but got Unknown
		//IL_1517: Unknown result type (might be due to invalid IL or missing references)
		//IL_1540: Unknown result type (might be due to invalid IL or missing references)
		//IL_1573: Unknown result type (might be due to invalid IL or missing references)
		//IL_15b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_15bb: Expected O, but got Unknown
		//IL_15d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_15df: Expected O, but got Unknown
		//IL_1601: Unknown result type (might be due to invalid IL or missing references)
		//IL_1607: Expected O, but got Unknown
		//IL_1665: Unknown result type (might be due to invalid IL or missing references)
		//IL_16c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_16ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_1720: Unknown result type (might be due to invalid IL or missing references)
		//IL_175e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1768: Expected O, but got Unknown
		//IL_1782: Unknown result type (might be due to invalid IL or missing references)
		//IL_178c: Expected O, but got Unknown
		//IL_17ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_17b4: Expected O, but got Unknown
		//IL_1824: Unknown result type (might be due to invalid IL or missing references)
		//IL_1884: Unknown result type (might be due to invalid IL or missing references)
		//IL_188a: Expected O, but got Unknown
		//IL_18a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_18ab: Expected O, but got Unknown
		//IL_18c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_18cc: Expected O, but got Unknown
		//IL_18e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_18ed: Expected O, but got Unknown
		//IL_1908: Unknown result type (might be due to invalid IL or missing references)
		//IL_190e: Expected O, but got Unknown
		//IL_1935: Unknown result type (might be due to invalid IL or missing references)
		//IL_193b: Expected O, but got Unknown
		//IL_1956: Unknown result type (might be due to invalid IL or missing references)
		//IL_195c: Expected O, but got Unknown
		//IL_1977: Unknown result type (might be due to invalid IL or missing references)
		//IL_197d: Expected O, but got Unknown
		//IL_1998: Unknown result type (might be due to invalid IL or missing references)
		//IL_199e: Expected O, but got Unknown
		//IL_19bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_19e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a0f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a4e: Unknown result type (might be due to invalid IL or missing references)
		//IL_1a9f: Unknown result type (might be due to invalid IL or missing references)
		//IL_1aa5: Expected O, but got Unknown
		//IL_1aea: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b4b: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b51: Expected O, but got Unknown
		//IL_1b6c: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b72: Expected O, but got Unknown
		//IL_1b8d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1b93: Expected O, but got Unknown
		//IL_1bae: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bb4: Expected O, but got Unknown
		//IL_1bcf: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bd5: Expected O, but got Unknown
		//IL_1bf0: Unknown result type (might be due to invalid IL or missing references)
		//IL_1bf6: Expected O, but got Unknown
		//IL_1c11: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c17: Expected O, but got Unknown
		//IL_1c32: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c38: Expected O, but got Unknown
		//IL_1c53: Unknown result type (might be due to invalid IL or missing references)
		//IL_1c59: Expected O, but got Unknown
		//IL_1c78: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ca1: Unknown result type (might be due to invalid IL or missing references)
		//IL_1cd4: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d12: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d1c: Expected O, but got Unknown
		//IL_1d45: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d4b: Expected O, but got Unknown
		//IL_1d66: Unknown result type (might be due to invalid IL or missing references)
		//IL_1d6c: Expected O, but got Unknown
		//IL_1dca: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e29: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e52: Unknown result type (might be due to invalid IL or missing references)
		//IL_1e85: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ec3: Unknown result type (might be due to invalid IL or missing references)
		//IL_1ecd: Expected O, but got Unknown
		//IL_1ef6: Unknown result type (might be due to invalid IL or missing references)
		//IL_1efc: Expected O, but got Unknown
		//IL_1f17: Unknown result type (might be due to invalid IL or missing references)
		//IL_1f1d: Expected O, but got Unknown
		//IL_1f8d: Unknown result type (might be due to invalid IL or missing references)
		//IL_1fec: Unknown result type (might be due to invalid IL or missing references)
		//IL_2015: Unknown result type (might be due to invalid IL or missing references)
		//IL_2048: Unknown result type (might be due to invalid IL or missing references)
		//IL_2086: Unknown result type (might be due to invalid IL or missing references)
		//IL_2090: Expected O, but got Unknown
		//IL_20b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_20bf: Expected O, but got Unknown
		//IL_20da: Unknown result type (might be due to invalid IL or missing references)
		//IL_20e0: Expected O, but got Unknown
		//IL_2150: Unknown result type (might be due to invalid IL or missing references)
		//IL_21af: Unknown result type (might be due to invalid IL or missing references)
		//IL_21d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_220b: Unknown result type (might be due to invalid IL or missing references)
		//IL_2249: Unknown result type (might be due to invalid IL or missing references)
		//IL_2253: Expected O, but got Unknown
		//IL_227c: Unknown result type (might be due to invalid IL or missing references)
		//IL_2282: Expected O, but got Unknown
		//IL_229d: Unknown result type (might be due to invalid IL or missing references)
		//IL_22a3: Expected O, but got Unknown
		//IL_2313: Unknown result type (might be due to invalid IL or missing references)
		//IL_2372: Unknown result type (might be due to invalid IL or missing references)
		//IL_239b: Unknown result type (might be due to invalid IL or missing references)
		//IL_23ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_240c: Unknown result type (might be due to invalid IL or missing references)
		//IL_2416: Expected O, but got Unknown
		//IL_243f: Unknown result type (might be due to invalid IL or missing references)
		//IL_2445: Expected O, but g