Decompiled source of Hatify v1.3.0

Hatify.dll

Decompiled 2 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BodyModelAdditionsAPI;
using Microsoft.CodeAnalysis;
using RoR2;
using RoR2.ContentManagement;
using RoR2BepInExPack.GameAssetPaths;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Networking;
using UnityEngine.ResourceManagement.AsyncOperations;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("Hatify")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+73a19acae6a70c7b3d2e7d77151cc7233e1a0065")]
[assembly: AssemblyProduct("Hatify")]
[assembly: AssemblyTitle("Hatify")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace Hatify
{
	[BepInPlugin("com.Nuxlar.Hatify", "Hatify", "1.3.0")]
	public class Hatify : BaseUnityPlugin
	{
		[CompilerGenerated]
		private static class <>O
		{
			public static CodeAfterApplying <0>__PlaceItSeeker;

			public static CodeAfterApplying <1>__PlaceItFalseSon;

			public static CodeAfterApplying <2>__PlaceItChef;

			public static CodeAfterApplying <3>__PlaceItMult;

			public static CodeAfterApplying <4>__PlaceItRex;

			public static CodeAfterApplying <5>__PlaceItBandit;

			public static CodeAfterApplying <6>__PlaceItCaptain;

			public static CodeAfterApplying <7>__PlaceItCommando;

			public static CodeAfterApplying <8>__PlaceItRailgunner;

			public static CodeAfterApplying <9>__PlaceItMage;

			public static CodeAfterApplying <10>__PlaceItHuntress;

			public static CodeAfterApplying <11>__PlaceItCroco;

			public static CodeAfterApplying <12>__PlaceItEngi;

			public static CodeAfterApplying <13>__PlaceItEngiWalker;

			public static CodeAfterApplying <14>__PlaceItEngiTurret;

			public static CodeAfterApplying <15>__PlaceItMerc;

			public static CodeAfterApplying <16>__PlaceItVoid;

			public static CodeAfterApplying <17>__PlaceItLoader;
		}

		private static Material hatMat;

		private static Material banditHatMat;

		private static List<string> bodyNames = new List<string>
		{
			"Bandit2Body", "CaptainBody", "CommandoBody", "RailgunnerBody", "MageBody", "HuntressBody", "CrocoBody", "MercBody", "VoidSurvivorBody", "EngiBody",
			"EngiTurretBody", "EngiWalkerTurretBody", "LoaderBody", "SeekerBody", "FalseSonBody", "ChefBody", "TreebotBody", "ToolbotBody"
		};

		public static ConfigEntry<float> commandoSize;

		public static ConfigEntry<float> banditSize;

		public static ConfigEntry<float> huntressSize;

		public static ConfigEntry<float> engiSize;

		public static ConfigEntry<float> engiTurretSize;

		public static ConfigEntry<float> engiWalkerTurretSize;

		public static ConfigEntry<float> artiSize;

		public static ConfigEntry<float> mercSize;

		public static ConfigEntry<float> loaderSize;

		public static ConfigEntry<float> acridSize;

		public static ConfigEntry<float> captainSize;

		public static ConfigEntry<float> railgunnerSize;

		public static ConfigEntry<float> fiendSize;

		public static ConfigEntry<float> seekerSize;

		public static ConfigEntry<float> rexSize;

		public static ConfigEntry<float> chefSize;

		public static ConfigEntry<float> falseSonSize;

		public static ConfigEntry<float> multSize;

		private static ConfigFile HatifyConfig { get; set; }

		public void Awake()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Expected O, but got Unknown
			HatifyConfig = new ConfigFile(Paths.ConfigPath + "\\com.Nuxlar.Hatify.cfg", true);
			commandoSize = HatifyConfig.Bind<float>("General", "Commando Hat Size", 1.3f, "The scale of the hat.");
			banditSize = HatifyConfig.Bind<float>("General", "Bandit Hat Size", 1f, "The scale of the hat.");
			huntressSize = HatifyConfig.Bind<float>("General", "Huntress Hat Size", 1.3f, "The scale of the hat.");
			engiSize = HatifyConfig.Bind<float>("General", "Engi Hat Size", 1.6f, "The scale of the hat.");
			engiTurretSize = HatifyConfig.Bind<float>("General", "Engi Turret Hat Size", 10f, "The scale of the hat.");
			engiWalkerTurretSize = HatifyConfig.Bind<float>("General", "Engi Walker Turret Hat Size", 8f, "The scale of the hat.");
			artiSize = HatifyConfig.Bind<float>("General", "Artificer Hat Size", 1f, "The scale of the hat.");
			mercSize = HatifyConfig.Bind<float>("General", "Merc Hat Size", 1.4f, "The scale of the hat.");
			loaderSize = HatifyConfig.Bind<float>("General", "Loader Hat Size", 1.5f, "The scale of the hat.");
			acridSize = HatifyConfig.Bind<float>("General", "Acrid Hat Size", 15f, "The scale of the hat.");
			captainSize = HatifyConfig.Bind<float>("General", "Captain Hat Size", 1.3f, "The scale of the hat.");
			railgunnerSize = HatifyConfig.Bind<float>("General", "Railgunner Hat Size", 1f, "The scale of the hat.");
			fiendSize = HatifyConfig.Bind<float>("General", "Fiend Hat Size", 1.4f, "The scale of the hat.");
			seekerSize = HatifyConfig.Bind<float>("General", "Seeker Hat Size", 1f, "The scale of the hat.");
			rexSize = HatifyConfig.Bind<float>("General", "REX Hat Size", 2f, "The scale of the hat.");
			chefSize = HatifyConfig.Bind<float>("General", "CHEF Hat Size", 2f, "The scale of the hat.");
			falseSonSize = HatifyConfig.Bind<float>("General", "False Son Hat Size", 2.5f, "The scale of the hat.");
			multSize = HatifyConfig.Bind<float>("General", "MUL-T Hat Size", 15f, "The scale of the hat.");
			LoadAssets();
		}

		private static void LoadAssets()
		{
			//IL_000b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: 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_007e: Unknown result type (might be due to invalid IL or missing references)
			AsyncOperationHandle<Material> val = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Commando.matCommandoDualies_mat), (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<Material> x)
			{
				hatMat = x.Result;
			};
			val = AssetAsyncReferenceManager<Material>.LoadAsset(new AssetReferenceT<Material>(RoR2_Base_Bandit2.matBandit2AltColossus_mat), (AsyncReferenceHandleUnloadType)2);
			val.Completed += delegate(AsyncOperationHandle<Material> x)
			{
				banditHatMat = x.Result;
			};
			AsyncOperationHandle<GameObject> val2 = AssetAsyncReferenceManager<GameObject>.LoadAsset(new AssetReferenceT<GameObject>(RoR2_Base_Bandit2.mdlBandit2_fbx), (AsyncReferenceHandleUnloadType)2);
			val2.Completed += delegate(AsyncOperationHandle<GameObject> x)
			{
				//IL_004e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0053: Unknown result type (might be due to invalid IL or missing references)
				//IL_0067: 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_008f: Unknown result type (might be due to invalid IL or missing references)
				//IL_08d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_08db: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b47: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b4c: Unknown result type (might be due to invalid IL or missing references)
				//IL_09d0: Unknown result type (might be due to invalid IL or missing references)
				//IL_09d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_08ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_08f7: Unknown result type (might be due to invalid IL or missing references)
				//IL_08fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0909: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bc1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bc6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0564: Unknown result type (might be due to invalid IL or missing references)
				//IL_0569: Unknown result type (might be due to invalid IL or missing references)
				//IL_06e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_06e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a4d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a52: 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_0b68: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b6f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b7a: Unknown result type (might be due to invalid IL or missing references)
				//IL_09e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_09e9: Unknown result type (might be due to invalid IL or missing references)
				//IL_09f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_09f8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a03: Unknown result type (might be due to invalid IL or missing references)
				//IL_0463: Unknown result type (might be due to invalid IL or missing references)
				//IL_0468: Unknown result type (might be due to invalid IL or missing references)
				//IL_07dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_07e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_092f: Expected O, but got Unknown
				//IL_092a: Unknown result type (might be due to invalid IL or missing references)
				//IL_091a: Unknown result type (might be due to invalid IL or missing references)
				//IL_091f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0925: Expected O, but got Unknown
				//IL_0bd2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bd7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bdf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0be6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bf1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0369: Unknown result type (might be due to invalid IL or missing references)
				//IL_036e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0578: 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_0585: Unknown result type (might be due to invalid IL or missing references)
				//IL_058c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0597: Unknown result type (might be due to invalid IL or missing references)
				//IL_05e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_05e6: 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_04ec: Unknown result type (might be due to invalid IL or missing references)
				//IL_0665: Unknown result type (might be due to invalid IL or missing references)
				//IL_066a: Unknown result type (might be due to invalid IL or missing references)
				//IL_06f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_06fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0703: Unknown result type (might be due to invalid IL or missing references)
				//IL_070a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0715: Unknown result type (might be due to invalid IL or missing references)
				//IL_03e6: Unknown result type (might be due to invalid IL or missing references)
				//IL_03eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a61: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a66: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a6e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a75: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a80: Unknown result type (might be due to invalid IL or missing references)
				//IL_075f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0764: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ba0: Expected O, but got Unknown
				//IL_0b9b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b8b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b90: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b96: Expected O, but got Unknown
				//IL_0a29: Expected O, but got Unknown
				//IL_0a24: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a14: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a19: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a1f: Expected O, but got Unknown
				//IL_0477: 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_0484: Unknown result type (might be due to invalid IL or missing references)
				//IL_048b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0496: Unknown result type (might be due to invalid IL or missing references)
				//IL_0953: Unknown result type (might be due to invalid IL or missing references)
				//IL_0958: Unknown result type (might be due to invalid IL or missing references)
				//IL_07f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_07f5: 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_0804: Unknown result type (might be due to invalid IL or missing references)
				//IL_080f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aca: Unknown result type (might be due to invalid IL or missing references)
				//IL_0acf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c17: Expected O, but got Unknown
				//IL_0c12: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c02: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c07: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c0d: Expected O, but got Unknown
				//IL_037d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0382: Unknown result type (might be due to invalid IL or missing references)
				//IL_038a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0391: Unknown result type (might be due to invalid IL or missing references)
				//IL_039c: Unknown result type (might be due to invalid IL or missing references)
				//IL_05bd: Expected O, but got Unknown
				//IL_05b8: Unknown result type (might be due to invalid IL or missing references)
				//IL_05a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_05b3: Expected O, but got Unknown
				//IL_05f5: Unknown result type (might be due to invalid IL or missing references)
				//IL_05fa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0602: Unknown result type (might be due to invalid IL or missing references)
				//IL_0609: Unknown result type (might be due to invalid IL or missing references)
				//IL_0614: Unknown result type (might be due to invalid IL or missing references)
				//IL_04fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0500: Unknown result type (might be due to invalid IL or missing references)
				//IL_0508: Unknown result type (might be due to invalid IL or missing references)
				//IL_050f: Unknown result type (might be due to invalid IL or missing references)
				//IL_051a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0679: 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_0686: Unknown result type (might be due to invalid IL or missing references)
				//IL_068d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0698: Unknown result type (might be due to invalid IL or missing references)
				//IL_073b: Expected O, but got Unknown
				//IL_0736: Unknown result type (might be due to invalid IL or missing references)
				//IL_0726: Unknown result type (might be due to invalid IL or missing references)
				//IL_072b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0731: 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_0407: Unknown result type (might be due to invalid IL or missing references)
				//IL_040e: 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_0859: Unknown result type (might be due to invalid IL or missing references)
				//IL_085e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0aa6: Expected O, but got Unknown
				//IL_0aa1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a91: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a96: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a9c: Expected O, but got Unknown
				//IL_0773: Unknown result type (might be due to invalid IL or missing references)
				//IL_0778: Unknown result type (might be due to invalid IL or missing references)
				//IL_0780: Unknown result type (might be due to invalid IL or missing references)
				//IL_0787: Unknown result type (might be due to invalid IL or missing references)
				//IL_0792: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_04c3: Expected O, but got Unknown
				//IL_04be: Unknown result type (might be due to invalid IL or missing references)
				//IL_04a7: Unknown result type (might be due to invalid IL or missing references)
				//IL_04ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b2: Expected O, but got Unknown
				//IL_0967: Unknown result type (might be due to invalid IL or missing references)
				//IL_096c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0974: Unknown result type (might be due to invalid IL or missing references)
				//IL_097b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0986: Unknown result type (might be due to invalid IL or missing references)
				//IL_0835: Expected O, but got Unknown
				//IL_0830: Unknown result type (might be due to invalid IL or missing references)
				//IL_0820: Unknown result type (might be due to invalid IL or missing references)
				//IL_0825: Unknown result type (might be due to invalid IL or missing references)
				//IL_082b: 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_0aeb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0af2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0afd: Unknown result type (might be due to invalid IL or missing references)
				//IL_03c2: Expected O, but got Unknown
				//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b8: Expected O, but got Unknown
				//IL_0635: Unknown result type (might be due to invalid IL or missing references)
				//IL_0641: Expected O, but got Unknown
				//IL_063c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0625: Unknown result type (might be due to invalid IL or missing references)
				//IL_062a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0630: Expected O, but got Unknown
				//IL_0540: Expected O, but got Unknown
				//IL_053b: 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_0530: Unknown result type (might be due to invalid IL or missing references)
				//IL_0536: Expected O, but got Unknown
				//IL_06be: Expected O, but got Unknown
				//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
				//IL_06a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_06ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_06b4: Expected O, but got Unknown
				//IL_043f: Expected O, but got Unknown
				//IL_043a: Unknown result type (might be due to invalid IL or missing references)
				//IL_042a: Unknown result type (might be due to invalid IL or missing references)
				//IL_042f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0435: Expected O, but got Unknown
				//IL_086d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0872: Unknown result type (might be due to invalid IL or missing references)
				//IL_087a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0881: Unknown result type (might be due to invalid IL or missing references)
				//IL_088c: Unknown result type (might be due to invalid IL or missing references)
				//IL_07b8: Expected O, but got Unknown
				//IL_07b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_07a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_07a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_07ae: Expected O, but got Unknown
				//IL_09ac: Expected O, but got Unknown
				//IL_09a7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0997: Unknown result type (might be due to invalid IL or missing references)
				//IL_099c: Unknown result type (might be due to invalid IL or missing references)
				//IL_09a2: Expected O, but got Unknown
				//IL_0b23: Expected O, but got Unknown
				//IL_0b1e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b0e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b13: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b19: Expected O, but got Unknown
				//IL_08b2: Expected O, but got Unknown
				//IL_08ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_089d: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a8: Expected O, but got Unknown
				GameObject gameObject = ((Component)x.Result.transform.GetChild(4).GetChild(2).GetChild(0)
					.GetChild(6)
					.GetChild(0)
					.GetChild(2)
					.GetChild(0)).gameObject;
				gameObject.AddComponent<NetworkIdentity>();
				SkinDef skinDef = AssetAsyncReferenceManager<SkinDef>.LoadAsset(new AssetReferenceT<SkinDef>(RoR2_Base_Bandit2.skinBandit2AltColossus_asset), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				SkinDef skinDef2 = AssetAsyncReferenceManager<SkinDef>.LoadAsset(new AssetReferenceT<SkinDef>(RoR2_DLC2_Chef.skinChefAlt_asset), (AsyncReferenceHandleUnloadType)2).WaitForCompletion();
				foreach (string bodyName in bodyNames)
				{
					_ = Vector3.zero;
					switch (bodyName)
					{
					case "SeekerBody":
						if (new Vector3(seekerSize.Value, seekerSize.Value, seekerSize.Value) != Vector3.zero)
						{
							ModelPartInfo val29 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj14 = <>O.<0>__PlaceItSeeker;
							if (obj14 == null)
							{
								CodeAfterApplying val30 = PlaceItSeeker;
								<>O.<0>__PlaceItSeeker = val30;
								obj14 = (object)val30;
							}
							val29.codeAfterApplying = (CodeAfterApplying)obj14;
							new ModelPart(val29);
						}
						break;
					case "FalseSonBody":
						if (new Vector3(falseSonSize.Value, falseSonSize.Value, falseSonSize.Value) != Vector3.zero)
						{
							ModelPartInfo val17 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj8 = <>O.<1>__PlaceItFalseSon;
							if (obj8 == null)
							{
								CodeAfterApplying val18 = PlaceItFalseSon;
								<>O.<1>__PlaceItFalseSon = val18;
								obj8 = (object)val18;
							}
							val17.codeAfterApplying = (CodeAfterApplying)obj8;
							new ModelPart(val17);
						}
						break;
					case "ChefBody":
						if (new Vector3(chefSize.Value, chefSize.Value, chefSize.Value) != Vector3.zero)
						{
							ModelPartInfo val31 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj15 = <>O.<2>__PlaceItChef;
							if (obj15 == null)
							{
								CodeAfterApplying val32 = PlaceItChef;
								<>O.<2>__PlaceItChef = val32;
								obj15 = (object)val32;
							}
							val31.codeAfterApplying = (CodeAfterApplying)obj15;
							val31.skinDef = skinDef2;
							new ModelPart(val31);
						}
						break;
					case "ToolbotBody":
						if (new Vector3(multSize.Value, multSize.Value, multSize.Value) != Vector3.zero)
						{
							ModelPartInfo val13 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj6 = <>O.<3>__PlaceItMult;
							if (obj6 == null)
							{
								CodeAfterApplying val14 = PlaceItMult;
								<>O.<3>__PlaceItMult = val14;
								obj6 = (object)val14;
							}
							val13.codeAfterApplying = (CodeAfterApplying)obj6;
							new ModelPart(val13);
						}
						break;
					case "TreebotBody":
						if (new Vector3(rexSize.Value, rexSize.Value, rexSize.Value) != Vector3.zero)
						{
							ModelPartInfo val23 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "FlowerBase"
							};
							object obj11 = <>O.<4>__PlaceItRex;
							if (obj11 == null)
							{
								CodeAfterApplying val24 = PlaceItRex;
								<>O.<4>__PlaceItRex = val24;
								obj11 = (object)val24;
							}
							val23.codeAfterApplying = (CodeAfterApplying)obj11;
							new ModelPart(val23);
						}
						break;
					case "Bandit2Body":
						if (new Vector3(banditSize.Value, banditSize.Value, banditSize.Value) != Vector3.zero)
						{
							ModelPartInfo val37 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj18 = <>O.<5>__PlaceItBandit;
							if (obj18 == null)
							{
								CodeAfterApplying val38 = PlaceItBandit;
								<>O.<5>__PlaceItBandit = val38;
								obj18 = (object)val38;
							}
							val37.codeAfterApplying = (CodeAfterApplying)obj18;
							val37.skinDef = skinDef;
							new ModelPart(val37);
						}
						break;
					case "CaptainBody":
						if (new Vector3(captainSize.Value, captainSize.Value, captainSize.Value) != Vector3.zero)
						{
							ModelPartInfo val15 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj7 = <>O.<6>__PlaceItCaptain;
							if (obj7 == null)
							{
								CodeAfterApplying val16 = PlaceItCaptain;
								<>O.<6>__PlaceItCaptain = val16;
								obj7 = (object)val16;
							}
							val15.codeAfterApplying = (CodeAfterApplying)obj7;
							new ModelPart(val15);
						}
						break;
					case "CommandoBody":
						if (new Vector3(commandoSize.Value, commandoSize.Value, commandoSize.Value) != Vector3.zero)
						{
							ModelPartInfo val9 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj4 = <>O.<7>__PlaceItCommando;
							if (obj4 == null)
							{
								CodeAfterApplying val10 = PlaceItCommando;
								<>O.<7>__PlaceItCommando = val10;
								obj4 = (object)val10;
							}
							val9.codeAfterApplying = (CodeAfterApplying)obj4;
							new ModelPart(val9);
						}
						break;
					case "RailgunnerBody":
						if (new Vector3(railgunnerSize.Value, railgunnerSize.Value, railgunnerSize.Value) != Vector3.zero)
						{
							ModelPartInfo val25 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj12 = <>O.<8>__PlaceItRailgunner;
							if (obj12 == null)
							{
								CodeAfterApplying val26 = PlaceItRailgunner;
								<>O.<8>__PlaceItRailgunner = val26;
								obj12 = (object)val26;
							}
							val25.codeAfterApplying = (CodeAfterApplying)obj12;
							new ModelPart(val25);
						}
						break;
					case "MageBody":
						if (new Vector3(artiSize.Value, artiSize.Value, artiSize.Value) != Vector3.zero)
						{
							ModelPartInfo val5 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj2 = <>O.<9>__PlaceItMage;
							if (obj2 == null)
							{
								CodeAfterApplying val6 = PlaceItMage;
								<>O.<9>__PlaceItMage = val6;
								obj2 = (object)val6;
							}
							val5.codeAfterApplying = (CodeAfterApplying)obj2;
							new ModelPart(val5);
						}
						break;
					case "HuntressBody":
						if (new Vector3(huntressSize.Value, huntressSize.Value, huntressSize.Value) != Vector3.zero)
						{
							ModelPartInfo val33 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj16 = <>O.<10>__PlaceItHuntress;
							if (obj16 == null)
							{
								CodeAfterApplying val34 = PlaceItHuntress;
								<>O.<10>__PlaceItHuntress = val34;
								obj16 = (object)val34;
							}
							val33.codeAfterApplying = (CodeAfterApplying)obj16;
							new ModelPart(val33);
						}
						break;
					case "CrocoBody":
						if (new Vector3(acridSize.Value, acridSize.Value, acridSize.Value) != Vector3.zero)
						{
							ModelPartInfo val21 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj10 = <>O.<11>__PlaceItCroco;
							if (obj10 == null)
							{
								CodeAfterApplying val22 = PlaceItCroco;
								<>O.<11>__PlaceItCroco = val22;
								obj10 = (object)val22;
							}
							val21.codeAfterApplying = (CodeAfterApplying)obj10;
							new ModelPart(val21);
						}
						break;
					case "EngiBody":
						if (new Vector3(engiSize.Value, engiSize.Value, engiSize.Value) != Vector3.zero)
						{
							ModelPartInfo val7 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Chest"
							};
							object obj3 = <>O.<12>__PlaceItEngi;
							if (obj3 == null)
							{
								CodeAfterApplying val8 = PlaceItEngi;
								<>O.<12>__PlaceItEngi = val8;
								obj3 = (object)val8;
							}
							val7.codeAfterApplying = (CodeAfterApplying)obj3;
							new ModelPart(val7);
						}
						break;
					case "EngiWalkerTurretBody":
						if (new Vector3(engiWalkerTurretSize.Value, engiWalkerTurretSize.Value, engiWalkerTurretSize.Value) != Vector3.zero)
						{
							ModelPartInfo val35 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj17 = <>O.<13>__PlaceItEngiWalker;
							if (obj17 == null)
							{
								CodeAfterApplying val36 = PlaceItEngiWalker;
								<>O.<13>__PlaceItEngiWalker = val36;
								obj17 = (object)val36;
							}
							val35.codeAfterApplying = (CodeAfterApplying)obj17;
							new ModelPart(val35);
						}
						break;
					case "EngiTurretBody":
						if (new Vector3(engiTurretSize.Value, engiTurretSize.Value, engiTurretSize.Value) != Vector3.zero)
						{
							ModelPartInfo val27 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj13 = <>O.<14>__PlaceItEngiTurret;
							if (obj13 == null)
							{
								CodeAfterApplying val28 = PlaceItEngiTurret;
								<>O.<14>__PlaceItEngiTurret = val28;
								obj13 = (object)val28;
							}
							val27.codeAfterApplying = (CodeAfterApplying)obj13;
							new ModelPart(val27);
						}
						break;
					case "MercBody":
						if (new Vector3(mercSize.Value, mercSize.Value, mercSize.Value) != Vector3.zero)
						{
							ModelPartInfo val19 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj9 = <>O.<15>__PlaceItMerc;
							if (obj9 == null)
							{
								CodeAfterApplying val20 = PlaceItMerc;
								<>O.<15>__PlaceItMerc = val20;
								obj9 = (object)val20;
							}
							val19.codeAfterApplying = (CodeAfterApplying)obj9;
							new ModelPart(val19);
						}
						break;
					case "VoidSurvivorBody":
						if (new Vector3(fiendSize.Value, fiendSize.Value, fiendSize.Value) != Vector3.zero)
						{
							ModelPartInfo val11 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj5 = <>O.<16>__PlaceItVoid;
							if (obj5 == null)
							{
								CodeAfterApplying val12 = PlaceItVoid;
								<>O.<16>__PlaceItVoid = val12;
								obj5 = (object)val12;
							}
							val11.codeAfterApplying = (CodeAfterApplying)obj5;
							new ModelPart(val11);
						}
						break;
					case "LoaderBody":
						if (new Vector3(loaderSize.Value, loaderSize.Value, loaderSize.Value) != Vector3.zero)
						{
							ModelPartInfo val3 = new ModelPartInfo
							{
								bodyName = bodyName,
								gameObject = gameObject,
								inputString = "Head"
							};
							object obj = <>O.<17>__PlaceItLoader;
							if (obj == null)
							{
								CodeAfterApplying val4 = PlaceItLoader;
								<>O.<17>__PlaceItLoader = val4;
								obj = (object)val4;
							}
							val3.codeAfterApplying = (CodeAfterApplying)obj;
							new ModelPart(val3);
						}
						break;
					}
				}
			};
		}

		private static void PlaceItMult(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 1.5f, 1.7f);
			modelObject.transform.localScale = new Vector3(multSize.Value, multSize.Value, multSize.Value);
			modelObject.transform.Rotate(new Vector3(315f, 180f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItChef(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			Transform val = ((Component)characterModel).transform.Find("meshChefPizzaCutter");
			if (Object.op_Implicit((Object)(object)val))
			{
				((Component)val).gameObject.SetActive(false);
			}
			modelObject.transform.localPosition = new Vector3(-0.35f, 0f, 0f);
			modelObject.transform.localScale = new Vector3(chefSize.Value, chefSize.Value, chefSize.Value);
			modelObject.transform.Rotate(new Vector3(60f, 90f, 180f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItFalseSon(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.34f, -0.05f);
			modelObject.transform.localScale = new Vector3(falseSonSize.Value, falseSonSize.Value, falseSonSize.Value);
			modelObject.transform.Rotate(new Vector3(10f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItSeeker(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.2f, 0f);
			modelObject.transform.localScale = new Vector3(seekerSize.Value, seekerSize.Value, seekerSize.Value);
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = banditHatMat;
		}

		private static void PlaceItRex(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 2f, 0f);
			modelObject.transform.localScale = new Vector3(rexSize.Value, rexSize.Value, rexSize.Value);
			modelObject.transform.Rotate(new Vector3(10f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItBandit(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.15f, 0f);
			modelObject.transform.localScale = new Vector3(banditSize.Value, banditSize.Value, banditSize.Value);
			modelObject.transform.Rotate(new Vector3(10f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = banditHatMat;
		}

		private static void PlaceItCaptain(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_006e: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			Transform val = ((Component)characterModel).transform.Find("CaptainArmature");
			if (Object.op_Implicit((Object)(object)val))
			{
				Transform child = val.GetChild(0).GetChild(0).GetChild(2)
					.GetChild(0)
					.GetChild(2)
					.GetChild(0)
					.GetChild(4);
				if (Object.op_Implicit((Object)(object)child))
				{
					((Component)child).gameObject.SetActive(false);
				}
			}
			modelObject.transform.localPosition = new Vector3(0f, 0.15f, 0f);
			modelObject.transform.localScale = new Vector3(captainSize.Value, captainSize.Value, captainSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItCommando(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.3f, 0f);
			modelObject.transform.localScale = new Vector3(commandoSize.Value, commandoSize.Value, commandoSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItRailgunner(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.18f, -0.025f);
			modelObject.transform.localScale = new Vector3(railgunnerSize.Value, railgunnerSize.Value, railgunnerSize.Value);
			modelObject.transform.Rotate(new Vector3(30f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItMage(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.15f, -0.1f);
			modelObject.transform.localScale = new Vector3(artiSize.Value, artiSize.Value, artiSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItHuntress(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.3f, -0.05f);
			modelObject.transform.localScale = new Vector3(huntressSize.Value, huntressSize.Value, huntressSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItCroco(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0f, 1.6f);
			modelObject.transform.localScale = new Vector3(acridSize.Value, acridSize.Value, acridSize.Value);
			modelObject.transform.Rotate(new Vector3(55f, 180f, 180f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItEngi(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.65f, 0f);
			modelObject.transform.localScale = new Vector3(engiSize.Value, engiSize.Value, engiSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItEngiWalker(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 1f, 0f);
			modelObject.transform.localScale = new Vector3(engiWalkerTurretSize.Value, engiWalkerTurretSize.Value, engiWalkerTurretSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItEngiTurret(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.3f, 0f);
			modelObject.transform.localScale = new Vector3(engiTurretSize.Value, engiTurretSize.Value, engiTurretSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItMerc(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.2f, 0f);
			modelObject.transform.localScale = new Vector3(mercSize.Value, mercSize.Value, mercSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItVoid(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.1f, 0f);
			modelObject.transform.localScale = new Vector3(fiendSize.Value, fiendSize.Value, fiendSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}

		private static void PlaceItLoader(GameObject modelObject, ChildLocator childLocator, CharacterModel characterModel, ActivePartsComponent activePartsComponent)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			modelObject.transform.localPosition = new Vector3(0f, 0.2f, 0f);
			modelObject.transform.localScale = new Vector3(loaderSize.Value, loaderSize.Value, loaderSize.Value);
			modelObject.transform.Rotate(new Vector3(15f, 0f, 0f));
			((Renderer)((Component)modelObject.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = hatMat;
		}
	}
}