Decompiled source of Anime Tabs v1.0.3

DomainExpasion.dll

Decompiled 2 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using DM;
using HarmonyLib;
using Landfall.TABS;
using Landfall.TABS.UnitEditor;
using SLMA;
using TFBGames;
using TechnicalItems;
using UnityEngine;
using domainClash;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("DomainExpasion")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Me and my army of owls")]
[assembly: AssemblyProduct("DomainExpasion")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("7acfaef0-7669-4401-8bff-5a9a02e18c75")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.5.0")]
[module: UnverifiableCode]
namespace TechnicalItems
{
	public static class UManager
	{
		public class CustomSprite : MonoBehaviour
		{
			public static Sprite Image2Sprite(string name)
			{
				//IL_000e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0014: Expected O, but got Unknown
				//IL_0059: Unknown result type (might be due to invalid IL or missing references)
				//IL_0068: Unknown result type (might be due to invalid IL or missing references)
				using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name);
				Texture2D val = new Texture2D(4, 4);
				byte[] array = new byte[stream.Length];
				stream.Read(array, 0, (int)stream.Length);
				((Texture)val).filterMode = (FilterMode)0;
				ImageConversion.LoadImage(val, array);
				return Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f));
			}
		}

		public class Utility : MonoBehaviour
		{
			public static class PrimitiveHelper
			{
				private static Dictionary<PrimitiveType, Mesh> primitiveMeshes;

				public static GameObject CreatePrimitive(PrimitiveType type, bool withCollider)
				{
					//IL_0017: Unknown result type (might be due to invalid IL or missing references)
					//IL_001c: Unknown result type (might be due to invalid IL or missing references)
					//IL_0022: Unknown result type (might be due to invalid IL or missing references)
					//IL_002d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0035: Expected O, but got Unknown
					//IL_0003: Unknown result type (might be due to invalid IL or missing references)
					if (withCollider)
					{
						return GameObject.CreatePrimitive(type);
					}
					GameObject val = new GameObject(((object)(PrimitiveType)(ref type)).ToString());
					val.AddComponent<MeshFilter>().sharedMesh = GetPrimitiveMesh(type);
					val.AddComponent<MeshRenderer>();
					return val;
				}

				public static Mesh GetPrimitiveMesh(PrimitiveType type)
				{
					//IL_0005: Unknown result type (might be due to invalid IL or missing references)
					//IL_0019: Unknown result type (might be due to invalid IL or missing references)
					//IL_000d: Unknown result type (might be due to invalid IL or missing references)
					if (!primitiveMeshes.ContainsKey(type))
					{
						CreatePrimitiveMesh(type);
					}
					return primitiveMeshes[type];
				}

				private static Mesh CreatePrimitiveMesh(PrimitiveType type)
				{
					//IL_0000: Unknown result type (might be due to invalid IL or missing references)
					//IL_001c: Unknown result type (might be due to invalid IL or missing references)
					GameObject obj = GameObject.CreatePrimitive(type);
					Mesh sharedMesh = obj.GetComponent<MeshFilter>().sharedMesh;
					Object.Destroy((Object)(object)obj);
					primitiveMeshes[type] = sharedMesh;
					return sharedMesh;
				}

				static PrimitiveHelper()
				{
					primitiveMeshes = new Dictionary<PrimitiveType, Mesh>();
				}
			}

			public static Sprite LoadBundleTextureToSprite(string name)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Expected O, but got Unknown
				//IL_0031: Unknown result type (might be due to invalid IL or missing references)
				//IL_0040: Unknown result type (might be due to invalid IL or missing references)
				Texture2D val = (Texture2D)bundle.LoadAsset(name);
				((Texture)val).filterMode = (FilterMode)0;
				return Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f));
			}

			public static GameObject LoadBundleGameObject(string name)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Expected O, but got Unknown
				return (GameObject)bundle.LoadAsset(name);
			}

			public static AudioClip LoadBundleAudioClip(string name)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Expected O, but got Unknown
				return (AudioClip)bundle.LoadAsset(name);
			}

			public static Material LoadBundleMaterial(string name)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Expected O, but got Unknown
				return (Material)bundle.LoadAsset(name);
			}

			public static RuntimeAnimatorController LoadBundleController(string name)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Expected O, but got Unknown
				return (RuntimeAnimatorController)bundle.LoadAsset(name);
			}

			public static Faction LoadBundleFaction(string name)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Expected O, but got Unknown
				return (Faction)bundle.LoadAsset(name);
			}

			public static Faction SetFactionHidden(Faction faction)
			{
				s.SetField<Faction>(faction, "m_isSecret", (object)true);
				s.SetField<Faction>(faction, "m_lockSecrets", (object)true);
				return faction;
			}

			public static UnitBlueprint LoadBundleUnitBlueprint(string name)
			{
				//IL_000b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0011: Expected O, but got Unknown
				return (UnitBlueprint)bundle.LoadAsset(name);
			}
		}

		public static string comment;

		public static AssetBundle bundle;

		public static void SetMovesItems(GameObject move, LandfallContentDatabase db)
		{
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Expected O, but got Unknown
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0279: Unknown result type (might be due to invalid IL or missing references)
			//IL_0283: Expected O, but got Unknown
			//IL_027e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0285: Expected O, but got Unknown
			//IL_0287: Unknown result type (might be due to invalid IL or missing references)
			//IL_0291: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Expected O, but got Unknown
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Expected O, but got Unknown
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_013a: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f2: Expected O, but got Unknown
			//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f4: Expected O, but got Unknown
			//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0300: Unknown result type (might be due to invalid IL or missing references)
			//IL_0356: Unknown result type (might be due to invalid IL or missing references)
			//IL_0386: Unknown result type (might be due to invalid IL or missing references)
			//IL_0937: Unknown result type (might be due to invalid IL or missing references)
			//IL_093d: Expected O, but got Unknown
			//IL_0968: 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_0a95: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ae1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c71: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c77: Expected O, but got Unknown
			//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d2b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d30: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Domain Expansion: Infinite Void (OLD)"))
			{
				move.GetComponentInChildren<SpawnObject>().objectToSpawn = Utility.LoadBundleGameObject("E_Infinty");
				GameObject gameObject = move.GetComponentInChildren<SpawnObject>().objectToSpawn.gameObject;
				MeshRenderer[] componentsInChildren = gameObject.GetComponentsInChildren<MeshRenderer>();
				for (int i = 0; i < componentsInChildren.Length; i++)
				{
					Material val = new Material((Material)SLMALoader.SDic["materials"]["AddativeParticleBox"]);
					val.color = Color.black * 0.7f;
					((Renderer)componentsInChildren[i]).material = val;
					((Renderer)componentsInChildren[i]).sharedMaterial = val;
				}
				SkinnedMeshRenderer[] componentsInChildren2 = gameObject.GetComponentsInChildren<SkinnedMeshRenderer>();
				for (int j = 0; j < componentsInChildren2.Length; j++)
				{
					Material val2 = new Material((Material)SLMALoader.SDic["materials"]["AddativeParticleBox"]);
					val2.color = Color.black * 0.7f;
					((Renderer)componentsInChildren[j]).material = val2;
					((Renderer)componentsInChildren[j]).sharedMaterial = val2;
				}
				((Behaviour)move.GetComponentInChildren<PropItem>()).enabled = false;
				((Component)move.GetComponentInChildren<PropItem>()).transform.localScale = new Vector3(0f, 0f, 0f);
				move.AddComponent<DodgeMove>();
				s.DeepCopyOf<DodgeMove>(move.GetComponentInChildren<DodgeMove>(), ((GameObject)SLMALoader.SDic["moves"]["Fencer_Dodge"]).GetComponentInChildren<DodgeMove>());
				DodgeMove componentInChildren = move.GetComponentInChildren<DodgeMove>();
				componentInChildren.animationSpeed *= 3f;
				DodgeMove componentInChildren2 = move.GetComponentInChildren<DodgeMove>();
				componentInChildren2.forceMultiplier *= 2.5f;
				ParticleSystemRenderer[] componentsInChildren3 = move.GetComponentsInChildren<ParticleSystemRenderer>();
				for (int k = 0; k < componentsInChildren3.Length; k++)
				{
					((Renderer)componentsInChildren3[k]).enabled = false;
				}
				componentsInChildren = move.GetComponentsInChildren<MeshRenderer>();
				for (int l = 0; l < componentsInChildren.Length; l++)
				{
					((Renderer)componentsInChildren[l]).enabled = false;
				}
				componentsInChildren2 = move.GetComponentsInChildren<SkinnedMeshRenderer>();
				for (int m = 0; m < componentsInChildren2.Length; m++)
				{
					((Renderer)componentsInChildren2[m]).enabled = false;
				}
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Domain Expansion: Malevolent Shrine"))
			{
				move.GetComponentInChildren<SpawnObject>().objectToSpawn = Utility.LoadBundleGameObject("E_Shrine");
				GameObject gameObject2 = move.GetComponentInChildren<SpawnObject>().objectToSpawn.gameObject;
				MeshRenderer[] componentsInChildren4 = gameObject2.GetComponentsInChildren<MeshRenderer>();
				for (int n = 0; n < componentsInChildren4.Length; n++)
				{
					Material val3 = new Material((Material)SLMALoader.SDic["materials"]["AddativeParticleBox"]);
					val3.color = Color.black * 0.7f;
					((Renderer)componentsInChildren4[n]).material = val3;
					((Renderer)componentsInChildren4[n]).sharedMaterial = val3;
				}
				SkinnedMeshRenderer[] componentsInChildren5 = gameObject2.GetComponentsInChildren<SkinnedMeshRenderer>();
				for (int num = 0; num < componentsInChildren5.Length; num++)
				{
					Material val4 = new Material((Material)SLMALoader.SDic["materials"]["AddativeParticleBox"]);
					val4.color = Color.black * 0.7f;
					((Renderer)componentsInChildren4[num]).material = val4;
					((Renderer)componentsInChildren4[num]).sharedMaterial = val4;
				}
				((Behaviour)move.GetComponentInChildren<PropItem>()).enabled = false;
				((Component)move.GetComponentInChildren<PropItem>()).transform.localScale = new Vector3(0f, 0f, 0f);
				move.AddComponent<DodgeMove>();
				s.DeepCopyOf<DodgeMove>(move.GetComponentInChildren<DodgeMove>(), ((GameObject)SLMALoader.SDic["moves"]["MinotaurCharge"]).GetComponentInChildren<DodgeMove>());
				DodgeMove componentInChildren3 = move.GetComponentInChildren<DodgeMove>();
				componentInChildren3.animationSpeed *= 3f;
				DodgeMove componentInChildren4 = move.GetComponentInChildren<DodgeMove>();
				componentInChildren4.forceMultiplier *= 2f;
				((Behaviour)move.GetComponentInChildren<UnitDontWalkFor>()).enabled = false;
				move.GetComponentInChildren<UnitDontWalkFor>().time = 0f;
				ParticleSystemRenderer[] componentsInChildren6 = move.GetComponentsInChildren<ParticleSystemRenderer>();
				for (int num2 = 0; num2 < componentsInChildren6.Length; num2++)
				{
					((Renderer)componentsInChildren6[num2]).enabled = false;
				}
				componentsInChildren4 = move.GetComponentsInChildren<MeshRenderer>();
				for (int num3 = 0; num3 < componentsInChildren4.Length; num3++)
				{
					((Renderer)componentsInChildren4[num3]).enabled = false;
				}
				componentsInChildren5 = move.GetComponentsInChildren<SkinnedMeshRenderer>();
				for (int num4 = 0; num4 < componentsInChildren5.Length; num4++)
				{
					((Renderer)componentsInChildren5[num4]).enabled = false;
				}
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Toji Kick"))
			{
				DodgeMove[] componentsInChildren7 = move.GetComponentsInChildren<DodgeMove>();
				for (int num5 = 0; num5 < componentsInChildren7.Length; num5++)
				{
					DodgeMove obj = componentsInChildren7[num5];
					obj.animationSpeed *= 2f;
					DodgeMove obj2 = componentsInChildren7[num5];
					obj2.forceMultiplier *= 6f;
				}
				CollisionWeapon[] componentsInChildren8 = move.GetComponentsInChildren<CollisionWeapon>();
				for (int num6 = 0; num6 < componentsInChildren8.Length; num6++)
				{
					CollisionWeapon obj3 = componentsInChildren8[num6];
					obj3.damage *= 0.3f;
					CollisionWeapon obj4 = componentsInChildren8[num6];
					obj4.cooldown *= 1.5f;
					componentsInChildren8[num6].ignoreTeamMates = true;
				}
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Toji Quick Dash"))
			{
				((Behaviour)move.GetComponentInChildren<Explosion>()).enabled = false;
				DodgeMove[] componentsInChildren9 = move.GetComponentsInChildren<DodgeMove>();
				for (int num7 = 0; num7 < componentsInChildren9.Length; num7++)
				{
					DodgeMove obj5 = componentsInChildren9[num7];
					obj5.animationSpeed *= 7f;
					DodgeMove obj6 = componentsInChildren9[num7];
					obj6.forceMultiplier *= 6f;
				}
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Toji Weapon Pool"))
			{
				move.AddComponent<WeaponPool>();
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Maki's Block"))
			{
				move.GetComponentInChildren<Parry>().parryPower = 70f;
				Parry componentInChildren5 = move.GetComponentInChildren<Parry>();
				componentInChildren5.force *= 8f;
				DodgeMove componentInChildren6 = move.GetComponentInChildren<DodgeMove>();
				componentInChildren6.animationSpeed *= 2f;
				DodgeMove componentInChildren7 = move.GetComponentInChildren<DodgeMove>();
				componentInChildren7.forceMultiplier *= 3f;
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Minato Kick"))
			{
				DodgeMove[] componentsInChildren10 = move.GetComponentsInChildren<DodgeMove>();
				for (int num8 = 0; num8 < componentsInChildren10.Length; num8++)
				{
					DodgeMove obj7 = componentsInChildren10[num8];
					obj7.animationSpeed *= 3f;
					DodgeMove obj8 = componentsInChildren10[num8];
					obj8.forceMultiplier *= 8f;
				}
				CollisionWeapon[] componentsInChildren11 = move.GetComponentsInChildren<CollisionWeapon>();
				for (int num9 = 0; num9 < componentsInChildren11.Length; num9++)
				{
					CollisionWeapon obj9 = componentsInChildren11[num9];
					obj9.damage *= 0.2f;
					CollisionWeapon obj10 = componentsInChildren11[num9];
					obj10.cooldown *= 0.4f;
					componentsInChildren11[num9].ignoreTeamMates = true;
				}
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Ino Mind Switch"))
			{
				move.GetComponentInChildren<AddObjectEffect>().EffectPrefab = UPool.MyPool.GetObject("Eff_Mind").GetComponentInChildren<UnitEffectBase>();
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Ino Kick"))
			{
				DodgeMove[] componentsInChildren12 = move.GetComponentsInChildren<DodgeMove>();
				for (int num10 = 0; num10 < componentsInChildren12.Length; num10++)
				{
					DodgeMove obj11 = componentsInChildren12[num10];
					obj11.animationSpeed *= 2f;
					DodgeMove obj12 = componentsInChildren12[num10];
					obj12.forceMultiplier *= 5f;
				}
				CollisionWeapon[] componentsInChildren13 = move.GetComponentsInChildren<CollisionWeapon>();
				for (int num11 = 0; num11 < componentsInChildren13.Length; num11++)
				{
					CollisionWeapon obj13 = componentsInChildren13[num11];
					obj13.damage *= 0.2f;
					CollisionWeapon obj14 = componentsInChildren13[num11];
					obj14.cooldown *= 0.6f;
					CollisionWeapon obj15 = componentsInChildren13[num11];
					obj15.onImpactForce *= 1.5f;
					componentsInChildren13[num11].ignoreTeamMates = true;
				}
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Todo Kick"))
			{
				DodgeMove[] componentsInChildren14 = move.GetComponentsInChildren<DodgeMove>();
				for (int num12 = 0; num12 < componentsInChildren14.Length; num12++)
				{
					DodgeMove obj16 = componentsInChildren14[num12];
					obj16.animationSpeed *= 0.8f;
					DodgeMove obj17 = componentsInChildren14[num12];
					obj17.forceMultiplier *= 3f;
				}
				CollisionWeapon[] componentsInChildren15 = move.GetComponentsInChildren<CollisionWeapon>();
				for (int num13 = 0; num13 < componentsInChildren15.Length; num13++)
				{
					CollisionWeapon obj18 = componentsInChildren15[num13];
					obj18.damage *= 0.1f;
					CollisionWeapon obj19 = componentsInChildren15[num13];
					obj19.cooldown *= 1.7f;
					CollisionWeapon obj20 = componentsInChildren15[num13];
					obj20.onImpactForce *= 2f;
					componentsInChildren15[num13].ignoreTeamMates = true;
				}
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Flight"))
			{
				Object.Destroy((Object)(object)move.GetComponentInChildren<SpawnObject>());
				move.GetComponentInChildren<DodgeMove>().animationSpeed = 1f;
				move.GetComponentInChildren<DodgeMove>().animationSpeedWhenPositiveCurve = 1f;
				move.GetComponentInChildren<DodgeMove>().forceMultiplier = 1f;
				move.GetComponentInChildren<DodgeMove>().usedAsMovement = true;
				move.GetComponentInChildren<DodgeMove>().cancelSelf = false;
				move.GetComponentInChildren<DodgeMove>().randomForceMultiplier = false;
				move.GetComponentInChildren<DodgeMove>().divideForceByMass = false;
				move.GetComponentInChildren<DodgeMove>().minRange = 0f;
				move.GetComponentInChildren<DodgeMove>().maxRange = 0f;
				move.GetComponentInChildren<DodgeMove>().moves = (CombatMoveDataInstance[])(object)new CombatMoveDataInstance[2]
				{
					move.GetComponentInChildren<DodgeMove>().moves[0],
					new CombatMoveDataInstance()
				};
				move.GetComponentInChildren<DodgeMove>().moves[0].force = 10f;
				move.GetComponentInChildren<DodgeMove>().moves[0].forceDirection = (ForceDirection)12;
				move.GetComponentInChildren<DodgeMove>().moves[0].forceCurve = AnimationCurve.Constant(0f, 6f, 1f);
				move.GetComponentInChildren<DodgeMove>().moves[0].ignoreY = true;
				move.GetComponentInChildren<DodgeMove>().moves[0].rigidbodyToMove = (RigidBodyToMove)5;
				move.GetComponentInChildren<DodgeMove>().moves[0].predictionAmount = 0f;
				move.GetComponentInChildren<DodgeMove>().moves[0].randomMultiplier = 1f;
				move.GetComponentInChildren<DodgeMove>().moves[0].randomizeDirection = false;
				move.GetComponentInChildren<DodgeMove>().moves[0].setDirectionContiniouiouss = true;
				move.GetComponentInChildren<DodgeMove>().moves[0].randomCurve = AnimationCurve.Constant(0f, 1f, 1f);
				move.GetComponentInChildren<DodgeMove>().moves[0].normalize = true;
				move.GetComponentInChildren<DodgeMove>().moves[0].useAlternateForceProjectMarsClient = false;
				move.GetComponentInChildren<DodgeMove>().moves[0].alternateClientForce = 0f;
				move.GetComponentInChildren<DodgeMove>().moves[1].force = 20f;
				move.GetComponentInChildren<DodgeMove>().moves[1].forceDirection = (ForceDirection)0;
				move.GetComponentInChildren<DodgeMove>().moves[1].forceCurve = AnimationCurve.Constant(0f, 6f, 1f);
				move.GetComponentInChildren<DodgeMove>().moves[1].ignoreY = false;
				move.GetComponentInChildren<DodgeMove>().moves[1].rigidbodyToMove = (RigidBodyToMove)0;
				move.GetComponentInChildren<DodgeMove>().moves[1].predictionAmount = 0f;
				move.GetComponentInChildren<DodgeMove>().moves[1].randomMultiplier = 1f;
				move.GetComponentInChildren<DodgeMove>().moves[1].randomizeDirection = false;
				move.GetComponentInChildren<DodgeMove>().moves[1].setDirectionContiniouiouss = true;
				move.GetComponentInChildren<DodgeMove>().moves[1].randomCurve = AnimationCurve.Constant(0f, 1f, 1f);
				move.GetComponentInChildren<DodgeMove>().moves[1].normalize = true;
				move.GetComponentInChildren<DodgeMove>().moves[1].useAlternateForceProjectMarsClient = false;
				move.GetComponentInChildren<DodgeMove>().moves[1].alternateClientForce = 0f;
				ParticleSystem[] componentsInChildren16 = move.GetComponentsInChildren<ParticleSystem>();
				for (int num14 = 0; num14 < componentsInChildren16.Length; num14++)
				{
					Object.Destroy((Object)(object)componentsInChildren16[num14]);
				}
				ParticleSystemRenderer[] componentsInChildren17 = move.GetComponentsInChildren<ParticleSystemRenderer>();
				for (int num15 = 0; num15 < componentsInChildren17.Length; num15++)
				{
					Object.Destroy((Object)(object)componentsInChildren17[num15]);
				}
				move.GetComponentInChildren<ConditionalEvent>().ignorePossession = false;
				move.GetComponentInChildren<ConditionalEvent>().controllableByPlayer = true;
				move.GetComponentInChildren<ConditionalEvent>().isStunnable = false;
				move.GetComponentInChildren<ConditionalEvent>().failChancePer100Hp = 0f;
				move.GetComponentInChildren<ConditionalEvent>().events[0].checkAutomatically = true;
				move.GetComponentInChildren<ConditionalEvent>().events[0].stopWeaponAttacksFor = 0f;
				move.GetComponentInChildren<ConditionalEvent>().events[0].delay = 0f;
				move.GetComponentInChildren<ConditionalEvent>().events[0].conditions = (EventCondition[])(object)new EventCondition[1]
				{
					new EventCondition()
				};
				move.GetComponentInChildren<ConditionalEvent>().events[0].conditions[0].conditionType = (ConditionType)0;
				move.GetComponentInChildren<ConditionalEvent>().events[0].conditions[0].value = 12f;
				move.GetComponentInChildren<ConditionalEvent>().events[0].conditions[0].valueType = (ValueType)1;
				DelayEvent[] componentsInChildren18 = move.GetComponentsInChildren<DelayEvent>();
				foreach (DelayEvent obj21 in componentsInChildren18)
				{
					obj21.delay = 0f;
					obj21.randomDelay = 0f;
				}
				GoToBodyPart[] componentsInChildren19 = move.GetComponentsInChildren<GoToBodyPart>();
				foreach (GoToBodyPart obj22 in componentsInChildren19)
				{
					obj22.targetPart = (TargetPart)2;
					obj22.customUnitOffset = new Vector3(0f, -3f, 0f);
				}
				move.GetComponentInChildren<UnitDontFallForSeconds>().seconds = 8f;
			}
			if ((Object)(object)move == (Object)(object)UPool.MyPool.GetObject("Domain Expansion: Self Embodiment Of Perfection"))
			{
				move.GetComponentInChildren<SpawnObject>().objectToSpawn = UPool.MyPool.GetObject("Eff_SEOP");
			}
		}

		public static void Init(LandfallContentDatabase db)
		{
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Expected O, but got Unknown
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			//IL_012f: Expected O, but got Unknown
			//IL_0153: Unknown result type (might be due to invalid IL or missing references)
			//IL_0170: Expected O, but got Unknown
			//IL_0194: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b1: Expected O, but got Unknown
			//IL_0202: Unknown result type (might be due to invalid IL or missing references)
			//IL_021f: Expected O, but got Unknown
			//IL_0270: Unknown result type (might be due to invalid IL or missing references)
			//IL_028d: Expected O, but got Unknown
			//IL_0392: Unknown result type (might be due to invalid IL or missing references)
			//IL_03af: Expected O, but got Unknown
			//IL_03d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f0: Expected O, but got Unknown
			//IL_056d: Unknown result type (might be due to invalid IL or missing references)
			//IL_058a: Expected O, but got Unknown
			//IL_05db: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f8: Expected O, but got Unknown
			//IL_0676: Unknown result type (might be due to invalid IL or missing references)
			//IL_0693: Expected O, but got Unknown
			//IL_06b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d4: Expected O, but got Unknown
			//IL_06f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0715: Expected O, but got Unknown
			//IL_0739: Unknown result type (might be due to invalid IL or missing references)
			//IL_0756: Expected O, but got Unknown
			//IL_07d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_07f1: Expected O, but got Unknown
			//IL_0842: Unknown result type (might be due to invalid IL or missing references)
			//IL_085f: Expected O, but got Unknown
			//IL_0991: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ae: Expected O, but got Unknown
			//IL_09ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a1c: Expected O, but got Unknown
			//IL_0d88: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da5: Expected O, but got Unknown
			//IL_0f22: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f3f: Expected O, but got Unknown
			//IL_101c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1035: Expected O, but got Unknown
			//IL_1040: Unknown result type (might be due to invalid IL or missing references)
			//IL_105d: Expected O, but got Unknown
			//IL_1068: Unknown result type (might be due to invalid IL or missing references)
			//IL_1085: Expected O, but got Unknown
			//IL_10f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_1111: Expected O, but got Unknown
			//IL_1135: Unknown result type (might be due to invalid IL or missing references)
			//IL_1152: Expected O, but got Unknown
			//IL_1176: Unknown result type (might be due to invalid IL or missing references)
			//IL_1193: Expected O, but got Unknown
			//IL_11b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_11d4: Expected O, but got Unknown
			//IL_11f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_1215: Expected O, but got Unknown
			//IL_1239: Unknown result type (might be due to invalid IL or missing references)
			//IL_1256: Expected O, but got Unknown
			LoadBundle("domainbundle");
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Weapons";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			Faction val = SLMATool.CreateFaction("JJk Units", (UnitBlueprint[])null, CustomSprite.Image2Sprite("icon_jjk.png"), 1);
			val.m_FactionColor = new Color(0.26f, 0.66f, 0.7f);
			val.index = 15;
			SLMATool.CreateUnit("Mahoraga", Utility.LoadBundleUnitBlueprint("MahoragaUnit"), val, CustomSprite.Image2Sprite("icon_jjk.png"));
			UPool.MyPool.AddObject("BIG CLUB TEST", Utility.LoadBundleGameObject("CrusaderSword"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 12131010, true);
			UPool.MyPool.AddObject("Black Flash", (GameObject)SLMALoader.SDic["weapons"]["ThorsHammer"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131015, true);
			UPool.MyPool.AddObject("Reversal Red", (GameObject)SLMALoader.SDic["weapons"]["Throw_Thunderbolt"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131016, true);
			UPool.MyPool.AddObject("Toji's punch", (GameObject)SLMALoader.SDic["weapons"]["Leg_Boxer"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131017, true);
			UPool.MyPool.AddObject("Maki's Polearm", (GameObject)SLMALoader.SDic["weapons"]["MonkStaff"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131018, true);
			UPool.MyPool.AddObject("Fan", Utility.LoadBundleGameObject("Fan"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 12131035, true);
			UPool.MyPool.AddObject("Rock Lee's punch", (GameObject)SLMALoader.SDic["weapons"]["Leg_Boxer"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 12131019, true);
			UPool.MyPool.AddObject("Hikari's punch", Utility.LoadBundleGameObject("HikariPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131121, true);
			UPool.MyPool.AddObject("Lapse Blue", (GameObject)SLMALoader.SDic["weapons"]["Throw_Thunderbolt"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131041, true);
			UPool.MyPool.AddObject("OFA Punch", Utility.LoadBundleGameObject("OFAPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_mha.png"), 12131042, true);
			UPool.MyPool.AddObject("Explosive Punch", Utility.LoadBundleGameObject("BakugoPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_mha.png"), 12131043, true);
			UPool.MyPool.AddObject("Mahito Punch", Utility.LoadBundleGameObject("MahitoPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131044, true);
			UPool.MyPool.AddObject("Inverted Spear", Utility.LoadBundleGameObject("InvertedSpear"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131045, true);
			UPool.MyPool.AddObject("Divergent Fist", Utility.LoadBundleGameObject("YujiPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131046, true);
			UPool.MyPool.AddObject("Nobara Throw", (GameObject)SLMALoader.SDic["weapons"]["Throw_Knife"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131047, true);
			UPool.MyPool.AddObject("Piccolo Throw", (GameObject)SLMALoader.SDic["weapons"]["Throw_Knife"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 12131049, true);
			UPool.MyPool.AddObject("Playful Cloud", Utility.LoadBundleGameObject("TEST"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131050, true);
			UPool.MyPool.AddObject("Mahito Mallet Left", Utility.LoadBundleGameObject("MahitoHammerleft"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131051, true);
			UPool.MyPool.AddObject("Mahito Mallet Right", Utility.LoadBundleGameObject("MahitoHammeright"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131052, true);
			UPool.MyPool.AddObject("The Well's Unknown Abyss", Utility.LoadBundleGameObject("Toads"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131053, true);
			UPool.MyPool.AddObject("Nanami's Sword", Utility.LoadBundleGameObject("NanamiBlade"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131054, true);
			UPool.MyPool.AddObject("Jogo Punch", Utility.LoadBundleGameObject("JogoPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131055, true);
			UPool.MyPool.AddObject("Kefla Punch", Utility.LoadBundleGameObject("KeflaPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 12131056, true);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Abilities";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("Domain Expansion: Infinite Void (OLD)", (GameObject)SLMALoader.SDic["moves"]["Move_AntiGravityField_Neon"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 52860498, true);
			UPool.MyPool.AddObject("Domain Expansion: Infinite Void", Utility.LoadBundleGameObject("Move_UnlimitedVoid"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 52303020, true);
			UPool.MyPool.AddObject("Domain Expansion: Malevolent Shrine", (GameObject)SLMALoader.SDic["moves"]["Move_AntiGravityField_Neon"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303521, true);
			UPool.MyPool.AddObject("Domain Expansion: Idle Death Gamble", Utility.LoadBundleGameObject("Move_Gamble"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303585, true);
			UPool.MyPool.AddObject("Domain Expansion: Self Embodiment Of Perfection", Utility.LoadBundleGameObject("Move_SEOP"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22403586, true);
			UPool.MyPool.AddObject("Toji Kick", (GameObject)SLMALoader.SDic["moves"]["JumpKick_RedJade_L"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303021, true);
			UPool.MyPool.AddObject("Toji Quick Dash", (GameObject)SLMALoader.SDic["moves"]["KnightCharge"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303022, true);
			UPool.MyPool.AddObject("Toji Weapon Pool (BROKEN)", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303023, false);
			UPool.MyPool.AddObject("Maki's Block", (GameObject)SLMALoader.SDic["moves"]["SwordArtParry"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303024, true);
			UPool.MyPool.AddObject("Sand Strike", Utility.LoadBundleGameObject("Move_Sand_Strike"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 22303025, true);
			UPool.MyPool.AddObject("Shadow Clone Dodge", Utility.LoadBundleGameObject("Move_ShadowClone"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 22303026, true);
			UPool.MyPool.AddObject("Minato Kick", (GameObject)SLMALoader.SDic["moves"]["JumpKick_RedJade_L"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 22303098, true);
			UPool.MyPool.AddObject("Ino Mind Switch", Utility.LoadBundleGameObject("Move_Mind_Switch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 22303099, true);
			UPool.MyPool.AddObject("Ino Kick", (GameObject)SLMALoader.SDic["moves"]["Jester_Kick"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 22303191, true);
			UPool.MyPool.AddObject("Shutter Doors", Utility.LoadBundleGameObject("Move_HikariWall"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303193, true);
			UPool.MyPool.AddObject("Explosive Dash", Utility.LoadBundleGameObject("M_BakugoCharge"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_mha.png"), 22303194, true);
			UPool.MyPool.AddObject("Hollow Purple", Utility.LoadBundleGameObject("Move_HollowPurple"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303195, true);
			UPool.MyPool.AddObject("Adaption", Utility.LoadBundleGameObject("Move_wheels"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303196, true);
			UPool.MyPool.AddObject("Dismantle", Utility.LoadBundleGameObject("Move_Dismantle"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303197, true);
			UPool.MyPool.AddObject("Boogie Woogie", Utility.LoadBundleGameObject("Move_Clap"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303198, true);
			UPool.MyPool.AddObject("Todo Kick", (GameObject)SLMALoader.SDic["moves"]["Jester_Kick"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303199, true);
			UPool.MyPool.AddObject("Super Sayian", Utility.LoadBundleGameObject("Move_Powerup"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303201, true);
			UPool.MyPool.AddObject("Flight", (GameObject)SLMALoader.SDic["moves"]["Move_Jarl_IceArena"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303202, true);
			UPool.MyPool.AddObject("Ki Blast", Utility.LoadBundleGameObject("Move_Kiblast"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303203, true);
			UPool.MyPool.AddObject("Ki Punch", Utility.LoadBundleGameObject("M_GokuPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303204, true);
			UPool.MyPool.AddObject("Legendary Super Sayian", Utility.LoadBundleGameObject("Move_Legend"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303205, true);
			UPool.MyPool.AddObject("Eraser Cannon", Utility.LoadBundleGameObject("Move_EraserCannon"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303206, true);
			UPool.MyPool.AddObject("Ki Punch (Broly)", Utility.LoadBundleGameObject("M_BrolyPunch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303207, true);
			UPool.MyPool.AddObject("Hellzone Grenade", Utility.LoadBundleGameObject("Move_Hellzone"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303208, true);
			UPool.MyPool.AddObject("MAX OUTPUT RED", Utility.LoadBundleGameObject("Move_MAXRED"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303209, true);
			UPool.MyPool.AddObject("Rabbit Escape", Utility.LoadBundleGameObject("M_RabbitEscape"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303210, true);
			UPool.MyPool.AddObject("Max Elephant", Utility.LoadBundleGameObject("Move_MaxElephant"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303211, true);
			UPool.MyPool.AddObject("Overtime", Utility.LoadBundleGameObject("M_Overtime"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303212, true);
			UPool.MyPool.AddObject("Fire Barrage", Utility.LoadBundleGameObject("Move_Emberinsects"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303213, true);
			UPool.MyPool.AddObject("Jogo Head", Utility.LoadBundleGameObject("Move_Volcano"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303214, true);
			UPool.MyPool.AddObject("Legendary Super Sayian (Kefla)", Utility.LoadBundleGameObject("Move_KeflaHair"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303215, true);
			UPool.MyPool.AddObject("Legendary Ki Charge", Utility.LoadBundleGameObject("Move_KeflaCharge"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 22303216, true);
			UPool.MyPool.AddObject("Ground Pitch", Utility.LoadBundleGameObject("Move_GroundPitch"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303217, true);
			UPool.MyPool.AddObject("Dismantle Block", Utility.LoadBundleGameObject("BlockSukuna"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303218, true);
			UPool.MyPool.AddObject("Yuji Parry", Utility.LoadBundleGameObject("Move_YujiParry"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303219, true);
			UPool.MyPool.AddObject("Mahoraga Summon", Utility.LoadBundleGameObject("Move_SummonMaho"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 22303220, true);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Projectiles";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("ROCK TEST", (GameObject)SLMALoader.SDic["projectiles"]["B_Boulder"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 72101010, true);
			UPool.MyPool.AddObject("Red", Utility.LoadBundleGameObject("P_GojoRed"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 72101011, true);
			UPool.MyPool.AddObject("Sand", Utility.LoadBundleGameObject("P_Sand"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 72101012, true);
			UPool.MyPool.AddObject("Blue", Utility.LoadBundleGameObject("P_GojoPurp"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 72101013, true);
			UPool.MyPool.AddObject("Nail", Utility.LoadBundleGameObject("P_Nail"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 72101014, true);
			UPool.MyPool.AddObject("Hellzone Shot", Utility.LoadBundleGameObject("P_SmallHellzoneShot"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 72101015, true);
			UPool.MyPool.AddObject("Tounge WIP", Utility.LoadBundleGameObject("P_ToadTounge"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 72101016, true);
			UPool.MyPool.AddObject("Acid", Utility.LoadBundleGameObject("P_Acid"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_mha.png"), 72101017, true);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Clothes";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("Toji's Snake", (GameObject)SLMALoader.SDic["clothes"]["Ancient_Quiver_Snake"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 62101011, false);
			UPool.MyPool.AddObject("Inventory Curse", Utility.LoadBundleGameObject("CP_TojiWorm"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 62101049, false);
			UPool.MyPool.AddObject("Sand Gourd", Utility.LoadBundleGameObject("CP_Sand_Gourd"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 62101012, false);
			UPool.MyPool.AddObject("Mahoraga Parts", Utility.LoadBundleGameObject("CP_MahoragaHead"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 62101013, false);
			UPool.MyPool.AddObject("Jogo Eye", Utility.LoadBundleGameObject("CP_JogoEye"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 62101014, false);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Effects";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("Eff_Mind", new GameObject(), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_naruto.png"), 0, false);
			UPool.MyPool.AddObject("Eff_TFig", new GameObject(), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 3542323, false);
			UPool.MyPool.AddObject("Eff_Toji", new GameObject(), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 3542324, false);
			UPool.MyPool.AddObject("Eff_SEOP", Utility.LoadBundleGameObject("E_Perfection"), true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 3542325, false);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Base";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("Mahito_Base", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 85101001, false);
			UPool.MyPool.AddObject("Mahito2_Base_Transform", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 85101002, false);
			UPool.MyPool.AddObject("Mahoraga", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 85101003, false);
			UPool.MyPool.AddObject("Piccolo_Base", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_dbz.png"), 85101004, false);
			UPool.MyPool.AddObject("Jogo_Base", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_jjk.png"), 85101005, false);
			UPool.MyPool.AddObject("Mina_Base", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, CustomSprite.Image2Sprite("icon_mha.png"), 85101006, false);
		}

		public static void SetWeapon(GameObject weapon, HandType hand, Team team, Unit unit, MeleeWeapon melee, RangeWeapon range, LandfallContentDatabase db)
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Expected O, but got Unknown
			//IL_036d: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0435: Unknown result type (might be due to invalid IL or missing references)
			//IL_047f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0489: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fb: Expected O, but got Unknown
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fd: Expected O, but got Unknown
			//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_014b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_016f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0174: 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_01c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0209: Unknown result type (might be due to invalid IL or missing references)
			//IL_0528: Unknown result type (might be due to invalid IL or missing references)
			//IL_0572: Unknown result type (might be due to invalid IL or missing references)
			//IL_057c: 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_05ec: Expected O, but got Unknown
			//IL_0253: Unknown result type (might be due to invalid IL or missing references)
			//IL_029c: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e3: Expected O, but got Unknown
			//IL_02de: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e5: Expected O, but got Unknown
			//IL_02e7: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Black Flash"))
			{
				GameObject val = UPool.MyPool.AddObject("BFExplosion", (GameObject)SLMALoader.SDic["explosions"]["E_CrescentExplosion"], true, (HideFlags)52, (Sprite)null, 0, false);
				ParticleSystem[] componentsInChildren = val.GetComponentsInChildren<ParticleSystem>();
				foreach (ParticleSystem obj in componentsInChildren)
				{
					obj.useAutoRandomSeed = true;
					obj.simulationSpace = (ParticleSystemSimulationSpace)1;
					obj.startColor = Color.red;
					obj.playbackSpeed = 2.4f;
					obj.startSize *= 1.1f;
					obj.maxParticles *= 4;
					((Component)obj).transform.localPosition = new Vector3(0f, 0f, 0f);
				}
				ParticleSystemRenderer[] componentsInChildren2 = val.GetComponentsInChildren<ParticleSystemRenderer>();
				foreach (ParticleSystemRenderer obj2 in componentsInChildren2)
				{
					Material val2 = new Material((Material)SLMALoader.SDic["materials"]["AddativeParticleBox"]);
					val2.color = Color.red;
					((Renderer)obj2).material = val2;
					((Renderer)obj2).sharedMaterial = val2;
					obj2.lengthScale *= 2f;
					((Renderer)obj2).useLightProbes = false;
				}
				weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = val;
				((Weapon)melee).possessionAimingMode = (PossessionAimingMode)1;
				((Weapon)melee).maxRange = ((Weapon)melee).maxRange * 0.3f;
				melee.swingDirection = Vector3.forward * 7f;
				s.DeepCopyOf<WeaponForceAnimation>(weapon.GetComponentInChildren<WeaponForceAnimation>(), ((GameObject)SLMALoader.SDic["weapons"]["Leg_Boxer"]).GetComponentInChildren<WeaponForceAnimation>());
				weapon.GetComponentInChildren<Holdable>().ignoreDissarm = true;
				Transform transform = ((Component)weapon.GetComponentInChildren<BoxCollider>()).transform;
				transform.localScale *= 3.7f;
				((Component)weapon.GetComponentInChildren<BoxCollider>()).transform.localPosition = new Vector3(0f, 0f, 0f);
				Transform transform2 = weapon.transform;
				transform2.localScale *= 0.4f;
				MeshRenderer[] componentsInChildren3 = weapon.GetComponentsInChildren<MeshRenderer>();
				for (int j = 0; j < componentsInChildren3.Length; j++)
				{
					((Renderer)componentsInChildren3[j]).enabled = false;
				}
				componentsInChildren = weapon.GetComponentsInChildren<ParticleSystem>();
				foreach (ParticleSystem obj3 in componentsInChildren)
				{
					obj3.useAutoRandomSeed = true;
					obj3.simulationSpace = (ParticleSystemSimulationSpace)1;
					obj3.startColor = Color.red;
					obj3.playbackSpeed = 2.4f;
					obj3.startSize *= 1.1f;
					obj3.maxParticles *= 4;
					((Component)obj3).transform.localPosition = new Vector3(0f, 0f, 0f);
				}
				componentsInChildren2 = weapon.GetComponentsInChildren<ParticleSystemRenderer>();
				foreach (ParticleSystemRenderer obj4 in componentsInChildren2)
				{
					Material val3 = new Material((Material)SLMALoader.SDic["materials"]["AddativeParticleBox"]);
					val3.color = Color.red;
					((Renderer)obj4).material = val3;
					((Renderer)obj4).sharedMaterial = val3;
					obj4.lengthScale *= 2f;
					((Renderer)obj4).useLightProbes = false;
				}
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Reversal Red"))
			{
				((Behaviour)weapon.GetComponentInChildren<ShowProjectile>()).enabled = false;
				weapon.AddComponent<ForcePoint>();
				s.DeepCopyOf<ForcePoint>(weapon.GetComponentInChildren<ForcePoint>(), ((GameObject)SLMALoader.SDic["weapons"]["Neon_ArmCannon"]).GetComponentInChildren<ForcePoint>());
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Lapse Blue"))
			{
				((Behaviour)weapon.GetComponentInChildren<ShowProjectile>()).enabled = false;
				weapon.AddComponent<ForcePoint>();
				((Weapon)range).internalCooldown = ((Weapon)range).internalCooldown * 4f;
				((Weapon)range).maxRange = ((Weapon)range).maxRange * 1.5f;
				s.DeepCopyOf<ForcePoint>(weapon.GetComponentInChildren<ForcePoint>(), ((GameObject)SLMALoader.SDic["weapons"]["Neon_ArmCannon"]).GetComponentInChildren<ForcePoint>());
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Toji's punch"))
			{
				s.DeepCopyOf<Holdable>(weapon.GetComponentInChildren<Holdable>(), ((GameObject)SLMALoader.SDic["weapons"]["HalflingGrab"]).GetComponentInChildren<Holdable>());
				DodgeMove componentInChildren = weapon.GetComponentInChildren<DodgeMove>();
				componentInChildren.animationSpeed *= 3f;
				DodgeMove componentInChildren2 = weapon.GetComponentInChildren<DodgeMove>();
				componentInChildren2.forceMultiplier *= 2f;
				Transform transform3 = ((Component)weapon.GetComponentInChildren<BoxCollider>()).transform;
				transform3.localScale *= 1.2f;
				MeshRenderer[] componentsInChildren4 = weapon.GetComponentsInChildren<MeshRenderer>();
				for (int k = 0; k < componentsInChildren4.Length; k++)
				{
					((Renderer)componentsInChildren4[k]).enabled = false;
				}
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Maki's Polearm"))
			{
				melee.curveForce *= 2f;
				melee.swingDirection = Vector3.forward;
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Rock Lee's punch"))
			{
				s.DeepCopyOf<Holdable>(weapon.GetComponentInChildren<Holdable>(), ((GameObject)SLMALoader.SDic["weapons"]["HalflingGrab"]).GetComponentInChildren<Holdable>());
				DodgeMove componentInChildren3 = weapon.GetComponentInChildren<DodgeMove>();
				componentInChildren3.animationSpeed *= 3f;
				DodgeMove componentInChildren4 = weapon.GetComponentInChildren<DodgeMove>();
				componentInChildren4.forceMultiplier *= 4f;
				Transform transform4 = ((Component)weapon.GetComponentInChildren<BoxCollider>()).transform;
				transform4.localScale *= 1.3f;
				MeshRenderer[] componentsInChildren5 = weapon.GetComponentsInChildren<MeshRenderer>();
				for (int l = 0; l < componentsInChildren5.Length; l++)
				{
					((Renderer)componentsInChildren5[l]).enabled = false;
				}
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Fan"))
			{
				weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = (GameObject)SLMALoader.SDic["explosions"]["E_FanSpearBlow"];
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Hikari's punch"))
			{
				weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = Utility.LoadBundleGameObject("E_Hikari");
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("OFA Punch"))
			{
				weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = Utility.LoadBundleGameObject("E_OFA");
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Explosive Punch"))
			{
				weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = Utility.LoadBundleGameObject("E_BakugoExplo");
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Mahito Punch"))
			{
				weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = Utility.LoadBundleGameObject("E_Mahito");
				weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = UPool.MyPool.GetObject("Eff_TFig").GetComponentInChildren<UnitEffectBase>();
				weapon.GetComponent<MeleeWeaponAddEffect>().ignoreTeamMates = true;
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Inverted Spear"))
			{
				weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = Utility.LoadBundleGameObject("E_Toji");
				weapon.AddComponent<MeleeWeaponAddEffect>().EffectPrefab = UPool.MyPool.GetObject("Eff_Toji").GetComponentInChildren<UnitEffectBase>();
				weapon.GetComponent<MeleeWeaponAddEffect>().ignoreTeamMates = true;
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Divergent Fist2"))
			{
				weapon.AddComponent<MeleeWeaponSpawn>().objectToSpawn = Utility.LoadBundleGameObject("E_YujiAttack");
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Nobara Throw"))
			{
				((Behaviour)weapon.GetComponentInChildren<ShowProjectile>()).enabled = false;
				range.spread = 15f;
				range.numberOfObjects = 5;
				((Weapon)range).internalCooldown = ((Weapon)range).internalCooldown * 1.3f;
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("Piccolo Throw"))
			{
				((Behaviour)weapon.GetComponentInChildren<ShowProjectile>()).enabled = false;
				range.spread = 10f;
				range.numberOfObjects = 1;
				((Weapon)range).internalCooldown = ((Weapon)range).internalCooldown * 1.5f;
			}
		}

		public static void SetClothItems(GameObject cloth, CharacterItem item, PropItemData data, LandfallContentDatabase db)
		{
			//IL_0189: Unknown result type (might be due to invalid IL or missing references)
			//IL_01db: Unknown result type (might be due to invalid IL or missing references)
			//IL_022d: Unknown result type (might be due to invalid IL or missing references)
			//IL_027f: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Expected O, but got Unknown
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0100: Expected O, but got Unknown
			if ((Object)(object)cloth == (Object)(object)UPool.MyPool.GetObject("Toji's Snake"))
			{
				Object.Destroy((Object)(object)cloth.GetComponentInChildren<SkinnedMeshRenderer>());
				((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.AddComponent<MeshFilter>().mesh = ((Component)((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.FindChild("Snake_Without_Armature")).GetComponentInChildren<MeshFilter>().mesh;
				((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.AddComponent<MeshRenderer>();
				Renderer[] componentsInChildren = cloth.GetComponentsInChildren<Renderer>();
				foreach (Renderer val in componentsInChildren)
				{
					List<Material> list = new List<Material>();
					Material[] materials = val.materials;
					for (int j = 0; j < materials.Length; j++)
					{
						_ = materials[j];
						list.Add((Material)SLMALoader.SDic["materials"]["M_SnakeHat_Tongue"]);
						list.Add((Material)SLMALoader.SDic["materials"]["Wilnyl_sandals_brown"]);
					}
					val.materials = list.ToArray();
				}
			}
			if ((Object)(object)cloth == (Object)(object)UPool.MyPool.GetObject("Toji's Snake"))
			{
				((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.localScale = ((Component)((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.FindChild("Snake_Without_Armature")).gameObject.transform.localScale;
				((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.rotation = ((Component)((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.FindChild("Snake_Without_Armature")).gameObject.transform.rotation;
				((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.position = ((Component)((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.FindChild("Snake_Without_Armature")).gameObject.transform.position;
				((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.localPosition = ((Component)((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.FindChild("Snake_Without_Armature")).gameObject.transform.localPosition;
				((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.localPosition = new Vector3(((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.localPosition.x, 0.2f, ((Component)cloth.transform.FindChild("CP_Ancient_Arrowtube001")).gameObject.transform.localPosition.z);
			}
		}

		public static void SetProjectile(GameObject proj, ProjectileHit projhit, LandfallContentDatabase db)
		{
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Expected O, but got Unknown
			//IL_006e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Expected O, but got Unknown
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Unknown result type (might be due to invalid IL or missing references)
			//IL_0158: Expected O, but got Unknown
			//IL_0159: Unknown result type (might be due to invalid IL or missing references)
			//IL_015f: Expected O, but got Unknown
			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f1: Expected O, but got Unknown
			if ((Object)(object)proj == (Object)(object)UPool.MyPool.GetObject("ROCK TEST"))
			{
				projhit.force = 80f;
				projhit.damage = 150f;
				projhit.canHitOrgUnit = false;
				projhit.destroyOnRefect = false;
				projhit.blockPoweredNeeded = 20f;
				projhit.ignoreTeamMates = true;
				Material val = new Material((Material)SLMALoader.SDic["materials"]["Default-ParticleSystem"]);
				val.color = Color.blue;
				((Renderer)proj.AddComponent<ParticleSystemRenderer>()).material = val;
				((Renderer)proj.GetComponentInChildren<ParticleSystemRenderer>()).enabled = true;
				proj.GetComponentInChildren<ParticleSystemRenderer>().maxParticleSize = 6f;
				proj.AddComponent<ParticleSystem>().loop = true;
				proj.GetComponentInChildren<ParticleSystem>().useAutoRandomSeed = true;
				proj.GetComponentInChildren<ParticleSystem>().simulationSpace = (ParticleSystemSimulationSpace)0;
				proj.GetComponentInChildren<ParticleSystem>().emissionRate = 6f;
				proj.GetComponentInChildren<ParticleSystem>().enableEmission = true;
				proj.GetComponentInChildren<ParticleSystem>().maxParticles = 30;
				proj.GetComponentInChildren<ParticleSystem>().startLifetime = 5f;
			}
			if ((Object)(object)proj == (Object)(object)UPool.MyPool.GetObject("Red"))
			{
				proj.AddComponent<ProjectileHitSpawn>();
				GameObject val2 = UPool.MyPool.AddObject("Red_ex", (GameObject)SLMALoader.SDic["explosions"]["E_MiniMissileExplosion"], true, (HideFlags)52, (Sprite)null, 0, false);
				ObjectToSpawn val3 = new ObjectToSpawn();
				val3.objectToSpawn = val2;
				Explosion componentInChildren = val2.GetComponentInChildren<Explosion>();
				componentInChildren.damage *= 0.6f;
				Explosion componentInChildren2 = val2.GetComponentInChildren<Explosion>();
				componentInChildren2.force *= 0.5f;
				proj.GetComponent<ProjectileHitSpawn>().objectToSpawn = val3;
			}
			if ((Object)(object)proj == (Object)(object)UPool.MyPool.GetObject("Nail"))
			{
				proj.AddComponent<ProjectileHitAddEffect>();
				proj.GetComponent<ProjectileHitAddEffect>().EffectPrefab = Utility.LoadBundleGameObject("E_NobaraDelay").GetComponentInChildren<UnitEffectBase>();
				proj.AddComponent<ProjectileHitSpawn>();
				GameObject objectToSpawn = Utility.LoadBundleGameObject("E_Nobara");
				ObjectToSpawn val4 = new ObjectToSpawn();
				val4.objectToSpawn = objectToSpawn;
				proj.GetComponent<ProjectileHitSpawn>().objectToSpawn = val4;
			}
		}

		public static void LoadBundle(string assetBundleName)
		{
			using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(assetBundleName);
			bundle = AssetBundle.LoadFromStream(stream);
		}

		public static void SetEffects(GameObject effect)
		{
			MindTransfer mindTransfer = default(MindTransfer);
			if (Object.op_Implicit((Object)(object)(effect = UPool.MyPool.GetObject("Eff_Mind"))) && !effect.TryGetComponent<MindTransfer>(ref mindTransfer))
			{
				effect.AddComponent<MindTransfer>();
			}
			IdleTransfiguration idleTransfiguration = default(IdleTransfiguration);
			if (Object.op_Implicit((Object)(object)(effect = UPool.MyPool.GetObject("Eff_TFig"))) && !effect.TryGetComponent<IdleTransfiguration>(ref idleTransfiguration))
			{
				effect.AddComponent<IdleTransfiguration>();
				effect.GetComponent<IdleTransfiguration>().unitbase = UPool.MyPool.GetObject("Mahito2_Base_Transform");
			}
			TojiKnife tojiKnife = default(TojiKnife);
			if (Object.op_Implicit((Object)(object)(effect = UPool.MyPool.GetObject("Eff_Toji"))) && !effect.TryGetComponent<TojiKnife>(ref tojiKnife))
			{
				effect.AddComponent<TojiKnife>();
			}
			if (Object.op_Implicit((Object)(object)(effect = UPool.MyPool.GetObject("Eff_SEOP"))))
			{
				effect.GetComponentInChildren<AddObjectEffect>().EffectPrefab = UPool.MyPool.GetObject("Eff_TFig").GetComponent<UnitEffectBase>();
			}
		}

		public static void SetBase(Unit unit, LandfallContentDatabase db)
		{
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_021e: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0383: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("Mahito_Base")).name)
			{
				TeamColor[] componentsInChildren = ((Component)unit).GetComponentsInChildren<TeamColor>();
				for (int i = 0; i < componentsInChildren.Length; i++)
				{
					componentsInChildren[i].redMaterial = Utility.LoadBundleMaterial("Mahito_Red");
					componentsInChildren[i].blueMaterial = Utility.LoadBundleMaterial("Mahito_Blue");
				}
				s.DeepCopyOf<PoseHandler>(((Component)unit).GetComponentInChildren<PoseHandler>(), ((GameObject)SLMALoader.SDic["bases"]["Minotaur"]).GetComponentInChildren<PoseHandler>());
				s.DeepCopyOf<StepHandler>(((Component)unit).GetComponentInChildren<StepHandler>(), ((GameObject)SLMALoader.SDic["bases"]["Blackbeard"]).GetComponentInChildren<StepHandler>());
			}
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("Mahito2_Base_Transform")).name)
			{
				TeamColor[] componentsInChildren2 = ((Component)unit).GetComponentsInChildren<TeamColor>();
				for (int j = 0; j < componentsInChildren2.Length; j++)
				{
					componentsInChildren2[j].redMaterial = Utility.LoadBundleMaterial("Mahito_Blue");
					componentsInChildren2[j].blueMaterial = Utility.LoadBundleMaterial("Mahito_Red");
				}
				Balance componentInChildren = ((Component)unit).GetComponentInChildren<Balance>();
				componentInChildren.forceMultiplier *= 2f;
				DataHandler componentInChildren2 = ((Component)unit).GetComponentInChildren<DataHandler>();
				componentInChildren2.muscleControl *= 0.8f;
				DataHandler componentInChildren3 = ((Component)unit).GetComponentInChildren<DataHandler>();
				componentInChildren3.ragdollControl *= 0.3f;
			}
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("Mahoraga")).name)
			{
				TeamColor[] componentsInChildren3 = ((Component)unit).GetComponentsInChildren<TeamColor>();
				for (int k = 0; k < componentsInChildren3.Length; k++)
				{
					componentsInChildren3[k].redMaterial = Utility.LoadBundleMaterial("MahoragaRed");
					componentsInChildren3[k].blueMaterial = Utility.LoadBundleMaterial("MahoragaBlue");
				}
				s.DeepCopyOf<PoseHandler>(((Component)unit).GetComponentInChildren<PoseHandler>(), ((GameObject)SLMALoader.SDic["bases"]["Minotaur"]).GetComponentInChildren<PoseHandler>());
				s.DeepCopyOf<StepHandler>(((Component)unit).GetComponentInChildren<StepHandler>(), ((GameObject)SLMALoader.SDic["bases"]["Blackbeard"]).GetComponentInChildren<StepHandler>());
			}
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("Piccolo_Base")).name)
			{
				TeamColor[] componentsInChildren4 = ((Component)unit).GetComponentsInChildren<TeamColor>();
				for (int l = 0; l < componentsInChildren4.Length; l++)
				{
					componentsInChildren4[l].redMaterial = Utility.LoadBundleMaterial("Piccolo_Red");
					componentsInChildren4[l].blueMaterial = Utility.LoadBundleMaterial("Piccolo_Blue");
				}
				s.DeepCopyOf<PoseHandler>(((Component)unit).GetComponentInChildren<PoseHandler>(), ((GameObject)SLMALoader.SDic["bases"]["Minotaur"]).GetComponentInChildren<PoseHandler>());
				s.DeepCopyOf<StepHandler>(((Component)unit).GetComponentInChildren<StepHandler>(), ((GameObject)SLMALoader.SDic["bases"]["Blackbeard"]).GetComponentInChildren<StepHandler>());
			}
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("Jogo_Base")).name)
			{
				TeamColor[] componentsInChildren5 = ((Component)unit).GetComponentsInChildren<TeamColor>();
				for (int m = 0; m < componentsInChildren5.Length; m++)
				{
					componentsInChildren5[m].redMaterial = Utility.LoadBundleMaterial("JogoRed");
					componentsInChildren5[m].blueMaterial = Utility.LoadBundleMaterial("JogoBlue");
				}
				s.DeepCopyOf<PoseHandler>(((Component)unit).GetComponentInChildren<PoseHandler>(), ((GameObject)SLMALoader.SDic["bases"]["Minotaur"]).GetComponentInChildren<PoseHandler>());
				s.DeepCopyOf<StepHandler>(((Component)unit).GetComponentInChildren<StepHandler>(), ((GameObject)SLMALoader.SDic["bases"]["Blackbeard"]).GetComponentInChildren<StepHandler>());
			}
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("Mina_Base")).name)
			{
				TeamColor[] componentsInChildren6 = ((Component)unit).GetComponentsInChildren<TeamColor>();
				for (int n = 0; n < componentsInChildren6.Length; n++)
				{
					componentsInChildren6[n].redMaterial = Utility.LoadBundleMaterial("Mina_Red");
					componentsInChildren6[n].blueMaterial = Utility.LoadBundleMaterial("Mina_Blue");
				}
			}
		}
	}
	[BepInPlugin("Miyuukitzune.AnimeTabs", "AnimeTabs", "1.0.5")]
	internal class Loader : BaseUnityPlugin
	{
		private void Awake()
		{
			((MonoBehaviour)this).StartCoroutine("Call");
		}

		private IEnumerator Call()
		{
			yield return (object)new WaitUntil((Func<bool>)(() => (Object)(object)Object.FindObjectOfType<ServiceLocator>() != (Object)null));
			yield return (object)new WaitUntil((Func<bool>)(() => ServiceLocator.GetService<ISaveLoaderService>() != null));
			Debug.Log((object)"Loading my Domain...");
			SLMALoader.GetInstance();
			LandfallContentDatabase landfallContentDatabase = ContentDatabase.Instance().LandfallContentDatabase;
			UManager.Init(landfallContentDatabase);
			new Harmony("TechnicalItems").PatchAll();
			GameObject[] array = Resources.FindObjectsOfTypeAll<GameObject>();
			for (int i = 0; i < array.Length; i++)
			{
				UManager.SetEffects(array[i]);
				if (Object.op_Implicit((Object)(object)array[i].GetComponent<ProjectileHit>()))
				{
					UManager.SetProjectile(array[i], array[i].GetComponent<ProjectileHit>(), landfallContentDatabase);
				}
				if (Object.op_Implicit((Object)(object)array[i].GetComponent<SpecialAbility>()))
				{
					UManager.SetMovesItems(array[i], landfallContentDatabase);
				}
				if (Object.op_Implicit((Object)(object)array[i].GetComponent<WeaponItem>()))
				{
					Debug.Log((object)"UManager.SetWeapon(array[i], array[i].GetComponent<MeleeWeapon>(), array[i].GetComponent<RangeWeapon>(), LandfallUnitDatabase);");
					UManager.SetWeapon(array[i], array[i].GetComponent<HandType>(), array[i].GetComponent<Team>(), array[i].GetComponent<Unit>(), array[i].GetComponent<MeleeWeapon>(), array[i].GetComponent<RangeWeapon>(), landfallContentDatabase);
				}
				if (Object.op_Implicit((Object)(object)array[i].GetComponent<PropItem>()))
				{
					UManager.SetClothItems(array[i], array[i].GetComponent<CharacterItem>(), array[i].GetComponent<PropItemData>(), landfallContentDatabase);
				}
				if (Object.op_Implicit((Object)(object)array[i].GetComponent<Unit>()))
				{
					UManager.SetBase(array[i].GetComponent<Unit>(), landfallContentDatabase);
				}
			}
			Debug.Log((object)"Loaded my Domain");
		}
	}
}
public class RemoveSkinnedMeshes : MonoBehaviour
{
	private void Start()
	{
		SkinnedMeshRenderer[] componentsInChildren = ((Component)this).gameObject.GetComponentsInChildren<SkinnedMeshRenderer>();
		for (int i = 0; i < componentsInChildren.Length; i++)
		{
			if (((Object)((Component)componentsInChildren[i]).gameObject).name.Contains("LOD"))
			{
				Object.Destroy((Object)(object)((Component)componentsInChildren[i]).gameObject);
			}
		}
	}
}
public class AddVanillaCompatibility : MonoBehaviour
{
	private void Start()
	{
		UManager.comment = "I tried, it was worth trying but didn't worth as much as having blood and extremely painful headache :(";
	}

	private void Update()
	{
		if (((Component)this).gameObject.tag.EndsWith("(TI)"))
		{
			Debug.Log((object)("Verified Tag is " + ((Component)this).gameObject.tag));
			Debug.Log((object)"Adding Permanent Script to unit!");
		}
		else
		{
			Debug.Log((object)("Undetected Tag is " + ((Component)this).gameObject.tag));
		}
	}
}
public class FlipWeapon : MonoBehaviour
{
	private Unit unit;

	public bool right;

	private void Start()
	{
		//IL_0048: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: 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)
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		if (right)
		{
			Transform transform = ((Component)unit.data.weaponHandler.rightWeapon).gameObject.transform;
			transform.localScale *= -1f;
		}
		if (!right)
		{
			Transform transform2 = ((Component)unit.data.weaponHandler.leftWeapon).gameObject.transform;
			transform2.localScale *= -1f;
		}
	}
}
public class ScaleWeapon : MonoBehaviour
{
	private Unit unit;

	public bool right;

	public float scaleMultiplier;

	private void Start()
	{
		//IL_0048: Unknown result type (might be due to invalid IL or missing references)
		//IL_0053: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Unknown result type (might be due to invalid IL or missing references)
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		if (right)
		{
			Transform transform = ((Component)unit.data.weaponHandler.rightWeapon).gameObject.transform;
			transform.localScale *= scaleMultiplier;
		}
		if (!right)
		{
			Transform transform2 = ((Component)unit.data.weaponHandler.leftWeapon).gameObject.transform;
			transform2.localScale *= scaleMultiplier;
		}
	}
}
public class RemoveWeaponParticles : MonoBehaviour
{
	private Unit unit;

	private Weapon weapon;

	public bool right;

	private void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		if (right)
		{
			weapon = unit.data.weaponHandler.rightWeapon;
		}
		if (!right)
		{
			weapon = unit.data.weaponHandler.leftWeapon;
		}
		ParticleSystem[] componentsInChildren = ((Component)weapon).gameObject.GetComponentsInChildren<ParticleSystem>();
		foreach (ParticleSystem obj in componentsInChildren)
		{
			Object.Destroy((Object)(object)((Component)obj).gameObject.GetComponentInChildren<ParticleSystemRenderer>());
			Object.Destroy((Object)(object)obj);
		}
	}
}
public class RemoveWeaponProjectiles : MonoBehaviour
{
	private Unit unit;

	private Weapon weapon;

	public bool right;

	private void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		if (right)
		{
			weapon = unit.data.weaponHandler.rightWeapon;
		}
		if (!right)
		{
			weapon = unit.data.weaponHandler.leftWeapon;
		}
		if (Object.op_Implicit((Object)(object)((Component)weapon).gameObject.GetComponentInChildren<RangeWeapon>()))
		{
			((Component)weapon).gameObject.GetComponentInChildren<RangeWeapon>().ObjectToSpawn = null;
			((Component)weapon).gameObject.GetComponentInChildren<RangeWeapon>().unitToSpawn = null;
		}
	}
}
public class GetAndDeleteRider : MonoBehaviour
{
	private UnitSpawner unitSpawner;

	private void Start()
	{
		GameObject obj = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<RiderHolder>().riders[0];
		UnitBlueprint unitBlueprint = obj.GetComponentInChildren<Unit>().unitBlueprint;
		unitSpawner = ((Component)this).gameObject.GetComponentInChildren<UnitSpawner>();
		unitSpawner.unitBlueprint = unitBlueprint;
		unitSpawner.rangedUnitBlueprint = unitBlueprint;
		Object.Destroy((Object)(object)obj.gameObject);
	}
}
public class AdaptiveBurst : MonoBehaviour
{
	private Color color;

	private Unit unit;

	private RangeWeapon[] rangeWeapons;

	private void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
	}

	private void Update()
	{
		//IL_0088: Unknown result type (might be due to invalid IL or missing references)
		//IL_008d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e1: 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_00e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f7: Expected O, but got Unknown
		//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0102: Unknown result type (might be due to invalid IL or missing references)
		//IL_0104: Unknown result type (might be due to invalid IL or missing references)
		//IL_0113: Expected O, but got Unknown
		rangeWeapons = ((Component)unit).gameObject.GetComponentsInChildren<RangeWeapon>();
		if (rangeWeapons.Length != 0)
		{
			int num = Random.Range(0, rangeWeapons.Length);
			SpawnObject[] componentsInChildren = ((Component)this).gameObject.GetComponentsInChildren<SpawnObject>();
			for (int i = 0; i < componentsInChildren.Length; i++)
			{
				componentsInChildren[i].objectToSpawn = rangeWeapons[num].ObjectToSpawn;
			}
			Renderer[] componentsInChildren2 = rangeWeapons[num].ObjectToSpawn.GetComponentsInChildren<Renderer>();
			foreach (Renderer val in componentsInChildren2)
			{
				color = val.material.color;
			}
			ParticleSystem[] componentsInChildren3 = ((Component)this).GetComponentsInChildren<ParticleSystem>();
			for (int k = 0; k < componentsInChildren3.Length; k++)
			{
				componentsInChildren3[k].startColor = color;
			}
			ParticleSystemRenderer[] componentsInChildren4 = ((Component)this).GetComponentsInChildren<ParticleSystemRenderer>();
			foreach (ParticleSystemRenderer obj in componentsInChildren4)
			{
				((Renderer)obj).material = new Material(((Renderer)obj).material)
				{
					color = color
				};
				obj.trailMaterial = new Material(obj.trailMaterial)
				{
					color = color
				};
			}
		}
	}
}
public class AdaptiveThrow : MonoBehaviour
{
	private Unit unit;

	private RangeWeapon[] rangeWeapons;

	private void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
	}

	private void Update()
	{
		rangeWeapons = ((Component)unit).gameObject.GetComponentsInChildren<RangeWeapon>();
		if (rangeWeapons.Length != 0)
		{
			int num = Random.Range(0, rangeWeapons.Length);
			SpawnObject[] componentsInChildren = ((Component)this).gameObject.GetComponentsInChildren<SpawnObject>();
			for (int i = 0; i < componentsInChildren.Length; i++)
			{
				componentsInChildren[i].objectToSpawn = rangeWeapons[num].ObjectToSpawn;
			}
		}
	}
}
public class NeverShowHealthBar : MonoBehaviour
{
	private Unit unit;

	public void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).GetComponentInChildren<Unit>();
	}

	public void Update()
	{
		unit.SetHealthBarActive(false);
	}
}
public class EyeKeepOpened : MonoBehaviour
{
	public void Update()
	{
		((Component)this).gameObject.GetComponentInChildren<GooglyEye>().SetState((EyeState)0);
	}
}
public class TransferHPEnable : MonoBehaviour
{
	private Unit unit;

	public void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).GetComponentInChildren<Unit>();
	}

	public void Update()
	{
		UnitSpawner[] componentsInChildren = ((Component)unit).gameObject.GetComponentsInChildren<UnitSpawner>();
		for (int i = 0; i < componentsInChildren.Length; i++)
		{
			componentsInChildren[i].transferHp = true;
		}
	}
}
public class ScaleWeaponY : MonoBehaviour
{
	private Unit unit;

	public bool right;

	public float scaleMultiplier;

	private void Start()
	{
		//IL_0047: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_006c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_007f: 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_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		if (right)
		{
			Vector3 localScale = ((Component)unit.data.weaponHandler.rightWeapon).gameObject.transform.localScale;
			((Component)unit.data.weaponHandler.rightWeapon).gameObject.transform.localScale = new Vector3(localScale.x, localScale.y * scaleMultiplier, localScale.z);
		}
		if (!right)
		{
			Vector3 localScale2 = ((Component)unit.data.weaponHandler.leftWeapon).gameObject.transform.localScale;
			((Component)unit.data.weaponHandler.leftWeapon).gameObject.transform.localScale = new Vector3(localScale2.x, localScale2.y * scaleMultiplier, localScale2.z);
		}
	}
}
public class ScaleWeaponZ : MonoBehaviour
{
	private Unit unit;

	public bool right;

	public float scaleMultiplier;

	private void Start()
	{
		//IL_0047: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_006c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: 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_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		if (right)
		{
			Vector3 localScale = ((Component)unit.data.weaponHandler.rightWeapon).gameObject.transform.localScale;
			((Component)unit.data.weaponHandler.rightWeapon).gameObject.transform.localScale = new Vector3(localScale.x, localScale.y, localScale.z * scaleMultiplier);
		}
		if (!right)
		{
			Vector3 localScale2 = ((Component)unit.data.weaponHandler.leftWeapon).gameObject.transform.localScale;
			((Component)unit.data.weaponHandler.leftWeapon).gameObject.transform.localScale = new Vector3(localScale2.x, localScale2.y, localScale2.z * scaleMultiplier);
		}
	}
}
public class ScaleWeaponX : MonoBehaviour
{
	private Unit unit;

	public bool right;

	public float scaleMultiplier;

	private void Start()
	{
		//IL_0047: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_006c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_007f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		if (right)
		{
			Vector3 localScale = ((Component)unit.data.weaponHandler.rightWeapon).gameObject.transform.localScale;
			((Component)unit.data.weaponHandler.rightWeapon).gameObject.transform.localScale = new Vector3(localScale.x * scaleMultiplier, localScale.y, localScale.z);
		}
		if (!right)
		{
			Vector3 localScale2 = ((Component)unit.data.weaponHandler.leftWeapon).gameObject.transform.localScale;
			((Component)unit.data.weaponHandler.leftWeapon).gameObject.transform.localScale = new Vector3(localScale2.x * scaleMultiplier, localScale2.y, localScale2.z);
		}
	}
}
public class SwapDistanceBase : MonoBehaviour
{
	private HoldingHandler holdingHandler;

	private Unit unit;

	private bool swapped;

	private GameObject leftObject;

	private Holdable leftObjectHoldable;

	private GameObject rightObject;

	private Holdable rightObjectHoldable;

	private WeaponHandler WeaponHandler;

	public void Start()
	{
		//IL_011b: Unknown result type (might be due to invalid IL or missing references)
		//IL_010f: Unknown result type (might be due to invalid IL or missing references)
		unit = ((Component)((Component)this).gameObject.transform.root).GetComponentInChildren<Unit>();
		if (!Object.op_Implicit((Object)(object)unit))
		{
			return;
		}
		WeaponHandler = unit.WeaponHandler;
		holdingHandler = unit.holdingHandler;
		if (!Object.op_Implicit((Object)(object)holdingHandler))
		{
			return;
		}
		if (Object.op_Implicit((Object)(object)holdingHandler.rightObject))
		{
			rightObject = ((Component)holdingHandler.rightObject).gameObject;
			rightObjectHoldable = holdingHandler.rightObject;
		}
		if (Object.op_Implicit((Object)(object)holdingHandler.leftObject))
		{
			leftObject = ((Component)holdingHandler.leftObject).gameObject;
			leftObjectHoldable = holdingHandler.leftObject;
			holdingHandler.LetGoOfWeapon(leftObject);
			if (Object.op_Implicit((Object)(object)holdingHandler.rightObject))
			{
				holdingHandler.leftObject = holdingHandler.rightObject;
				holdingHandler.leftHandActivity = (HandActivity)1;
			}
			Scaler(leftObject, Vector3.zero);
		}
	}

	public void Update()
	{
		//IL_0113: Unknown result type (might be due to invalid IL or missing references)
		//IL_012d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0161: Unknown result type (might be due to invalid IL or missing references)
		//IL_017b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Unknown result type (might be due to invalid IL or missing references)
		float num = 5f;
		if (Object.op_Implicit((Object)(object)unit))
		{
			if (!Object.op_Implicit((Object)(object)rightObject))
			{
				rightObject = ((Component)holdingHandler.rightObject).gameObject;
				rightObjectHoldable = holdingHandler.rightObject;
			}
			if (!Object.op_Implicit((Object)(object)leftObject))
			{
				leftObject = ((Component)holdingHandler.leftObject).gameObject;
				leftObjectHoldable = holdingHandler.leftObject;
				holdingHandler.LetGoOfWeapon(leftObject);
				if (Object.op_Implicit((Object)(object)holdingHandler.rightObject))
				{
					holdingHandler.leftObject = holdingHandler.rightObject;
					holdingHandler.leftHandActivity = (HandActivity)1;
				}
				Scaler(leftObject, Vector3.zero);
			}
		}
		if (Object.op_Implicit((Object)(object)unit.data.targetData) && !unit.data.Dead)
		{
			if (Vector3.Distance(unit.data.mainRig.position, unit.data.targetData.mainRig.position) <= num && !swapped)
			{
				WeaponSwap(SwapToLeft: true);
				swapped = true;
			}
			else if (Vector3.Distance(unit.data.mainRig.position, unit.data.targetData.mainRig.position) > num && swapped)
			{
				WeaponSwap(SwapToLeft: false);
				swapped = false;
			}
		}
	}

	public void WeaponSwap(bool SwapToLeft)
	{
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_018e: Unknown result type (might be due to invalid IL or missing references)
		//IL_019f: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b0: 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)
		ServiceLocator.GetService<SoundPlayer>().PlaySoundEffect("UI/EquipWeapon", 1f, unit.data.mainRig.position, (MaterialType)0, (Transform)null, 0f);
		if (!((Object)(object)leftObject != (Object)null) || !((Object)(object)rightObject != (Object)null))
		{
			return;
		}
		if (SwapToLeft)
		{
			holdingHandler.LetGoOfWeapon(rightObject);
			holdingHandler.GrabObject(leftObjectHoldable, true, true, (Action)delegate
			{
			});
			if (Object.op_Implicit((Object)(object)holdingHandler.leftObject))
			{
				holdingHandler.rightObject = holdingHandler.leftObject;
			}
			Scaler(rightObject, Vector3.zero);
			Scaler(leftObject, Vector3.one);
			holdingHandler.leftHandActivity = (HandActivity)1;
			holdingHandler.rightHandActivity = (HandActivity)1;
			WeaponHandler.SetWeapon(leftObject.GetComponentInChildren<Weapon>(), (HandType)0);
		}
		else if (!SwapToLeft)
		{
			holdingHandler.LetGoOfWeapon(leftObject);
			holdingHandler.GrabObject(rightObjectHoldable, true, true, (Action)delegate
			{
			});
			if (Object.op_Implicit((Object)(object)holdingHandler.leftObject))
			{
				holdingHandler.leftObject = holdingHandler.rightObject;
			}
			Scaler(rightObject, Vector3.one);
			Scaler(leftObject, Vector3.zero);
			holdingHandler.leftHandActivity = (HandActivity)1;
			holdingHandler.rightHandActivity = (HandActivity)1;
			WeaponHandler.SetWeapon(rightObject.GetComponentInChildren<Weapon>(), (HandType)0);
		}
	}

	public void Scaler(GameObject basedGameObject, Vector3 scale)
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		basedGameObject.transform.localScale = scale;
	}
}
public class SwapDistanceHalf : MonoBehaviour
{
	private HoldingHandler holdingHandler;

	private Unit unit;

	private bool swapped;

	private GameObject leftObject;

	private Holdable leftObjectHoldable;

	private GameObject rightObject;

	private Holdable rightObjectHoldable;

	private WeaponHandler WeaponHandler;

	public void Start()
	{
		//IL_011b: Unknown result type (might be due to invalid IL or missing references)
		//IL_010f: Unknown result type (might be due to invalid IL or missing references)
		unit = ((Component)((Component)this).gameObject.transform.root).GetComponentInChildren<Unit>();
		if (!Object.op_Implicit((Object)(object)unit))
		{
			return;
		}
		WeaponHandler = unit.WeaponHandler;
		holdingHandler = unit.holdingHandler;
		if (!Object.op_Implicit((Object)(object)holdingHandler))
		{
			return;
		}
		if (Object.op_Implicit((Object)(object)holdingHandler.rightObject))
		{
			rightObject = ((Component)holdingHandler.rightObject).gameObject;
			rightObjectHoldable = holdingHandler.rightObject;
		}
		if (Object.op_Implicit((Object)(object)holdingHandler.leftObject))
		{
			leftObject = ((Component)holdingHandler.leftObject).gameObject;
			leftObjectHoldable = holdingHandler.leftObject;
			holdingHandler.LetGoOfWeapon(leftObject);
			if (Object.op_Implicit((Object)(object)holdingHandler.rightObject))
			{
				holdingHandler.leftObject = holdingHandler.rightObject;
				holdingHandler.leftHandActivity = (HandActivity)1;
			}
			Scaler(leftObject, Vector3.zero);
		}
	}

	public void Update()
	{
		//IL_014b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0165: Unknown result type (might be due to invalid IL or missing references)
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
		float num = unit.data.maxHealth * 0.5f;
		if (Object.op_Implicit((Object)(object)unit))
		{
			if (!Object.op_Implicit((Object)(object)rightObject))
			{
				rightObject = ((Component)holdingHandler.rightObject).gameObject;
				rightObjectHoldable = holdingHandler.rightObject;
			}
			if (!Object.op_Implicit((Object)(object)leftObject))
			{
				leftObject = ((Component)holdingHandler.leftObject).gameObject;
				leftObjectHoldable = holdingHandler.leftObject;
				holdingHandler.LetGoOfWeapon(leftObject);
				if (Object.op_Implicit((Object)(object)holdingHandler.rightObject))
				{
					holdingHandler.leftObject = holdingHandler.rightObject;
					holdingHandler.leftHandActivity = (HandActivity)1;
				}
				Scaler(leftObject, Vector3.zero);
			}
		}
		if (Object.op_Implicit((Object)(object)unit.data.targetData) && !unit.data.Dead)
		{
			if (unit.data.health <= num && !swapped)
			{
				WeaponSwap(SwapToLeft: true);
				swapped = true;
			}
			else if (Vector3.Distance(unit.data.mainRig.position, unit.data.targetData.mainRig.position) > num && swapped)
			{
				WeaponSwap(SwapToLeft: false);
				swapped = false;
			}
		}
	}

	public void WeaponSwap(bool SwapToLeft)
	{
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_018e: Unknown result type (might be due to invalid IL or missing references)
		//IL_019f: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b0: 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)
		ServiceLocator.GetService<SoundPlayer>().PlaySoundEffect("UI/EquipWeapon", 1f, unit.data.mainRig.position, (MaterialType)0, (Transform)null, 0f);
		if (!((Object)(object)leftObject != (Object)null) || !((Object)(object)rightObject != (Object)null))
		{
			return;
		}
		if (SwapToLeft)
		{
			holdingHandler.LetGoOfWeapon(rightObject);
			holdingHandler.GrabObject(leftObjectHoldable, true, true, (Action)delegate
			{
			});
			if (Object.op_Implicit((Object)(object)holdingHandler.leftObject))
			{
				holdingHandler.rightObject = holdingHandler.leftObject;
			}
			Scaler(rightObject, Vector3.zero);
			Scaler(leftObject, Vector3.one);
			holdingHandler.leftHandActivity = (HandActivity)1;
			holdingHandler.rightHandActivity = (HandActivity)1;
			WeaponHandler.SetWeapon(leftObject.GetComponentInChildren<Weapon>(), (HandType)0);
		}
		else if (!SwapToLeft)
		{
			holdingHandler.LetGoOfWeapon(leftObject);
			holdingHandler.GrabObject(rightObjectHoldable, true, true, (Action)delegate
			{
			});
			if (Object.op_Implicit((Object)(object)holdingHandler.leftObject))
			{
				holdingHandler.leftObject = holdingHandler.rightObject;
			}
			Scaler(rightObject, Vector3.one);
			Scaler(leftObject, Vector3.zero);
			holdingHandler.leftHandActivity = (HandActivity)1;
			holdingHandler.rightHandActivity = (HandActivity)1;
			WeaponHandler.SetWeapon(rightObject.GetComponentInChildren<Weapon>(), (HandType)0);
		}
	}

	public void Scaler(GameObject basedGameObject, Vector3 scale)
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		basedGameObject.transform.localScale = scale;
	}
}
public class AddMeleeBlinks : MonoBehaviour
{
	private Unit unit;

	private MeleeWeapon[] meleeWeapons;

	private void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		meleeWeapons = ((Component)unit).GetComponentsInChildren<MeleeWeapon>();
		MeleeWeapon[] array = meleeWeapons;
		for (int i = 0; i < array.Length; i++)
		{
			List<AttackEffect> list = new List<AttackEffect>(((Weapon)array[i]).attackEffects);
			list.Add((AttackEffect)(object)((Component)array[i]).gameObject.AddComponent<BlinkDagger>());
			((Weapon)array[i]).attackEffects = list.ToArray();
		}
	}
}
public class AddMeleeDissarm : MonoBehaviour
{
	private Unit unit;

	private MeleeWeapon[] meleeWeapons;

	private void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		meleeWeapons = ((Component)unit).GetComponentsInChildren<MeleeWeapon>();
		MeleeWeapon[] array = meleeWeapons;
		for (int i = 0; i < array.Length; i++)
		{
			((Component)array[i]).gameObject.AddComponent<MeleeWeaponDissarm>();
		}
	}
}
public class AddMeleeDash : MonoBehaviour
{
	private Unit unit;

	private MeleeWeapon[] meleeWeapons;

	private void Start()
	{
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_008a: Unknown result type (might be due to invalid IL or missing references)
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		meleeWeapons = ((Component)unit).GetComponentsInChildren<MeleeWeapon>();
		MeleeWeapon[] array = meleeWeapons;
		for (int i = 0; i < array.Length; i++)
		{
			WeaponForceAnimation componentInChildren = ((Component)array[i]).gameObject.GetComponentInChildren<WeaponForceAnimation>();
			if (!Object.op_Implicit((Object)(object)componentInChildren))
			{
				List<AttackEffect> list = new List<AttackEffect>(((Weapon)array[i]).attackEffects);
				list.Add((AttackEffect)(object)s.DeepCopyOf<WeaponForceAnimation>(((Component)array[i]).gameObject.AddComponent<WeaponForceAnimation>(), ((GameObject)SLMALoader.SDic["weapons"]["shogunSword"]).GetComponentInChildren<WeaponForceAnimation>()));
				((Weapon)array[i]).attackEffects = list.ToArray();
			}
			else
			{
				s.DeepCopyOf<WeaponForceAnimation>(componentInChildren, ((GameObject)SLMALoader.SDic["weapons"]["shogunSword"]).GetComponentInChildren<WeaponForceAnimation>());
			}
		}
	}
}
public class WeaponRangeDoubler : MonoBehaviour
{
	private Unit unit;

	private Weapon[] weapons;

	private void Start()
	{
		unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
		weapons = ((Component)unit).GetComponentsInChildren<Weapon>();
		Weapon[] array = weapons;
		float n