Decompiled source of BorkenCellGeoFix v0.6.3

BorkenCellGeoFix.dll

Decompiled 14 hours ago
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using AIGraph;
using Agents;
using AssetShards;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Core.Logging.Interpolation;
using BepInEx.Logging;
using BepInEx.Unity.IL2CPP;
using ChainedPuzzles;
using Decals;
using Enemies;
using FluffyUnderware.DevTools.Extensions;
using GTFO.API;
using HarmonyLib;
using Il2CppInterop.Runtime.InteropTypes;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;
using Il2CppSystem.Reflection;
using LevelGeneration;
using LevelGeneration.Core;
using Microsoft.CodeAnalysis;
using StateMachines;
using Unity.Collections;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.Experimental.AI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("BorkenCellGeoFix")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+git2e8a746-dirty-master.2e8a74684e8424c6b65d0184677bcf8aeddf1c91")]
[assembly: AssemblyProduct("BorkenCellGeoFix")]
[assembly: AssemblyTitle("BorkenCellGeoFix")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace BorkenCellGeoFix
{
	[BepInPlugin("com.hirnukuono.BorkenCellGeoFix", "BorkenCellGeoFix", "0.6.3")]
	public class Plugin : BasePlugin
	{
		[HarmonyPatch]
		public class BorkenCellGeoFixPatches
		{
			private static bool plugsdone;

			private static bool geosdone;

			[HarmonyPatch(typeof(LG_BuildNodeCluster), "ConvertData")]
			[HarmonyPrefix]
			private static void PreVox(LG_BuildNodeCluster __instance, ref LG_BuildNodeVolumeJobData jobdata)
			{
				//IL_008b: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_003e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0045: Expected O, but got Unknown
				//IL_0107: Unknown result type (might be due to invalid IL or missing references)
				//IL_011d: 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_02b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_02bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_02ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_02cf: 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_0260: Unknown result type (might be due to invalid IL or missing references)
				//IL_0267: Expected O, but got Unknown
				//IL_015a: Unknown result type (might be due to invalid IL or missing references)
				//IL_015f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0163: Unknown result type (might be due to invalid IL or missing references)
				//IL_0164: Unknown result type (might be due to invalid IL or missing references)
				//IL_0167: Unknown result type (might be due to invalid IL or missing references)
				//IL_016c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0176: Unknown result type (might be due to invalid IL or missing references)
				//IL_017b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0181: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f3: 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_01a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c8: 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_0349: Unknown result type (might be due to invalid IL or missing references)
				//IL_034d: Unknown result type (might be due to invalid IL or missing references)
				//IL_036a: Unknown result type (might be due to invalid IL or missing references)
				//IL_038d: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a1: 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_03c3: 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_03d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0459: Unknown result type (might be due to invalid IL or missing references)
				//IL_045e: 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_0486: 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_0490: Unknown result type (might be due to invalid IL or missing references)
				//IL_049c: Unknown result type (might be due to invalid IL or missing references)
				//IL_04a1: 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_04b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_04bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_04cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_04dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_04e4: Invalid comparison between Unknown and I4
				//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
				if (jobdata.vnv.m_maxY < 33f || (Object)(object)((Component)jobdata.vnv).GetComponent<AIG_GeomorphNodeVolume>().m_sizeOverrideTransform == (Object)null)
				{
					return;
				}
				ManualLogSource l = L;
				bool flag = default(bool);
				if (l != null)
				{
					BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(54, 1, ref flag);
					if (flag)
					{
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral("hacking the nodecluster vertical 64 meter limit on ");
						((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(((Object)((Component)jobdata.vnv).GetComponent<LG_Geomorph>()).name);
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" ..");
					}
					l.LogInfo(val);
				}
				Vector3 val2 = default(Vector3);
				((Vector3)(ref val2))..ctor(jobdata.vnv.m_cornerOffset.x + 0.5f, jobdata.vnv.m_maxY, jobdata.vnv.m_cornerOffset.z + 0.5f);
				Vector3 val3 = val2;
				Vector3 val4 = default(Vector3);
				((Vector3)(ref val4))..ctor(0.25f, 1.5f, 0.25f);
				NavMeshQuery val5;
				for (int i = 0; i < jobdata.vnv.m_countX * jobdata.vnv.m_countZ; i++)
				{
					int num = i / jobdata.vnv.m_countZ;
					int num2 = i % jobdata.vnv.m_countZ;
					((Vector3)(ref val3)).Set(val2.x + (float)num, jobdata.vnv.m_maxY, val2.z + (float)num2);
					float num3 = jobdata.vnv.m_maxY + 1f;
					int num4 = 0;
					int num5 = i * 12;
					for (int j = 0; j < 256; j++)
					{
						val5 = jobdata.nmQuerys[0];
						NavMeshLocation val6 = ((NavMeshQuery)(ref val5)).MapLocation(val3, val4, 0, -1);
						val5 = jobdata.nmQuerys[0];
						if (((NavMeshQuery)(ref val5)).IsValid(((NavMeshLocation)(ref val6)).polygon) && ((NavMeshLocation)(ref val6)).position.y < num3)
						{
							jobdata.nodeDatas[num5 + num4] = val6;
							num3 = ((NavMeshLocation)(ref val6)).position.y - 0.5f;
							val3.y = ((NavMeshLocation)(ref val6)).position.y;
							num4++;
							if (num4 == 12)
							{
								break;
							}
						}
						val3.y -= 1f;
						if (val3.y < jobdata.vnv.m_minY)
						{
							break;
						}
					}
					jobdata.nodeCounts[i] = (byte)num4;
				}
				l = L;
				if (l != null)
				{
					BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(26, 1, ref flag);
					if (flag)
					{
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral("rerunning nodelinks on ");
						((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(((Object)((Component)jobdata.vnv).GetComponent<LG_Geomorph>()).name);
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" ..");
					}
					l.LogInfo(val);
				}
				Int2[] array = (Int2[])(object)new Int2[4]
				{
					new Int2(-1, 1),
					new Int2(0, 1),
					new Int2(1, 1),
					new Int2(1, 0)
				};
				NavMeshHit val12 = default(NavMeshHit);
				for (int k = 0; k < jobdata.vnv.m_countX * jobdata.vnv.m_countZ; k++)
				{
					int num6 = jobdata.nodeCounts[k];
					if (num6 < 1)
					{
						continue;
					}
					int num7 = k * 12;
					int num8 = k / jobdata.vnv.m_countZ;
					int num9 = k % jobdata.vnv.m_countZ;
					for (int m = 0; m < num6; m++)
					{
						int num10 = num7 + m;
						NavMeshLocation val7 = jobdata.nodeDatas[num10];
						if (((NavMeshLocation)(ref val7)).position.y > jobdata.vnv.m_maxY || ((NavMeshLocation)(ref val7)).position.y < jobdata.vnv.m_minY)
						{
							continue;
						}
						int num11 = num10 * 4;
						float num12 = ((NavMeshLocation)(ref val7)).position.y - 1.5f;
						float num13 = ((NavMeshLocation)(ref val7)).position.y + 1.5f;
						for (int n = 0; n < 4; n++)
						{
							Int2 val8 = array[n];
							int num14 = num8 + val8.x;
							int num15 = num9 + val8.y;
							float num16 = float.MinValue;
							if (num14 > -1 && num15 > -1 && num14 < jobdata.vnv.m_countX && num15 < jobdata.vnv.m_countZ)
							{
								int num17 = num14 * jobdata.vnv.m_countZ + num15;
								int num18 = num17 * 12;
								int num19 = jobdata.nodeCounts[num17];
								for (int num20 = 0; num20 < num19; num20++)
								{
									NavMeshLocation val9 = jobdata.nodeDatas[num18 + num20];
									NativeArray<float> val10 = new NativeArray<float>
									{
										m_AllocatorLabel = (Allocator)2,
										m_Length = 1024576
									};
									val5 = jobdata.nmQuerys[0];
									PathQueryStatus val11 = ((NavMeshQuery)(ref val5)).Raycast(ref val12, val7, ((NavMeshLocation)(ref val9)).position, LayerManager.MASK_NODE_LINKING, val10);
									val10.Deallocate();
									if (((NavMeshLocation)(ref val7)).position != Vector3.zero && ((NavMeshLocation)(ref val9)).position.y < num13 && ((NavMeshLocation)(ref val9)).position.y > num12 && (int)val11 == 1073741824 && !((NavMeshHit)(ref val12)).hit)
									{
										num16 = ((NavMeshLocation)(ref val9)).position.y;
										break;
									}
								}
							}
							jobdata.nodeLinks[num11 + n] = num16;
						}
					}
				}
			}

			[HarmonyPatch(typeof(EB_InCombat_MoveToTarget), "UpdateBehaviour")]
			[HarmonyPrefix]
			private static bool PitFuck2(EB_InCombat_MoveToTarget __instance)
			{
				//IL_006a: Unknown result type (might be due to invalid IL or missing references)
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0330: Unknown result type (might be due to invalid IL or missing references)
				//IL_0122: Unknown result type (might be due to invalid IL or missing references)
				//IL_0137: Unknown result type (might be due to invalid IL or missing references)
				//IL_015c: Unknown result type (might be due to invalid IL or missing references)
				//IL_017b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0191: Unknown result type (might be due to invalid IL or missing references)
				//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0257: Unknown result type (might be due to invalid IL or missing references)
				//IL_0271: Unknown result type (might be due to invalid IL or missing references)
				//IL_0225: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c8: 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_02ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f8: Unknown result type (might be due to invalid IL or missing references)
				if (NavMesh.pathfindingIterationsPerFrame < 2000)
				{
					NavMesh.pathfindingIterationsPerFrame = 2000;
				}
				if (((EB_StateBase)__instance).m_ai.m_enemyAgent.EnemyBehaviorData.IsFlyer)
				{
					return true;
				}
				((EB_StateBase)__instance).m_ai.m_detection.UpdateTargets();
				if (!((AgentAI)((EB_StateBase)__instance).m_ai).IsTargetValid)
				{
					((EB_StateBase)__instance).m_ai.m_behaviour.ChangeState((EB_States)5);
					return false;
				}
				if (Mathf.Abs(((EB_StateBase)__instance).m_ai.m_enemyAgent.Position.y - ((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_navigationPosition.y) > 12f || ((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_distance > 16f)
				{
					if (((EB_StateBase)__instance).m_ai.m_behaviourData.m_mov_Timer < Clock.Time)
					{
						if (((EB_StateBase)__instance).m_ai.m_courseNavigation.m_lastTargetNodeDistance == 0 && ((Object)((Component)((Component)((Agent)((EB_StateBase)__instance).m_ai.m_enemyAgent).CourseNode.m_area).GetComponentInParent<LG_Geomorph>()).transform).name.ToLower().Contains("geo_64x64_service_floodways_hub_sf_01") && Mathf.Abs(((EB_StateBase)__instance).m_ai.m_enemyAgent.Position.y - ((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_navigationPosition.y) > 12f)
						{
							float num = Vector3.Distance(((EB_StateBase)__instance).m_ai.m_enemyAgent.Position, ((LG_ZoneExpander)((Agent)((EB_StateBase)__instance).m_ai.m_enemyAgent).CourseNode.m_zone.m_sourceGate).m_position);
							float num2 = Vector3.Distance(((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_position, ((LG_ZoneExpander)((Agent)((EB_StateBase)__instance).m_ai.m_enemyAgent).CourseNode.m_zone.m_sourceGate).m_position);
							if (((EB_StateBase)__instance).m_ai.m_enemyAgent.Position.y < ((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_agent.Position.y && num2 < num)
							{
								ManualLogSource? l = L;
								if (l != null)
								{
									l.LogInfo((object)"incombat_movetotarget debug: enemy has been pseudopos'ed UP");
								}
								((EB_StateBase)__instance).m_ai.NavmeshAgentGoal = ((LG_ZoneExpander)((Agent)((EB_StateBase)__instance).m_ai.m_enemyAgent).CourseNode.m_zone.m_sourceGate).m_position;
								((EB_StateBase)__instance).m_ai.m_behaviourData.m_mov_Timer = Clock.Time + 20f;
								return false;
							}
							if (((EB_StateBase)__instance).m_ai.m_enemyAgent.Position.y > ((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_agent.Position.y && num2 > num)
							{
								ManualLogSource? l2 = L;
								if (l2 != null)
								{
									l2.LogInfo((object)"incombat_movetotarget debug: enemy has been pseudopos'ed DOWN");
								}
								LG_Geomorph componentInParent = ((Component)((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_agent.CourseNode.m_area).GetComponentInParent<LG_Geomorph>();
								((EB_StateBase)__instance).m_ai.NavmeshAgentGoal = new Vector3(((Component)componentInParent).transform.position.x, ((Component)componentInParent).transform.position.y - 27.5f, ((Component)componentInParent).transform.position.z);
								((EB_StateBase)__instance).m_ai.m_behaviourData.m_mov_Timer = Clock.Time + 20f;
								return false;
							}
						}
						((EB_StateBase)__instance).m_ai.NavmeshAgentGoal = ((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_position;
						if (((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_distance > 16f)
						{
							((EB_StateBase)__instance).m_ai.m_behaviourData.m_mov_Timer = Clock.Time + 2f;
						}
						if (((AgentAI)((EB_StateBase)__instance).m_ai).Target.m_distance > 48f)
						{
							((EB_StateBase)__instance).m_ai.m_behaviourData.m_mov_Timer = Clock.Time + 5f;
						}
					}
					return false;
				}
				return true;
			}

			[HarmonyPatch(typeof(EB_InCombat_Pouncer_HeldBased), "UpdateBehaviour")]
			[HarmonyPostfix]
			private static void Snatch1(EB_StateBase __instance)
			{
				//IL_0035: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Expected O, but got Unknown
				if (__instance.m_ai.m_behaviourData.WantsToFlee || __instance.m_ai.m_courseNavigation.m_lastTargetNodeDistance < 1)
				{
					return;
				}
				ManualLogSource l = L;
				if (l != null)
				{
					bool flag = default(bool);
					BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(27, 1, ref flag);
					if (flag)
					{
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral("eb_based debug last state ");
						((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name);
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" ");
					}
					l.LogInfo(val);
				}
				if (!(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name == "EB_InCombat_Pouncer_HeldBased") && !(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name == "EB_InCombat_MoveToNextNode") && !(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name == "EB_AfterPlayerHeld_Pouncer") && !(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name == "EB_Stagger_Pouncer") && !(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name == "EB_Dash_Pouncer"))
				{
					ManualLogSource? l2 = L;
					if (l2 != null)
					{
						l2.LogInfo((object)"pouncer eb_incombat_pouncer_heldbased cancelled");
					}
					EB_StateBase state = ((MachineState<EB_StateBase>)(object)__instance).m_machine.GetState(10);
					((MachineState<EB_StateBase>)(object)__instance).m_machine.ChangeState(state);
				}
			}

			[HarmonyPatch(typeof(EB_Dash_Pouncer), "Enter")]
			[HarmonyPrefix]
			private static void Snatch2(EB_StateBase __instance)
			{
				//IL_0035: Unknown result type (might be due to invalid IL or missing references)
				//IL_003b: Expected O, but got Unknown
				if (__instance.m_ai.m_behaviourData.WantsToFlee || __instance.m_ai.m_courseNavigation.m_lastTargetNodeDistance < 1)
				{
					return;
				}
				ManualLogSource l = L;
				if (l != null)
				{
					bool flag = default(bool);
					BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(26, 1, ref flag);
					if (flag)
					{
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral("eb_dash debug last state ");
						((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name);
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" ");
					}
					l.LogInfo(val);
				}
				if (!(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name == "EB_AfterPlayerHeld_Pouncer") && !(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name == "EB_InCombat_Pouncer_HeldBased") && !(((MemberInfo)((Object)((MachineState<EB_StateBase>)(object)__instance).m_machine.m_lastState).GetIl2CppType()).Name == "EB_Stagger_Pouncer"))
				{
					ManualLogSource? l2 = L;
					if (l2 != null)
					{
						l2.LogInfo((object)"pouncer eb_dash_pouncer cancelled");
					}
					EB_StateBase state = ((MachineState<EB_StateBase>)(object)__instance).m_machine.GetState(10);
					((MachineState<EB_StateBase>)(object)__instance).m_machine.ChangeState(state);
				}
			}

			[HarmonyPatch(typeof(LG_SetupFloor), "Build")]
			[HarmonyPrefix]
			private static void SetupFloorPrefix(LG_SetupFloor __instance)
			{
				//IL_0318: Unknown result type (might be due to invalid IL or missing references)
				//IL_032c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0331: Unknown result type (might be due to invalid IL or missing references)
				//IL_067a: Unknown result type (might be due to invalid IL or missing references)
				//IL_068e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0693: 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_03b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d83: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d97: 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_070f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0714: Unknown result type (might be due to invalid IL or missing references)
				//IL_041d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0431: Unknown result type (might be due to invalid IL or missing references)
				//IL_0436: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dab: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dbf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dc4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0de1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0df2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0dfc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0790: Unknown result type (might be due to invalid IL or missing references)
				//IL_07b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_04a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_04bb: 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_04e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_04e6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f67: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f7b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0549: Unknown result type (might be due to invalid IL or missing references)
				//IL_055d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0562: Unknown result type (might be due to invalid IL or missing references)
				//IL_1038: Unknown result type (might be due to invalid IL or missing references)
				//IL_1066: Unknown result type (might be due to invalid IL or missing references)
				//IL_1086: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f9d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fbd: Unknown result type (might be due to invalid IL or missing references)
				//IL_09a0: 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_09b9: Unknown result type (might be due to invalid IL or missing references)
				//IL_09cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_09df: 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_05cd: 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_0eb0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ec4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ec9: Unknown result type (might be due to invalid IL or missing references)
				//IL_0edb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0eef: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ef4: Unknown result type (might be due to invalid IL or missing references)
				//IL_1143: Unknown result type (might be due to invalid IL or missing references)
				//IL_1157: Unknown result type (might be due to invalid IL or missing references)
				//IL_115c: Unknown result type (might be due to invalid IL or missing references)
				//IL_116e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1182: Unknown result type (might be due to invalid IL or missing references)
				//IL_1187: Unknown result type (might be due to invalid IL or missing references)
				//IL_080d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0821: Unknown result type (might be due to invalid IL or missing references)
				//IL_129a: Unknown result type (might be due to invalid IL or missing references)
				//IL_12ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_12b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_1210: Unknown result type (might be due to invalid IL or missing references)
				//IL_1224: Unknown result type (might be due to invalid IL or missing references)
				//IL_1229: Unknown result type (might be due to invalid IL or missing references)
				//IL_08d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_08e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_0874: Unknown result type (might be due to invalid IL or missing references)
				//IL_0888: Unknown result type (might be due to invalid IL or missing references)
				//IL_0843: Unknown result type (might be due to invalid IL or missing references)
				//IL_0863: Unknown result type (might be due to invalid IL or missing references)
				//IL_149a: Unknown result type (might be due to invalid IL or missing references)
				//IL_14ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_14b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_12dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_12f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_12f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b66: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a73: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a87: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a8c: Unknown result type (might be due to invalid IL or missing references)
				//IL_08fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_090f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0914: Unknown result type (might be due to invalid IL or missing references)
				//IL_08aa: Unknown result type (might be due to invalid IL or missing references)
				//IL_1320: Unknown result type (might be due to invalid IL or missing references)
				//IL_1334: Unknown result type (might be due to invalid IL or missing references)
				//IL_1339: Unknown result type (might be due to invalid IL or missing references)
				//IL_1363: Unknown result type (might be due to invalid IL or missing references)
				//IL_1377: Unknown result type (might be due to invalid IL or missing references)
				//IL_137c: Unknown result type (might be due to invalid IL or missing references)
				//IL_13a6: Unknown result type (might be due to invalid IL or missing references)
				//IL_13ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_13bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_13f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_1404: Unknown result type (might be due to invalid IL or missing references)
				//IL_1418: Unknown result type (might be due to invalid IL or missing references)
				//IL_142c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1431: Unknown result type (might be due to invalid IL or missing references)
				if (!_navmeshFix.Value)
				{
					return;
				}
				GameObject loadedAsset = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Dimensions/Desert/Dimension_Desert_R7B3.prefab");
				if ((Object)(object)loadedAsset != (Object)null)
				{
					foreach (LG_PrefabSpawner componentsInChild in loadedAsset.GetComponentsInChildren<LG_PrefabSpawner>())
					{
						if (((Object)((Component)componentsInChild).transform.parent.parent).name == "Area_A" && (((Object)((Component)componentsInChild).transform).name == "LG_PrefabSpawner_prop_generic_beam_c_column_4m_tile_001 (35)" || ((Object)((Component)componentsInChild).transform).name == "LG_PrefabSpawner_prop_generic_beam_c_column_4m_tile_001 (36)"))
						{
							componentsInChild.m_disableCollision = true;
						}
					}
				}
				Enumerator<string, Object> enumerator2 = AssetShardManager.s_loadedAssetsLookup.GetEnumerator();
				while (enumerator2.MoveNext())
				{
					KeyValuePair<string, Object> current2 = enumerator2.Current;
					if (!current2.Key.Contains("GEO_"))
					{
						continue;
					}
					GameObject loadedAsset2 = AssetAPI.GetLoadedAsset<GameObject>(current2.Key);
					if (!((Object)(object)loadedAsset2 != (Object)null))
					{
						continue;
					}
					foreach (Decal componentsInChild2 in loadedAsset2.GetComponentsInChildren<Decal>())
					{
						if ((Object)(object)((Component)((Component)componentsInChild2).transform).GetComponent<MeshRenderer>() != (Object)null)
						{
							((Renderer)((Component)((Component)componentsInChild2).transform).GetComponent<MeshRenderer>()).castShadows = false;
						}
					}
					foreach (MeshRenderer componentsInChild3 in loadedAsset2.GetComponentsInChildren<MeshRenderer>())
					{
						if (((Object)((Component)componentsInChild3).transform).name.ToLower().Contains("dead_body"))
						{
							((Renderer)componentsInChild3).castShadows = false;
						}
						if (((Object)((Component)componentsInChild3).transform).name.ToLower().Contains("blood"))
						{
							((Renderer)componentsInChild3).castShadows = false;
						}
					}
					foreach (LG_PrefabSpawner componentsInChild4 in loadedAsset2.GetComponentsInChildren<LG_PrefabSpawner>())
					{
						if (((Object)((Component)componentsInChild4).transform).name.ToLower().Contains("dead_body"))
						{
							foreach (MeshRenderer componentsInChild5 in componentsInChild4.m_prefab.GetComponentsInChildren<MeshRenderer>())
							{
								if (((Object)componentsInChild5).name == "s_Cylinder")
								{
									((Renderer)componentsInChild5).enabled = false;
								}
							}
							componentsInChild4.m_forceShadowsOff = true;
						}
						if (((Object)((Component)componentsInChild4).transform).name.ToLower().Contains("decal"))
						{
							componentsInChild4.m_forceShadowsOff = true;
						}
					}
				}
				Enumerator<string, AssetShardManifest> enumerator5 = AssetShardManager.s_loadedManifests.GetEnumerator();
				while (enumerator5.MoveNext())
				{
					KeyValuePair<string, AssetShardManifest> current7 = enumerator5.Current;
					if (current7.Key.Contains("Complex_Mining") && !MiningFixed)
					{
						GameObject loadedAsset3 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Geomorphs/Refinery/geo_64x64_mining_refinery_JG_02.prefab");
						if ((Object)(object)loadedAsset3 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild6 in loadedAsset3.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)((Component)componentsInChild6).transform).name == "LG_PrefabSpawner_env_refinery_marker_ground_large_shallow_01 (63)")
								{
									Transform transform = ((Component)componentsInChild6).transform;
									transform.localScale += new Vector3(0f, 0f, 0.1f);
								}
							}
						}
						GameObject loadedAsset4 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Props/refinery/refinery_room_large_X_2200x2000x2000/refinery_room_large_X_2200x2000x2000_HA_04.prefab");
						if ((Object)(object)loadedAsset4 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild7 in loadedAsset4.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)componentsInChild7).name.ToLower().Contains("ground_medium_flat_01"))
								{
									Transform transform2 = ((Component)componentsInChild7).transform;
									transform2.localScale += new Vector3(0.1f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset5 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Props/refinery/refinery_room_large_elev_2200x2200x2000/mining_refinery_room_large_elev_2200x2200x2000_V01.prefab");
						if ((Object)(object)loadedAsset5 != (Object)null)
						{
							foreach (Transform componentsInChild8 in loadedAsset5.GetComponentsInChildren<Transform>())
							{
								if (((Object)componentsInChild8).name == "Marker (15)")
								{
									Transform transform3 = ((Component)componentsInChild8).transform;
									transform3.localPosition += new Vector3(1f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset6 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Geomorphs/Storage/geo_64x64_mining_storage_hub_HA_04.prefab");
						if ((Object)(object)loadedAsset6 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild9 in loadedAsset6.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)componentsInChild9).name == "LG_PrefabSpawner_prop_generic_catwalk_platform_d_2m_middle_001 (5)")
								{
									Transform transform4 = ((Component)componentsInChild9).transform;
									transform4.localPosition += new Vector3(0f, 0f, 0.1f);
									Transform transform5 = ((Component)componentsInChild9).transform;
									transform5.localScale += new Vector3(0.1f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset7 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Plugs/env_plug_8mheight_cap_mining_07.prefab");
						if ((Object)(object)loadedAsset7 != (Object)null)
						{
							foreach (Transform componentsInChild10 in loadedAsset7.GetComponentsInChildren<Transform>())
							{
								if (((Object)componentsInChild10).name == "submarker (1)")
								{
									componentsInChild10.position += new Vector3(0.4f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset8 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Geomorphs/Digsite/geo_64x64_mining_dig_site_HA_04.prefab");
						if ((Object)(object)loadedAsset8 != (Object)null)
						{
							foreach (Transform componentsInChild11 in loadedAsset8.GetComponentsInChildren<Transform>())
							{
								if (((Object)componentsInChild11).name == "Subgate BA 1")
								{
									Transform transform6 = ((Component)componentsInChild11).transform;
									transform6.localPosition += new Vector3(0f, 0.08f, 0f);
								}
							}
						}
						MiningFixed = true;
					}
					if (current7.Key.Contains("Complex_Service") && !ServiceFixed)
					{
						GameObject loadedAsset9 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Geomorphs/Gardens/geo_64x64_service_gardens_I_01.prefab");
						if ((Object)(object)loadedAsset9 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild12 in loadedAsset9.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)((Component)componentsInChild12).transform).name == "LG_PrefabSpawner_BP_Gardens_Catwalks_Platform_a_4x4m_001 (15)")
								{
									Transform transform7 = ((Component)componentsInChild12).transform;
									transform7.localScale += new Vector3(0.3f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset10 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Geomorphs/Gardens/geo_64x64_service_gardens_HA_02.prefab");
						if ((Object)(object)loadedAsset10 != (Object)null)
						{
							foreach (LG_Plug componentsInChild13 in loadedAsset10.GetComponentsInChildren<LG_Plug>())
							{
								if (((Object)componentsInChild13).name == "Gate 4")
								{
									Transform transform8 = ((Component)componentsInChild13).transform;
									transform8.localPosition += new Vector3(0f, 0f, 0.1f);
								}
							}
						}
						GameObject loadedAsset11 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Geomorphs/Gardens/geo_64x64_service_gardens_AW_01_R8D1.prefab");
						if ((Object)(object)loadedAsset11 != (Object)null)
						{
							foreach (LG_Plug componentsInChild14 in loadedAsset11.GetComponentsInChildren<LG_Plug>())
							{
								if (((Object)componentsInChild14).name == "Gate 4")
								{
									((Component)componentsInChild14).transform.localEulerAngles = new Vector3(0f, 90f, 0f);
									((Component)componentsInChild14).transform.localPosition = new Vector3(11.11f, 0f, 1.67f);
								}
							}
							foreach (LG_PrefabSpawner componentsInChild15 in loadedAsset11.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)((Component)componentsInChild15).transform).name.Contains("Pillar_a_1x1x5"))
								{
									if (((Component)componentsInChild15).transform.localPosition == new Vector3(7.89f, -0.15f, -6.49f))
									{
										((Component)componentsInChild15).transform.localPosition = new Vector3(7.89f, -0.95f, -6.69f);
										((Component)componentsInChild15).transform.localScale = new Vector3(0.4413f, 1.311f, 1.5284f);
									}
									if (((Component)componentsInChild15).transform.localPosition == new Vector3(7.89f, 4.298f, -6.49f))
									{
										((Component)componentsInChild15).transform.localPosition = new Vector3(7.89f, 4.298f, -6.79f);
									}
								}
								if (((Object)((Component)componentsInChild15).transform).name.Contains("Wall_b_6x5") && ((Component)componentsInChild15).transform.localPosition == new Vector3(3.94f, -5.071f, -7.51f))
								{
									Transform transform9 = ((Component)componentsInChild15).transform;
									transform9.localScale += new Vector3(0f, 0f, 0.2f);
								}
							}
						}
						GameObject loadedAsset12 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Plugs/env_plug_8mheight_elev25dm_with_gate_floodways_01.prefab");
						if ((Object)(object)loadedAsset12 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild16 in loadedAsset12.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)((Component)componentsInChild16).transform.parent).name == "Behind" && ((Object)componentsInChild16).name == "LG_PrefabSpawner_ServiceCorridor_Ground_05x6_center (1)")
								{
									Transform transform10 = ((Component)componentsInChild16).transform;
									transform10.localPosition += new Vector3(0f, 0f, -0.1f);
									Transform transform11 = ((Component)componentsInChild16).transform;
									transform11.localScale += new Vector3(0f, 0f, 0.05f);
								}
							}
						}
						GameObject loadedAsset13 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Geomorphs/Gardens/geo_64x64_service_gardens_HA_03.prefab");
						if ((Object)(object)loadedAsset13 != (Object)null)
						{
							foreach (Transform componentsInChild17 in loadedAsset13.GetComponentsInChildren<Transform>())
							{
								if (!(((Object)componentsInChild17).name == "Area C"))
								{
									continue;
								}
								foreach (LG_PrefabSpawner componentsInChild18 in ((Component)componentsInChild17).GetComponentsInChildren<LG_PrefabSpawner>())
								{
									if (((Object)componentsInChild18).name.Contains("Lab_Floor_a_400x400_01 (4)"))
									{
										componentsInChild17.localPosition += new Vector3(0f, 0f, -0.1f);
									}
								}
							}
						}
						enumerator2 = AssetShardManager.s_loadedAssetsLookup.GetEnumerator();
						while (enumerator2.MoveNext())
						{
							KeyValuePair<string, Object> current20 = enumerator2.Current;
							if (!current20.Key.ToLower().Contains("gardens"))
							{
								continue;
							}
							foreach (LG_PrefabSpawner componentsInChild19 in ((Il2CppObjectBase)current20.Value).TryCast<GameObject>().GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)componentsInChild19).name.ToLower().Contains("gardens_lab_floor_a") && Object.op_Implicit((Object)(object)componentsInChild19.m_prefab.GetComponentInChildren<Collider>()))
								{
									((Component)componentsInChild19.m_prefab.GetComponentInChildren<Collider>()).transform.localScale = new Vector3(1.07f, 1f, 1.07f);
								}
								if (((Object)componentsInChild19).name.ToLower().Contains("gardens_lab_block_a") && Object.op_Implicit((Object)(object)componentsInChild19.m_prefab.GetComponentInChildren<Collider>()))
								{
									Object.Destroy((Object)(object)componentsInChild19.m_prefab.GetComponentInChildren<Collider>());
								}
								if (((Object)componentsInChild19).name.Contains("BP_Gardens_Lab_Column_a") || ((Object)componentsInChild19).name.Contains("BP_Gardens_Lab_TechShell_a"))
								{
									foreach (MeshCollider componentsInChild20 in componentsInChild19.m_prefab.GetComponentsInChildren<MeshCollider>())
									{
										if (!((Object)(object)componentsInChild20.sharedMesh == (Object)null))
										{
											continue;
										}
										Mesh val = null;
										foreach (MeshFilter componentsInChild21 in ((Component)((Component)componentsInChild20).transform.parent).GetComponentsInChildren<MeshFilter>())
										{
											if ((Object)(object)componentsInChild21.sharedMesh != (Object)null)
											{
												val = componentsInChild21.sharedMesh;
											}
										}
										if ((Object)(object)val != (Object)null)
										{
											componentsInChild20.sharedMesh = val;
										}
									}
								}
								if (!((Object)componentsInChild19).name.Contains("BP_Gardens_Lab_Device_a_ControlPanel_100x160") || componentsInChild19.m_prefab.GetComponentsInChildren<LODGroup>().Count <= 0)
								{
									continue;
								}
								foreach (LODGroup componentsInChild22 in componentsInChild19.m_prefab.GetComponentsInChildren<LODGroup>())
								{
									Object.Destroy((Object)(object)componentsInChild22);
								}
							}
						}
						ServiceFixed = true;
					}
					if (!current7.Key.Contains("Complex_Tech") || TechFixed)
					{
						continue;
					}
					GameObject loadedAsset14 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Markers/MarkerCompositions/DataCenter_large_2600x4400x800/DataCenter_large_2600x4400x800_HA_06.prefab");
					if ((Object)(object)loadedAsset14 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild23 in loadedAsset14.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)((Component)componentsInChild23).transform).name.Contains("6x6_Floor") && ((Component)componentsInChild23).transform.localPosition == new Vector3(20.004f, -0.886f, -6.998f))
							{
								Transform transform12 = ((Component)componentsInChild23).transform;
								transform12.localEulerAngles += new Vector3(-4f, 0f, 0f);
								((Component)componentsInChild23).transform.localScale = new Vector3(0.7951f, ((Component)componentsInChild23).transform.localScale.y, ((Component)componentsInChild23).transform.localScale.z);
							}
						}
					}
					GameObject loadedAsset15 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Markers/MarkerCompositions/DataCenter_medium_long_1600x3800x800/DataCenter_medium_long_1600x3800x800_HA_01.prefab");
					if ((Object)(object)loadedAsset15 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild24 in loadedAsset15.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							bool flag = false;
							if (((Object)((Component)componentsInChild24).transform).name == "LG_PrefabSpawner_BuildingPart_DataCenter_Floor_4x4_Room_a (3)")
							{
								flag = true;
							}
							if (((Object)((Component)componentsInChild24).transform).name == "LG_PrefabSpawner_BuildingPart_DataCenter_Floor_4x4_Room_a (4)")
							{
								flag = true;
							}
							if (((Object)((Component)componentsInChild24).transform).name == "LG_PrefabSpawner_BuildingPart_DataCenter_Floor_4x4_Room_a (5)")
							{
								flag = true;
							}
							if (flag)
							{
								Transform transform13 = ((Component)componentsInChild24).transform;
								transform13.localScale += new Vector3(0.5f, 0f, 0f);
								Transform transform14 = ((Component)componentsInChild24).transform;
								transform14.position += new Vector3(-0.1f, -0.05f, 0f);
							}
						}
					}
					GameObject loadedAsset16 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Markers/MarkerCompositions/DataCenter_medium_I_1600x1600x800/DataCenter_medium_I_1600x1600x800_HA_03.prefab");
					if ((Object)(object)loadedAsset16 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild25 in loadedAsset16.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)((Component)componentsInChild25).transform).name.Contains("Floor") && ((Component)componentsInChild25).transform.localPosition == new Vector3(6f, 0f, 7.92f))
							{
								((Component)componentsInChild25).transform.localPosition = new Vector3(6f, 0f, 9.02f);
								((Component)componentsInChild25).transform.localScale = new Vector3(2f, 1f, 2f);
							}
						}
					}
					GameObject loadedAsset17 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Geomorphs/geo_64x64_tech_lab_HA_09.prefab");
					if ((Object)(object)loadedAsset17 != (Object)null)
					{
						foreach (Transform componentsInChild26 in loadedAsset17.GetComponentsInChildren<Transform>())
						{
							if (((Object)componentsInChild26).name == "Area A")
							{
								GameObject val2 = GameObject.CreatePrimitive((PrimitiveType)3);
								val2.transform.localPosition = Vector3.zero;
								val2.transform.parent = componentsInChild26;
								val2.transform.localPosition = new Vector3(-2.685f, -0.052f, 4.664f);
								val2.transform.localScale = new Vector3(0.7f, 0.1f, 0.7f);
								val2.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
								((Object)val2).name = "fd_was_here_lol";
								deletelist.Add(val2);
							}
						}
					}
					GameObject loadedAsset18 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Plugs/env_plug_8mheight_flat_tech_with_gate_01.prefab");
					if ((Object)(object)loadedAsset18 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild27 in loadedAsset18.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)((Component)componentsInChild27).transform.parent).name == "behind" && ((Object)((Component)componentsInChild27).transform).name == "LG_PrefabSpawner_BuildingPart_DataCenter_6x6_FloorPlate_a (3)")
							{
								Transform transform15 = ((Component)componentsInChild27).transform;
								transform15.localScale += new Vector3(0.1f, 0f, 0f);
								Transform transform16 = ((Component)componentsInChild27).transform;
								transform16.localPosition += new Vector3(0f, 0.01f, 0f);
							}
						}
					}
					GameObject loadedAsset19 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Geomorphs/geo_64x64_tech_data_center_hub_JG_02_v2.prefab");
					if ((Object)(object)loadedAsset19 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild28 in loadedAsset19.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)componentsInChild28).name == "LG_PrefabSpawner_BuildingPart_DataCenter_2x4_Block_a (72)" && ((Object)((Component)componentsInChild28).transform.parent).name == "StairCase (2)")
							{
								Transform transform17 = ((Component)componentsInChild28).transform;
								transform17.localScale += new Vector3(0.7f, 0f, 0f);
							}
						}
					}
					GameObject loadedAsset20 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Plugs/env_plug_8mheight_cap_lab_02.prefab");
					if ((Object)(object)loadedAsset20 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild29 in loadedAsset20.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)((Component)componentsInChild29).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Floor_edge_1x4 (4)")
							{
								Transform transform18 = ((Component)componentsInChild29).transform;
								transform18.localPosition += new Vector3(0f, 0f, -0.2f);
							}
							if (((Object)((Component)componentsInChild29).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Floor_edge_1x4 (5)")
							{
								Transform transform19 = ((Component)componentsInChild29).transform;
								transform19.localPosition += new Vector3(0f, 0f, -0.2f);
							}
							if (((Object)((Component)componentsInChild29).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Wall_4x4_solid_a (3)")
							{
								Transform transform20 = ((Component)componentsInChild29).transform;
								transform20.localPosition += new Vector3(0f, 0f, -0.1f);
							}
							if (((Object)((Component)componentsInChild29).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Wall_4x4_solid_a (4)")
							{
								Transform transform21 = ((Component)componentsInChild29).transform;
								transform21.localPosition += new Vector3(0f, 0f, -0.1f);
							}
							if (((Object)((Component)componentsInChild29).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Wall_4x4_solid_a (5)")
							{
								Transform transform22 = ((Component)componentsInChild29).transform;
								transform22.localPosition += new Vector3(0f, 0f, -0.1f);
								componentsInChild29.m_disableCollision = true;
							}
							if (((Object)((Component)componentsInChild29).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Floor_2x4_a" && ((Component)componentsInChild29).transform.localPosition == new Vector3(-4.393f, -0.569f, -3.543f))
							{
								Transform transform23 = ((Component)componentsInChild29).transform;
								transform23.localPosition += new Vector3(0f, 0.05f, 0f);
							}
						}
					}
					GameObject loadedAsset21 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Geomorphs/geo_64x64_tech_lab_hub_HA_02_R8B1.prefab");
					if ((Object)(object)loadedAsset21 != (Object)null)
					{
						foreach (Transform componentsInChild30 in loadedAsset21.GetComponentsInChildren<Transform>())
						{
							if (((Object)componentsInChild30).name.Contains("Blood Pool"))
							{
								componentsInChild30.localPosition += new Vector3(0f, 0.005f, 0f);
								if ((Object)(object)((Component)componentsInChild30).GetComponent<MeshRenderer>() != (Object)null)
								{
									((Renderer)((Component)componentsInChild30).GetComponent<MeshRenderer>()).castShadows = false;
								}
							}
						}
					}
					GameObject loadedAsset22 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Geomorphs/geo_64x64_tech_lab_hub_LF_03_R8C2.prefab");
					if ((Object)(object)loadedAsset22 != (Object)null)
					{
						foreach (Transform componentsInChild31 in loadedAsset22.GetComponentsInChildren<Transform>())
						{
							if (((Object)componentsInChild31).name.Contains("Blood") && (Object)(object)((Component)componentsInChild31).GetComponent<MeshRenderer>() != (Object)null)
							{
								((Renderer)((Component)componentsInChild31).GetComponent<MeshRenderer>()).castShadows = false;
							}
						}
					}
					TechFixed = true;
				}
			}

			[HarmonyPatch(typeof(NavMeshBuilder), "UpdateNavMeshDataAsync")]
			[HarmonyPrefix]
			private static void PreUpdateNavMeshDataAsync(NavMeshData data, ref NavMeshBuildSettings buildSettings, List<NavMeshBuildSource> sources, Bounds localBounds)
			{
				//IL_001a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0020: Expected O, but got Unknown
				if (!_navmeshFix.Value)
				{
					return;
				}
				ManualLogSource l = L;
				if (l != null)
				{
					bool flag = default(bool);
					BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(38, 0, ref flag);
					if (flag)
					{
						((BepInExLogInterpolatedStringHandler)val).AppendLiteral("tweaking navmesh generation settings..");
					}
					l.LogInfo(val);
				}
				((NavMeshBuildSettings)(ref buildSettings)).agentRadius = 0.25f;
				((NavMeshBuildSettings)(ref buildSettings)).agentClimb = 0.5f;
				((NavMeshBuildSettings)(ref buildSettings)).agentSlope = 65f;
				((NavMeshBuildSettings)(ref buildSettings)).overrideTileSize = true;
				((NavMeshBuildSettings)(ref buildSettings)).overrideVoxelSize = true;
				((NavMeshBuildSettings)(ref buildSettings)).voxelSize = 0.06f;
				((NavMeshBuildSettings)(ref buildSettings)).tileSize = 56;
			}

			[HarmonyPatch(typeof(LG_LoadComplexDataSetResourcesJob), "Build")]
			[HarmonyPrefix]
			private static void SetPlugsDoneFalse(LG_LoadComplexDataSetResourcesJob __instance)
			{
				plugsdone = false;
				geosdone = false;
			}

			[HarmonyPatch(typeof(LG_Pillar), "OnBuild")]
			[HarmonyPostfix]
			[HarmonyWrapSafe]
			private static void PillarPostfix(LG_Pillar __instance)
			{
				foreach (Collider componentsInChild in ((Component)((Component)__instance).transform).gameObject.GetComponentsInChildren<Collider>())
				{
					((Component)((Component)componentsInChild).transform).gameObject.layer = LayerManager.LAYER_DEFAULT_BLOCKGRAPH;
				}
			}

			[HarmonyPatch(typeof(LG_LateGeomorphScanJob), "Build")]
			[HarmonyPrefix]
			[HarmonyWrapSafe]
			private static void Prefix(LG_LateGeomorphScanJob __instance)
			{
				//IL_002c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0031: Unknown result type (might be due to invalid IL or missing references)
				//IL_0032: Unknown result type (might be due to invalid IL or missing references)
				//IL_0034: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_0042: 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_004f: Expected O, but got Unknown
				//IL_0056: Unknown result type (might be due to invalid IL or missing references)
				//IL_0062: Expected O, but got Unknown
				//IL_0137: Unknown result type (might be due to invalid IL or missing references)
				//IL_0189: Unknown result type (might be due to invalid IL or missing references)
				//IL_0172: 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_0182: Unknown result type (might be due to invalid IL or missing references)
				//IL_4a10: Unknown result type (might be due to invalid IL or missing references)
				//IL_4a17: Expected O, but got Unknown
				//IL_0242: Unknown result type (might be due to invalid IL or missing references)
				//IL_0256: Unknown result type (might be due to invalid IL or missing references)
				//IL_025b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0297: Unknown result type (might be due to invalid IL or missing references)
				//IL_0301: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_033d: Unknown result type (might be due to invalid IL or missing references)
				//IL_04a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_04bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_04f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0513: Unknown result type (might be due to invalid IL or missing references)
				//IL_0533: Unknown result type (might be due to invalid IL or missing references)
				//IL_0575: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_05cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_05eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_062d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0663: 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_06a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_06e5: Unknown result type (might be due to invalid IL or missing references)
				//IL_071b: Unknown result type (might be due to invalid IL or missing references)
				//IL_073b: Unknown result type (might be due to invalid IL or missing references)
				//IL_075b: Unknown result type (might be due to invalid IL or missing references)
				//IL_079d: Unknown result type (might be due to invalid IL or missing references)
				//IL_07d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_07f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0813: Unknown result type (might be due to invalid IL or missing references)
				//IL_097e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0999: 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_09ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a0f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a4e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a7f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a9e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0abd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bcd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0be1: 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_0409: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c14: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c28: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c2d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0890: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a4: Unknown result type (might be due to invalid IL or missing references)
				//IL_08a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_08c9: Unknown result type (might be due to invalid IL or missing references)
				//IL_08dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_08e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_456b: Unknown result type (might be due to invalid IL or missing references)
				//IL_4570: Unknown result type (might be due to invalid IL or missing references)
				//IL_458d: Unknown result type (might be due to invalid IL or missing references)
				//IL_45b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_45c7: Unknown result type (might be due to invalid IL or missing references)
				//IL_45d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_45e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_45f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_463f: Unknown result type (might be due to invalid IL or missing references)
				//IL_4656: Unknown result type (might be due to invalid IL or missing references)
				//IL_4667: Unknown result type (might be due to invalid IL or missing references)
				//IL_4671: Unknown result type (might be due to invalid IL or missing references)
				//IL_4685: Unknown result type (might be due to invalid IL or missing references)
				//IL_46ce: Unknown result type (might be due to invalid IL or missing references)
				//IL_46df: Unknown result type (might be due to invalid IL or missing references)
				//IL_46f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_4700: Unknown result type (might be due to invalid IL or missing references)
				//IL_4714: Unknown result type (might be due to invalid IL or missing references)
				//IL_475d: Unknown result type (might be due to invalid IL or missing references)
				//IL_476e: Unknown result type (might be due to invalid IL or missing references)
				//IL_477f: Unknown result type (might be due to invalid IL or missing references)
				//IL_478f: Unknown result type (might be due to invalid IL or missing references)
				//IL_47a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_4804: Unknown result type (might be due to invalid IL or missing references)
				//IL_4936: Unknown result type (might be due to invalid IL or missing references)
				//IL_124e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1286: Unknown result type (might be due to invalid IL or missing references)
				//IL_12a6: Unknown result type (might be due to invalid IL or missing references)
				//IL_11cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_11df: Unknown result type (might be due to invalid IL or missing references)
				//IL_11e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_120e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1213: Unknown result type (might be due to invalid IL or missing references)
				//IL_130e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1333: Unknown result type (might be due to invalid IL or missing references)
				//IL_1347: Unknown result type (might be due to invalid IL or missing references)
				//IL_134c: Unknown result type (might be due to invalid IL or missing references)
				//IL_13ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_1427: Unknown result type (might be due to invalid IL or missing references)
				//IL_143b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1478: Unknown result type (might be due to invalid IL or missing references)
				//IL_1498: Unknown result type (might be due to invalid IL or missing references)
				//IL_1578: Unknown result type (might be due to invalid IL or missing references)
				//IL_159a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1515: Unknown result type (might be due to invalid IL or missing references)
				//IL_152d: Unknown result type (might be due to invalid IL or missing references)
				//IL_1608: Unknown result type (might be due to invalid IL or missing references)
				//IL_1638: Unknown result type (might be due to invalid IL or missing references)
				//IL_1620: Unknown result type (might be due to invalid IL or missing references)
				//IL_17e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_17f8: Unknown result type (might be due to invalid IL or missing references)
				//IL_183b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1858: Unknown result type (might be due to invalid IL or missing references)
				//IL_19be: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a98: Unknown result type (might be due to invalid IL or missing references)
				//IL_19db: Unknown result type (might be due to invalid IL or missing references)
				//IL_1cbb: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ade: Unknown result type (might be due to invalid IL or missing references)
				//IL_1af9: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d50: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d64: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d0a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d1e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b30: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b47: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b5a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b64: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b83: Unknown result type (might be due to invalid IL or missing references)
				//IL_1da1: Unknown result type (might be due to invalid IL or missing references)
				//IL_1db5: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c28: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e44: Unknown result type (might be due to invalid IL or missing references)
				//IL_1dce: Unknown result type (might be due to invalid IL or missing references)
				//IL_1de2: Unknown result type (might be due to invalid IL or missing references)
				//IL_1de7: Unknown result type (might be due to invalid IL or missing references)
				//IL_1dfe: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e12: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e17: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c45: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c62: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c7f: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ec4: Unknown result type (might be due to invalid IL or missing references)
				//IL_21af: Unknown result type (might be due to invalid IL or missing references)
				//IL_21c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f0c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f4e: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f62: Unknown result type (might be due to invalid IL or missing references)
				//IL_208e: Unknown result type (might be due to invalid IL or missing references)
				//IL_20ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f87: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fd3: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fe5: Unknown result type (might be due to invalid IL or missing references)
				//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_201e: Unknown result type (might be due to invalid IL or missing references)
				//IL_203e: Unknown result type (might be due to invalid IL or missing references)
				//IL_20d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_20f8: Unknown result type (might be due to invalid IL or missing references)
				//IL_2263: Unknown result type (might be due to invalid IL or missing references)
				//IL_211d: Unknown result type (might be due to invalid IL or missing references)
				//IL_2142: Unknown result type (might be due to invalid IL or missing references)
				//IL_22bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_22d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_22e9: Unknown result type (might be due to invalid IL or missing references)
				//IL_22fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_26eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_26ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_271d: Unknown result type (might be due to invalid IL or missing references)
				//IL_2731: Unknown result type (might be due to invalid IL or missing references)
				//IL_2736: Unknown result type (might be due to invalid IL or missing references)
				//IL_2813: Unknown result type (might be due to invalid IL or missing references)
				//IL_2827: Unknown result type (might be due to invalid IL or missing references)
				//IL_282c: Unknown result type (might be due to invalid IL or missing references)
				//IL_2874: Unknown result type (might be due to invalid IL or missing references)
				//IL_28e5: Unknown result type (might be due to invalid IL or missing references)
				//IL_28f9: Unknown result type (might be due to invalid IL or missing references)
				//IL_2891: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c6f: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c83: Unknown result type (might be due to invalid IL or missing references)
				//IL_2956: Unknown result type (might be due to invalid IL or missing references)
				//IL_2993: Unknown result type (might be due to invalid IL or missing references)
				//IL_29b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_29d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a15: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a52: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a72: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a92: Unknown result type (might be due to invalid IL or missing references)
				//IL_2ad4: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b07: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b27: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b47: Unknown result type (might be due to invalid IL or missing references)
				//IL_2bad: Unknown result type (might be due to invalid IL or missing references)
				//IL_2bcd: Unknown result type (might be due to invalid IL or missing references)
				//IL_2bdc: Unknown result type (might be due to invalid IL or missing references)
				//IL_2be3: Expected O, but got Unknown
				//IL_2c0c: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c2c: Unknown result type (might be due to invalid IL or missing references)
				//IL_291b: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d58: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d6c: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d71: Unknown result type (might be due to invalid IL or missing references)
				//IL_2da3: Unknown result type (might be due to invalid IL or missing references)
				//IL_2db7: Unknown result type (might be due to invalid IL or missing references)
				//IL_2dde: Unknown result type (might be due to invalid IL or missing references)
				//IL_2eeb: Unknown result type (might be due to invalid IL or missing references)
				//IL_2eff: Unknown result type (might be due to invalid IL or missing references)
				//IL_2f6b: Unknown result type (might be due to invalid IL or missing references)
				//IL_2f7f: Unknown result type (might be due to invalid IL or missing references)
				//IL_3040: Unknown result type (might be due to invalid IL or missing references)
				//IL_3054: Unknown result type (might be due to invalid IL or missing references)
				//IL_2fd1: Unknown result type (might be due to invalid IL or missing references)
				//IL_2fe5: Unknown result type (might be due to invalid IL or missing references)
				//IL_30b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_30c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_3072: Unknown result type (might be due to invalid IL or missing references)
				//IL_3086: Unknown result type (might be due to invalid IL or missing references)
				//IL_308b: Unknown result type (might be due to invalid IL or missing references)
				//IL_2ffe: Unknown result type (might be due to invalid IL or missing references)
				//IL_3012: Unknown result type (might be due to invalid IL or missing references)
				//IL_3017: Unknown result type (might be due to invalid IL or missing references)
				//IL_3128: Unknown result type (might be due to invalid IL or missing references)
				//IL_313c: Unknown result type (might be due to invalid IL or missing references)
				//IL_30e6: Unknown result type (might be due to invalid IL or missing references)
				//IL_30fa: Unknown result type (might be due to invalid IL or missing references)
				//IL_30ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_328f: Unknown result type (might be due to invalid IL or missing references)
				//IL_32a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_324d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3261: Unknown result type (might be due to invalid IL or missing references)
				//IL_3150: Unknown result type (might be due to invalid IL or missing references)
				//IL_3164: Unknown result type (might be due to invalid IL or missing references)
				//IL_3169: Unknown result type (might be due to invalid IL or missing references)
				//IL_334c: Unknown result type (might be due to invalid IL or missing references)
				//IL_3360: Unknown result type (might be due to invalid IL or missing references)
				//IL_337e: Unknown result type (might be due to invalid IL or missing references)
				//IL_33b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_33d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_3477: Unknown result type (might be due to invalid IL or missing references)
				//IL_348b: Unknown result type (might be due to invalid IL or missing references)
				//IL_34a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_34bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_34c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_352a: Unknown result type (might be due to invalid IL or missing references)
				//IL_3561: Unknown result type (might be due to invalid IL or missing references)
				//IL_3591: Unknown result type (might be due to invalid IL or missing references)
				//IL_35b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_35cd: Unknown result type (might be due to invalid IL or missing references)
				//IL_35d2: Unknown result type (might be due to invalid IL or missing references)
				//IL_35d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_35e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_35fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_3603: Unknown result type (might be due to invalid IL or missing references)
				//IL_3607: Unknown result type (might be due to invalid IL or missing references)
				//IL_3617: Unknown result type (might be due to invalid IL or missing references)
				//IL_361c: Unknown result type (might be due to invalid IL or missing references)
				//IL_362d: Unknown result type (might be due to invalid IL or missing references)
				//IL_364a: Unknown result type (might be due to invalid IL or missing references)
				//IL_364f: Unknown result type (might be due to invalid IL or missing references)
				//IL_3653: Unknown result type (might be due to invalid IL or missing references)
				//IL_3662: Unknown result type (might be due to invalid IL or missing references)
				//IL_3573: Unknown result type (might be due to invalid IL or missing references)
				//IL_3578: Unknown result type (might be due to invalid IL or missing references)
				//IL_357c: Unknown result type (might be due to invalid IL or missing references)
				//IL_37a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_37b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_384a: Unknown result type (might be due to invalid IL or missing references)
				//IL_385e: Unknown result type (might be due to invalid IL or missing references)
				//IL_3863: Unknown result type (might be due to invalid IL or missing references)
				//IL_37c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_37dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_37e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_3962: Unknown result type (might be due to invalid IL or missing references)
				//IL_38db: Unknown result type (might be due to invalid IL or missing references)
				//IL_38ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_390d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3921: Unknown result type (might be due to invalid IL or missing references)
				//IL_3926: Unknown result type (might be due to invalid IL or missing references)
				//IL_39a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_39fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_3aaf: Unknown result type (might be due to invalid IL or missing references)
				//IL_3ac3: Unknown result type (might be due to invalid IL or missing references)
				//IL_3a1f: Unknown result type (might be due to invalid IL or missing references)
				//IL_3a64: Unknown result type (might be due to invalid IL or missing references)
				//IL_3a78: Unknown result type (might be due to invalid IL or missing references)
				//IL_3a7d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3b69: Unknown result type (might be due to invalid IL or missing references)
				//IL_3b7d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3cfd: Unknown result type (might be due to invalid IL or missing references)
				//IL_3d11: Unknown result type (might be due to invalid IL or missing references)
				//IL_3d16: Unknown result type (might be due to invalid IL or missing references)
				//IL_3d2d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3d41: Unknown result type (might be due to invalid IL or missing references)
				//IL_3d46: Unknown result type (might be due to invalid IL or missing references)
				//IL_3c6f: Unknown result type (might be due to invalid IL or missing references)
				//IL_3c83: Unknown result type (might be due to invalid IL or missing references)
				//IL_3cb1: Unknown result type (might be due to invalid IL or missing references)
				//IL_3cc5: Unknown result type (might be due to invalid IL or missing references)
				//IL_3da8: Unknown result type (might be due to invalid IL or missing references)
				//IL_3dbc: Unknown result type (might be due to invalid IL or missing references)
				//IL_3e20: Unknown result type (might be due to invalid IL or missing references)
				//IL_3e34: Unknown result type (might be due to invalid IL or missing references)
				//IL_3dd0: Unknown result type (might be due to invalid IL or missing references)
				//IL_3de4: Unknown result type (might be due to invalid IL or missing references)
				//IL_3de9: Unknown result type (might be due to invalid IL or missing references)
				//IL_3ea0: Unknown result type (might be due to invalid IL or missing references)
				//IL_3fa6: Unknown result type (might be due to invalid IL or missing references)
				//IL_3ed4: Unknown result type (might be due to invalid IL or missing references)
				//IL_3f11: Unknown result type (might be due to invalid IL or missing references)
				//IL_3f31: Unknown result type (might be due to invalid IL or missing references)
				//IL_4073: Unknown result type (might be due to invalid IL or missing references)
				//IL_4023: Unknown result type (might be due to invalid IL or missing references)
				//IL_4037: Unknown result type (might be due to invalid IL or missing references)
				//IL_403c: Unknown result type (might be due to invalid IL or missing references)
				//IL_40af: Unknown result type (might be due to invalid IL or missing references)
				//IL_40c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_40dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_40f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_40f5: Unknown result type (might be due to invalid IL or missing references)
				//IL_41c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_41d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_41da: Unknown result type (might be due to invalid IL or missing references)
				//IL_420c: Unknown result type (might be due to invalid IL or missing references)
				//IL_4220: Unknown result type (might be due to invalid IL or missing references)
				//IL_4239: Unknown result type (might be due to invalid IL or missing references)
				//IL_424d: Unknown result type (might be due to invalid IL or missing references)
				//IL_4252: Unknown result type (might be due to invalid IL or missing references)
				if (!__instance.m_specialNodesDone)
				{
					foreach (AIG_SpecialTraversalNode componentsInChild in ((Component)Builder.CurrentFloor).GetComponentsInChildren<AIG_SpecialTraversalNode>())
					{
						eDimensionIndex dimensionIndex = ((Component)componentsInChild).GetComponentInParent<LG_Geomorph>().m_zone.m_dimensionIndex;
						if (dimensionIndex == __instance.m_dimensionIndex)
						{
							LG_Factory.InjectJob((LG_FactoryJob)new LG_SpecialNodeFindSourceJob(componentsInChild, __instance.m_nodeVolume, dimensionIndex), (BatchName)31);
							LG_Factory.InjectJob((LG_FactoryJob)new LG_SpecialNodeLinkIntoVolumeJob(componentsInChild, __instance.m_nodeVolume), (BatchName)32);
						}
						__instance.m_specialNodesDone = true;
					}
				}
				if (geosdone)
				{
					return;
				}
				geosdone = true;
				foreach (Decal componentsInChild2 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<Decal>())
				{
					Vector3 localEulerAngles = Vector3.zero;
					Vector3 localEulerAngles2 = ((Component)componentsInChild2).transform.localEulerAngles;
					if (((Object)((Component)componentsInChild2).transform.parent).name.Contains("corpse_edge"))
					{
						((Vector3)(ref localEulerAngles))..ctor(315f, 0f, 0f);
					}
					if (((Object)((Component)componentsInChild2).transform.parent).name.Contains("corpse_floor_85x195x35"))
					{
						((Vector3)(ref localEulerAngles))..ctor(270f, 0f, 0f);
					}
					if (((Object)((Component)componentsInChild2).transform).name.Contains("infested_blood_decal") && localEulerAngles2.z == 0f)
					{
						((Vector3)(ref localEulerAngles))..ctor(270f, 0f, 0f);
					}
					if (((Object)((Component)componentsInChild2).transform).name.Contains("infested_blood_decal") && localEulerAngles2.z != 0f)
					{
						localEulerAngles = localEulerAngles2;
					}
					((Component)componentsInChild2).transform.localEulerAngles = localEulerAngles;
				}
				if (_navmeshFix.Value)
				{
					foreach (LG_AreaAIGraphSource componentsInChild3 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<LG_AreaAIGraphSource>())
					{
						string text = string.Join("/", ((IEnumerable<Transform>)((Component)((Component)componentsInChild3).transform).GetComponentsInParent<Transform>()).Select((Transform t) => ((Object)t).name.ToLower()).Reverse().ToArray());
						if (text.Contains("geo_64x64_tech_datacenter_i_rlc_01") && text.Contains("area a"))
						{
							Transform transform = ((Component)componentsInChild3).transform;
							transform.localPosition += new Vector3(0f, 0f, -22f);
						}
						if (text.Contains("vs_03_controlroom") && text.Contains("area a"))
						{
							((Component)componentsInChild3).transform.localPosition = new Vector3(-14.5f, 2f, 0f);
						}
						if (text.Contains("mining_dig_site_as_04") && text.Contains("area_i"))
						{
							((Component)componentsInChild3).transform.localPosition = new Vector3(-4.52f, 1.93f, -3.18f);
						}
						if (text.Contains("geo_64x64_service_floodways_hub_sf_01_r8d1"))
						{
							((Component)componentsInChild3).transform.localPosition = new Vector3(5f, 2f, -16f);
						}
						if (text.Contains("geo_64x64_service_gardens_jg_01") && text.Contains("area b"))
						{
							((Component)componentsInChild3).transform.localPosition = new Vector3(8.5f, 2f, -2f);
						}
					}
					foreach (LG_Geomorph componentsInChild4 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<LG_Geomorph>())
					{
						if (((Object)((Component)componentsInChild4).transform).name.Contains("geo_64x64_service_gardens_SF_01"))
						{
							foreach (LG_Area componentsInChild5 in ((Component)componentsInChild4).GetComponentsInChildren<LG_Area>())
							{
								if (!((Object)((Component)componentsInChild5).transform).name.Contains("Area C"))
								{
									continue;
								}
								foreach (Transform componentsInChild6 in ((Component)componentsInChild5).GetComponentsInChildren<Transform>())
								{
									if (((Object)componentsInChild6).name == "marker (15)")
									{
										componentsInChild6.localPosition = new Vector3(-8.7412f, -0.045f, 11.342f);
									}
								}
							}
						}
						if (((Object)((Component)componentsInChild4).transform).name.Contains("Dimension_Desert_Mining_Shaft"))
						{
							foreach (LG_Area componentsInChild7 in ((Component)componentsInChild4).GetComponentsInChildren<LG_Area>())
							{
								if (((Object)((Component)componentsInChild7).transform).name.Contains("Area A"))
								{
									float y = ((Component)componentsInChild7).transform.parent.localPosition.y;
									GameObject val = GameObject.CreatePrimitive((PrimitiveType)3);
									val.transform.localPosition = Vector3.zero;
									val.transform.parent = ((Component)componentsInChild7).transform;
									val.transform.position = new Vector3(0f, y - 10.5f, 27.5f);
									val.transform.localScale = new Vector3(54f, 4f, 1f);
									val.transform.localEulerAngles = new Vector3(0f, 90f, 0f);
									val.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val).name = "fd_was_here_lol";
									deletelist.Add(val);
									GameObject val2 = GameObject.CreatePrimitive((PrimitiveType)3);
									val2.transform.localPosition = Vector3.zero;
									val2.transform.parent = ((Component)componentsInChild7).transform;
									val2.transform.position = new Vector3(-21f, y + 14f, -32f);
									val2.transform.localScale = new Vector3(20f, 3f, 1f);
									val2.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
									val2.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val2).name = "fd_was_here_lol";
									deletelist.Add(val2);
									GameObject val3 = GameObject.CreatePrimitive((PrimitiveType)3);
									val3.transform.localPosition = Vector3.zero;
									val3.transform.parent = ((Component)componentsInChild7).transform;
									val3.transform.position = new Vector3(-18f, y + 14f, -41.4f);
									val3.transform.localScale = new Vector3(12f, 3f, 1f);
									val3.transform.localEulerAngles = new Vector3(0f, 310f, 0f);
									val3.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val3).name = "fd_was_here_lol";
									deletelist.Add(val3);
									GameObject val4 = GameObject.CreatePrimitive((PrimitiveType)3);
									val4.transform.localPosition = Vector3.zero;
									val4.transform.parent = ((Component)componentsInChild7).transform;
									val4.transform.position = new Vector3(-15f, y - 10.5f, 24f);
									val4.transform.localScale = new Vector3(10f, 4f, 1f);
									val4.transform.localEulerAngles = new Vector3(0f, 45f, 0f);
									val4.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val4).name = "fd_was_here_lol";
									deletelist.Add(val4);
									GameObject val5 = GameObject.CreatePrimitive((PrimitiveType)2);
									val5.transform.localPosition = Vector3.zero;
									val5.transform.parent = ((Component)componentsInChild7).transform;
									val5.transform.position = new Vector3(-6.4f, y + 14f, -27.9f);
									val5.transform.localScale = new Vector3(1f, 1f, 1f);
									val5.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
									val5.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val5).name = "fd_was_here_lol";
									deletelist.Add(val5);
								}
								if (!((Object)((Component)componentsInChild7).transform).name.Contains("Area B"))
								{
									continue;
								}
								foreach (Transform componentsInChild8 in ((Component)componentsInChild7).GetComponentsInChildren<Transform>())
								{
									if (((Object)componentsInChild8).name.Contains("Ladder (6)"))
									{
										componentsInChild8.localPosition += new Vector3(0f, 0f, -0.6f);
									}
									if (((Object)componentsInChild8).name.Contains("Desert_Cliff_Round_Flat_01(Clone)"))
									{
										componentsInChild8.localPosition += new Vector3(0f, 0f, -0.4f);
									}
								}
							}
						}
						if (!((Object)((Component)componentsInChild4).transform).name.Contains("Dimension_Desert_Dune_camp_03"))
						{
							continue;
						}
						foreach (LG_Area componentsInChild9 in ((Component)componentsInChild4).GetComponentsInChildren<LG_Area>())
						{
							if (((Object)((Component)componentsInChild9).transform).name.Contains("AreaA"))
							{
								float y2 = ((Component)componentsInChild9).transform.parent.position.y;
								GameObject val6 = GameObject.CreatePrimitive((PrimitiveType)2);
								val6.transform.localPosition = Vector3.zero;
								val6.transform.parent = ((Component)componentsInChild9).transform;
								val6.transform.position = new Vector3(52.9f, y2 + 5f, 216f);
								val6.transform.localScale = new Vector3(4f, 1f, 4f);
								val6.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
								val6.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
								((Object)val6).name = "fd_was_here_lol";
								deletelist.Add(val6);
								GameObject obj = GameObject.CreatePrimitive((PrimitiveType)5);
								obj.transform.localPosition = Vector3.zero;
								obj.transform.parent = ((Component)componentsInChild9).transform;
								obj.transform.localPosition = new Vector3(118.8f, 1.7f, 61.1305f);
								obj.transform.localScale = new Vector3(20f, 20f, 20f);
								obj.transform.localEulerAngles = new Vector3(90f, 33f, 0f);
								((Renderer)obj.GetComponent<MeshRenderer>()).enabled = false;
								((Object)obj).name = "fd_is_here_to_stay";
							}
						}
					}
					foreach (MeshRenderer componentsInChild10 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<MeshRenderer>())
					{
						string text2 = string.Join("/", ((IEnumerable<Transform>)((Component)((Component)componentsInChild10).transform).GetComponentsInParent<Transform>()).Select((Transform t) => ((Object)t).name.ToLower()).Reverse().ToArray());
						if (text2.Contains("gardens_lab_i_1600x1200x500") && ((Object)componentsInChild10).name.ToLower().Contains("gardens_lab_block_a"))
						{
							((Component)componentsInChild10).gameObject.AddComponent<BoxCollider>();
						}
						if (text2.Contains("geo_64x64_tech_lab_hub_sf_02") && text2.Contains("blooddecal_02 (5)"))
						{
							Transform transform2 = ((Component)componentsInChild10).transform;
							transform2.localPosition += new Vector3(0f, -0.2f, 0f);
						}
						if (text2.Contains("geo_64x64_tech_lab_hub_sf_02") && text2.Contains("blooddecal_02 (10)"))
						{
							Transform transform3 = ((Component)componentsInChild10).transform;
							transform3.localPosition += new Vector3(0f, 0.05f, 0f);
						}
					}
					foreach (Collider componentsInChild11 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<Collider>())
					{
						string text3 = string.Join("/", ((IEnumerable<Transform>)((Component)((Component)componentsInChild11).transform).GetComponentsInParent<Transform>(false)).Select((Transform t) => ((Object)t).name.ToLower()).Reverse().ToArray());
						if (text3.Contains("prop_bcgf_blockgraph"))
						{
							continue;
						}
						bool flag = false;
						if (text3.Contains("concrete_submarker_500x400x800") && text3.Contains("forestground"))
						{
							flag = true;
						}
						if (text3.Contains("flower"))
						{
							flag = true;
						}
						if (text3.Contains("lowbox"))
						{
							flag = true;
						}
						if (text3.Contains("table"))
						{
							flag = true;
						}
						if (text3.Contains("crate"))
						{
							flag = true;
						}
						if (text3.Contains("prop_elec"))
						{
							flag = true;
						}
						if (text3.Contains("shelf"))
						{
							flag = true;
						}
						if (text3.Contains("pillars"))
						{
							flag = true;
						}
						if (text3.Contains("articulated_crane"))
						{
							flag = true;
						}
						if (text3.Contains("industrial_tire_bundle"))
						{
							flag = true;
						}
						if (text3.Contains("bucket_convex"))
						{
							flag = true;
						}
						if (text3.Contains("industrial_barrier_concrete_cube"))
						{
							flag = true;
						}
						if (text3.Contains("mixer_concrete_portable"))
						{
							flag = true;
						}
						if (text3.Contains("industrial_concreteslab"))
						{
							flag = true;
						}
						if (text3.Contains("industrial_ac_unit"))
						{
							flag = true;
						}
						if (text3.Contains("c_digger_truck"))
						{
							flag = true;
						}
						if (text3.Contains("industrial_generator"))
						{
							flag = true;
						}
						if (text3.Contains("industrial_pallet_cage"))
						{
							flag = true;
						}
						if (text3.Contains("industrial_box"))
						{
							flag = true;
						}
						if (text3.Contains("foamroll"))
						{
							flag = true;
						}
						if (text3.Contains("lab_pillar_bend"))
						{
							flag = true;
						}
						if (text3.Contains("workbench"))
						{
							flag = true;
						}
						if (text3.Contains("servercontents"))
						{
							flag = true;
						}
						if (text3.Contains("generic_c_beam_column"))
						{
							flag = true;
						}
						if (text3.Contains("generic_beam_f_column_tjunc"))
						{
							flag = true;
						}
						if (text3.Contains("prop_datacenter_computerconsole_c"))
						{
							flag = true;
						}
						if (text3.Contains("prop_datacenter_computerconsole_d"))
						{
							flag = true;
						}
						if (text3.Contains("floodways_medium_pipe_1"))
						{
							flag = true;
						}
						if (text3.Contains("floodways_large_pipe_1"))
						{
							flag = true;
						}
						if (text3.Contains("device_a_controlpanel"))
						{
							flag = true;
						}
						if (text3.Contains("planters_closed"))
						{
							flag = true;
						}
						if (text3.Contains("planters_dirt"))
						{
							flag = true;
						}
						if (text3.Contains("box_planter"))
						{
							flag = true;
						}
						if (text3.Contains("container_stack_covered"))
						{
							flag = true;
						}
						if (text3.Contains("prop_top_x_tiedstack"))
						{
							flag = true;
						}
						if (text3.Contains("gardens_water_treatment"))
						{
							flag = true;
						}
						if (text3.Contains("gardens_water_tank"))
						{
							flag = true;
						}
						if (text3.Contains("refrigerator"))
						{
							flag = true;
						}
						if (text3.Contains("analyzer"))
						{
							flag = true;
						}
						if (text3.Contains("computerconsole"))
						{
							flag = true;
						}
						if (text3.Contains("datacenter_spool_kit2"))
						{
							flag = true;
						}
						if (text3.Contains("pillarspawnermetalpipe"))
						{
							flag = true;
						}
						if (text3.Contains("forklift_medium"))
						{
							flag = true;
						}
						if (text3.Contains("electronicsterminalconsole_servicecover_shutter"))
						{
							flag = true;
						}
						if (text3.Contains("building_machinekit_tankbottom"))
						{
							flag = true;
						}
						if (text3.Contains("dig_site_submarker_slope_660x360x500_ha_03"))
						{
							flag = true;
						}
						if (text3.Contains("storagepillar_rock"))
						{
							((Component)componentsInChild11).gameObject.layer = LayerManager.LAYER_DEFAULT;
						}
						if (text3.Contains("reactor") && text3.Contains("prop_electronics"))
						{
							flag = false;
						}
						if (text3.Contains("shelf_shelf"))
						{
							flag = false;
						}
						if (text3.Contains("shelf_sheet_cover"))
						{
							flag = false;
						}
						if (text3.Contains("geo_64x64_tech_node_transition_02_jg"))
						{
							flag = false;
						}
						if (text3.Contains("planter_a_c90"))
						{
							flag = false;
						}
						if (text3.Contains("gardens_aw_01") && text3.Contains("gardens_dirt_submarker_120x120x240_v01"))
						{
							flag = false;
						}
						if (text3.Contains("gardens_aw_01") && text3.Contains("area b") && text3.Contains("box_planter"))
						{
							flag = false;
						}
						if (text3.Contains("floodways_open_1400x1000x1000_v06"))
						{
							flag = false;
						}
						if (text3.Contains("geo_64x64_tech_lab_ha_07") && text3.Contains("area b") && (text3.Contains("cableconnector_large") || text3.Contains("pipe")))
						{
							((Component)((Component)componentsInChild11).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
							flag = false;
						}
						if (text3.Contains("c_box_planter_a_c90_2x2_01.002"))
						{
							((Component)((Component)componentsInChild11).transform).gameObject.active = false;
						}
						if (text3