Decompiled source of MedievalPlus v1.0.1

MedievalPlus.dll

Decompiled 4 months ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using DM;
using FunctionMedPlus;
using HarmonyLib;
using Landfall.TABS;
using Landfall.TABS.GameState;
using Landfall.TABS.UnitEditor;
using Landfall.TABS.Workshop;
using MedievalPlus;
using SLMA;
using UnityEngine;
using UnityEngine.SceneManagement;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Expansionary")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("GeeztJeez")]
[assembly: AssemblyProduct("MedievalPlus")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("7acfaef0-7669-4401-8bff-5a9a02e18c75")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace MedievalPlus
{
	public static class UManager
	{
		public class Utility : MonoBehaviour
		{
			public static class PrimitiveHelper
			{
				private static Dictionary<PrimitiveType, Mesh> primitiveMeshes;

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

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

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

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

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

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

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

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

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

		public static string comment;

		public static AssetBundle bundle;

		public static void Init(LandfallContentDatabase db)
		{
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Expected O, but got Unknown
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Expected O, but got Unknown
			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Expected O, but got Unknown
			//IL_0103: Unknown result type (might be due to invalid IL or missing references)
			//IL_010d: Expected O, but got Unknown
			//IL_0134: Unknown result type (might be due to invalid IL or missing references)
			//IL_013e: Expected O, but got Unknown
			//IL_0166: Unknown result type (might be due to invalid IL or missing references)
			//IL_0170: Expected O, but got Unknown
			//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ac: Expected O, but got Unknown
			//IL_01ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_0202: Expected O, but got Unknown
			//IL_0226: Unknown result type (might be due to invalid IL or missing references)
			//IL_023a: Expected O, but got Unknown
			//IL_0287: 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_02d3: Expected O, but got Unknown
			//IL_0315: Unknown result type (might be due to invalid IL or missing references)
			//IL_0329: Expected O, but got Unknown
			//IL_034d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0361: Expected O, but got Unknown
			//IL_0385: Unknown result type (might be due to invalid IL or missing references)
			//IL_0399: Expected O, but got Unknown
			//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d1: Expected O, but got Unknown
			//IL_03f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0409: Expected O, but got Unknown
			//IL_042d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0441: Expected O, but got Unknown
			//IL_0483: Unknown result type (might be due to invalid IL or missing references)
			//IL_0497: Expected O, but got Unknown
			//IL_04bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_04cf: Expected O, but got Unknown
			//IL_04f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0507: Expected O, but got Unknown
			//IL_052b: Unknown result type (might be due to invalid IL or missing references)
			//IL_053f: Expected O, but got Unknown
			//IL_0563: Unknown result type (might be due to invalid IL or missing references)
			//IL_0577: Expected O, but got Unknown
			//IL_05b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_05cd: Expected O, but got Unknown
			//IL_05f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0605: Expected O, but got Unknown
			//IL_0629: Unknown result type (might be due to invalid IL or missing references)
			//IL_063d: Expected O, but got Unknown
			//IL_0661: Unknown result type (might be due to invalid IL or missing references)
			//IL_0675: Expected O, but got Unknown
			//IL_06d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e5: Expected O, but got Unknown
			//IL_0709: Unknown result type (might be due to invalid IL or missing references)
			//IL_0719: Expected O, but got Unknown
			//IL_075b: Unknown result type (might be due to invalid IL or missing references)
			//IL_076b: Expected O, but got Unknown
			LoadBundle("medievalplusbundle");
			Sprite val = (Sprite)SLMALoader.SDic["sprites"]["Icons_128x128_Swordsman2"];
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Customizing Faction";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			Faction val2 = (Faction)SLMALoader.SDic["factions"]["Medieval"];
			s.SetField<Faction>(val2, "m_isSecret", (object)true);
			s.SetField<Faction>(val2, "m_lockSecrets", (object)true);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Custom Units";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "--------- Medieval++ ----------";
			SLMATool.AddUnitToFaction(SLMATool.CreateUnit("Pavise Crossbowman", (UnitBlueprint)null, (Faction)null, (Sprite)SLMALoader.SDic["sprites"]["Icons_repeatingcrossbow_1"]), val2, 4);
			SLMATool.AddUnitToFaction(SLMATool.CreateUnit("Winged Hussar", (UnitBlueprint)null, (Faction)null, (Sprite)SLMALoader.SDic["sprites"]["Icons_128x128_MountedKnight"]), val2, 7);
			SLMATool.AddUnitToFaction(SLMATool.CreateUnit("Hunter Knight", (UnitBlueprint)null, (Faction)null, (Sprite)SLMALoader.SDic["sprites"]["Flintlock1"]), val2, 9);
			SLMATool.AddUnitToFaction(SLMATool.CreateUnit("Subjugator", (UnitBlueprint)null, (Faction)null, (Sprite)SLMALoader.SDic["sprites"]["Icons_128x128_Swordsman"]), val2, 10);
			comment = "--------- Subunits ----------";
			SLMATool.CreateUnit("Winged Hussar Rider", (UnitBlueprint)null, (Faction)SLMALoader.SDic["factions"]["Subunits"], val);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Custom Weapons";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("PaviseCrossbow", (GameObject)SLMALoader.SDic["weapons"]["Crossbow"], true, (HideFlags)52, val, 5234123, false);
			UPool.MyPool.AddObject("WingedHussarLance", (GameObject)SLMALoader.SDic["weapons"]["Halberd"], true, (HideFlags)52, val, 64532423, false);
			UPool.MyPool.AddObject("GunAxe", Utility.LoadBundleGameObject("GunAxe"), true, (HideFlags)52, (Sprite)null, 766546345, Object.op_Implicit((Object)(object)val));
			UPool.MyPool.AddObject("SubjugatorTitanShield", (GameObject)SLMALoader.SDic["weapons"]["Maceshield"], true, (HideFlags)52, val, 5342342, false);
			UPool.MyPool.AddObject("SubjugatorSword", (GameObject)SLMALoader.SDic["weapons"]["FlamingSword"], true, (HideFlags)52, val, 4563543, false);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Custom Abilities";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("Move_Pavise", (GameObject)SLMALoader.SDic["moves"]["Mechanic_Tank"], true, (HideFlags)52, val, 42343212, false);
			UPool.MyPool.AddObject("Move_SubjugationDeath", (GameObject)SLMALoader.SDic["moves"]["Move_ReaperDeath"], true, (HideFlags)52, val, 5234312, false);
			UPool.MyPool.AddObject("Move_DeterminantLaugh", (GameObject)SLMALoader.SDic["moves"]["Head_up"], true, (HideFlags)52, val, 64535234, false);
			UPool.MyPool.AddObject("Move_QuickSlash", (GameObject)SLMALoader.SDic["moves"]["SpinSlashKhopesh"], true, (HideFlags)52, val, 64523423, false);
			UPool.MyPool.AddObject("Move_SuspenseAura", (GameObject)SLMALoader.SDic["moves"]["Fog"], true, (HideFlags)52, val, 6234323, false);
			UPool.MyPool.AddObject("Move_BrutalParry", (GameObject)SLMALoader.SDic["moves"]["SwordArtParry"], true, (HideFlags)52, val, 35242343, false);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Custom Unit Bases";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("PaviseCrossbowman_Base", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, val, 7453232, false);
			UPool.MyPool.AddObject("WingedHussar_Base", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, val, 23423432, false);
			UPool.MyPool.AddObject("HussarHorse_Base", (GameObject)SLMALoader.SDic["bases"]["Horse"], true, (HideFlags)52, val, 67243232, false);
			UPool.MyPool.AddObject("HunterKnight_Base", (GameObject)SLMALoader.SDic["bases"]["Humanoid"], true, (HideFlags)52, val, 74564534, false);
			UPool.MyPool.AddObject("Subjugator_Base", (GameObject)SLMALoader.SDic["bases"]["Stiffy"], true, (HideFlags)52, val, 52422340, false);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Custom Clothing";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("HunterKnight_Helmet", (GameObject)SLMALoader.SDic["clothes"]["Misc_Mask001"], true, (HideFlags)52, val, 34243333, false);
			UPool.MyPool.AddObject("LeperKing_Mask", (GameObject)SLMALoader.SDic["clothes"]["Misc_Mask001"], true, (HideFlags)52, val, 64573423, false);
			UPool.MyPool.AddObject("Subjugator_ShoulderCover", (GameObject)SLMALoader.SDic["clothes"]["Ancient_ShoulderPad001"], true, (HideFlags)52, val, 523432213, false);
			UPool.MyPool.AddObject("Subjugator_Helmet", (GameObject)SLMALoader.SDic["clothes"]["Misc_Mask001"], true, (HideFlags)52, val, 64535344, false);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Custom Projectiles";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Custom Effect";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("Eff_AttackBuff", (GameObject)SLMALoader.SDic["effects"]["E_Enrage"], true, (HideFlags)52, (Sprite)null, 0, false);
			UPool.MyPool.AddObject("Eff_Bleeding", (GameObject)SLMALoader.SDic["effects"]["E_Blowdart"], true, (HideFlags)52, (Sprite)null, 0, false);
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			comment = "Custom Explosions";
			comment = "----------------------------------------------------------------------------------------------------------------------------";
			UPool.MyPool.AddObject("E_SubjugationDeath", (GameObject)SLMALoader.SDic["explosions"]["E_FireWork"], true, (HideFlags)52, (Sprite)null, 0, false);
		}

		public static void SetBlueprint(UnitBlueprint unit, LandfallContentDatabase db)
		{
			//IL_011f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0125: Expected O, but got Unknown
			//IL_0140: Unknown result type (might be due to invalid IL or missing references)
			//IL_0146: Expected O, but got Unknown
			//IL_0161: Unknown result type (might be due to invalid IL or missing references)
			//IL_0167: Expected O, but got Unknown
			//IL_0182: Unknown result type (might be due to invalid IL or missing references)
			//IL_0188: Expected O, but got Unknown
			//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a9: Expected O, but got Unknown
			//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ca: Expected O, but got Unknown
			//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01eb: Expected O, but got Unknown
			//IL_0206: Unknown result type (might be due to invalid IL or missing references)
			//IL_020c: Expected O, but got Unknown
			//IL_0227: Unknown result type (might be due to invalid IL or missing references)
			//IL_022d: Expected O, but got Unknown
			//IL_0249: Unknown result type (might be due to invalid IL or missing references)
			//IL_024f: Expected O, but got Unknown
			//IL_026b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0271: Expected O, but got Unknown
			//IL_0280: Unknown result type (might be due to invalid IL or missing references)
			//IL_0287: Expected O, but got Unknown
			//IL_02bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ed: Expected O, but got Unknown
			//IL_0325: Unknown result type (might be due to invalid IL or missing references)
			//IL_032a: Unknown result type (might be due to invalid IL or missing references)
			//IL_033f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0344: Unknown result type (might be due to invalid IL or missing references)
			//IL_0350: Unknown result type (might be due to invalid IL or missing references)
			//IL_0356: Expected O, but got Unknown
			//IL_0392: Unknown result type (might be due to invalid IL or missing references)
			//IL_0397: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03be: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c4: Expected O, but got Unknown
			//IL_03fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0414: Unknown result type (might be due to invalid IL or missing references)
			//IL_0419: Unknown result type (might be due to invalid IL or missing references)
			//IL_0425: Unknown result type (might be due to invalid IL or missing references)
			//IL_042c: Expected O, but got Unknown
			//IL_0461: Unknown result type (might be due to invalid IL or missing references)
			//IL_0466: Unknown result type (might be due to invalid IL or missing references)
			//IL_047c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0481: Unknown result type (might be due to invalid IL or missing references)
			//IL_048c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0492: Expected O, but got Unknown
			//IL_04c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04fa: Expected O, but got Unknown
			//IL_0534: Unknown result type (might be due to invalid IL or missing references)
			//IL_0539: Unknown result type (might be due to invalid IL or missing references)
			//IL_054e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0553: Unknown result type (might be due to invalid IL or missing references)
			//IL_055f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0566: Expected O, but got Unknown
			//IL_0596: Unknown result type (might be due to invalid IL or missing references)
			//IL_059b: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c7: Expected O, but got Unknown
			//IL_05f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_05fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0611: Unknown result type (might be due to invalid IL or missing references)
			//IL_0616: Unknown result type (might be due to invalid IL or missing references)
			//IL_0622: Unknown result type (might be due to invalid IL or missing references)
			//IL_0628: Expected O, but got Unknown
			//IL_0664: Unknown result type (might be due to invalid IL or missing references)
			//IL_0669: Unknown result type (might be due to invalid IL or missing references)
			//IL_067e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0683: Unknown result type (might be due to invalid IL or missing references)
			//IL_0690: Unknown result type (might be due to invalid IL or missing references)
			//IL_0697: Expected O, but got Unknown
			//IL_06cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ed: Expected O, but got Unknown
			//IL_0810: Unknown result type (might be due to invalid IL or missing references)
			//IL_0816: Expected O, but got Unknown
			//IL_0831: Unknown result type (might be due to invalid IL or missing references)
			//IL_0837: Expected O, but got Unknown
			//IL_0852: Unknown result type (might be due to invalid IL or missing references)
			//IL_0858: Expected O, but got Unknown
			//IL_0873: Unknown result type (might be due to invalid IL or missing references)
			//IL_0879: Expected O, but got Unknown
			//IL_0894: Unknown result type (might be due to invalid IL or missing references)
			//IL_089a: Expected O, but got Unknown
			//IL_08b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_08bb: Expected O, but got Unknown
			//IL_08d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_08dc: Expected O, but got Unknown
			//IL_08f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_08fd: Expected O, but got Unknown
			//IL_0918: Unknown result type (might be due to invalid IL or missing references)
			//IL_091e: Expected O, but got Unknown
			//IL_093a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0940: Expected O, but got Unknown
			//IL_095c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0962: Expected O, but got Unknown
			//IL_0973: Unknown result type (might be due to invalid IL or missing references)
			//IL_097a: Expected O, but got Unknown
			//IL_09af: Unknown result type (might be due to invalid IL or missing references)
			//IL_09b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_09cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_09da: Unknown result type (might be due to invalid IL or missing references)
			//IL_09e1: Expected O, but got Unknown
			//IL_0a17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a32: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a37: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a42: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a49: Expected O, but got Unknown
			//IL_0a78: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a7d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a93: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a98: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aaa: Expected O, but got Unknown
			//IL_0ade: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ae3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0af9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0afe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b10: Expected O, but got Unknown
			//IL_0b40: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b45: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b60: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b6b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b72: Expected O, but got Unknown
			//IL_0bb1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bb6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bcc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bd1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be7: Expected O, but got Unknown
			//IL_0c17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c32: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c37: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c42: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c49: Expected O, but got Unknown
			//IL_0c7f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c84: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c9a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c9f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0caa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cb1: Expected O, but got Unknown
			//IL_0ce5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cea: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d00: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d05: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d11: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d18: Expected O, but got Unknown
			//IL_0d48: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d4d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d63: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d68: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d74: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d7b: Expected O, but got Unknown
			//IL_0db1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dcc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ed4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eda: Expected O, but got Unknown
			//IL_0ef5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0efb: Expected O, but got Unknown
			//IL_0f16: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f1c: Expected O, but got Unknown
			//IL_0f37: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f3d: Expected O, but got Unknown
			//IL_0f58: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f5e: Expected O, but got Unknown
			//IL_0f6c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f73: Expected O, but got Unknown
			//IL_0fad: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fc8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fcd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fde: Expected O, but got Unknown
			//IL_1014: Unknown result type (might be due to invalid IL or missing references)
			//IL_1019: Unknown result type (might be due to invalid IL or missing references)
			//IL_102f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1034: Unknown result type (might be due to invalid IL or missing references)
			//IL_103e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1045: Expected O, but got Unknown
			//IL_1075: Unknown result type (might be due to invalid IL or missing references)
			//IL_107a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1090: Unknown result type (might be due to invalid IL or missing references)
			//IL_1095: Unknown result type (might be due to invalid IL or missing references)
			//IL_109f: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a6: Expected O, but got Unknown
			//IL_10d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_10da: Unknown result type (might be due to invalid IL or missing references)
			//IL_10f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_10f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_1106: Expected O, but got Unknown
			//IL_113b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1140: Unknown result type (might be due to invalid IL or missing references)
			//IL_1156: Unknown result type (might be due to invalid IL or missing references)
			//IL_115b: Unknown result type (might be due to invalid IL or missing references)
			//IL_118a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1190: Expected O, but got Unknown
			//IL_11ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_11b1: Expected O, but got Unknown
			//IL_11cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_11d2: Expected O, but got Unknown
			//IL_11f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_11fa: Expected O, but got Unknown
			//IL_131d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1323: Expected O, but got Unknown
			//IL_133e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1344: Expected O, but got Unknown
			//IL_135f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1365: Expected O, but got Unknown
			//IL_1380: Unknown result type (might be due to invalid IL or missing references)
			//IL_1386: Expected O, but got Unknown
			//IL_13a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_13a7: Expected O, but got Unknown
			//IL_13c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c8: Expected O, but got Unknown
			//IL_13e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_13e9: Expected O, but got Unknown
			//IL_1404: Unknown result type (might be due to invalid IL or missing references)
			//IL_140a: Expected O, but got Unknown
			//IL_1425: Unknown result type (might be due to invalid IL or missing references)
			//IL_142b: Expected O, but got Unknown
			//IL_1447: Unknown result type (might be due to invalid IL or missing references)
			//IL_144d: Expected O, but got Unknown
			//IL_1469: Unknown result type (might be due to invalid IL or missing references)
			//IL_146f: Expected O, but got Unknown
			//IL_148b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1491: Expected O, but got Unknown
			//IL_14ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_14b3: Expected O, but got Unknown
			//IL_14cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_14d5: Expected O, but got Unknown
			//IL_14f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1500: Expected O, but got Unknown
			//IL_1535: Unknown result type (might be due to invalid IL or missing references)
			//IL_153a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1550: Unknown result type (might be due to invalid IL or missing references)
			//IL_1555: Unknown result type (might be due to invalid IL or missing references)
			//IL_1560: Unknown result type (might be due to invalid IL or missing references)
			//IL_1567: Expected O, but got Unknown
			//IL_1597: Unknown result type (might be due to invalid IL or missing references)
			//IL_159c: Unknown result type (might be due to invalid IL or missing references)
			//IL_15b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_15b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_15c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_15c9: Expected O, but got Unknown
			//IL_15ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_1604: Unknown result type (might be due to invalid IL or missing references)
			//IL_161a: Unknown result type (might be due to invalid IL or missing references)
			//IL_161f: Unknown result type (might be due to invalid IL or missing references)
			//IL_162a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1631: Expected O, but got Unknown
			//IL_1666: Unknown result type (might be due to invalid IL or missing references)
			//IL_166b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1681: Unknown result type (might be due to invalid IL or missing references)
			//IL_1686: Unknown result type (might be due to invalid IL or missing references)
			//IL_1691: Unknown result type (might be due to invalid IL or missing references)
			//IL_1698: Expected O, but got Unknown
			//IL_16d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_16d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_16ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_16f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_16fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1704: Expected O, but got Unknown
			//IL_1743: Unknown result type (might be due to invalid IL or missing references)
			//IL_1748: Unknown result type (might be due to invalid IL or missing references)
			//IL_175e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1763: Unknown result type (might be due to invalid IL or missing references)
			//IL_1772: Unknown result type (might be due to invalid IL or missing references)
			//IL_1779: Expected O, but got Unknown
			//IL_17af: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_17ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_17cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_17da: Unknown result type (might be due to invalid IL or missing references)
			//IL_17e1: Expected O, but got Unknown
			//IL_1817: Unknown result type (might be due to invalid IL or missing references)
			//IL_181c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1832: Unknown result type (might be due to invalid IL or missing references)
			//IL_1837: Unknown result type (might be due to invalid IL or missing references)
			//IL_1842: Unknown result type (might be due to invalid IL or missing references)
			//IL_1849: Expected O, but got Unknown
			//IL_187e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1883: Unknown result type (might be due to invalid IL or missing references)
			//IL_1899: Unknown result type (might be due to invalid IL or missing references)
			//IL_189e: Unknown result type (might be due to invalid IL or missing references)
			//IL_18aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b1: Expected O, but got Unknown
			//IL_18f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_18fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_1910: Unknown result type (might be due to invalid IL or missing references)
			//IL_1915: Unknown result type (might be due to invalid IL or missing references)
			//IL_1925: Unknown result type (might be due to invalid IL or missing references)
			//IL_192c: Expected O, but got Unknown
			//IL_1962: Unknown result type (might be due to invalid IL or missing references)
			//IL_1967: Unknown result type (might be due to invalid IL or missing references)
			//IL_197d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1982: Unknown result type (might be due to invalid IL or missing references)
			//IL_198e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1995: Expected O, but got Unknown
			//IL_19ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_19cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_19e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_19ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_19f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_19fd: Expected O, but got Unknown
			//IL_1a36: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a51: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a56: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a66: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a6d: Expected O, but got Unknown
			//IL_1aa2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1aa7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1abd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ac2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1af5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1afb: Expected O, but got Unknown
			//IL_1b16: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b1c: Expected O, but got Unknown
			//IL_1b37: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b3d: Expected O, but got Unknown
			//IL_1b58: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b5e: Expected O, but got Unknown
			//IL_1b79: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b7f: Expected O, but got Unknown
			//IL_1b9a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ba0: Expected O, but got Unknown
			//IL_1bbb: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bc1: Expected O, but got Unknown
			//IL_1bdc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1be2: Expected O, but got Unknown
			//IL_1bfd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c03: Expected O, but got Unknown
			//IL_1c1f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c25: Expected O, but got Unknown
			//IL_1c41: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c47: Expected O, but got Unknown
			//IL_1c63: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c69: Expected O, but got Unknown
			//IL_1d87: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d8d: Expected O, but got Unknown
			//IL_1da8: Unknown result type (might be due to invalid IL or missing references)
			//IL_1dae: Expected O, but got Unknown
			//IL_1dc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1dcf: Expected O, but got Unknown
			//IL_1dea: Unknown result type (might be due to invalid IL or missing references)
			//IL_1df0: Expected O, but got Unknown
			//IL_1e0b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e11: Expected O, but got Unknown
			//IL_1e2c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e32: Expected O, but got Unknown
			//IL_1e4d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e53: Expected O, but got Unknown
			//IL_1e6e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e74: Expected O, but got Unknown
			//IL_1e8f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e95: Expected O, but got Unknown
			//IL_1eb1: Unknown result type (might be due to invalid IL or missing references)
			//IL_1eb7: Expected O, but got Unknown
			//IL_1eee: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ef5: Expected O, but got Unknown
			//IL_1f2a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f2f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f45: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f4a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f55: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f5c: Expected O, but got Unknown
			//IL_1f92: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f97: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fad: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fb2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fbd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fc4: Expected O, but got Unknown
			//IL_1ff9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ffe: Unknown result type (might be due to invalid IL or missing references)
			//IL_2014: Unknown result type (might be due to invalid IL or missing references)
			//IL_2019: Unknown result type (might be due to invalid IL or missing references)
			//IL_2024: Unknown result type (might be due to invalid IL or missing references)
			//IL_202b: Expected O, but got Unknown
			//IL_2061: Unknown result type (might be due to invalid IL or missing references)
			//IL_2066: Unknown result type (might be due to invalid IL or missing references)
			//IL_207c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2081: Unknown result type (might be due to invalid IL or missing references)
			//IL_208c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2093: Expected O, but got Unknown
			//IL_20c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_20cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_20e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_20e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_20f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_20fa: Expected O, but got Unknown
			//IL_212f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2134: Unknown result type (might be due to invalid IL or missing references)
			//IL_214a: Unknown result type (might be due to invalid IL or missing references)
			//IL_214f: Unknown result type (might be due to invalid IL or missing references)
			//IL_215a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2161: Expected O, but got Unknown
			//IL_2191: Unknown result type (might be due to invalid IL or missing references)
			//IL_2196: Unknown result type (might be due to invalid IL or missing references)
			//IL_21ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_21b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_21bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_21c3: Expected O, but got Unknown
			//IL_2201: Unknown result type (might be due to invalid IL or missing references)
			//IL_2206: Unknown result type (might be due to invalid IL or missing references)
			//IL_221c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2221: Unknown result type (might be due to invalid IL or missing references)
			//IL_2230: Unknown result type (might be due to invalid IL or missing references)
			//IL_2237: Expected O, but got Unknown
			//IL_226d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2272: Unknown result type (might be due to invalid IL or missing references)
			//IL_2288: Unknown result type (might be due to invalid IL or missing references)
			//IL_228d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2299: Unknown result type (might be due to invalid IL or missing references)
			//IL_22a0: Expected O, but got Unknown
			//IL_22d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_22d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_22eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_22f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_2322: Unknown result type (might be due to invalid IL or missing references)
			//IL_2328: Expected O, but got Unknown
			comment = "------------------------------------------";
			comment = "Medieval+";
			comment = "------------------------------------------";
			if (unit.Entity.Name == "Pavise Crossbowman")
			{
				SLMATool.UnitCost(unit, 500);
				unit.UnitBase = UPool.MyPool.GetObject("PaviseCrossbowman_Base");
				s.SetField<UnitBlueprint>(unit, "VocalRef", (object)"Reinassance Attack Vocals/Musket");
				s.SetField<UnitBlueprint>(unit, "DeathRef", (object)"Reinassance Death Vocals/Musket");
				s.SetField<UnitBlueprint>(unit, "VoicePitch", (object)0.7f);
				unit.health = 120f;
				unit.maxSizeRandom = 1f;
				unit.minSizeRandom = 1f;
				unit.sizeMultiplier = 1f;
				unit.balanceMultiplier = 100f;
				unit.removeCloseRangeMiss = true;
				unit.damageMultiplier = 1.2f;
				unit.holdinigWithTwoHands = true;
				unit.RightWeapon = UPool.MyPool.GetObject("PaviseCrossbow");
				unit.LeftWeapon = null;
				unit.m_props = (GameObject[])(object)new GameObject[11]
				{
					(GameObject)SLMALoader.SDic["clothes"]["Ancient_Arrowtube001"],
					(GameObject)SLMALoader.SDic["clothes"]["asia_chukonu_quiver001"],
					(GameObject)SLMALoader.SDic["clothes"]["Medieval_Archer_Belt"],
					(GameObject)SLMALoader.SDic["clothes"]["Ancient_Shirt001"],
					(GameObject)SLMALoader.SDic["clothes"]["evil_firewhip_pants001"],
					(GameObject)SLMALoader.SDic["clothes"]["Farmer_Belt001"],
					(GameObject)SLMALoader.SDic["clothes"]["evil_cleric_gloves001"],
					(GameObject)SLMALoader.SDic["clothes"]["legacy_pharao_Upperwristband001"],
					(GameObject)SLMALoader.SDic["clothes"]["ottomanian_scarf001"],
					(GameObject)SLMALoader.SDic["clothes"]["legacy_flagbearer_hat002"],
					(GameObject)SLMALoader.SDic["clothes"]["MCHelmet002"]
				};
				PropItemData[] array = (PropItemData[])(object)new PropItemData[11];
				PropItemData val = new PropItemData();
				val.m_colors = new int[3] { 53, 53, 53 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array[0] = val;
				int num = 1;
				PropItemData val2 = new PropItemData();
				val2.m_colors = new int[3] { 51, 0, 53 };
				val2.m_isTeamColor = new bool[3] { false, true, false };
				val2.m_positionOffset = new Vector3(0f, 0f, 0f);
				val2.m_scale = new Vector3(1f, 1f, 1f);
				array[num] = val2;
				int num2 = 2;
				val2 = new PropItemData();
				val2.m_colors = new int[6] { 74, 53, 53, 0, 51, 53 };
				val2.m_isTeamColor = new bool[6] { false, false, false, true, false, false };
				val2.m_positionOffset = new Vector3(0f, 0f, 0f);
				val2.m_scale = new Vector3(1f, 1f, 1f);
				array[num2] = val2;
				int num3 = 3;
				val2 = new PropItemData();
				val2.m_colors = new int[2] { 0, 52 };
				val2.m_isTeamColor = new bool[2] { true, false };
				val2.m_positionOffset = new Vector3(0f, 0f, 0f);
				val2.m_scale = new Vector3(1f, 1f, 1f);
				array[num3] = val2;
				val = new PropItemData();
				val.m_colors = new int[2] { 51, 75 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array[4] = val;
				int num4 = 5;
				val2 = new PropItemData();
				val2.m_colors = new int[2] { 0, 75 };
				val2.m_isTeamColor = new bool[2] { true, false };
				val2.m_positionOffset = new Vector3(0f, 0f, 0f);
				val2.m_scale = new Vector3(1f, 1f, 1f);
				array[num4] = val2;
				int num5 = 6;
				val2 = new PropItemData();
				val2.m_colors = new int[3] { 52, 0, 0 };
				val2.m_isTeamColor = new bool[3] { false, true, true };
				val2.m_positionOffset = new Vector3(0f, 0f, 0f);
				val2.m_scale = new Vector3(1f, 1f, 1f);
				array[num5] = val2;
				val = new PropItemData();
				val.m_colors = new int[1] { 76 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array[7] = val;
				val = new PropItemData();
				val.m_colors = new int[1];
				val.m_isTeamColor = new bool[1] { true };
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array[8] = val;
				int num6 = 9;
				val2 = new PropItemData();
				val2.m_colors = new int[3] { 76, 6, 76 };
				val2.m_isTeamColor = new bool[3] { false, true, false };
				val2.m_positionOffset = new Vector3(0f, 0f, 0f);
				val2.m_scale = new Vector3(1f, 1f, 1f);
				array[num6] = val2;
				val = new PropItemData();
				val.m_colors = new int[3] { 76, 76, 76 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array[10] = val;
				unit.m_propData = array;
				unit.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[1] { UPool.MyPool.GetObject("Move_Pavise") };
			}
			if (unit.Entity.Name == "Winged Hussar Rider")
			{
				unit.health = 250f;
				unit.UnitBase = UPool.MyPool.GetObject("WingedHussar_Base");
				s.SetField<UnitBlueprint>(unit, "VocalRef", (object)"Reinassance Attack Vocals/Jouster");
				s.SetField<UnitBlueprint>(unit, "DeathRef", (object)"Reinassance Death Vocals/Jouster");
				s.SetField<UnitBlueprint>(unit, "VoicePitch", (object)0.7f);
				unit.maxSizeRandom = 1f;
				unit.minSizeRandom = 1f;
				unit.sizeMultiplier = 1f;
				unit.holdinigWithTwoHands = false;
				unit.RightWeapon = UPool.MyPool.GetObject("WingedHussarLance");
				unit.LeftWeapon = (GameObject)SLMALoader.SDic["weapons"]["Aztec_Shield_02"];
				unit.m_props = (GameObject[])(object)new GameObject[11]
				{
					(GameObject)SLMALoader.SDic["clothes"]["wingedhussar_helmet001"],
					(GameObject)SLMALoader.SDic["clothes"]["wingedhussar_armor001"],
					(GameObject)SLMALoader.SDic["clothes"]["Western_shoes002"],
					(GameObject)SLMALoader.SDic["clothes"]["good_glaive_pants001"],
					(GameObject)SLMALoader.SDic["clothes"]["Medieval_Shirt002"],
					(GameObject)SLMALoader.SDic["clothes"]["good_skirt001"],
					(GameObject)SLMALoader.SDic["clothes"]["Western_gloves001"],
					(GameObject)SLMALoader.SDic["clothes"]["Asia_ShoulderPad001"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_Knight_ShoulderPad"],
					(GameObject)SLMALoader.SDic["clothes"]["western_beard007"],
					(GameObject)SLMALoader.SDic["clothes"]["evil_cleric_gloves001"]
				};
				PropItemData[] array2 = (PropItemData[])(object)new PropItemData[11];
				PropItemData val = new PropItemData();
				val.m_colors = new int[2] { 67, 76 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[0] = val;
				val = new PropItemData();
				val.m_colors = new int[6] { 68, 76, 52, -1, 76, 67 };
				val.m_isTeamColor = new bool[6];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[1] = val;
				val = new PropItemData();
				val.m_colors = new int[1] { -1 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[2] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 53, -1 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[3] = val;
				val = new PropItemData();
				val.m_colors = new int[1] { 53 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[4] = val;
				int num7 = 5;
				PropItemData val3 = new PropItemData();
				val3.m_colors = new int[3] { 53, 76, 0 };
				val3.m_isTeamColor = new bool[3] { false, false, true };
				val3.m_positionOffset = new Vector3(0f, 0f, 0f);
				val3.m_scale = new Vector3(1f, 1f, 1f);
				array2[num7] = val3;
				val = new PropItemData();
				val.m_colors = new int[1] { 76 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[6] = val;
				val = new PropItemData();
				val.m_colors = new int[3] { 51, 67, 76 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[7] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 67, -1 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[8] = val;
				val = new PropItemData();
				val.m_colors = new int[1] { 49 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[9] = val;
				val = new PropItemData();
				val.m_colors = new int[3] { 76, 76, 76 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array2[10] = val;
				unit.m_propData = array2;
			}
			if (unit.Entity.Name == "Winged Hussar")
			{
				SLMATool.UnitCost(unit, 1200);
				unit.UnitBase = UPool.MyPool.GetObject("HussarHorse_Base");
				s.SetField<UnitBlueprint>(unit, "VocalRef", (object)"Reinassance Attack Vocals/Jouster");
				s.SetField<UnitBlueprint>(unit, "DeathRef", (object)"Reinassance Death Vocals/Jouster");
				s.SetField<UnitBlueprint>(unit, "VoicePitch", (object)0.7f);
				unit.health = 500f;
				unit.turnSpeed *= 0.25f;
				unit.maxSizeRandom = 1f;
				unit.minSizeRandom = 1f;
				unit.sizeMultiplier = 1f;
				unit.massMultiplier = 15f;
				unit.movementSpeedMuiltiplier = 3.5f;
				unit.damageMultiplier = 1.2f;
				unit.m_props = (GameObject[])(object)new GameObject[5]
				{
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_Horse_Armor_Head"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_Horse_Armor_Neck"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_Horse_Brittle"],
					(GameObject)SLMALoader.SDic["clothes"]["Horse_Mane_Pinto"],
					(GameObject)SLMALoader.SDic["clothes"]["Horse_saddleblanket001"]
				};
				PropItemData[] array3 = new PropItemData[5];
				PropItemData val = new PropItemData();
				val.m_colors = new int[3] { 76, 67, 1 };
				val.m_isTeamColor = new bool[3] { false, false, true };
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array3[0] = val;
				val = new PropItemData();
				val.m_colors = new int[3] { -1, 72, 67 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array3[1] = val;
				val = new PropItemData();
				val.m_colors = new int[1] { 47 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array3[2] = val;
				val = new PropItemData();
				val.m_colors = new int[1];
				val.m_isTeamColor = new bool[1] { true };
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array3[3] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 76, 67 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array3[4] = val;
				unit.m_propData = (PropItemData[])(object)array3;
				unit.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[3]
				{
					(GameObject)SLMALoader.SDic["moves"]["Small_Hover"],
					(GameObject)SLMALoader.SDic["moves"]["CavalryCharge"],
					(GameObject)SLMALoader.SDic["moves"]["Move_SpeedExplosions_Cavalry"]
				};
				s.SetField<UnitBlueprint>(unit, "Riders", (object)new UnitBlueprint[1] { (UnitBlueprint)SLMATool.SLMADic["Winged Hussar Rider"] });
			}
			if (unit.Entity.Name == "Hunter Knight")
			{
				SLMATool.UnitCost(unit, 1750);
				unit.UnitBase = UPool.MyPool.GetObject("HunterKnight_Base");
				s.SetField<UnitBlueprint>(unit, "VocalRef", (object)"Medieval Attack Vocals/Knight");
				s.SetField<UnitBlueprint>(unit, "DeathRef", (object)"Medieval Death Vocals/Knight");
				s.SetField<UnitBlueprint>(unit, "footRef", (object)"Footsteps/Big");
				s.SetField<UnitBlueprint>(unit, "VoicePitch", (object)0.75f);
				unit.health = 950f;
				unit.maxSizeRandom = 1f;
				unit.minSizeRandom = 1f;
				unit.sizeMultiplier = 1f;
				unit.massMultiplier = 10f;
				unit.stepMultiplier = 2f;
				unit.movementSpeedMuiltiplier = 2f;
				unit.RightWeapon = UPool.MyPool.GetObject("GunAxe");
				unit.LeftWeapon = UPool.MyPool.GetObject("GunAxe");
				unit.m_props = (GameObject[])(object)new GameObject[15]
				{
					(GameObject)SLMALoader.SDic["clothes"]["SkeletonMask002"],
					(GameObject)SLMALoader.SDic["clothes"]["MummySuit001"],
					(GameObject)SLMALoader.SDic["clothes"]["Pirate_Belt007"],
					(GameObject)SLMALoader.SDic["clothes"]["western_ammobelt001"],
					(GameObject)SLMALoader.SDic["clothes"]["Evil_DarkKingTorso002"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_Knight_Boots"],
					(GameObject)SLMALoader.SDic["clothes"]["Medieval_ThighArmor002"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_Knight_KneeArmor"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_KneeArmor001"],
					(GameObject)SLMALoader.SDic["clothes"]["Medieval_ElbowArmor_Both"],
					(GameObject)SLMALoader.SDic["clothes"]["Asia_WristArmor003"],
					(GameObject)SLMALoader.SDic["clothes"]["Medieval_HandGuard001"],
					(GameObject)SLMALoader.SDic["clothes"]["Medieval_Cape002"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_Knight_ShoulderPad"],
					UPool.MyPool.GetObject("HunterKnight_Helmet")
				};
				PropItemData[] array4 = (PropItemData[])(object)new PropItemData[14];
				PropItemData val = new PropItemData();
				val.m_colors = new int[2] { 49, 49 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[0] = val;
				val = new PropItemData();
				val.m_colors = new int[1] { 46 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[1] = val;
				val = new PropItemData();
				val.m_colors = new int[3] { 53, 56, 49 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[2] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 53, 73 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[3] = val;
				val = new PropItemData();
				val.m_colors = new int[5] { 73, 76, 75, 47, 0 };
				val.m_isTeamColor = new bool[5] { false, false, false, false, true };
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[4] = val;
				int num8 = 5;
				PropItemData val4 = new PropItemData();
				val4.m_colors = new int[4] { 0, 73, 76, 53 };
				val4.m_isTeamColor = new bool[4] { true, false, false, false };
				val4.m_positionOffset = new Vector3(0f, 0f, 0f);
				val4.m_scale = new Vector3(1f, 1f, 1f);
				array4[num8] = val4;
				val = new PropItemData();
				val.m_colors = new int[3] { 76, 53, 73 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[6] = val;
				val = new PropItemData();
				val.m_colors = new int[3] { 53, 76, 73 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[7] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 53, 76 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[8] = val;
				int num9 = 9;
				val4 = new PropItemData();
				val4.m_colors = new int[8] { 0, 53, 73, 76, 0, 53, 73, 76 };
				val4.m_isTeamColor = new bool[8] { true, false, false, false, true, false, false, false };
				val4.m_positionOffset = new Vector3(0f, 0f, 0f);
				val4.m_scale = new Vector3(1f, 1f, 1f);
				array4[num9] = val4;
				val = new PropItemData();
				val.m_colors = new int[3] { 53, 76, 73 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[10] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 73, 53 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[11] = val;
				int num10 = 12;
				val4 = new PropItemData();
				val4.m_colors = new int[2] { 0, 73 };
				val4.m_isTeamColor = new bool[2] { true, false };
				val4.m_positionOffset = new Vector3(0f, 0f, 0f);
				val4.m_scale = new Vector3(1f, 1f, 1f);
				array4[num10] = val4;
				val = new PropItemData();
				val.m_colors = new int[2] { 76, 63 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array4[13] = val;
				unit.m_propData = array4;
				unit.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[12]
				{
					(GameObject)SLMALoader.SDic["moves"]["Small_Hover"],
					(GameObject)SLMALoader.SDic["moves"]["SwordArtParry"],
					(GameObject)SLMALoader.SDic["moves"]["SwordArtParry_Piratequeen"],
					(GameObject)SLMALoader.SDic["moves"]["Taekwondo_Damage_L"],
					(GameObject)SLMALoader.SDic["moves"]["Taekwondo_Damage_R"],
					(GameObject)SLMALoader.SDic["moves"]["Kick"],
					(GameObject)SLMALoader.SDic["moves"]["Head_up"],
					(GameObject)SLMALoader.SDic["moves"]["Shogun_Dodge"],
					(GameObject)SLMALoader.SDic["moves"]["Boxer_Dodge"],
					(GameObject)SLMALoader.SDic["moves"]["Dodge"],
					(GameObject)SLMALoader.SDic["moves"]["Lay_Down"],
					(GameObject)SLMALoader.SDic["moves"]["BombsAway"]
				};
			}
			if (unit.Entity.Name == "Subjugator")
			{
				SLMATool.UnitCost(unit, 3000);
				unit.UnitBase = UPool.MyPool.GetObject("Subjugator_Base");
				s.SetField<UnitBlueprint>(unit, "VocalRef", (object)"Halloween Attack Vocals/Reaper");
				s.SetField<UnitBlueprint>(unit, "DeathRef", (object)"Halloween Death Vocals/Reaper");
				s.SetField<UnitBlueprint>(unit, "footRef", (object)"Footsteps/IceGiant");
				s.SetField<UnitBlueprint>(unit, "VoicePitch", (object)0.7f);
				unit.health = 900f;
				unit.maxSizeRandom = 1f;
				unit.minSizeRandom = 1f;
				unit.sizeMultiplier = 1f;
				unit.massMultiplier = 40f;
				unit.scaleWeapons = false;
				unit.movementSpeedMuiltiplier = 1.8f;
				unit.RightWeapon = UPool.MyPool.GetObject("SubjugatorSword");
				unit.LeftWeapon = UPool.MyPool.GetObject("SubjugatorTitanShield");
				unit.m_props = (GameObject[])(object)new GameObject[12]
				{
					(GameObject)SLMALoader.SDic["clothes"]["Evil_DarkKingTransformedBracer001"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_ChestArmor001"],
					(GameObject)SLMALoader.SDic["clothes"]["evil_axeswap_shoes001"],
					(GameObject)SLMALoader.SDic["clothes"]["Good_TimeninjaPTchestarmor001"],
					(GameObject)SLMALoader.SDic["clothes"]["western_gloves003"],
					(GameObject)SLMALoader.SDic["clothes"]["Medieval_CalfArmor002"],
					(GameObject)SLMALoader.SDic["clothes"]["legacy_flagbearer_pants002"],
					(GameObject)SLMALoader.SDic["clothes"]["Ancient_Skirt001"],
					(GameObject)SLMALoader.SDic["clothes"]["Crusader_Knight_ThighArmor"],
					(GameObject)SLMALoader.SDic["clothes"]["Medieval_ShoulderPad003"],
					UPool.MyPool.GetObject("Subjugator_Helmet"),
					UPool.MyPool.GetObject("Subjugator_ShoulderCover")
				};
				PropItemData[] array5 = (PropItemData[])(object)new PropItemData[10];
				PropItemData val = new PropItemData();
				val.m_colors = new int[2] { 76, 76 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[0] = val;
				val = new PropItemData();
				val.m_colors = new int[6] { 76, 47, 46, 49, 49, 76 };
				val.m_isTeamColor = new bool[6];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[1] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 76, 76 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[2] = val;
				val = new PropItemData();
				val.m_colors = new int[3] { 49, 76, 76 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[3] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 76, 49 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[4] = val;
				val = new PropItemData();
				val.m_colors = new int[2] { 49, 76 };
				val.m_isTeamColor = new bool[2];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[5] = val;
				val = new PropItemData();
				val.m_colors = new int[1] { 48 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[6] = val;
				int num11 = 7;
				PropItemData val5 = new PropItemData();
				val5.m_colors = new int[3] { 0, 47, 49 };
				val5.m_isTeamColor = new bool[3] { true, false, false };
				val5.m_positionOffset = new Vector3(0f, 0f, 0f);
				val5.m_scale = new Vector3(1f, 1f, 1f);
				array5[num11] = val5;
				val = new PropItemData();
				val.m_colors = new int[3] { 76, 49, 48 };
				val.m_isTeamColor = new bool[3];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[8] = val;
				val = new PropItemData();
				val.m_colors = new int[1] { 49 };
				val.m_isTeamColor = new bool[1];
				val.m_positionOffset = new Vector3(0f, 0f, 0f);
				val.m_scale = new Vector3(1f, 1f, 1f);
				array5[9] = val;
				unit.m_propData = array5;
				unit.objectsToSpawnAsChildren = (GameObject[])(object)new GameObject[6]
				{
					(GameObject)SLMALoader.SDic["moves"]["Small_Hover"],
					UPool.MyPool.GetObject("Move_QuickSlash"),
					UPool.MyPool.GetObject("Move_SubjugationDeath"),
					UPool.MyPool.GetObject("Move_DeterminantLaugh"),
					UPool.MyPool.GetObject("Move_SuspenseAura"),
					UPool.MyPool.GetObject("Move_BrutalParry")
				};
			}
		}

		public static void SetEffects(GameObject effect)
		{
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: 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_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Expected O, but got Unknown
			//IL_0111: 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)
			if ((Object)(object)effect == (Object)(object)UPool.MyPool.GetObject("Eff_AttackBuff"))
			{
				effect.GetComponentInChildren<SetAttackSpeed>().attackSpeedMultiplier = 10f;
				((UnitEffectBase)effect.GetComponentInChildren<DamageOverTimeEffect>()).damageMultiplier = -5f;
				effect.GetComponentInChildren<DamageOverTimeEffect>().color = new UnitColorInstance
				{
					acceptWhenDead = true,
					colorName = "Attack-Buff",
					color = new Color(0.6f, 0f, 0f, 0.5f)
				};
				ParticleSystem[] componentsInChildren = effect.GetComponentsInChildren<ParticleSystem>();
				for (int i = 0; i < componentsInChildren.Length; i++)
				{
					Object.Destroy((Object)(object)componentsInChildren[i]);
				}
				Object.Destroy((Object)(object)effect.GetComponentInChildren<DodgeMove>());
				Object.Destroy((Object)(object)effect.GetComponentInChildren<UnitDontTakeDamageForSeconds>());
				ParticleSystem[] componentsInChildren2 = effect.GetComponentsInChildren<ParticleSystem>();
				foreach (ParticleSystem obj in componentsInChildren2)
				{
					obj.startSize = 2f;
					obj.startColor = Color.black;
				}
			}
			if ((Object)(object)effect == (Object)(object)UPool.MyPool.GetObject("Eff_Bleeding"))
			{
				effect.GetComponentInChildren<DamageOverTimeEffect>().color = ((GameObject)SLMALoader.SDic["effects"]["E_Enrage"]).GetComponentInChildren<DamageOverTimeEffect>().color;
			}
		}

		public static void SetExplosion(GameObject explosion)
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: 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_011a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0124: Expected O, but got Unknown
			//IL_0140: Unknown result type (might be due to invalid IL or missing references)
			//IL_014a: Expected O, but got Unknown
			//IL_0168: Unknown result type (might be due to invalid IL or missing references)
			if (Object.op_Implicit((Object)(object)(explosion = UPool.MyPool.GetObject("E_SubjugationDeath"))))
			{
				explosion.transform.localScale = Vector3.one * 4f;
				explosion.GetComponentInChildren<Explosion>().radius = 1f;
				explosion.GetComponentInChildren<Explosion>().damage = 40f;
				explosion.GetComponentInChildren<Explosion>().force = 100f;
				explosion.GetComponentInChildren<Explosion>().ignoreTeamMates = true;
				explosion.GetComponentInChildren<Explosion>().forceDirection = (ForceDirection)0;
				explosion.GetComponentInChildren<AddScreensShake>().amount = 100f;
				explosion.GetComponentInChildren<AddScreensShake>().shakeDirection = (ShakeDirection)1;
				explosion.GetComponentInChildren<PlaySoundEffect>().SoundRef = "Effects/HammerExplosion";
				ParticleSystem[] componentsInChildren = explosion.GetComponentsInChildren<ParticleSystem>();
				for (int i = 0; i < componentsInChildren.Length; i++)
				{
					componentsInChildren[i].startSize = 1f;
					componentsInChildren[i].startSpeed = 10f;
					componentsInChildren[i].startLifetime = 0.8f;
					componentsInChildren[i].gravityModifier = 0.5f;
				}
				ParticleSystemRenderer[] componentsInChildren2 = explosion.GetComponentsInChildren<ParticleSystemRenderer>();
				for (int j = 0; j < componentsInChildren2.Length; j++)
				{
					((Renderer)componentsInChildren2[j]).material = (Material)SLMALoader.SDic["materials"]["EmberBrighter_Dark"];
					componentsInChildren2[j].trailMaterial = (Material)SLMALoader.SDic["materials"]["EmberBrighter_Dark"];
				}
				Explosion[] componentsInChildren3 = explosion.GetComponentsInChildren<Explosion>();
				foreach (Explosion obj in componentsInChildren3)
				{
					obj.forceDirection = (ForceDirection)0;
					obj.forceOnlyOncePerRig = false;
					obj.stopAttacksFor = 1f;
					obj.force = 630f;
					obj.radius = 80f;
					obj.damage = 0.3f;
					obj.ignoreTeamMates = true;
				}
			}
		}

		public static void SetUnits(Unit unit, LandfallContentDatabase db)
		{
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0157: Unknown result type (might be due to invalid IL or missing references)
			//IL_0180: 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_01d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0224: Unknown result type (might be due to invalid IL or missing references)
			//IL_024c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0283: Unknown result type (might be due to invalid IL or missing references)
			//IL_028d: Unknown result type (might be due to invalid IL or missing references)
			//IL_02dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0338: Unknown result type (might be due to invalid IL or missing references)
			//IL_0342: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0414: Unknown result type (might be due to invalid IL or missing references)
			//IL_041e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0487: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0502: Unknown result type (might be due to invalid IL or missing references)
			//IL_052b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0554: Unknown result type (might be due to invalid IL or missing references)
			//IL_057d: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_05cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0620: Unknown result type (might be due to invalid IL or missing references)
			//IL_066c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0676: Expected O, but got Unknown
			//IL_0671: Unknown result type (might be due to invalid IL or missing references)
			//IL_0676: Unknown result type (might be due to invalid IL or missing references)
			//IL_0677: Unknown result type (might be due to invalid IL or missing references)
			//IL_0686: Expected O, but got Unknown
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("HunterKnight_Base")).name)
			{
				Transform transform = ((Component)unit).transform;
				transform.localScale *= 1.3f;
				((Component)unit).GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
				((Component)unit).GetComponentInChildren<EyeSpawner>().randomizeEyes = false;
				Transform transform2 = ((Component)((Component)((Component)((Component)unit).gameObject.transform.FindChild("Rigidbodies")).transform.FindChild("Mesh")).transform.FindChild("Armature")).transform;
				((Component)transform2.FindChild("M_Neck")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
				((Component)transform2.FindChild("M_Hip")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
				((Component)transform2.FindChild("M_Torso")).transform.localScale = new Vector3(0.8f, 1f, 0.8f);
				((Component)transform2.FindChild("M_Arm_Left")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
				((Component)transform2.FindChild("M_Arm_Right")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
				((Component)transform2.FindChild("M_Elbow_Left")).transform.localScale = new Vector3(1f, 0.8f, 0.8f);
				((Component)transform2.FindChild("M_Elbow_Right")).transform.localScale = new Vector3(1f, 0.8f, 0.8f);
				((Component)transform2.FindChild("M_Leg_Left")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
				((Component)transform2.FindChild("M_Leg_Right")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
				((Component)transform2.FindChild("M_Knee_Left")).transform.localScale = new Vector3(0.8f, 1f, 0.8f);
				((Component)transform2.FindChild("M_Knee_Right")).transform.localScale = new Vector3(0.8f, 1f, 0.8f);
			}
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("PaviseCrossbowman_Base")).name)
			{
				Transform transform3 = ((Component)unit).transform;
				transform3.localScale *= 1.1f;
				((Component)unit).GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
				((Component)unit).GetComponentInChildren<EyeSpawner>().randomizeEyes = false;
			}
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("WingedHussar_Base")).name)
			{
				Transform transform4 = ((Component)unit).transform;
				transform4.localScale *= 1.2f;
				((Component)unit).GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
				((Component)unit).GetComponentInChildren<EyeSpawner>().randomizeEyes = false;
			}
			if (((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("HussarHorse_Base")).name)
			{
				Transform transform5 = ((Component)unit).transform;
				transform5.localScale *= 1.05f;
				unit.fleesWithinThisManyMeters = 1.5f;
				unit.targetingPriorityMultiplier = 2f;
				((Component)unit).GetComponentInChildren<MountPos>().neverLetGo = true;
				MountPos componentInChildren = ((Component)unit).GetComponentInChildren<MountPos>();
				componentInChildren.jointStrength *= 1.2f;
				((Component)unit).GetComponentInChildren<MountPos>().removeArmColliders = true;
				MountPos componentInChildren2 = ((Component)unit).GetComponentInChildren<MountPos>();
				componentInChildren2.angularJointStrength *= 1.2f;
				((Component)unit).GetComponentInChildren<MountPos>().killVehicleIfRiderDies = true;
				((Component)unit).GetComponentInChildren<MountPos>().killRiderIfVehicleDies = false;
				((Component)unit).GetComponentInChildren<MountPos>().mountType = (MountType)0;
				((Component)unit).GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
				((Component)unit).GetComponentInChildren<EyeSpawner>().randomizeEyes = false;
			}
			if (!(((Object)((Component)unit).gameObject).name == ((Object)UPool.MyPool.GetObject("Subjugator_Base")).name))
			{
				return;
			}
			Transform transform6 = ((Component)unit).transform;
			transform6.localScale *= 3f;
			unit.targetingPriorityMultiplier = 5f;
			((Component)unit).GetComponentInChildren<RigidbodyHolder>().randomizeRigidbodySizes = false;
			Transform transform7 = ((Component)((Component)((Component)unit).gameObject.transform.FindChild("Mesh")).transform.FindChild("Armature")).transform;
			((Component)transform7.FindChild("M_Neck")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
			((Component)transform7.FindChild("M_Hip")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
			((Component)transform7.FindChild("M_Torso")).transform.localScale = new Vector3(0.8f, 1f, 0.8f);
			((Component)transform7.FindChild("M_Arm_Left")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
			((Component)transform7.FindChild("M_Arm_Right")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
			((Component)transform7.FindChild("M_Elbow_Left")).transform.localScale = new Vector3(1f, 0.8f, 0.8f);
			((Component)transform7.FindChild("M_Elbow_Right")).transform.localScale = new Vector3(1f, 0.8f, 0.8f);
			((Component)transform7.FindChild("M_Leg_Left")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
			((Component)transform7.FindChild("M_Leg_Right")).transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
			((Component)transform7.FindChild("M_Knee_Left")).transform.localScale = new Vector3(0.8f, 1f, 0.8f);
			((Component)transform7.FindChild("M_Knee_Right")).transform.localScale = new Vector3(0.8f, 1f, 0.8f);
			Renderer[] componentsInChildren = ((Component)unit).GetComponentsInChildren<Renderer>();
			foreach (Renderer val in componentsInChildren)
			{
				List<Material> list = new List<Material>();
				Material[] materials = val.materials;
				for (int j = 0; j < materials.Length; j++)
				{
					_ = materials[j];
					list.Add(new Material((Material)SLMALoader.SDic["materials"]["Axemetal"])
					{
						color = Color.black
					});
				}
				val.materials = list.ToArray();
			}
			Object.Destroy((Object)(object)((Component)unit).GetComponentInChildren<EyeSpawner>());
		}

		public static void SetWeapon(GameObject weapon, HandType hand, Team team, Unit unit, MeleeWeapon melee, RangeWeapon range, LandfallContentDatabase db)
		{
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0160: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_018f: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01af: Unknown result type (might be due to invalid IL or missing references)
			//IL_0274: Unknown result type (might be due to invalid IL or missing references)
			//IL_027e: Expected O, but got Unknown
			//IL_02a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_030f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0314: Unknown result type (might be due to invalid IL or missing references)
			//IL_0324: Unknown result type (might be due to invalid IL or missing references)
			//IL_0329: Unknown result type (might be due to invalid IL or missing references)
			//IL_0394: Unknown result type (might be due to invalid IL or missing references)
			//IL_0402: Unknown result type (might be due to invalid IL or missing references)
			//IL_0407: Unknown result type (might be due to invalid IL or missing references)
			//IL_042b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0464: Unknown result type (might be due to invalid IL or missing references)
			//IL_0525: Unknown result type (might be due to invalid IL or missing references)
			//IL_052f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0534: Unknown result type (might be due to invalid IL or missing references)
			//IL_053e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0543: Unknown result type (might be due to invalid IL or missing references)
			//IL_0548: Unknown result type (might be due to invalid IL or missing references)
			//IL_056c: Unknown result type (might be due to invalid IL or missing references)
			//IL_059f: Unknown result type (might be due to invalid IL or missing references)
			//IL_062c: 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_0071: Expected O, but got Unknown
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: 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_008c: Expected O, but got Unknown
			//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Expected O, but got Unknown
			//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_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Expected O, but got Unknown
			//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f1: Expected O, but got Unknown
			//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_0101: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Expected O, but got Unknown
			//IL_0127: Unknown result type (might be due to invalid IL or missing references)
			//IL_012d: Expected O, but got Unknown
			//IL_0795: Unknown result type (might be due to invalid IL or missing references)
			//IL_079f: Unknown result type (might be due to invalid IL or missing references)
			//IL_07fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0807: Unknown result type (might be due to invalid IL or missing references)
			//IL_080c: Unknown result type (might be due to invalid IL or missing references)
			//IL_08c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_08cc: Expected O, but got Unknown
			//IL_08c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_08cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_08dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_08e7: Expected O, but got Unknown
			//IL_0902: Unknown result type (might be due to invalid IL or missing references)
			//IL_0908: Expected O, but got Unknown
			//IL_0923: Unknown result type (might be due to invalid IL or missing references)
			//IL_092d: Expected O, but got Unknown
			//IL_0928: Unknown result type (might be due to invalid IL or missing references)
			//IL_092d: Unknown result type (might be due to invalid IL or missing references)
			//IL_093d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0948: Expected O, but got Unknown
			//IL_0b1f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b29: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bd3: Expected O, but got Unknown
			//IL_0bd4: Unknown result type (might be due to invalid IL or missing references)
			//IL_070b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0711: Expected O, but got Unknown
			//IL_072c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0736: Expected O, but got Unknown
			//IL_0731: Unknown result type (might be due to invalid IL or missing references)
			//IL_0736: Unknown result type (might be due to invalid IL or missing references)
			//IL_0746: Unknown result type (might be due to invalid IL or missing references)
			//IL_0751: Expected O, but got Unknown
			//IL_069e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cdb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ce5: Expected O, but got Unknown
			//IL_0ce0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ce5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cf5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d00: Expected O, but got Unknown
			//IL_0d1b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d25: Expected O, but got Unknown
			//IL_0d20: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d25: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d35: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d40: Expected O, but got Unknown
			//IL_0d5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d65: Expected O, but got Unknown
			//IL_0d60: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d65: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d75: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d80: Expected O, but got Unknown
			//IL_0d9b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da5: Expected O, but got Unknown
			//IL_0da0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dc0: Expected O, but got Unknown
			//IL_0988: Unknown result type (might be due to invalid IL or missing references)
			//IL_0992: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a10: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a1a: Expected O, but got Unknown
			//IL_0a15: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a1f: Expected O, but got Unknown
			//IL_0a38: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a42: Expected O, but got Unknown
			//IL_0a3d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a47: Expected O, but got Unknown
			//IL_0e00: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e0a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e72: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e7c: Expected O, but got Unknown
			//IL_0e77: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e81: Expected O, but got Unknown
			//IL_0e9a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea4: Expected O, but got Unknown
			//IL_0e9f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea9: Expected O, but got Unknown
			//IL_0ed6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee0: Expected O, but got Unknown
			//IL_0edb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee5: Expected O, but got Unknown
			//IL_0efe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f08: Expected O, but got Unknown
			//IL_0f03: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f0d: Expected O, but got Unknown
			//IL_0ab5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0abf: Expected O, but got Unknown
			//IL_0ac0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f62: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f93: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f9d: Expected O, but got Unknown
			//IL_0f98: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f9f: Expected O, but got Unknown
			//IL_0fb5: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("GunAxe"))
			{
				Transform transform = weapon.transform;
				transform.localScale *= 0.8f;
				MeshRenderer[] componentsInChildren = weapon.GetComponentsInChildren<MeshRenderer>();
				for (int i = 0; i < componentsInChildren.Length; i++)
				{
					((Renderer)componentsInChildren[i]).materials = (Material[])(object)new Material[4]
					{
						new Material((Material)SLMALoader.SDic["materials"]["Axemetal"])
						{
							color = new Color(0.1f, 0.1f, 0.1f)
						},
						new Material((Material)SLMALoader.SDic["materials"]["Axemetal"])
						{
							color = new Color(0.65f, 0.65f, 0.65f)
						},
						new Material((Material)SLMALoader.SDic["materials"]["Axemetal"])
						{
							color = new Color(0.3f, 0.3f, 0.3f)
						},
						(Material)SLMALoader.SDic["materials"]["M_Ancient_Wood001"]
					};
				}
			}
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("PaviseCrossbow"))
			{
				Transform transform2 = weapon.transform;
				transform2.localScale *= 1.3f;
				s.DeepCopyOf<RangeWeapon>(range, ((GameObject)SLMALoader.SDic["weapons"]["Barrett"]).gameObject.GetComponentInChildren<RangeWeapon>());
				((Weapon)range).possessionAimingMode = (PossessionAimingMode)1;
				((Weapon)range).m_weaponTargetType = (WeaponTargetType)0;
				((Weapon)range).useTargetingWhenPossessed = false;
				range.useSpawnDelayForEveryShot = true;
				range.reTargetPerShot = true;
				((Weapon)range).internalCooldown = 7f;
				range.delayPerSpawn = 0.1f;
				range.torsoRecoil *= 0.2f;
				range.shootRecoil *= 0.2f;
				range.maxProjectilesPerFrane = 1;
				range.numberOfObjects = 10;
				range.force *= 1.5f;
				((Weapon)range).maxRange = ((Weapon)range).maxRange * 1.2f;
				range.spawnDelay = 0f;
				range.SoundRef = "Projectiles/Ballista";
				range.ObjectToSpawn = (GameObject)SLMALoader.SDic["projectiles"]["P_CrossbowRepeating"];
				weapon.GetComponentInChildren<Rigidbody>().drag = 10f;
				weapon.GetComponentInChildren<Rigidbody>().angularDrag = 10f;
				weapon.GetComponentInChildren<Rigidbody>().inertiaTensor = Vector3.one * 12f;
				weapon.GetComponentInChildren<HoldingAnimation>().delay = 0.05f;
				weapon.GetComponentInChildren<HoldingAnimation>().animateRotation = true;
				weapon.GetComponentInChildren<HoldingAnimation>().animatePosition = true;
				weapon.GetComponentInChildren<HoldingAnimation>().animationHoldingData.relativePosition = new Vector3(4.75f, -0.5f, -6f);
				weapon.GetComponentInChildren<HoldingAnimation>().animationHoldingData.forwardRotation = Vector3.zero;
				weapon.GetComponentInChildren<HoldingAnimation>().animationHoldingData.upRotation = Vector3.zero;
				weapon.GetComponentInChildren<HoldingAnimation>().animationHoldingData.setRotation = true;
				weapon.GetComponentInChildren<HoldingAnimation>().animationHoldingData.extraGrabDistance = 2f;
				weapon.GetComponentInChildren<HoldingAnimation>().animationHoldingData.snapConnect = false;
			}
			MeshFilter[] componentsInChildren2;
			if ((Object)(object)weapon == (Object)(object)UPool.MyPool.GetObject("WingedHussarLance"))
			{
				weapon.transform.localScale = new Vector3(1f, 3f, 1f);
				((Weapon)melee).maxRange = 25f;
				melee.curveForce *= 2f;
				melee.yTargetOffset = -3f;
				((Weapon)melee).internalCooldown = 1f;
				melee.directionContiniousLerp = 5f;
				melee.canDealDamageOutSideOfSwing = true;
				melee.setDirectionContiniousDuringWindup = true;
				melee.swingDirection = new Vector3(0f, -2.5f, 2f);
				s.DeepCopyOf<MeleeWeaponStick>(weapon.AddComponent<MeleeWeaponStick>(), ((GameObject)SLMALoader.SDic["weapons"]["Spear_Vlad"]).GetComponentInChildren<MeleeWeaponStick>());
				s.DeepCopyOf<StickPosition>(((Component)weapon.GetComponentInChildren<ForcePoint>()).gameObject.AddComponent<StickPosition>(), ((GameObject)SLMALoader.SDic["weapons"]["Spear_Vlad"]).GetComponentInChildren<StickPosition>());
				weapon.GetComponentInChildren<Rigidbody>().angularDrag = 10f;
				weapon.GetComponentInChildren<CollisionWeapon>().damage = 320f;
				CollisionWeapon componentInChildren = weapon.GetComponentInChildren<CollisionWeapon>();
				componentInChildren.onImpactForce *= 1.5f;
				weapon.GetComponentInChildren<CollisionWeapon>().ignoreTeamMates = true;
				CollisionWeapon componentInChildren2 = weapon.GetComponentInChildren<CollisionWeapon>();
				componentInChildren2.impactMultiplier *= 1.3f;
				weapon.GetComponentInChildren<Holdable>().rig.isKinematic = true;
				weapon.GetComponentInChildren<Holdable>().holdableData.snapConnect = true;
				weapon.GetComponentInChildren<Holdable>().pidData.holdingForceMultiplier = 80f;
				weapon.GetComponentInChildren<Holdable>().pidData.holdingTorqueMultiplier = 80f;
				weapon.GetComponentInChildren<Holdable>().holdableData.relativePosition = Vector3.right * 0.2f + Vector3.forward * 0.5f;
				weapon.GetComponentInChildren<Holdable>().hr = ((GameObject)SLMALoader.SDic["weapons"]["Jousting_Lance"]).GetComponentInChildren<Holdable>().hr;
				weapon.GetComponentInChildren<Holdable>().holderData = ((GameObject)SLMALoader.SDic["weapons"]["Jousting_Lance"]).GetComponentInChildren<Holdable>().holderData;
				weapon.GetComponentInChildren<WeaponForceAnimation>().upwardsModifier = -20f;
				weapon.GetComponentInChildren<WeaponForceAnimation>().animations[0].animationDelay = 5f;
				weapon.GetComponentInChildren<WeaponForceAnimation>().animations[0].invertForceIfLeft = true;
				SpellAnimation obj = weapon.GetComponentInChildren<WeaponForceAnimation>().animations[0];
				obj.rigAnimationForce *= 10f;
				weapon.GetComponentInChildren<WeaponForceAnimation>().animations[0].setDirectionContinious = true;
				weapon.GetComponentInChildren<WeaponForceAnimation>().animations[0].animationDirectio