Decompiled source of strange thing v1.0.3

shabiMOD.dll

Decompiled 2 days ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Xml;
using BepInEx;
using DM;
using Landfall.TABS;
using Landfall.TABS.AI.Components.Modifiers;
using Landfall.TABS.UnitEditor;
using ModdingForDummies.AssetManagement;
using ModdingForDummies.TABSSimp;
using SLMA;
using Sirenix.Serialization;
using TFBGames;
using UnityEngine;
using shabiMOD;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("ModdingForDummies")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ModdingForDummies")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("1619c49c-bc45-486c-bbca-6b52cef4f478")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace shabiMOD
{
	public class 随机伤害 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器;

		public float dame = 2000f;

		public float mindame = 440f;

		private void Start()
		{
			unit = ((Component)this).GetComponentInChildren<Unit>();
			计时器 = 0f;
		}

		private void Update()
		{
			float damage = Random.Range(mindame, dame);
			((Component)this).gameObject.GetComponentInChildren<CollisionWeapon>().damage = damage;
		}
	}
	public class 激光攻击 : MonoBehaviour
	{
		private Unit unit;

		private bool 判断1;

		private float 计时器;

		public GameObject project1;

		public void Start()
		{
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			判断1 = true;
			计时器 = 0f;
		}

		public void Update()
		{
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: 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_0107: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null && unit.data.distanceToTarget < 20f)
			{
				计时器 += Time.deltaTime;
				if ((double)计时器 > 0.5)
				{
					Quaternion val2 = Quaternion.LookRotation(val.data.mainRig.position - ((Component)this).gameObject.transform.position + new Vector3(0f, -5f, 0f));
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(project1, unit.data.mainRig.position + new Vector3(0f, 3.5f, 0f), val2), ((Component)this).gameObject);
					计时器 = 0f;
				}
			}
		}
	}
	public class 激光baoz : MonoBehaviour
	{
		private bool 判断1;

		private float 计时器;

		public GameObject project1;

		public Transform transform2;

		public void Start()
		{
			判断1 = true;
			计时器 = 0f;
		}

		public void Update()
		{
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			if (Object.op_Implicit((Object)(object)((Component)this).gameObject))
			{
				计时器 += Time.deltaTime;
				if ((double)计时器 > 0.5)
				{
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(project1, transform2.position, Quaternion.identity), ((Component)this).gameObject);
					计时器 = 0f;
				}
			}
		}
	}
	public class 二阶段 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		public UnitBlueprint unitBlueprint1;

		private float 计时器;

		private float 计时器2 = 0f;

		private bool panduan = true;

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

		public void feixing11()
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0113: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			Vector3 val2 = val.data.mainRig.position + new Vector3(0f, 16f, 0f) - unit.data.mainRig.position;
			Vector3 normalized = ((Vector3)(ref val2)).normalized;
			计时器2 += Time.deltaTime;
			Rigidbody[] allRigs = unit.data.allRigs.AllRigs;
			for (int i = 0; i < allRigs.Length; i++)
			{
				if ((double)计时器2 > 0.01)
				{
					((Component)((Component)this).transform.Find("Particle System")).gameObject.SetActive(true);
					((Component)this).transform.Find("Particle System").position = unit.data.mainRig.position;
					计时器2 = 0f;
					unit.data.mainRig.AddForce(normalized * 456f, (ForceMode)5);
				}
			}
		}

		private void Update()
		{
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0147: Unknown result type (might be due to invalid IL or missing references)
			//IL_014c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0157: Unknown result type (might be due to invalid IL or missing references)
			if (!panduan)
			{
				return;
			}
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null && (double)unit.data.health < (double)unit.data.maxHealth * 0.5)
			{
				计时器 += Time.deltaTime;
				feixing11();
				if (计时器 > 4f)
				{
					unit.data.mainRig.position = val.data.mainRig.position;
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, val.data.mainRig.position, Quaternion.identity), ((Component)this).gameObject);
					unit.data.health = unit.data.maxHealth;
					panduan = false;
					unitBlueprint1.Spawn(unit.data.mainRig.position, Quaternion.identity, unit.Team, 1f, (UnitPoolInfo?)null);
					Object.Destroy((Object)(object)((Component)unit).gameObject);
				}
			}
		}
	}
	public class 血肉坠落技能 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器;

		private float 计时器2 = 0f;

		private float 计时器3 = 0f;

		private bool bolll1 = true;

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

		private void Update()
		{
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: 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_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_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0181: Unknown result type (might be due to invalid IL or missing references)
			//IL_0196: Unknown result type (might be due to invalid IL or missing references)
			//IL_019b: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0277: Unknown result type (might be due to invalid IL or missing references)
			//IL_027c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0135: Unknown result type (might be due to invalid IL or missing references)
			//IL_013c: Unknown result type (might be due to invalid IL or missing references)
			//IL_021b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0225: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null)
			{
				计时器 += Time.deltaTime;
			}
			Vector3 val2;
			if (计时器 > 5f && bolll1)
			{
				val2 = val.data.mainRig.position + new Vector3(0f, 23f, 0f) - unit.data.mainRig.position;
				Vector3 normalized = ((Vector3)(ref val2)).normalized;
				计时器2 += Time.deltaTime;
				Rigidbody[] allRigs = unit.data.allRigs.AllRigs;
				for (int i = 0; i < allRigs.Length; i++)
				{
					if ((double)计时器2 > 0.01)
					{
						计时器2 = 0f;
						unit.data.allRigs.AllRigs[i].AddForce(normalized * 756f, (ForceMode)5);
					}
				}
			}
			if (计时器 > 7f)
			{
				val2 = val.data.mainRig.position - unit.data.mainRig.position;
				Vector3 normalized2 = ((Vector3)(ref val2)).normalized;
				计时器3 += Time.deltaTime;
				Rigidbody[] allRigs2 = unit.data.allRigs.AllRigs;
				for (int j = 0; j < allRigs2.Length; j++)
				{
					if ((double)计时器3 > 0.01)
					{
						计时器3 = 0f;
						unit.data.allRigs.AllRigs[j].AddForce(Vector3.down * 10756f, (ForceMode)5);
					}
				}
			}
			if ((double)计时器 > 7.2)
			{
				TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, unit.data.mainRig.position, Quaternion.identity), ((Component)this).gameObject);
				bolll1 = true;
				计时器 = 0f;
			}
		}
	}
	public class 全图冰冻 : MonoBehaviour
	{
		private Unit unit;

		public GameObject exp1;

		private float 计时器;

		public float cd2 = 0.01f;

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

		private void Update()
		{
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null)
			{
				计时器 += Time.deltaTime;
				if (计时器 > cd2)
				{
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(exp1, unit.data.mainRig.position, Quaternion.identity), ((Component)this).gameObject);
					计时器 = 0f;
				}
			}
		}
	}
	public class 回血iud : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器;

		public float liang = 90f;

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

		private void Update()
		{
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null && unit.data.health < unit.data.maxHealth)
			{
				计时器 += Time.deltaTime;
				if ((double)计时器 > 0.1)
				{
					((Damagable)unit.data.healthHandler).TakeDamage(0f - liang, unit.data.hip.position, (Unit)null, (DamageType)0);
					计时器 = 0f;
				}
			}
		}
	}
	public class 旋转12 : MonoBehaviour
	{
		private Unit unit;

		private bool 判断1;

		private float 计时器;

		public Vector3 jiaodu = new Vector3(0f, 0f, 20f);

		public void Start()
		{
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			判断1 = true;
			计时器 = 0f;
		}

		public void Update()
		{
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			计时器 += Time.deltaTime;
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null)
			{
				((Component)this).gameObject.transform.Rotate(jiaodu);
			}
		}
	}
	public class 起飞123 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器;

		private float 计时器2 = 0f;

		public float liliang = 56f;

		private void Start()
		{
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Expected O, but got Unknown
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			计时器 = 0f;
			((Component)unit).GetComponentInChildren<GravityHandler>().gravityData = new GravityData
			{
				gravity = 0f
			};
		}

		public void feixing()
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			Vector3 val2 = val.data.mainRig.position + new Vector3(0f, 36f, 0f) - unit.data.mainRig.position;
			Vector3 normalized = ((Vector3)(ref val2)).normalized;
			计时器2 += Time.deltaTime;
			Rigidbody[] allRigs = unit.data.allRigs.AllRigs;
			for (int i = 0; i < allRigs.Length; i++)
			{
				if ((double)计时器2 > 0.01)
				{
					计时器2 = 0f;
					unit.data.mainRig.AddForce(normalized * liliang, (ForceMode)5);
				}
			}
		}

		private void Update()
		{
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null)
			{
				feixing();
			}
		}
	}
	public class 释放核弹 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器 = 22f;

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

		private void Update()
		{
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null)
			{
				计时器 += Time.deltaTime;
				if (计时器 > 30f)
				{
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, unit.data.mainRig.position + new Vector3(0f, -2f, 0f), Quaternion.identity), ((Component)this).gameObject);
					计时器 = 0f;
				}
			}
		}
	}
	public class 生成核弹爆炸 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器;

		private bool 判断1 = true;

		public Vector3 旋转 = new Vector3(0f, 0f, 0f);

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

		private void Update()
		{
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			计时器 += Time.deltaTime;
			if (Object.op_Implicit((Object)(object)((Component)this).gameObject))
			{
				计时器 += Time.deltaTime;
				if (计时器 > 5f && 判断1)
				{
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, ((Component)this).gameObject.transform.position, Quaternion.Euler(旋转)), ((Component)this).gameObject);
					判断1 = false;
				}
				if (!判断1)
				{
					Object.Destroy((Object)(object)((Component)this).gameObject);
				}
			}
		}
	}
	public class 起飞765 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器 = 12f;

		private float 计时器2 = 0f;

		private float 计时器3 = 0f;

		public float liliang = 56f;

		private float 随机数x;

		private float 随机数y;

		private bool 判断1 = true;

		private bool 判断2 = true;

		private bool 判断3 = true;

		private bool 判断4 = true;

		private bool 启动判断5 = false;

		private void Start()
		{
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Expected O, but got Unknown
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			计时器 = 0f;
			((Component)unit).GetComponentInChildren<GravityHandler>().gravityData = new GravityData
			{
				gravity = 0f
			};
		}

		public void feixing()
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			Vector3 val2 = val.data.mainRig.position + new Vector3(随机数x, 170f, 随机数y) - unit.data.mainRig.position;
			Vector3 normalized = ((Vector3)(ref val2)).normalized;
			计时器2 += Time.deltaTime;
			计时器3 += Time.deltaTime;
			Rigidbody[] allRigs = unit.data.allRigs.AllRigs;
			for (int i = 0; i < allRigs.Length; i++)
			{
				if ((double)计时器2 > 0.01)
				{
					计时器2 = 0f;
					unit.data.mainRig.AddForce(normalized * liliang, (ForceMode)5);
				}
			}
		}

		private void Update()
		{
			Unit val = unit.data.targetData.unit;
			if ((Object)(object)val != (Object)null)
			{
				启动判断5 = true;
			}
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && 启动判断5)
			{
				feixing();
				计时器 += Time.deltaTime;
				if (计时器 > 12f && 判断1)
				{
					随机数x = 300f;
					随机数y = 300f;
					判断1 = false;
				}
				if (计时器 > 38f && 判断2)
				{
					随机数x = -300f;
					随机数y = 300f;
					判断2 = false;
				}
				if (计时器 > 86f && 判断3)
				{
					随机数x = -300f;
					随机数y = -300f;
					判断3 = false;
				}
				if (计时器 > 124f && 判断4)
				{
					随机数x = 300f;
					随机数y = -300f;
					判断4 = false;
				}
				if (计时器 > 162f)
				{
					判断4 = true;
					判断1 = true;
					判断3 = true;
					判断2 = true;
					计时器 = 12f;
				}
			}
		}
	}
	public class 空中炮艇攻击脚本 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		public GameObject gameObject2;

		public GameObject gameObject3;

		private bool 判断1 = true;

		private bool 判断2 = true;

		private bool 判断3 = true;

		private bool 判断4 = true;

		private float 计时器 = 0f;

		private float 计时器2 = 0f;

		private float 计时器3 = 0f;

		private float 计时器4 = 0f;

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

		public void fashe1()
		{
			//IL_004e: 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)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: 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_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			计时器 += Time.deltaTime;
			if ((double)计时器 > 0.1)
			{
				Unit val = unit.data.targetData.unit;
				Quaternion val2 = Quaternion.LookRotation(val.data.mainRig.position - ((Component)unit.data.mainRig).transform.position + new Vector3((float)Random.Range(-9, 9), (float)Random.Range(-9, 9), (float)Random.Range(-9, 9)));
				TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, unit.data.mainRig.position + new Vector3(0f, -1f, 0f), val2), ((Component)this).gameObject);
				计时器 = 0f;
			}
		}

		public void fashe2()
		{
			//IL_004e: 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)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0081: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
			计时器2 += Time.deltaTime;
			if ((double)计时器2 > 0.4)
			{
				Unit val = unit.data.targetData.unit;
				Quaternion val2 = Quaternion.LookRotation(val.data.mainRig.position - ((Component)unit.data.mainRig).transform.position + new Vector3(0f, -2f, 0f));
				TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject2, unit.data.mainRig.position + new Vector3(0f, -1f, 0f), val2), ((Component)this).gameObject);
				计时器2 = 0f;
			}
		}

		public void fashe3()
		{
			//IL_004e: 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)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: 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_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			计时器3 += Time.deltaTime;
			if ((double)计时器3 > 0.05)
			{
				Unit val = unit.data.targetData.unit;
				Quaternion val2 = Quaternion.LookRotation(val.data.mainRig.position - ((Component)unit.data.mainRig).transform.position + new Vector3((float)Random.Range(-9, 9), (float)Random.Range(-18, 9), (float)Random.Range(-9, 9)));
				TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject3, unit.data.mainRig.position + new Vector3(0f, -1f, 0f), val2), ((Component)this).gameObject);
				计时器3 = 0f;
			}
		}

		private void Update()
		{
			Unit val = unit.data.targetData.unit;
			if (unit.data.Dead || !Object.op_Implicit((Object)(object)unit) || !((Object)(object)val != (Object)null))
			{
				return;
			}
			计时器4 += Time.deltaTime;
			if (计时器4 > 14f && 判断1)
			{
				fashe1();
				if (计时器4 > 15f)
				{
					判断1 = false;
				}
			}
			if (计时器4 > 16f && 判断2)
			{
				fashe2();
				if (计时器4 > 19f)
				{
					判断2 = false;
				}
			}
			if (计时器4 > 20f && 判断3)
			{
				fashe3();
				if (计时器4 > 25f)
				{
					判断3 = false;
				}
			}
			if (计时器4 > 26f)
			{
				判断1 = true;
				判断2 = true;
				判断3 = true;
				计时器4 = 14f;
			}
		}
	}
	public class 起飞365 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器 = 12f;

		private float 计时器2 = 0f;

		private float 计时器3 = 0f;

		public float liliang = 56f;

		private float 随机数x;

		private float 随机数y;

		private bool 判断1 = true;

		private bool 判断2 = true;

		private bool 判断3 = true;

		private bool 判断4 = true;

		private void Start()
		{
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Expected O, but got Unknown
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			计时器 = 0f;
			((Component)unit).GetComponentInChildren<GravityHandler>().gravityData = new GravityData
			{
				gravity = 0f
			};
		}

		public void feixing()
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			Vector3 val2 = val.data.mainRig.position + new Vector3(随机数x, 36f, 随机数y) - unit.data.mainRig.position;
			Vector3 normalized = ((Vector3)(ref val2)).normalized;
			计时器2 += Time.deltaTime;
			计时器3 += Time.deltaTime;
			Rigidbody[] allRigs = unit.data.allRigs.AllRigs;
			for (int i = 0; i < allRigs.Length; i++)
			{
				if ((double)计时器2 > 0.01)
				{
					计时器2 = 0f;
					unit.data.mainRig.AddForce(normalized * liliang, (ForceMode)5);
				}
			}
		}

		private void Update()
		{
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null)
			{
				feixing();
				计时器 += Time.deltaTime;
				if (计时器 > 1f && 判断1)
				{
					随机数x = 30f;
					随机数y = 30f;
					判断1 = false;
				}
				if (计时器 > 3f && 判断2)
				{
					随机数x = -30f;
					随机数y = 30f;
					判断2 = false;
				}
				if (计时器 > 5f && 判断3)
				{
					随机数x = -30f;
					随机数y = -30f;
					判断3 = false;
				}
				if (计时器 > 7f && 判断4)
				{
					随机数x = 30f;
					随机数y = -30f;
					判断4 = false;
				}
				if (计时器 > 9f)
				{
					判断4 = true;
					判断1 = true;
					判断3 = true;
					判断2 = true;
					计时器 = 1f;
				}
			}
		}
	}
	public class 武器跟随546 : MonoBehaviour
	{
		private Unit unit;

		private bool 判断1;

		private float 计时器;

		public void Start()
		{
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			判断1 = true;
			计时器 = 0f;
		}

		public void Update()
		{
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null)
			{
				((Component)this).gameObject.transform.rotation = Quaternion.LookRotation(val.data.mainRig.position - ((Component)this).gameObject.transform.position + new Vector3(0f, 0f, 0f));
			}
		}
	}
	public class 直升机机炮攻击脚本 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器;

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

		private void Update()
		{
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: 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_00e2: 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_00ec: 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_0104: Unknown result type (might be due to invalid IL or missing references)
			//IL_0109: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null && unit.data.distanceToTarget < 50f)
			{
				计时器 += Time.deltaTime;
				if ((double)计时器 > 0.1)
				{
					Quaternion val2 = Quaternion.LookRotation(val.data.mainRig.position + new Vector3(Random.Range(0f, 2f), Random.Range(0f, 2f), Random.Range(0f, 2f)) - ((Component)this).gameObject.transform.position);
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, ((Component)this).gameObject.transform.position, val2), ((Component)this).gameObject);
					计时器 = Random.Range(0f, 0.05f);
				}
			}
		}
	}
	public class 直升机炮弹发射脚本 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器 = 0f;

		private float 计时器2 = 0f;

		private float 计时器3 = 0f;

		private bool 判断1 = true;

		private bool 判断2 = true;

		private bool 判断3 = true;

		private bool 判断4 = true;

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

		public void fashepaodan1()
		{
			//IL_004e: 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)
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: 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_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			计时器 += Time.deltaTime;
			if ((double)计时器 > 0.1)
			{
				Unit val = unit.data.targetData.unit;
				Quaternion val2 = Quaternion.LookRotation(val.data.mainRig.position - ((Component)unit.data.mainRig).transform.position + new Vector3((float)Random.Range(-9, 9), (float)Random.Range(-9, 9), (float)Random.Range(-9, 9)));
				TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, unit.data.mainRig.position + new Vector3(0f, -1f, 0f), val2), ((Component)this).gameObject);
				计时器 = 0f;
			}
		}

		private void Update()
		{
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: 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_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null && unit.data.distanceToTarget < 50f)
			{
				计时器 += Time.deltaTime;
				if (计时器 > 12f && 判断1)
				{
					Quaternion val2 = Quaternion.LookRotation(val.data.mainRig.position - ((Component)this).gameObject.transform.position);
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, ((Component)this).gameObject.transform.position, val2), ((Component)this).gameObject);
					((Component)((Component)this).gameObject.transform.Find("fashepaodanzhishengji")).gameObject.SetActive(false);
					判断1 = false;
				}
				if (计时器 > 18f)
				{
					((Component)((Component)this).gameObject.transform.Find("fashepaodanzhishengji")).gameObject.SetActive(true);
				}
				if (计时器 > Random.Range(22f, 30f))
				{
					判断1 = true;
					计时器 = Random.Range(6f, 11f);
				}
			}
		}
	}
	public class 激光zhaohuan : MonoBehaviour
	{
		private Unit unit;

		private bool 判断1;

		private float 计时器;

		public GameObject project1;

		public void Start()
		{
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			判断1 = true;
			计时器 = 8f;
		}

		public void Update()
		{
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null && unit.data.distanceToTarget < 20f)
			{
				计时器 += Time.deltaTime;
				if ((double)计时器 > 8.0)
				{
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(project1, val.data.mainRig.position + new Vector3(4f, 0f, 0f), Quaternion.identity), ((Component)this).gameObject);
					计时器 = 0f;
				}
			}
		}
	}
	public class 激光伤害脚本 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器;

		public ParticleSystem 粒子发射器;

		public List<ParticleCollisionEvent> 所有碰撞事件;

		private void OnParticleCollision(GameObject other)
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: Unknown result type (might be due to invalid IL or missing references)
			粒子发射器 = ((Component)this).GetComponentInChildren<ParticleSystem>();
			所有碰撞事件 = new List<ParticleCollisionEvent>();
			int collisionEvents = ParticlePhysicsExtensions.GetCollisionEvents(粒子发射器, other, 所有碰撞事件);
			foreach (ParticleCollisionEvent item in 所有碰撞事件)
			{
				ParticleCollisionEvent current = item;
				TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, ((ParticleCollisionEvent)(ref current)).intersection, Quaternion.identity), ((Component)this).gameObject);
			}
		}

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

		private void Update()
		{
		}
	}
	public class 旋转慢速 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器;

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

		private void Update()
		{
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			if (Object.op_Implicit((Object)(object)((Component)this).gameObject))
			{
				计时器 += Time.deltaTime;
				if ((double)计时器 > 0.01)
				{
					((Component)this).gameObject.transform.Rotate(new Vector3(0f, 1f, 0f));
					计时器 = 0f;
				}
			}
		}
	}
	public class 发射抛射物234 : MonoBehaviour
	{
		private Unit unit;

		public GameObject gameObject1;

		private float 计时器 = 0f;

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

		private void Update()
		{
			//IL_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: 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_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!unit.data.Dead && Object.op_Implicit((Object)(object)unit) && (Object)(object)val != (Object)null && unit.data.distanceToTarget < 50f)
			{
				计时器 += Time.deltaTime;
				if (计时器 > 1f)
				{
					Quaternion val2 = Quaternion.LookRotation(val.data.mainRig.position - unit.data.mainRig.position);
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(gameObject1, unit.data.mainRig.position + new Vector3(0f, -1f, 0f), val2), ((Component)this).gameObject);
					计时器 = 0f;
				}
			}
		}
	}
	public class 闪光打击d445 : MonoBehaviour
	{
		private Unit unit;

		private bool 判断1;

		private float 计时器;

		private float 计时器2;

		private float 计时器3;

		private float 计时器4;

		public float 间隔时间 = 2f;

		public float 冷却时间 = 2f;

		public Vector3 旋转 = new Vector3(0f, 0f, 0f);

		public float 随机程度 = 45f;

		public GameObject explosion1;

		public GameObject explosion2;

		public void Start()
		{
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			判断1 = true;
			计时器 = 0f;
			计时器2 = 0f;
			计时器3 = 0f;
			计时器4 = 0f;
		}

		public void Update()
		{
			//IL_00b7: 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_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0131: Unknown result type (might be due to invalid IL or missing references)
			//IL_0137: Unknown result type (might be due to invalid IL or missing references)
			//IL_013c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0186: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0191: Unknown result type (might be due to invalid IL or missing references)
			Unit val = unit.data.targetData.unit;
			if (!((Object)(object)val != (Object)null) || unit.data.Dead || !Object.op_Implicit((Object)(object)unit))
			{
				return;
			}
			计时器 += Time.deltaTime;
			计时器2 += Time.deltaTime;
			计时器3 += Time.deltaTime;
			计时器4 += Time.deltaTime;
			if (!(计时器2 > 冷却时间))
			{
				return;
			}
			Vector3 val2 = val.data.mainRig.position + new Vector3(0f, 26f, 0f) - unit.data.mainRig.position;
			Vector3 normalized = ((Vector3)(ref val2)).normalized;
			if (计时器 >= 间隔时间)
			{
				计时器 = 0f;
				TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(explosion1, 随机数v3(随机程度), Quaternion.Euler(旋转)), ((Component)this).gameObject);
				if (计时器3 > 0.8f)
				{
					计时器3 = 0f;
					TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(explosion1, val.data.mainRig.position, Quaternion.Euler(旋转)), ((Component)this).gameObject);
				}
			}
			if (计时器2 > 冷却时间 + 6f)
			{
				计时器2 = 0f;
			}
		}

		private Vector3 随机数v3(float float1)
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			float num = unit.data.mainRig.position.x + Random.Range(0f - float1, float1);
			float num2 = unit.data.mainRig.position.y - unit.data.distanceToTarget - 3f;
			float num3 = unit.data.mainRig.position.z + Random.Range(0f - float1, float1);
			return new Vector3(num, num2, num3);
		}
	}
	public class 死亡爆炸123234 : MonoBehaviour
	{
		private Unit unit;

		private bool 判断1;

		private float 计时器;

		public GameObject explosion1;

		public void Start()
		{
			unit = ((Component)((Component)this).gameObject.transform.root).gameObject.GetComponentInChildren<Unit>();
			判断1 = true;
			计时器 = 0f;
			unit.data.healthHandler.AddDieAction((Action)delegate
			{
				//IL_001c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0021: Unknown result type (might be due to invalid IL or missing references)
				TeamHolder.AddTeamHolder(Object.Instantiate<GameObject>(explosion1, ((Component)unit.data.mainRig).transform.position, Quaternion.identity), ((Component)this).gameObject);
			});
		}

		public void Update()
		{
		}
	}
}
namespace ModdingForDummies
{
	[BepInPlugin("shabiMOD", "shabiMOD", "1.0.0")]
	public class Launcher : BaseUnityPlugin
	{
		public Launcher()
		{
			Debug.Log((object)"shabiMOD");
			AssetImporter.Initialize();
			new Main();
		}
	}
	public class Main : Mod
	{
		private string comment;

		public Main()
		{
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bc: 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_00f3: Expected O, but got Unknown
			//IL_0110: Unknown result type (might be due to invalid IL or missing references)
			//IL_011a: Expected O, but got Unknown
			//IL_0158: Unknown result type (might be due to invalid IL or missing references)
			//IL_015e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bd: Expected O, but got Unknown
			//IL_0217: Unknown result type (might be due to invalid IL or missing references)
			//IL_0223: Expected O, but got Unknown
			//IL_0253: Unknown result type (might be due to invalid IL or missing references)
			//IL_025f: Expected O, but got Unknown
			//IL_028f: Unknown result type (might be due to invalid IL or missing references)
			//IL_029b: Expected O, but got Unknown
			//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cb: Expected O, but got Unknown
			//IL_02ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fb: Expected O, but got Unknown
			//IL_031f: Unknown result type (might be due to invalid IL or missing references)
			//IL_032b: Expected O, but got Unknown
			//IL_0357: Unknown result type (might be due to invalid IL or missing references)
			//IL_036b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0377: Expected O, but got Unknown
			//IL_0377: Expected O, but got Unknown
			//IL_074c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0760: Expected O, but got Unknown
			//IL_07ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0801: Expected O, but got Unknown
			//IL_0834: Unknown result type (might be due to invalid IL or missing references)
			//IL_0848: Expected O, but got Unknown
			//IL_091d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0923: Expected O, but got Unknown
			//IL_09f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f6: Expected O, but got Unknown
			//IL_0a11: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a17: Expected O, but got Unknown
			//IL_0a32: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a38: Expected O, but got Unknown
			//IL_0a53: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a59: Expected O, but got Unknown
			//IL_0a87: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a8d: Expected O, but got Unknown
			//IL_0aa8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aae: Expected O, but got Unknown
			//IL_0ac9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0acf: Expected O, but got Unknown
			//IL_0aea: Unknown result type (might be due to invalid IL or missing references)
			//IL_0af0: Expected O, but got Unknown
			//IL_0b0b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b11: Expected O, but got Unknown
			//IL_0b2c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b32: Expected O, but got Unknown
			//IL_0b5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b61: Expected O, but got Unknown
			//IL_0b7c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b82: Expected O, but got Unknown
			//IL_0b9d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ba3: Expected O, but got Unknown
			//IL_0bbe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc4: Expected O, but got Unknown
			//IL_0bdf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be5: Expected O, but got Unknown
			//IL_0c06: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c10: Expected O, but got Unknown
			//IL_0c34: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c3a: Expected O, but got Unknown
			//IL_0ced: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cf3: Expected O, but got Unknown
			//IL_0d0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d14: Expected O, but got Unknown
			//IL_0d2f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d35: Expected O, but got Unknown
			//IL_0d50: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d56: Expected O, but got Unknown
			//IL_0d85: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d91: Expected O, but got Unknown
			//IL_0da9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db5: Expected O, but got Unknown
			//IL_0dd9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de5: Expected O, but got Unknown
			//IL_0dfd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e09: Expected O, but got Unknown
			//IL_0e21: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e2d: Expected O, but got Unknown
			//IL_0e45: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e51: Expected O, but got Unknown
			//IL_0e69: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e75: Expected O, but got Unknown
			//IL_0e99: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea5: Expected O, but got Unknown
			//IL_0ec9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ed5: Expected O, but got Unknown
			//IL_0fd9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fe3: Unknown result type (might be due to invalid IL or missing references)
			//IL_1268: Unknown result type (might be due to invalid IL or missing references)
			//IL_1272: Expected O, but got Unknown
			//IL_1324: Unknown result type (might be due to invalid IL or missing references)
			//IL_132e: Expected O, but got Unknown
			//IL_134a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1354: Expected O, but got Unknown
			//IL_1370: Unknown result type (might be due to invalid IL or missing references)
			//IL_137a: Expected O, but got Unknown
			//IL_17ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b7: Expected O, but got Unknown
			//IL_189b: Unknown result type (might be due to invalid IL or missing references)
			//IL_18a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_193f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1949: Expected O, but got Unknown
			//IL_1a0f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a19: Expected O, but got Unknown
			//IL_1a6b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a75: Expected O, but got Unknown
			//IL_1ac7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ad1: Expected O, but got Unknown
			//IL_1b23: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b2d: Expected O, but got Unknown
			//IL_1c12: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c18: Expected O, but got Unknown
			//IL_1c33: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c39: Expected O, but got Unknown
			//IL_1c54: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c5a: Expected O, but got Unknown
			//IL_1c75: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c7b: Expected O, but got Unknown
			//IL_1c96: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c9c: Expected O, but got Unknown
			//IL_1cc5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ccb: Expected O, but got Unknown
			//IL_1ce6: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cec: Expected O, but got Unknown
			//IL_1d07: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d0d: Expected O, but got Unknown
			//IL_1d28: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d2e: Expected O, but got Unknown
			//IL_1d49: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d4f: Expected O, but got Unknown
			//IL_1d78: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d7e: Expected O, but got Unknown
			//IL_1d99: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d9f: Expected O, but got Unknown
			//IL_1dba: Unknown result type (might be due to invalid IL or missing references)
			//IL_1dc0: Expected O, but got Unknown
			//IL_1ddb: Unknown result type (might be due to invalid IL or missing references)
			//IL_1de1: Expected O, but got Unknown
			//IL_1dfc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e02: Expected O, but got Unknown
			//IL_1e2b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e31: Expected O, but got Unknown
			//IL_1e4c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e52: Expected O, but got Unknown
			//IL_1e6d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e73: Expected O, but got Unknown
			//IL_1e8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e94: Expected O, but got Unknown
			//IL_1eaf: Unknown result type (might be due to invalid IL or missing references)
			//IL_1eb5: Expected O, but got Unknown
			//IL_1ede: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ee4: Expected O, but got Unknown
			//IL_1eff: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f05: Expected O, but got Unknown
			//IL_1f20: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f26: Expected O, but got Unknown
			//IL_1f41: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f47: Expected O, but got Unknown
			//IL_1f62: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f68: Expected O, but got Unknown
			//IL_1f96: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f9c: Expected O, but got Unknown
			//IL_1fb7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fbd: Expected O, but got Unknown
			//IL_1fd8: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fde: Expected O, but got Unknown
			//IL_1ff9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fff: Expected O, but got Unknown
			//IL_201a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2020: Expected O, but got Unknown
			//IL_2059: Unknown result type (might be due to invalid IL or missing references)
			//IL_2065: Expected O, but got Unknown
			//IL_208e: Unknown result type (might be due to invalid IL or missing references)
			//IL_20a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_20ae: Expected O, but got Unknown
			//IL_20ae: Expected O, but got Unknown
			//IL_20c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_20d2: Expected O, but got Unknown
			//IL_20f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_2102: Expected O, but got Unknown
			//IL_2126: Unknown result type (might be due to invalid IL or missing references)
			//IL_2132: Expected O, but got Unknown
			//IL_2156: Unknown result type (might be due to invalid IL or missing references)
			//IL_2162: Expected O, but got Unknown
			//IL_2186: Unknown result type (might be due to invalid IL or missing references)
			//IL_2192: Expected O, but got Unknown
			//IL_2574: Unknown result type (might be due to invalid IL or missing references)
			//IL_2588: Expected O, but got Unknown
			//IL_25bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_25cf: Expected O, but got Unknown
			//IL_2602: Unknown result type (might be due to invalid IL or missing references)
			//IL_2616: Expected O, but got Unknown
			//IL_2657: Unknown result type (might be due to invalid IL or missing references)
			//IL_266b: Expected O, but got Unknown
			//IL_26d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_26d8: Expected O, but got Unknown
			//IL_26f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_26f9: Expected O, but got Unknown
			//IL_2714: Unknown result type (might be due to invalid IL or missing references)
			//IL_271a: Expected O, but got Unknown
			//IL_278b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2791: Expected O, but got Unknown
			//IL_27ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_27b2: Expected O, but got Unknown
			//IL_27cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_27d3: Expected O, but got Unknown
			//IL_27ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_27f4: Expected O, but got Unknown
			//IL_280f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2815: Expected O, but got Unknown
			comment = "CHANGE THIS T";
			Mod.DEV_MODE = false;
			Assembly executingAssembly = Assembly.GetExecutingAssembly();
			Stream manifestResourceStream = executingAssembly.GetManifestResourceStream("shabiMOD.dddhhh");
			AssetBundle val = AssetBundle.LoadFromStream(manifestResourceStream);
			Texture2D val2 = val.LoadAsset<Texture2D>("taiyangtubiao");
			((Texture)val2).filterMode = (FilterMode)0;
			Sprite val3 = Sprite.Create(val2, new Rect(0f, 0f, (float)((Texture)val2).width, (float)((Texture)val2).height), new Vector2(0.5f, 0.5f));
			Texture2D val4 = val.LoadAsset<Texture2D>("feijitubiao");
			((Texture)val4).filterMode = (FilterMode)0;
			Sprite val5 = Sprite.Create(val4, new Rect(0f, 0f, (float)((Texture)val4).width, (float)((Texture)val4).height), new Vector2(0.5f, 0.5f));
			UnitBlueprint val6 = SLMATool.CreateUnit("空单位3456", (UnitBlueprint)SLMALoader.SDic["blueprints"]["UNIT_SUBUNITS_HORSE_CHARIOT"], (Faction)null, val3);
			val6.UnitBase = (GameObject)SLMALoader.SDic["bases"]["Humanoid"];
			val6.health = 100f;
			val6.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[0];
			val6.m_props = (GameObject[])(object)new GameObject[0];
			val6.movementSpeedMuiltiplier = 1f;
			val6.MovementComponents = new List<IMovementComponent> { (IMovementComponent)(object)default(KeepRangedDistance) };
			val6.animationMultiplier = 1f;
			val6.stepMultiplier = 1f;
			SLMATool.CreateFaction("极地之星", (UnitBlueprint[])null, val3, 5469745);
			UnitBlueprint val7 = SLMATool.CreateUnit("3号病毒", val6, (Faction)SLMATool.SLMADic["极地之星"], val3);
			val7.forceCost = 500u;
			s.SetField<UnitBlueprint>(val7, "VocalRef", (object)"");
			s.SetField<UnitBlueprint>(val7, "DeathRef", (object)"");
			s.SetField<UnitBlueprint>(val7, "footRef", (object)"");
			UnitBlueprint val8 = SLMATool.CreateUnit("毁灭者", val6, (Faction)SLMATool.SLMADic["极地之星"], val3);
			val8.health = 900f;
			val8.forceCost = 900u;
			UnitBlueprint val9 = SLMATool.CreateUnit("绝地武士", val6, (Faction)SLMATool.SLMADic["极地之星"], val3);
			val9.health = 500f;
			val9.forceCost = 1000u;
			UnitBlueprint val10 = SLMATool.CreateUnit("电磁炮", val6, (Faction)SLMATool.SLMADic["极地之星"], val3);
			val10.forceCost = 2000u;
			UnitBlueprint val11 = SLMATool.CreateUnit("磁暴步兵", val6, (Faction)SLMATool.SLMADic["极地之星"], val3);
			val11.forceCost = 2500u;
			UnitBlueprint val12 = SLMATool.CreateUnit("神秘木乃伊", val6, (Faction)SLMATool.SLMADic["极地之星"], val3);
			val12.forceCost = 9000u;
			UnitBlueprint val13 = SLMATool.CreateUnit("上玄1", val6, (Faction)SLMATool.SLMADic["极地之星"], val3);
			val13.forceCost = 14000u;
			UnitBlueprint val14 = SLMATool.CreateUnit("冰霜巨人之祖", (UnitBlueprint)SLMALoader.SDic["blueprints"]["UNIT_SECRET_ICEGIANT"], (Faction)SLMATool.SLMADic["极地之星"], val3);
			val14.forceCost = 9999999u;
			GameObject val15 = UPool.MyPool.AddObject("danzhijian1", val.LoadAsset<GameObject>("danzhijian"), true, (HideFlags)52, (Sprite)null, 23452190, true);
			GameObject rightWeapon = UPool.MyPool.AddObject("hu8zhijian1", val.LoadAsset<GameObject>("huimiezhijian"), true, (HideFlags)52, (Sprite)null, 23452192, true);
			GameObject rightWeapon2 = UPool.MyPool.AddObject("guangjian", val.LoadAsset<GameObject>("guangjian1"), true, (HideFlags)52, (Sprite)null, 23452193, true);
			GameObject val16 = UPool.MyPool.AddObject("电磁炮弹", val.LoadAsset<GameObject>("diancipao234"), true, (HideFlags)52, (Sprite)null, 23452194, true);
			GameObject val17 = UPool.MyPool.AddObject("骨剑", val.LoadAsset<GameObject>("gujian3456"), true, (HideFlags)52, (Sprite)null, 23452195, true);
			GameObject rightWeapon3 = UPool.MyPool.AddObject("超级电磁炮12", val.LoadAsset<GameObject>("chaojidianzcipaoq"), true, (HideFlags)52, (Sprite)null, 23452196, true);
			GameObject rightWeapon4 = UPool.MyPool.AddObject("黑死牟123", val.LoadAsset<GameObject>("heisimoudejian"), true, (HideFlags)52, (Sprite)null, 23452197, true);
			GameObject val18 = UPool.MyPool.AddObject("超级电磁炮子弹", val.LoadAsset<GameObject>("dianpaozidan12"), true, (HideFlags)52, (Sprite)null, 23452198, true);
			GameObject val19 = UPool.MyPool.AddObject("电磁背包", val.LoadAsset<GameObject>("diancibeibao"), true, (HideFlags)52, (Sprite)null, 23452199, true);
			GameObject val20 = UPool.MyPool.AddObject("炎头队长1", val.LoadAsset<GameObject>("yantouduizhang1"), true, (HideFlags)52, (Sprite)null, 23452200, true);
			GameObject val21 = UPool.MyPool.AddObject("上弦眼睛1", val.LoadAsset<GameObject>("siangxuan7438"), true, (HideFlags)52, (Sprite)null, 23452201, true);
			GameObject val22 = UPool.MyPool.AddObject("上弦发型1", val.LoadAsset<GameObject>("heisimoutoufa1"), true, (HideFlags)52, (Sprite)null, 23452202, true);
			GameObject val23 = UPool.MyPool.AddObject("上弦3", val.LoadAsset<GameObject>("yifu3467"), true, (HideFlags)52, (Sprite)null, 23452203, true);
			GameObject val24 = UPool.MyPool.AddObject("上弦4", val.LoadAsset<GameObject>("kuzi45698"), true, (HideFlags)52, (Sprite)null, 23452204, true);
			GameObject val25 = UPool.MyPool.AddObject("上弦5", val.LoadAsset<GameObject>("shangyi58496"), true, (HideFlags)52, (Sprite)null, 23452205, true);
			GameObject val26 = UPool.MyPool.AddObject("格挡加强版", val.LoadAsset<GameObject>("BlockSlowplas233"), true, (HideFlags)52, (Sprite)null, 23452206, true);
			GameObject unitBase = UPool.MyPool.AddObject("电磁炮兵种模型", val.LoadAsset<GameObject>("dianpaomoxingbas"), true, (HideFlags)52, (Sprite)null, 23452207, true);
			GameObject unitBase2 = UPool.MyPool.AddObject("极地巨人模型", val.LoadAsset<GameObject>("xxueshanzhishen489"), true, (HideFlags)52, (Sprite)null, 23452208, true);
			GameObject exp = UPool.MyPool.AddObject("冰霜爆炸123", val.LoadAsset<GameObject>("bingbaoz768"), true, (HideFlags)52, (Sprite)null, 23452209, true);
			GameObject rightWeapon5 = UPool.MyPool.AddObject("电磁炮兵种模型武器", val.LoadAsset<GameObject>("diancipaodasweapon"), true, (HideFlags)52, (Sprite)null, 23452210, true);
			val17.GetComponentInChildren<CollisionWeapon>().damage = 400f;
			MeleeWeapon componentInChildren = val17.GetComponentInChildren<MeleeWeapon>();
			((Weapon)componentInChildren).maxRange = ((Weapon)componentInChildren).maxRange * 2f;
			val7.RightWeapon = val15;
			val15.AddComponent<随机伤害>();
			val8.RightWeapon = rightWeapon;
			val9.RightWeapon = rightWeapon2;
			GameObject val27 = UPool.MyPool.AddObject("泰坦陨落123爆炸", val.LoadAsset<GameObject>("zhuiluodazhao"), true, (HideFlags)52, (Sprite)null, 23452211, true);
			val27.AddComponent<AddScreensShake>().amount = 990f;
			GameObject val28 = UPool.MyPool.AddObject("绿币", val.LoadAsset<GameObject>("kongjiangtexiao"), true, (HideFlags)52, (Sprite)null, 23452212, true);
			GameObject val29 = UPool.MyPool.AddObject("泰坦陨落xrr", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, (Sprite)null, 23452213, true);
			val29.AddComponent<血肉坠落技能>().gameObject1 = val27;
			GameObject val30 = UPool.MyPool.AddObject("血肉之剑", val.LoadAsset<GameObject>("xuerouzhijianking12"), true, (HideFlags)52, (Sprite)null, 23452214, true);
			val28.AddComponent<二阶段>().gameObject1 = val27;
			GameObject val31 = UPool.MyPool.AddObject("电磁炮1", val.LoadAsset<GameObject>("diancipao12321"), true, (HideFlags)52, (Sprite)null, 23452215, true);
			GameObject val32 = UPool.MyPool.AddObject("全图冰冻234", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, (Sprite)null, 23452216, true);
			val32.AddComponent<全图冰冻>().exp1 = exp;
			GameObject val33 = UPool.MyPool.AddObject("回血28", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, (Sprite)null, 23452217, true);
			val33.AddComponent<回血iud>().liang = 50f;
			GameObject unitBase3 = UPool.MyPool.AddObject("红雾宿主模型", val.LoadAsset<GameObject>("xuerousuzhumoxing1233"), true, (HideFlags)52, (Sprite)null, 23452218, true);
			UnitBlueprint val34 = SLMATool.CreateUnit("红雾宿主", (UnitBlueprint)null, (Faction)null, (Sprite)null);
			val34.health = 5000f;
			val34.RightWeapon = val30;
			val34.LeftWeapon = val30;
			val34.sizeMultiplier *= 1.4f;
			val34.massMultiplier *= 10f;
			val34.UnitBase = unitBase3;
			val28.GetComponentInChildren<二阶段>().unitBlueprint1 = val34;
			val12.health = 4000f;
			val12.m_props = (GameObject[])(object)new GameObject[1] { (GameObject)SLMALoader.SDic["clothes"]["MummySuit001"] };
			val12.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[1] { val28 };
			val34.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[1] { val29 };
			val12.RightWeapon = val17;
			val12.sizeMultiplier *= 1.4f;
			val12.massMultiplier *= 10f;
			val12.holdinigWithTwoHands = false;
			val10.UnitBase = unitBase;
			val10.RightWeapon = rightWeapon5;
			val11.RightWeapon = rightWeapon3;
			val13.RightWeapon = rightWeapon4;
			val13.holdinigWithTwoHands = false;
			val13.massMultiplier *= 20f;
			val8.m_props = (GameObject[])(object)new GameObject[5]
			{
				val20,
				(GameObject)SLMALoader.SDic["clothes"]["evil_assassin_shoes001"],
				(GameObject)SLMALoader.SDic["clothes"]["evil_assassin_pants001"],
				(GameObject)SLMALoader.SDic["clothes"]["Evil_DarkKingTransformedBracer001"],
				(GameObject)SLMALoader.SDic["clothes"]["KarateGiShirt002"]
			};
			val11.m_props = (GameObject[])(object)new GameObject[7]
			{
				val19,
				(GameObject)SLMALoader.SDic["clothes"]["BulletProofVest002"],
				(GameObject)SLMALoader.SDic["clothes"]["neon_choker001"],
				(GameObject)SLMALoader.SDic["clothes"]["VigilanteShirt001"],
				(GameObject)SLMALoader.SDic["clothes"]["Pants004"],
				(GameObject)SLMALoader.SDic["clothes"]["holiday_shoes001"],
				(GameObject)SLMALoader.SDic["clothes"]["KevlarHelmet001Goggles"]
			};
			val9.m_props = (GameObject[])(object)new GameObject[5]
			{
				(GameObject)SLMALoader.SDic["clothes"]["Ancient_Shirt_Zeus"],
				(GameObject)SLMALoader.SDic["clothes"]["Ancient_WristGuard002"],
				(GameObject)SLMALoader.SDic["clothes"]["Asia_Pants005"],
				(GameObject)SLMALoader.SDic["clothes"]["Ancient_Hair001"],
				(GameObject)SLMALoader.SDic["clothes"]["holiday_shoes001"]
			};
			val8.UnitBase = (GameObject)SLMALoader.SDic["bases"]["Stiffy"];
			val13.m_props = (GameObject[])(object)new GameObject[5]
			{
				(GameObject)SLMALoader.SDic["clothes"]["asia_hwacha_shoes001"],
				val22,
				val21,
				val24,
				val23
			};
			val13.health = 8000f;
			val13.sizeMultiplier = 1.4f;
			val13.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[2] { val26, val33 };
			val14.UnitBase = unitBase2;
			val14.sizeMultiplier *= 5f;
			val14.health = 1E+10f;
			val14.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[1] { val32 };
			val14.massMultiplier = 99f;
			val7.m_props = (GameObject[])(object)new GameObject[4]
			{
				(GameObject)SLMALoader.SDic["clothes"]["misc_nightgownshirt_001"],
				(GameObject)SLMALoader.SDic["clothes"]["misc_nightgownpants_001"],
				(GameObject)SLMALoader.SDic["clothes"]["misc_nightgownhat_001"],
				(GameObject)SLMALoader.SDic["clothes"]["legacy_peasant_shoes001"]
			};
			SLMATool.CreateFaction("精锐部队", (UnitBlueprint[])null, val3, 5469746);
			UnitBlueprint val35 = SLMATool.CreateUnit("普通士兵-盾兵", val6, (Faction)SLMATool.SLMADic["精锐部队"], val3);
			UnitBlueprint val36 = SLMATool.CreateUnit("普通士兵-ak", val6, (Faction)SLMATool.SLMADic["精锐部队"], val3);
			val36.forceCost = 900u;
			UnitBlueprint val37 = SLMATool.CreateUnit("普通士兵-m16", val6, (Faction)SLMATool.SLMADic["精锐部队"], val3);
			UnitBlueprint val38 = SLMATool.CreateUnit("普通士兵-霰弹枪", val6, (Faction)SLMATool.SLMADic["精锐部队"], val3);
			UnitBlueprint val39 = SLMATool.CreateUnit("普通士兵-喷火器", val6, (Faction)SLMATool.SLMADic["精锐部队"], val3);
			UnitBlueprint val40 = SLMATool.CreateUnit("普通士兵-重机枪", val6, (Faction)SLMATool.SLMADic["精锐部队"], val3);
			UnitBlueprint val41 = SLMATool.CreateUnit("攻击直升机", val6, (Faction)SLMATool.SLMADic["精锐部队"], val3);
			val41.forceCost = 8500u;
			UnitBlueprint val42 = SLMATool.CreateUnit("投弹无人机", val6, (Faction)SLMATool.SLMADic["精锐部队"], val3);
			val42.forceCost = 12000u;
			UnitBlueprint val43 = SLMATool.CreateUnit("空中炮艇", val6, (Faction)SLMATool.SLMADic["精锐部队"], val5);
			val43.forceCost = 30000u;
			val43.health = 3000f;
			val37.forceCost = 900u;
			val38.forceCost = 900u;
			val39.forceCost = 1900u;
			val40.forceCost = 6000u;
			val35.forceCost = 300u;
			GameObject val44 = UPool.MyPool.AddObject("核弹", val.LoadAsset<GameObject>("hedanceshicxiaOGUO"), true, (HideFlags)52, (Sprite)null, 23452219, true);
			GameObject val45 = UPool.MyPool.AddObject("无人机模型", val.LoadAsset<GameObject>("wurenji123"), true, (HideFlags)52, (Sprite)null, 23452220, true);
			GameObject val46 = UPool.MyPool.AddObject("核弹mmmmedr", val.LoadAsset<GameObject>("hedanxiaozi"), true, (HideFlags)52, (Sprite)null, 23452221, true);
			GameObject gameObject = UPool.MyPool.AddObject("核弹mmmm爆炸", val.LoadAsset<GameObject>("hedanceshicxiaOGUO"), true, (HideFlags)52, (Sprite)null, 23452222, true);
			val46.AddComponent<生成核弹爆炸>().gameObject1 = gameObject;
			Transform transform = val46.transform;
			transform.localScale *= 0.7f;
			((Component)val45.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("wuernjiaa")
				.Find("luosxuanjiang1")).gameObject.AddComponent<旋转12>();
			((Component)val45.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("wuernjiaa")
				.Find("luoxuanjiang2")).gameObject.AddComponent<旋转12>();
			((Component)val45.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("wuernjiaa")
				.Find("luoxuajiang3")).gameObject.AddComponent<旋转12>();
			((Component)val45.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("wuernjiaa")
				.Find("luoxuanjiang4")).gameObject.AddComponent<旋转12>();
			((Component)val45.transform.Find("Rigidbodies").Find("Scale").Find("Base")).gameObject.AddComponent<起飞123>();
			Rigidbody componentInChildren2 = ((Component)val45.transform.Find("Rigidbodies").Find("Scale").Find("Base")).gameObject.GetComponentInChildren<Rigidbody>();
			componentInChildren2.mass *= 108f;
			((Component)val45.transform.Find("Rigidbodies").Find("Scale").Find("Wheels")).gameObject.GetComponentInChildren<Rigidbody>().angularDrag = 0f;
			Rigidbody componentInChildren3 = ((Component)val45.transform.Find("Rigidbodies").Find("Scale").Find("Wheels")).gameObject.GetComponentInChildren<Rigidbody>();
			componentInChildren3.mass *= 1f;
			val45.AddComponent<释放核弹>().gameObject1 = val46;
			val45.AddComponent<死亡爆炸123234>().explosion1 = (GameObject)SLMALoader.SDic["explosions"]["E_Leg_TankExplo"];
			GameObject rightWeapon6 = UPool.MyPool.AddObject("迷你转轮机枪", val.LoadAsset<GameObject>("minijiqiang544"), true, (HideFlags)52, (Sprite)null, 23452223, true);
			val40.RightWeapon = rightWeapon6;
			GameObject rightWeapon7 = UPool.MyPool.AddObject("长方形盾牌", val.LoadAsset<GameObject>("dadunpai87523"), true, (HideFlags)52, (Sprite)null, 23452224, true);
			val35.RightWeapon = rightWeapon7;
			GameObject val47 = UPool.MyPool.AddObject("喷火器", val.LoadAsset<GameObject>("penjhuoqi1832"), true, (HideFlags)52, (Sprite)null, 23452225, true);
			((Weapon)val47.GetComponentInChildren<RangeWeapon>()).maxRange = 21f;
			val36.RightWeapon = (GameObject)SLMALoader.SDic["weapons"]["AK-47"];
			val37.RightWeapon = (GameObject)SLMALoader.SDic["weapons"]["M16 - Automatic"];
			val38.RightWeapon = (GameObject)SLMALoader.SDic["weapons"]["AA-12"];
			val39.RightWeapon = val47;
			GameObject val48 = UPool.MyPool.AddObject("轰炸机模型", val.LoadAsset<GameObject>("hongzhaji"), true, (HideFlags)52, (Sprite)null, 23452226, true);
			((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("jkdhsfgew")
				.Find("luoxuanjiangzhijia1")
				.Find("luoxuanjaing1")).gameObject.AddComponent<旋转12>();
			((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("jkdhsfgew")
				.Find("luoxuanjiangzhijia2")
				.Find("luoxuanjaing2")).gameObject.AddComponent<旋转12>();
			((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("jkdhsfgew")
				.Find("luoxuanjiangzhijia3")
				.Find("luoxuanjaing3")).gameObject.AddComponent<旋转12>();
			((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("jkdhsfgew")
				.Find("luoxuanjiangzhijia4")
				.Find("luoxuanjaing4")).gameObject.AddComponent<旋转12>();
			((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("Base")).gameObject.AddComponent<起飞765>().liliang = 100f;
			Rigidbody componentInChildren4 = ((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("Base")).gameObject.GetComponentInChildren<Rigidbody>();
			componentInChildren4.mass *= 78f;
			((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("houzuli")
				.Find("WheelFR")).gameObject.GetComponentInChildren<Rigidbody>().drag = 40f;
			Rigidbody componentInChildren5 = ((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("houzuli")
				.Find("WheelFR")).gameObject.GetComponentInChildren<Rigidbody>();
			componentInChildren5.mass *= 0.5f;
			((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("houzuli")
				.Find("WheelFL")).gameObject.GetComponentInChildren<Rigidbody>().drag = 40f;
			Rigidbody componentInChildren6 = ((Component)val48.transform.Find("Rigidbodies").Find("Scale").Find("houzuli")
				.Find("WheelFL")).gameObject.GetComponentInChildren<Rigidbody>();
			componentInChildren6.mass *= 0.5f;
			GameObject gameObject2 = UPool.MyPool.AddObject("小型飞弹", val.LoadAsset<GameObject>("kongzhongpaoiting1"), true, (HideFlags)52, (Sprite)null, 23452227, true);
			GameObject gameObject3 = UPool.MyPool.AddObject("中型飞弹", val.LoadAsset<GameObject>("kongzhongpaoting2"), true, (HideFlags)52, (Sprite)null, 23452228, true);
			GameObject gameObject4 = UPool.MyPool.AddObject("重型飞弹", val.LoadAsset<GameObject>("kongzhongpaotinh3"), true, (HideFlags)52, (Sprite)null, 23452229, true);
			GameObject val49 = UPool.MyPool.AddObject("喷火器子弹3314", val.LoadAsset<GameObject>("penshehuoyan"), true, (HideFlags)52, (Sprite)null, 23452230, true);
			val48.AddComponent<空中炮艇攻击脚本>().gameObject1 = gameObject4;
			val48.GetComponentInChildren<空中炮艇攻击脚本>().gameObject2 = gameObject3;
			val48.GetComponentInChildren<空中炮艇攻击脚本>().gameObject3 = gameObject2;
			val48.AddComponent<死亡爆炸123234>().explosion1 = (GameObject)SLMALoader.SDic["explosions"]["E_Leg_TankExplo"];
			GameObject val50 = UPool.MyPool.AddObject("攻击直升机模型", val.LoadAsset<GameObject>("gongjizhiafouhaso"), true, (HideFlags)52, (Sprite)null, 23452231, true);
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("zhishengjifjhd")
				.Find("daluoxuanjiang")).gameObject.AddComponent<旋转12>();
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("CP_Pirate_Cannon001")
				.Find("CP_Pirate_Cannon_Pipe")
				.Find("zhishengjifjhd")
				.Find("xiaoluoxuanjiang")).gameObject.AddComponent<旋转12>().jiaodu = new Vector3(20f, 0f, 0f);
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")).gameObject.AddComponent<起飞365>().liliang = 60f;
			Rigidbody componentInChildren7 = ((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")).gameObject.GetComponentInChildren<Rigidbody>();
			componentInChildren7.mass *= 78f;
			val50.AddComponent<死亡爆炸123234>().explosion1 = (GameObject)SLMALoader.SDic["explosions"]["E_Leg_TankExplo"];
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("sdsdfgg")).gameObject.AddComponent<武器跟随546>();
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("sdsdfgg2")).gameObject.AddComponent<武器跟随546>();
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("sdsdfgg2")).gameObject.AddComponent<直升机机炮攻击脚本>().gameObject1 = (GameObject)SLMALoader.SDic["projectiles"]["P_Explosive_Bullet"];
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("sdsdfgg")).gameObject.AddComponent<直升机机炮攻击脚本>().gameObject1 = (GameObject)SLMALoader.SDic["projectiles"]["P_Explosive_Bullet"];
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("fashexiaoz2")).gameObject.AddComponent<直升机炮弹发射脚本>().gameObject1 = (GameObject)SLMALoader.SDic["projectiles"]["P_Rocket"];
			((Component)val50.transform.Find("Rigidbodies").Find("Scale").Find("Base")
				.Find("fashexiaoz")).gameObject.AddComponent<直升机炮弹发射脚本>().gameObject1 = (GameObject)SLMALoader.SDic["projectiles"]["P_Rocket"];
			val41.UnitBase = val50;
			val42.UnitBase = val45;
			val40.health = 3000f;
			val40.sizeMultiplier *= 1.6f;
			val40.massMultiplier *= 50f;
			val43.UnitBase = val48;
			GameObject val51 = UPool.MyPool.AddObject("雨林猎手", val.LoadAsset<GameObject>("yunlinlieshoubeibao"), true, (HideFlags)52, (Sprite)null, 23452232, true);
			GameObject val52 = UPool.MyPool.AddObject("黄色头盔io", val.LoadAsset<GameObject>("penhuobimng12"), true, (HideFlags)52, (Sprite)null, 23452233, true);
			GameObject val53 = UPool.MyPool.AddObject("罐子背包", val.LoadAsset<GameObject>("penhoubeibao67"), true, (HideFlags)52, (Sprite)null, 23452234, true);
			val36.m_props = (GameObject[])(object)new GameObject[5]
			{
				(GameObject)SLMALoader.SDic["clothes"]["WW_GermanHelmet001"],
				(GameObject)SLMALoader.SDic["clothes"]["Hoodie002"],
				(GameObject)SLMALoader.SDic["clothes"]["BulletProofVest006"],
				(GameObject)SLMALoader.SDic["clothes"]["Pants001 1"],
				(GameObject)SLMALoader.SDic["clothes"]["WW_BritishBoots001"]
			};
			val37.m_props = (GameObject[])(object)new GameObject[5]
			{
				(GameObject)SLMALoader.SDic["clothes"]["WW_GermanHelmet001"],
				(GameObject)SLMALoader.SDic["clothes"]["Hoodie002"],
				(GameObject)SLMALoader.SDic["clothes"]["BulletProofVest006"],
				(GameObject)SLMALoader.SDic["clothes"]["Pants001 1"],
				(GameObject)SLMALoader.SDic["clothes"]["WW_BritishBoots001"]
			};
			val38.m_props = (GameObject[])(object)new GameObject[5]
			{
				(GameObject)SLMALoader.SDic["clothes"]["KevlarHelmet001Goggles"],
				(GameObject)SLMALoader.SDic["clothes"]["Hoodie002"],
				(GameObject)SLMALoader.SDic["clothes"]["BulletProofVest006"],
				(GameObject)SLMALoader.SDic["clothes"]["Pants001 1"],
				(GameObject)SLMALoader.SDic["clothes"]["WW_BritishBoots001"]
			};
			val35.m_props = (GameObject[])(object)new GameObject[5]
			{
				(GameObject)SLMALoader.SDic["clothes"]["WW_GermanHelmet001"],
				(GameObject)SLMALoader.SDic["clothes"]["Hoodie002"],
				(GameObject)SLMALoader.SDic["clothes"]["BulletProofVest006"],
				(GameObject)SLMALoader.SDic["clothes"]["Pants001 1"],
				(GameObject)SLMALoader.SDic["clothes"]["WW_BritishBoots001"]
			};
			val40.m_props = (GameObject[])(object)new GameObject[6]
			{
				(GameObject)SLMALoader.SDic["clothes"]["HeavyHelmet001"],
				(GameObject)SLMALoader.SDic["clothes"]["Hoodie002"],
				(GameObject)SLMALoader.SDic["clothes"]["BulletProofVest004"],
				(GameObject)SLMALoader.SDic["clothes"]["Pants001 1"],
				(GameObject)SLMALoader.SDic["clothes"]["WW_BritishBoots001"],
				val51
			};
			val39.m_props = (GameObject[])(object)new GameObject[7]
			{
				(GameObject)SLMALoader.SDic["clothes"]["KevlarHelmet001Goggles"],
				(GameObject)SLMALoader.SDic["clothes"]["Hoodie002"],
				(GameObject)SLMALoader.SDic["clothes"]["BulletProofVest006"],
				(GameObject)SLMALoader.SDic["clothes"]["Pants001 1"],
				(GameObject)SLMALoader.SDic["clothes"]["WW_BritishBoots001"],
				val52,
				val53
			};
			SLMATool.CreateFaction("神圣", (UnitBlueprint[])null, val3, 5469181);
			UnitBlueprint val54 = SLMATool.CreateUnit("混沌", val6, (Faction)SLMATool.SLMADic["神圣"], val3);
			val54.forceCost = 10u;
			UnitBlueprint val55 = SLMATool.CreateUnit("独角兽", (UnitBlueprint)SLMALoader.SDic["blueprints"]["UNIT_SUBUNITS_HORSE_CHARIOT"], (Faction)SLMATool.SLMADic["神圣"], val3);
			UnitBlueprint val56 = SLMATool.CreateUnit("混沌法师-月曜", val6, (Faction)SLMATool.SLMADic["神圣"], val3);
			val56.forceCost = 5000u;
			UnitBlueprint val57 = SLMATool.CreateUnit("混沌法师-荆棘", val6, (Faction)SLMATool.SLMADic["神圣"], val3);
			val57.forceCost = 10000u;
			UnitBlueprint val58 = SLMATool.CreateUnit("邪恶净化者", val6, (Faction)SLMATool.SLMADic["神圣"], val3);
			val58.forceCost = 10000u;
			UnitBlueprint val59 = SLMATool.CreateUnit("光神", val6, (Faction)SLMATool.SLMADic["神圣"], val3);
			val59.forceCost = 13000u;
			UnitBlueprint val60 = SLMATool.CreateUnit("暗神", val6, (Faction)SLMATool.SLMADic["神圣"], val3);
			val60.forceCost = 13000u;
			GameObject unitBase4 = UPool.MyPool.AddObject("独角兽模型", val.LoadAsset<GameObject>("dujiaoshoumoxing"), true, (HideFlags)52, (Sprite)null, 23452235, true);
			GameObject unitBase5 = UPool.MyPool.AddObject("荧光人模型", val.LoadAsset<GameObject>("faguangxiaoru"), true, (HideFlags)52, (Sprite)null, 23452236, true);
			GameObject unitBase6 = UPool.MyPool.AddObject("福光模型", val.LoadAsset<GameObject>("wushangfufguang23"), true, (HideFlags)52, (Sprite)null, 23452237, true);
			GameObject val61 = UPool.MyPool.AddObject("激光特效", val.LoadAsset<GameObject>("changtiaojiguang"), true, (HideFlags)52, (Sprite)null, 23452238, true);
			GameObject unitBase7 = UPool.MyPool.AddObject("暗神模型", val.LoadAsset<GameObject>("LADAGANGSDF"), true, (HideFlags)52, (Sprite)null, 23452239, true);
			val60.UnitBase = unitBase7;
			GameObject val62 = UPool.MyPool.AddObject("射箭345", val.LoadAsset<GameObject>("fuguangwuqi4361"), true, (HideFlags)52, (Sprite)null, 23452240, true);
			val62.GetComponentInChildren<RangeWeapon>().spread = 999f;
			val62.GetComponentInChildren<RangeWeapon>().randomPosition = 50f;
			GameObject val63 = UPool.MyPool.AddObject("激光步枪", val.LoadAsset<GameObject>("shjdfgeydsd"), true, (HideFlags)52, (Sprite)null, 23452241, true);
			val63.GetComponentInChildren<RangeWeapon>().spread = 0f;
			((Weapon)val63.GetComponentInChildren<RangeWeapon>()).internalCooldown = 7f;
			((Weapon)val63.GetComponentInChildren<RangeWeapon>()).maxRange = 30f;
			GameObject val64 = UPool.MyPool.AddObject("月曜", val.LoadAsset<GameObject>("yueyao3454"), true, (HideFlags)52, (Sprite)null, 23452242, true);
			val64.GetComponentInChildren<RangeWeapon>().spread = 0f;
			((Weapon)val64.GetComponentInChildren<RangeWeapon>()).internalCooldown = 0.6f;
			((Weapon)val64.GetComponentInChildren<RangeWeapon>()).maxRange = 30f;
			val64.GetComponentInChildren<RangeWeapon>().randomPosition = 10f;
			GameObject val65 = UPool.MyPool.AddObject("荆棘法术", val.LoadAsset<GameObject>("xuejingjisdfg"), true, (HideFlags)52, (Sprite)null, 23452243, true);
			GameObject gameObject5 = UPool.MyPool.AddObject("大白剑467", val.LoadAsset<GameObject>("fuguangjian3456"), true, (HideFlags)52, (Sprite)null, 23452244, true);
			GameObject val66 = UPool.MyPool.AddObject("红色激光231", val.LoadAsset<GameObject>("jiguangzidan"), true, (HideFlags)52, (Sprite)null, 23452245, true);
			GameObject val67 = UPool.MyPool.AddObject("月曜发射我", val.LoadAsset<GameObject>("yueyaozidan"), true, (HideFlags)52, (Sprite)null, 23452246, true);
			GameObject objectToSpawn = UPool.MyPool.AddObject("血荆棘", val.LoadAsset<GameObject>("xuejingjisdfouhso"), true, (HideFlags)52, (Sprite)null, 23452247, true);
			val65.GetComponentInChildren<RangeWeapon>().ObjectToSpawn = objectToSpawn;
			GameObject val68 = UPool.MyPool.AddObject("闪光爆炸3466", val.LoadAsset<GameObject>("guangshen2344"), true, (HideFlags)52, (Sprite)null, 23452248, true);
			GameObject val69 = UPool.MyPool.AddObject("rgggsdsdg请输入文字", val.LoadAsset<GameObject>("zhobaoz12456"), true, (HideFlags)52, (Sprite)null, 23452249, true);
			GameObject gameObject6 = UPool.MyPool.AddObject("及hi收到激光保证", val.LoadAsset<GameObject>("jiguangbaozha3245"), true, (HideFlags)52, (Sprite)null, 23452250, true);
			GameObject val70 = UPool.MyPool.AddObject("穿刺爆炸234", val.LoadAsset<GameObject>("chuanqijiancibaozjha"), true, (HideFlags)52, (Sprite)null, 23452251, true);
			val69.GetComponentInChildren<Explosion>().ignoreTeamMates = true;
			val70.GetComponentInChildren<Explosion>().damage = 2000f;
			((Component)val61.transform.Find("zhuti")).gameObject.AddComponent<激光伤害脚本>().gameObject1 = val69;
			val61.AddComponent<旋转慢速>();
			((Component)val66.transform.Find("Tentacles (3)")).gameObject.AddComponent<激光伤害脚本>().gameObject1 = gameObject6;
			val63.GetComponentInChildren<RangeWeapon>().ObjectToSpawn = val66;
			GameObject val71 = UPool.MyPool.AddObject("射激光", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, (Sprite)null, 23452252, true);
			val71.AddComponent<激光zhaohuan>().project1 = val61;
			GameObject val72 = UPool.MyPool.AddObject("不断发射投射物", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, (Sprite)null, 23452253, true);
			val71.AddComponent<发射抛射物234>().gameObject1 = gameObject5;
			GameObject val73 = UPool.MyPool.AddObject("闪光打击4586", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, (Sprite)null, 23452254, true);
			val71.AddComponent<闪光打击d445>().explosion1 = val68;
			val71.AddComponent<闪光打击d445>().explosion2 = val68;
			GameObject val74 = UPool.MyPool.AddObject("生成穿刺", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, (Sprite)null, 23452255, true);
			val74.AddComponent<全图冰冻>().exp1 = val70;
			val74.GetComponentInChildren<全图冰冻>().cd2 = 0.5f;
			val55.UnitBase = unitBase4;
			val54.UnitBase = unitBase5;
			val59.UnitBase = unitBase6;
			val59.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[4]
			{
				val71,
				(GameObject)SLMALoader.SDic["moves"]["Hover"],
				(GameObject)SLMALoader.SDic["moves"]["Hover"],
				(GameObject)SLMALoader.SDic["moves"]["Hover"]
			};
			val59.health = 2000f;
			val59.sizeMultiplier *= 2f;
			val59.RightWeapon = val62;
			val59.LeftWeapon = val62;
			val58.RightWeapon = val63;
			val54.health = 1f;
			val58.m_props = (GameObject[])(object)new GameObject[5]
			{
				(GameObject)SLMALoader.SDic["clothes"]["KevlarHelmet001Goggles"],
				(GameObject)SLMALoader.SDic["clothes"]["Hoodie002"],
				(GameObject)SLMALoader.SDic["clothes"]["BulletProofVest006"],
				(GameObject)SLMALoader.SDic["clothes"]["Pants001 1"],
				(GameObject)SLMALoader.SDic["clothes"]["WW_BritishBoots001"]
			};
			val56.RightWeapon = val64;
			val56.UnitBase = unitBase5;
			val57.UnitBase = unitBase5;
			val57.RightWeapon = val65;
			val60.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[1] { val74 };
			val60.health = 5000f;
			val60.massMultiplier *= 60f;
		}
	}
	public static class Utilities
	{
		private static readonly string[] sanitizationFilter;

		private static readonly Dictionary<GearType, string[]> boneDictionary;

		public static readonly Quaternion blenderToUnity;

		public static readonly string rootPath;

		public static Dictionary<string, string> language;

		public static readonly ContentDatabase fullDatabase;

		public static readonly LandfallContentDatabase database;

		public static Explosion[] explosions;

		public static UnitEffectBase[] effects;

		public static Sprite[] sprites;

		public static readonly ModExplosion unitSpawner;

		public static readonly ModFaction baseFaction;

		static Utilities()
		{
			//IL_0236: Unknown result type (might be due to invalid IL or missing references)
			//IL_023b: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c4: Expected O, but got Unknown
			//IL_046e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0473: Unknown result type (might be due to invalid IL or missing references)
			sanitizationFilter = new string[33]
			{
				"Icon_Legacy_", "Icons_128x128_", "Icons_", "Icon_", "CP_", "P_", "E_", " Prefabs_VB", " Effects_VB", "_1",
				"_2", "_3", " (1)", " (2)", " (3)", " (4)", " (5)", " (6)", "B_", "Move_",
				"Leg_", "1_", "12_", "15_", "6__", "7_", "14_", "2_", "8_", "10_",
				"16_", "5_", "3_"
			};
			boneDictionary = new Dictionary<GearType, string[]>
			{
				{
					(GearType)0,
					new string[1] { "M_Head" }
				},
				{
					(GearType)1,
					new string[1] { "M_Neck" }
				},
				{
					(GearType)2,
					new string[2] { "M_Shoulder_Right", "M_Shoulder_Left" }
				},
				{
					(GearType)3,
					new string[1] { "M_Torso" }
				},
				{
					(GearType)4,
					new string[2] { "M_Arm_Right", "M_Arm_Left" }
				},
				{
					(GearType)5,
					new string[2] { "M_Wrist_Right", "M_Wrist_Left" }
				},
				{
					(GearType)7,
					new string[1] { "M_Waist" }
				},
				{
					(GearType)8,
					new string[2] { "M_Leg_Right", "M_Leg_Left" }
				},
				{
					(GearType)9,
					new string[2] { "M_Foot_Right", "M_Foot_Left" }
				}
			};
			blenderToUnity = Quaternion.Euler(-90f, 0f, 0f);
			rootPath = Directory.GetParent(Assembly.GetExecutingAssembly().Location)?.ToString();
			language = Localizer.GetLanguage((Language)0);
			fullDatabase = ContentDatabase.Instance();
			database = ContentDatabase.Instance().LandfallContentDatabase;
			explosions = Resources.FindObjectsOfTypeAll<Explosion>();
			effects = Resources.FindObjectsOfTypeAll<UnitEffectBase>();
			sprites = Resources.FindObjectsOfTypeAll<Sprite>();
			unitSpawner = new ModExplosion(Mod.PoolObject(new GameObject("UnitSpawner", new Type[1] { typeof(UnitSpawner) })));
			List<string> source = (from z in (from z in language
					group z by z.Value into z
					where z.Count() > 1
					select z).SelectMany((IGrouping<string, KeyValuePair<string, string>> z) => z)
				select z.Key).ToList();
			Dictionary<string, int> dictionary = new Dictionary<string, int>();
			foreach (string item in source.Where((string v) => language[v] != null && language[v] != string.Empty))
			{
				if (!dictionary.ContainsKey(language[item]))
				{
					dictionary.Add(language[item], 1);
					continue;
				}
				dictionary[language[item]]++;
				language[item] = language[item] + " " + dictionary[language[item]];
			}
			Faction val = Object.Instantiate<Faction>(GetFaction("Medieval"));
			val.Entity.GenerateNewID();
			val.Entity.Name = "Base Faction";
			val.Units = Array.Empty<UnitBlueprint>();
			val.index = database.GetFactions().ToList().Count;
			val.m_FactionColor = HexColor("#888888");
			val.m_displayFaction = false;
			AddFactionToDatabase(val);
			baseFaction = new ModFaction(val);
			if (Mod.DEV_MODE)
			{
				string text = Path.Combine(rootPath, "MFDPrints");
				if (!Directory.Exists(text))
				{
					Directory.CreateDirectory(text);
				}
				string contents = string.Join(Environment.NewLine, from GameObject weapon in database.GetWeapons()
					where (Object)(object)weapon != (Object)null
					select GetProperName(((CharacterItem)weapon.GetComponentInChildren<WeaponItem>()).Entity.Name));
				File.WriteAllText(Path.Combine(text, "weapons.txt"), contents);
				string contents2 = string.Join(Environment.NewLine, from GameObject unitBase in database.GetUnitBases()
					where (Object)(object)unitBase != (Object)null
					select GetProperName(unitBase.GetComponentInChildren<Unit>().Entity.Name));
				File.WriteAllText(Path.Combine(text, "bases.txt"), contents2);
				string contents3 = string.Join(Environment.NewLine, from GameObject clothing in database.GetCharacterProps()
					where (Object)(object)clothing != (Object)null
					select GetProperName(((CharacterItem)clothing.GetComponentInChildren<PropItem>()).Entity.Name));
				File.WriteAllText(Path.Combine(text, "clothing.txt"), contents3);
				string contents4 = string.Join(Environment.NewLine, from IDatabaseEntity unit in database.GetUnitBlueprints()
					select GetProperName(unit.Entity.Name));
				File.WriteAllText(Path.Combine(text, "unit.txt"), contents4);
				string contents5 = string.Join(Environment.NewLine, from IDatabaseEntity faction in database.GetFactions()
					select GetProperName(faction.Entity.Name));
				File.WriteAllText(Path.Combine(text, "factions.txt"), contents5);
				string contents6 = string.Join(Environment.NewLine, from Explosion explosion in explosions
					where (Object)(object)explosion != (Object)null
					select GetProperName(((Object)((Component)explosion).gameObject).name));
				File.WriteAllText(Path.Combine(text, "explosions.txt"), contents6);
				string contents7 = string.Join(Environment.NewLine, from UnitEffectBase effect in effects
					where (Object)(object)effect != (Object)null
					select GetProperName(((Object)((Component)effect).gameObject).name));
				File.WriteAllText(Path.Combine(text, "effects.txt"), contents7);
				string contents8 = string.Join(Environment.NewLine, from GameObject projectile in database.GetProjectiles()
					select GetProperName(projectile.GetComponentInChildren<ProjectileEntity>().Entity.Name));
				File.WriteAllText(Path.Combine(text, "projectiles.txt"), contents8);
				string contents9 = string.Join(Environment.NewLine, from GameObject move in database.GetCombatMoves()
					select GetProperName(((CharacterItem)move.GetComponentInChildren<SpecialAbility>()).Entity.Name));
				File.WriteAllText(Path.Combine(text, "moves.txt"), contents9);
				string contents10 = string.Join(Environment.NewLine, from FactionIcon icon in fullDatabase.GetFactionIcons()
					select GetProperName(icon.Entity.Name));
				File.WriteAllText(Path.Combine(text, "icons.txt"), contents10);
				string contents11 = string.Join(Environment.NewLine, from Sprite icon in Resources.FindObjectsOfTypeAll<Sprite>()
					select GetProperName(((Object)icon).name));
				File.WriteAllText(Path.Combine(text, "iconsExtra.txt"), contents11);
			}
		}

		public static object CallMethod(this object o, string methodName, params object[] args)
		{
			MethodInfo method = o.GetType().GetMethod(methodName, (BindingFlags)(-1));
			if (method != null)
			{
				return method.Invoke(o, args);
			}
			Debug.Log((object)("Call Method " + methodName + " nulled"));
			return null;
		}

		public static object GetField<T>(this T instance, string fieldName, BindingFlags flags = (BindingFlags)(-1))
		{
			FieldInfo field = typeof(T).GetField(fieldName, flags);
			try
			{
				field.GetValue(instance);
			}
			catch
			{
				Debug.Log((object)$"(GetField) Failed to get field '{fieldName}' for object '{typeof(T)}'. Try using manual BindingFlags.");
			}
			return field.GetValue(instance);
		}

		public static void SetField<T>(this T instance, string fieldName, object newValue, BindingFlags flags = (BindingFlags)(-1))
		{
			FieldInfo field = typeof(T).GetField(fieldName, flags);
			Debug.Log((object)field);
			try
			{
				field.SetValue(instance, newValue);
			}
			catch
			{
				Debug.Log((object)$"(SetField) Failed to set field '{fieldName}' for object '{typeof(T)}'. Try using manual BindingFlags.");
			}
		}

		public static Transform SetHideFlagsChildren(this Transform t, HideFlags hf = 52)
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			if (Object.op_Implicit((Object)(object)((Component)t).gameObject))
			{
				((Object)((Component)t).gameObject).hideFlags = hf;
			}
			if (t.childCount > 0)
			{
				for (int i = 0; i < t.childCount; i++)
				{
					t.GetChild(i).SetHideFlagsChildren(hf);
				}
			}
			return t;
		}

		public static Sprite CreateSprite(string path)
		{
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Expected O, but got Unknown
			//IL_005c: Unknown result type (might be