Decompiled source of BorkenCellGeoFix v0.5.2

BorkenCellGeoFix.dll

Decompiled 4 days 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 UnityEngine;
using UnityEngine.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")]
[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.5.2")]
	public class Plugin : BasePlugin
	{
		[HarmonyPatch]
		public class BorkenCellGeoFixPatches
		{
			private static bool plugsdone;

			private static bool geosdone;

			[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_0127: Unknown result type (might be due to invalid IL or missing references)
				//IL_013b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0140: Unknown result type (might be due to invalid IL or missing references)
				//IL_0405: Unknown result type (might be due to invalid IL or missing references)
				//IL_0419: Unknown result type (might be due to invalid IL or missing references)
				//IL_041e: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a52: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a66: 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_049a: Unknown result type (might be due to invalid IL or missing references)
				//IL_049f: Unknown result type (might be due to invalid IL or missing references)
				//IL_022c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0240: Unknown result type (might be due to invalid IL or missing references)
				//IL_0245: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a7a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a8e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a93: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ab0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ac1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0acb: Unknown result type (might be due to invalid IL or missing references)
				//IL_051b: Unknown result type (might be due to invalid IL or missing references)
				//IL_053b: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c5: 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_02dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f0: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c36: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c4a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0358: Unknown result type (might be due to invalid IL or missing references)
				//IL_036c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0371: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d07: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d35: Unknown result type (might be due to invalid IL or missing references)
				//IL_0d55: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c6c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c8c: Unknown result type (might be due to invalid IL or missing references)
				//IL_072b: Unknown result type (might be due to invalid IL or missing references)
				//IL_073f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0744: Unknown result type (might be due to invalid IL or missing references)
				//IL_0756: Unknown result type (might be due to invalid IL or missing references)
				//IL_076a: Unknown result type (might be due to invalid IL or missing references)
				//IL_076f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b7f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b93: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b98: Unknown result type (might be due to invalid IL or missing references)
				//IL_0baa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bbe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bc3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e12: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e26: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e2b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e3d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e51: Unknown result type (might be due to invalid IL or missing references)
				//IL_0e56: Unknown result type (might be due to invalid IL or missing references)
				//IL_0598: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f69: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f7d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0f82: Unknown result type (might be due to invalid IL or missing references)
				//IL_0edf: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ef3: Unknown result type (might be due to invalid IL or missing references)
				//IL_0ef8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0834: Unknown result type (might be due to invalid IL or missing references)
				//IL_065e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0672: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_0613: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ce: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fac: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fc0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fc5: Unknown result type (might be due to invalid IL or missing references)
				//IL_0686: Unknown result type (might be due to invalid IL or missing references)
				//IL_069a: Unknown result type (might be due to invalid IL or missing references)
				//IL_069f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0635: Unknown result type (might be due to invalid IL or missing references)
				//IL_0fef: Unknown result type (might be due to invalid IL or missing references)
				//IL_1003: Unknown result type (might be due to invalid IL or missing references)
				//IL_1008: Unknown result type (might be due to invalid IL or missing references)
				//IL_1032: Unknown result type (might be due to invalid IL or missing references)
				//IL_1046: Unknown result type (might be due to invalid IL or missing references)
				//IL_104b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1075: Unknown result type (might be due to invalid IL or missing references)
				//IL_1089: Unknown result type (might be due to invalid IL or missing references)
				//IL_108e: Unknown result type (might be due to invalid IL or missing references)
				//IL_10bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_10d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_10e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_10fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_1100: 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, AssetShardManifest> enumerator2 = AssetShardManager.s_loadedManifests.GetEnumerator();
				while (enumerator2.MoveNext())
				{
					KeyValuePair<string, AssetShardManifest> current2 = enumerator2.Current;
					if (current2.Key.Contains("Complex_Mining") && !MiningFixed)
					{
						GameObject loadedAsset2 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Geomorphs/Refinery/geo_64x64_mining_refinery_JG_02.prefab");
						if ((Object)(object)loadedAsset2 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild2 in loadedAsset2.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)((Component)componentsInChild2).transform).name == "LG_PrefabSpawner_env_refinery_marker_ground_large_shallow_01 (63)")
								{
									Transform transform = ((Component)componentsInChild2).transform;
									transform.localScale += new Vector3(0f, 0f, 0.1f);
								}
							}
						}
						GameObject loadedAsset3 = 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)loadedAsset3 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild3 in loadedAsset3.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)componentsInChild3).name.ToLower().Contains("ground_medium_flat_01"))
								{
									Transform transform2 = ((Component)componentsInChild3).transform;
									transform2.localScale += new Vector3(0.1f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset4 = 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)loadedAsset4 != (Object)null)
						{
							foreach (Transform componentsInChild4 in loadedAsset4.GetComponentsInChildren<Transform>())
							{
								if (((Object)componentsInChild4).name == "Marker (15)")
								{
									Transform transform3 = ((Component)componentsInChild4).transform;
									transform3.localPosition += new Vector3(1f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset5 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Geomorphs/Storage/geo_64x64_mining_storage_hub_HA_04.prefab");
						if ((Object)(object)loadedAsset5 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild5 in loadedAsset5.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)componentsInChild5).name == "LG_PrefabSpawner_prop_generic_catwalk_platform_d_2m_middle_001 (5)")
								{
									Transform transform4 = ((Component)componentsInChild5).transform;
									transform4.localPosition += new Vector3(0f, 0f, 0.1f);
									Transform transform5 = ((Component)componentsInChild5).transform;
									transform5.localScale += new Vector3(0.1f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset6 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Mining/Plugs/env_plug_8mheight_cap_mining_07.prefab");
						if ((Object)(object)loadedAsset6 != (Object)null)
						{
							foreach (Transform componentsInChild6 in loadedAsset6.GetComponentsInChildren<Transform>())
							{
								if (((Object)componentsInChild6).name == "submarker (1)")
								{
									componentsInChild6.position += new Vector3(0.4f, 0f, 0f);
								}
							}
						}
						MiningFixed = true;
					}
					if (current2.Key.Contains("Complex_Service") && !ServiceFixed)
					{
						GameObject loadedAsset7 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Geomorphs/Gardens/geo_64x64_service_gardens_I_01.prefab");
						if ((Object)(object)loadedAsset7 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild7 in loadedAsset7.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)((Component)componentsInChild7).transform).name == "LG_PrefabSpawner_BP_Gardens_Catwalks_Platform_a_4x4m_001 (15)")
								{
									Transform transform6 = ((Component)componentsInChild7).transform;
									transform6.localScale += new Vector3(0.3f, 0f, 0f);
								}
							}
						}
						GameObject loadedAsset8 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Geomorphs/Gardens/geo_64x64_service_gardens_HA_02.prefab");
						if ((Object)(object)loadedAsset8 != (Object)null)
						{
							foreach (LG_Plug componentsInChild8 in loadedAsset8.GetComponentsInChildren<LG_Plug>())
							{
								if (((Object)componentsInChild8).name == "Gate 4")
								{
									Transform transform7 = ((Component)componentsInChild8).transform;
									transform7.localPosition += new Vector3(0f, 0f, 0.1f);
								}
							}
						}
						GameObject loadedAsset9 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Geomorphs/Gardens/geo_64x64_service_gardens_AW_01_R8D1.prefab");
						if ((Object)(object)loadedAsset9 != (Object)null)
						{
							foreach (LG_Plug componentsInChild9 in loadedAsset9.GetComponentsInChildren<LG_Plug>())
							{
								if (((Object)componentsInChild9).name == "Gate 4")
								{
									((Component)componentsInChild9).transform.localEulerAngles = new Vector3(0f, 90f, 0f);
									((Component)componentsInChild9).transform.localPosition = new Vector3(11.11f, 0f, 1.67f);
								}
							}
							foreach (LG_PrefabSpawner componentsInChild10 in loadedAsset9.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)((Component)componentsInChild10).transform).name.Contains("Pillar_a_1x1x5"))
								{
									if (((Component)componentsInChild10).transform.localPosition == new Vector3(7.89f, -0.15f, -6.49f))
									{
										((Component)componentsInChild10).transform.localPosition = new Vector3(7.89f, -0.95f, -6.69f);
										((Component)componentsInChild10).transform.localScale = new Vector3(0.4413f, 1.311f, 1.5284f);
									}
									if (((Component)componentsInChild10).transform.localPosition == new Vector3(7.89f, 4.298f, -6.49f))
									{
										((Component)componentsInChild10).transform.localPosition = new Vector3(7.89f, 4.298f, -6.79f);
									}
								}
								if (((Object)((Component)componentsInChild10).transform).name.Contains("Wall_b_6x5") && ((Component)componentsInChild10).transform.localPosition == new Vector3(3.94f, -5.071f, -7.51f))
								{
									Transform transform8 = ((Component)componentsInChild10).transform;
									transform8.localScale += new Vector3(0f, 0f, 0.2f);
								}
							}
						}
						GameObject loadedAsset10 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Service/Plugs/env_plug_8mheight_elev25dm_with_gate_floodways_01.prefab");
						if ((Object)(object)loadedAsset10 != (Object)null)
						{
							foreach (LG_PrefabSpawner componentsInChild11 in loadedAsset10.GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)((Component)componentsInChild11).transform.parent).name == "Behind" && ((Object)componentsInChild11).name == "LG_PrefabSpawner_ServiceCorridor_Ground_05x6_center (1)")
								{
									Transform transform9 = ((Component)componentsInChild11).transform;
									transform9.localPosition += new Vector3(0f, 0f, -0.1f);
									Transform transform10 = ((Component)componentsInChild11).transform;
									transform10.localScale += new Vector3(0f, 0f, 0.05f);
								}
							}
						}
						Enumerator<string, Object> enumerator5 = AssetShardManager.s_loadedAssetsLookup.GetEnumerator();
						while (enumerator5.MoveNext())
						{
							KeyValuePair<string, Object> current13 = enumerator5.Current;
							if (!current13.Key.ToLower().Contains("gardens"))
							{
								continue;
							}
							foreach (LG_PrefabSpawner componentsInChild12 in ((Il2CppObjectBase)current13.Value).TryCast<GameObject>().GetComponentsInChildren<LG_PrefabSpawner>())
							{
								if (((Object)componentsInChild12).name.ToLower().Contains("gardens_lab_floor_a") && Object.op_Implicit((Object)(object)componentsInChild12.m_prefab.GetComponentInChildren<Collider>()))
								{
									((Component)componentsInChild12.m_prefab.GetComponentInChildren<Collider>()).transform.localScale = new Vector3(1.07f, 1f, 1.07f);
								}
								if (((Object)componentsInChild12).name.ToLower().Contains("gardens_lab_block_a") && Object.op_Implicit((Object)(object)componentsInChild12.m_prefab.GetComponentInChildren<Collider>()))
								{
									Object.Destroy((Object)(object)componentsInChild12.m_prefab.GetComponentInChildren<Collider>());
								}
								if (((Object)componentsInChild12).name.Contains("BP_Gardens_Lab_Column_a") || ((Object)componentsInChild12).name.Contains("BP_Gardens_Lab_TechShell_a"))
								{
									foreach (MeshCollider componentsInChild13 in componentsInChild12.m_prefab.GetComponentsInChildren<MeshCollider>())
									{
										if (!((Object)(object)componentsInChild13.sharedMesh == (Object)null))
										{
											continue;
										}
										Mesh val = null;
										foreach (MeshFilter componentsInChild14 in ((Component)((Component)componentsInChild13).transform.parent).GetComponentsInChildren<MeshFilter>())
										{
											if ((Object)(object)componentsInChild14.sharedMesh != (Object)null)
											{
												val = componentsInChild14.sharedMesh;
											}
										}
										if ((Object)(object)val != (Object)null)
										{
											componentsInChild13.sharedMesh = val;
										}
									}
								}
								if (!((Object)componentsInChild12).name.Contains("BP_Gardens_Lab_Device_a_ControlPanel_100x160") || componentsInChild12.m_prefab.GetComponentsInChildren<LODGroup>().Count <= 0)
								{
									continue;
								}
								foreach (LODGroup componentsInChild15 in componentsInChild12.m_prefab.GetComponentsInChildren<LODGroup>())
								{
									Object.Destroy((Object)(object)componentsInChild15);
								}
							}
						}
						ServiceFixed = true;
					}
					if (!current2.Key.Contains("Complex_Tech") || TechFixed)
					{
						continue;
					}
					GameObject loadedAsset11 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Markers/MarkerCompositions/DataCenter_large_2600x4400x800/DataCenter_large_2600x4400x800_HA_06.prefab");
					if ((Object)(object)loadedAsset11 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild16 in loadedAsset11.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)((Component)componentsInChild16).transform).name.Contains("6x6_Floor") && ((Component)componentsInChild16).transform.localPosition == new Vector3(20.004f, -0.886f, -6.998f))
							{
								Transform transform11 = ((Component)componentsInChild16).transform;
								transform11.localEulerAngles += new Vector3(-4f, 0f, 0f);
								((Component)componentsInChild16).transform.localScale = new Vector3(0.7951f, ((Component)componentsInChild16).transform.localScale.y, ((Component)componentsInChild16).transform.localScale.z);
							}
						}
					}
					GameObject loadedAsset12 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Markers/MarkerCompositions/DataCenter_medium_long_1600x3800x800/DataCenter_medium_long_1600x3800x800_HA_01.prefab");
					if ((Object)(object)loadedAsset12 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild17 in loadedAsset12.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							bool flag = false;
							if (((Object)((Component)componentsInChild17).transform).name == "LG_PrefabSpawner_BuildingPart_DataCenter_Floor_4x4_Room_a (3)")
							{
								flag = true;
							}
							if (((Object)((Component)componentsInChild17).transform).name == "LG_PrefabSpawner_BuildingPart_DataCenter_Floor_4x4_Room_a (4)")
							{
								flag = true;
							}
							if (((Object)((Component)componentsInChild17).transform).name == "LG_PrefabSpawner_BuildingPart_DataCenter_Floor_4x4_Room_a (5)")
							{
								flag = true;
							}
							if (flag)
							{
								Transform transform12 = ((Component)componentsInChild17).transform;
								transform12.localScale += new Vector3(0.5f, 0f, 0f);
								Transform transform13 = ((Component)componentsInChild17).transform;
								transform13.position += new Vector3(-0.1f, -0.05f, 0f);
							}
						}
					}
					GameObject loadedAsset13 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Markers/MarkerCompositions/DataCenter_medium_I_1600x1600x800/DataCenter_medium_I_1600x1600x800_HA_03.prefab");
					if ((Object)(object)loadedAsset13 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild18 in loadedAsset13.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)((Component)componentsInChild18).transform).name.Contains("Floor") && ((Component)componentsInChild18).transform.localPosition == new Vector3(6f, 0f, 7.92f))
							{
								((Component)componentsInChild18).transform.localPosition = new Vector3(6f, 0f, 9.02f);
								((Component)componentsInChild18).transform.localScale = new Vector3(2f, 1f, 2f);
							}
						}
					}
					GameObject loadedAsset14 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Geomorphs/geo_64x64_tech_lab_HA_09.prefab");
					if ((Object)(object)loadedAsset14 != (Object)null)
					{
						foreach (Transform componentsInChild19 in loadedAsset14.GetComponentsInChildren<Transform>())
						{
							if (((Object)componentsInChild19).name == "Area A")
							{
								GameObject val2 = GameObject.CreatePrimitive((PrimitiveType)3);
								val2.transform.localPosition = Vector3.zero;
								val2.transform.parent = componentsInChild19;
								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 loadedAsset15 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Plugs/env_plug_8mheight_flat_tech_with_gate_01.prefab");
					if ((Object)(object)loadedAsset15 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild20 in loadedAsset15.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)((Component)componentsInChild20).transform.parent).name == "behind" && ((Object)((Component)componentsInChild20).transform).name == "LG_PrefabSpawner_BuildingPart_DataCenter_6x6_FloorPlate_a (3)")
							{
								Transform transform14 = ((Component)componentsInChild20).transform;
								transform14.localScale += new Vector3(0.1f, 0f, 0f);
								Transform transform15 = ((Component)componentsInChild20).transform;
								transform15.localPosition += new Vector3(0f, 0.01f, 0f);
							}
						}
					}
					GameObject loadedAsset16 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Geomorphs/geo_64x64_tech_data_center_hub_JG_02_v2.prefab");
					if ((Object)(object)loadedAsset16 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild21 in loadedAsset16.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)componentsInChild21).name == "LG_PrefabSpawner_BuildingPart_DataCenter_2x4_Block_a (72)" && ((Object)((Component)componentsInChild21).transform.parent).name == "StairCase (2)")
							{
								Transform transform16 = ((Component)componentsInChild21).transform;
								transform16.localScale += new Vector3(0.7f, 0f, 0f);
							}
						}
					}
					GameObject loadedAsset17 = AssetAPI.GetLoadedAsset<GameObject>("Assets/AssetPrefabs/Complex/Tech/Plugs/env_plug_8mheight_cap_lab_02.prefab");
					if ((Object)(object)loadedAsset17 != (Object)null)
					{
						foreach (LG_PrefabSpawner componentsInChild22 in loadedAsset17.GetComponentsInChildren<LG_PrefabSpawner>())
						{
							if (((Object)((Component)componentsInChild22).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Floor_edge_1x4 (4)")
							{
								Transform transform17 = ((Component)componentsInChild22).transform;
								transform17.localPosition += new Vector3(0f, 0f, -0.2f);
							}
							if (((Object)((Component)componentsInChild22).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Floor_edge_1x4 (5)")
							{
								Transform transform18 = ((Component)componentsInChild22).transform;
								transform18.localPosition += new Vector3(0f, 0f, -0.2f);
							}
							if (((Object)((Component)componentsInChild22).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Wall_4x4_solid_a (3)")
							{
								Transform transform19 = ((Component)componentsInChild22).transform;
								transform19.localPosition += new Vector3(0f, 0f, -0.1f);
							}
							if (((Object)((Component)componentsInChild22).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Wall_4x4_solid_a (4)")
							{
								Transform transform20 = ((Component)componentsInChild22).transform;
								transform20.localPosition += new Vector3(0f, 0f, -0.1f);
							}
							if (((Object)((Component)componentsInChild22).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Wall_4x4_solid_a (5)")
							{
								Transform transform21 = ((Component)componentsInChild22).transform;
								transform21.localPosition += new Vector3(0f, 0f, -0.1f);
								componentsInChild22.m_disableCollision = true;
							}
							if (((Object)((Component)componentsInChild22).transform).name == "LG_PrefabSpawner_BuildingPart_Lab_Floor_2x4_a" && ((Component)componentsInChild22).transform.localPosition == new Vector3(-4.393f, -0.569f, -3.543f))
							{
								Transform transform22 = ((Component)componentsInChild22).transform;
								transform22.localPosition += new Vector3(0f, 0.05f, 0f);
							}
						}
					}
					TechFixed = true;
				}
			}

			[HarmonyPatch(typeof(NavMeshBuilder), "UpdateNavMeshDataAsync")]
			[HarmonyPrefix]
			private static void PreUpdateNavMeshDataAsync(NavMeshData data, ref NavMeshBuildSettings buildSettings, List<NavMeshBuildSource> sources, Bounds localBounds)
			{
				//IL_000c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0020: Unknown result type (might be due to invalid IL or missing references)
				//IL_0026: Expected O, but got Unknown
				if (!_navmeshFix.Value)
				{
					return;
				}
				new EnemyAgent();
				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)).minRegionArea = 8f;
				((NavMeshBuildSettings)(ref buildSettings)).overrideTileSize = true;
				((NavMeshBuildSettings)(ref buildSettings)).overrideVoxelSize = true;
				((NavMeshBuildSettings)(ref buildSettings)).voxelSize = 0.06f;
				((NavMeshBuildSettings)(ref buildSettings)).tileSize = 12;
			}

			[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_0033: Unknown result type (might be due to invalid IL or missing references)
				//IL_0036: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_0044: Unknown result type (might be due to invalid IL or missing references)
				//IL_0046: Unknown result type (might be due to invalid IL or missing references)
				//IL_0052: Expected O, but got Unknown
				//IL_0059: Unknown result type (might be due to invalid IL or missing references)
				//IL_0065: Expected O, but got Unknown
				//IL_0148: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_03aa: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_03c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_03db: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ec: Unknown result type (might be due to invalid IL or missing references)
				//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
				//IL_0411: Unknown result type (might be due to invalid IL or missing references)
				//IL_0413: Unknown result type (might be due to invalid IL or missing references)
				//IL_0424: Unknown result type (might be due to invalid IL or missing references)
				//IL_0429: Unknown result type (might be due to invalid IL or missing references)
				//IL_042b: Unknown result type (might be due to invalid IL or missing references)
				//IL_045f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0466: Expected O, but got Unknown
				//IL_4955: Unknown result type (might be due to invalid IL or missing references)
				//IL_495c: Expected O, but got Unknown
				//IL_052b: Unknown result type (might be due to invalid IL or missing references)
				//IL_053f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0544: Unknown result type (might be due to invalid IL or missing references)
				//IL_0580: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_05bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0626: Unknown result type (might be due to invalid IL or missing references)
				//IL_078b: Unknown result type (might be due to invalid IL or missing references)
				//IL_07a6: Unknown result type (might be due to invalid IL or missing references)
				//IL_07dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_07fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_081c: Unknown result type (might be due to invalid IL or missing references)
				//IL_085e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0894: Unknown result type (might be due to invalid IL or missing references)
				//IL_08b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_08d4: Unknown result type (might be due to invalid IL or missing references)
				//IL_0916: Unknown result type (might be due to invalid IL or missing references)
				//IL_094c: Unknown result type (might be due to invalid IL or missing references)
				//IL_096c: Unknown result type (might be due to invalid IL or missing references)
				//IL_098c: Unknown result type (might be due to invalid IL or missing references)
				//IL_09ce: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a04: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a24: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a44: Unknown result type (might be due to invalid IL or missing references)
				//IL_0a86: Unknown result type (might be due to invalid IL or missing references)
				//IL_0abc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0adc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0afc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c67: Unknown result type (might be due to invalid IL or missing references)
				//IL_0c82: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cb8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cd8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0cf8: Unknown result type (might be due to invalid IL or missing references)
				//IL_44c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_44cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_44e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_450b: Unknown result type (might be due to invalid IL or missing references)
				//IL_4522: Unknown result type (might be due to invalid IL or missing references)
				//IL_4533: Unknown result type (might be due to invalid IL or missing references)
				//IL_453d: Unknown result type (might be due to invalid IL or missing references)
				//IL_4551: Unknown result type (might be due to invalid IL or missing references)
				//IL_459a: Unknown result type (might be due to invalid IL or missing references)
				//IL_45b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_45c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_45cc: Unknown result type (might be due to invalid IL or missing references)
				//IL_45e0: Unknown result type (might be due to invalid IL or missing references)
				//IL_06f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_4629: Unknown result type (might be due to invalid IL or missing references)
				//IL_463a: Unknown result type (might be due to invalid IL or missing references)
				//IL_464b: Unknown result type (might be due to invalid IL or missing references)
				//IL_465b: Unknown result type (might be due to invalid IL or missing references)
				//IL_466f: Unknown result type (might be due to invalid IL or missing references)
				//IL_46b8: Unknown result type (might be due to invalid IL or missing references)
				//IL_46c9: Unknown result type (might be due to invalid IL or missing references)
				//IL_46da: Unknown result type (might be due to invalid IL or missing references)
				//IL_46ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_46fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b79: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b8d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0b92: Unknown result type (might be due to invalid IL or missing references)
				//IL_475f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bb2: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bc6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0bcb: Unknown result type (might be due to invalid IL or missing references)
				//IL_487b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1373: Unknown result type (might be due to invalid IL or missing references)
				//IL_1387: Unknown result type (might be due to invalid IL or missing references)
				//IL_138c: Unknown result type (might be due to invalid IL or missing references)
				//IL_13b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_13bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_13f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_142e: Unknown result type (might be due to invalid IL or missing references)
				//IL_144e: Unknown result type (might be due to invalid IL or missing references)
				//IL_14b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_14db: Unknown result type (might be due to invalid IL or missing references)
				//IL_14ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_14f4: Unknown result type (might be due to invalid IL or missing references)
				//IL_1592: Unknown result type (might be due to invalid IL or missing references)
				//IL_15cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_15e3: 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_1640: Unknown result type (might be due to invalid IL or missing references)
				//IL_1720: Unknown result type (might be due to invalid IL or missing references)
				//IL_1742: Unknown result type (might be due to invalid IL or missing references)
				//IL_16bd: Unknown result type (might be due to invalid IL or missing references)
				//IL_16d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_17b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_17e0: Unknown result type (might be due to invalid IL or missing references)
				//IL_17c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_198c: Unknown result type (might be due to invalid IL or missing references)
				//IL_19a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_19e3: Unknown result type (might be due to invalid IL or missing references)
				//IL_1a00: Unknown result type (might be due to invalid IL or missing references)
				//IL_1b66: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c40: 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_1e63: Unknown result type (might be due to invalid IL or missing references)
				//IL_1c86: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ca1: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ef8: 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_1eb2: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ec6: Unknown result type (might be due to invalid IL or missing references)
				//IL_1cd8: Unknown result type (might be due to invalid IL or missing references)
				//IL_1cef: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d02: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d0c: Unknown result type (might be due to invalid IL or missing references)
				//IL_1d2b: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f49: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f5d: Unknown result type (might be due to invalid IL or missing references)
				//IL_1dd0: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fec: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f76: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f8a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1f8f: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fa6: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fba: Unknown result type (might be due to invalid IL or missing references)
				//IL_1fbf: Unknown result type (might be due to invalid IL or missing references)
				//IL_1ded: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e0a: Unknown result type (might be due to invalid IL or missing references)
				//IL_1e27: Unknown result type (might be due to invalid IL or missing references)
				//IL_206c: Unknown result type (might be due to invalid IL or missing references)
				//IL_232f: Unknown result type (might be due to invalid IL or missing references)
				//IL_2343: Unknown result type (might be due to invalid IL or missing references)
				//IL_20b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_20f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_210a: Unknown result type (might be due to invalid IL or missing references)
				//IL_2236: Unknown result type (might be due to invalid IL or missing references)
				//IL_2253: Unknown result type (might be due to invalid IL or missing references)
				//IL_212f: Unknown result type (might be due to invalid IL or missing references)
				//IL_217b: Unknown result type (might be due to invalid IL or missing references)
				//IL_218d: Unknown result type (might be due to invalid IL or missing references)
				//IL_21a1: Unknown result type (might be due to invalid IL or missing references)
				//IL_21a6: Unknown result type (might be due to invalid IL or missing references)
				//IL_21c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_21e6: Unknown result type (might be due to invalid IL or missing references)
				//IL_2278: Unknown result type (might be due to invalid IL or missing references)
				//IL_229d: Unknown result type (might be due to invalid IL or missing references)
				//IL_23e3: Unknown result type (might be due to invalid IL or missing references)
				//IL_22c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_243f: Unknown result type (might be due to invalid IL or missing references)
				//IL_2453: Unknown result type (might be due to invalid IL or missing references)
				//IL_2469: Unknown result type (might be due to invalid IL or missing references)
				//IL_247d: Unknown result type (might be due to invalid IL or missing references)
				//IL_286b: Unknown result type (might be due to invalid IL or missing references)
				//IL_287f: Unknown result type (might be due to invalid IL or missing references)
				//IL_289d: Unknown result type (might be due to invalid IL or missing references)
				//IL_28b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_28b6: 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_29a7: Unknown result type (might be due to invalid IL or missing references)
				//IL_29ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_29f4: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a65: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a79: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a11: Unknown result type (might be due to invalid IL or missing references)
				//IL_2def: Unknown result type (might be due to invalid IL or missing references)
				//IL_2e03: Unknown result type (might be due to invalid IL or missing references)
				//IL_2ad6: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b13: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b33: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b53: Unknown result type (might be due to invalid IL or missing references)
				//IL_2b95: Unknown result type (might be due to invalid IL or missing references)
				//IL_2bd2: Unknown result type (might be due to invalid IL or missing references)
				//IL_2bf2: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c12: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c54: Unknown result type (might be due to invalid IL or missing references)
				//IL_2c87: Unknown result type (might be due to invalid IL or missing references)
				//IL_2ca7: Unknown result type (might be due to invalid IL or missing references)
				//IL_2cc7: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d2d: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d4d: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d5c: Unknown result type (might be due to invalid IL or missing references)
				//IL_2d63: Expected O, but got Unknown
				//IL_2d8c: Unknown result type (might be due to invalid IL or missing references)
				//IL_2dac: Unknown result type (might be due to invalid IL or missing references)
				//IL_2a9b: Unknown result type (might be due to invalid IL or missing references)
				//IL_2ed8: Unknown result type (might be due to invalid IL or missing references)
				//IL_2eec: Unknown result type (might be due to invalid IL or missing references)
				//IL_2ef1: Unknown result type (might be due to invalid IL or missing references)
				//IL_2f23: Unknown result type (might be due to invalid IL or missing references)
				//IL_2f37: Unknown result type (might be due to invalid IL or missing references)
				//IL_2f5e: Unknown result type (might be due to invalid IL or missing references)
				//IL_306b: Unknown result type (might be due to invalid IL or missing references)
				//IL_307f: Unknown result type (might be due to invalid IL or missing references)
				//IL_30eb: 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_31c0: Unknown result type (might be due to invalid IL or missing references)
				//IL_31d4: Unknown result type (might be due to invalid IL or missing references)
				//IL_3151: Unknown result type (might be due to invalid IL or missing references)
				//IL_3165: Unknown result type (might be due to invalid IL or missing references)
				//IL_3234: Unknown result type (might be due to invalid IL or missing references)
				//IL_3248: Unknown result type (might be due to invalid IL or missing references)
				//IL_31f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_3206: Unknown result type (might be due to invalid IL or missing references)
				//IL_320b: Unknown result type (might be due to invalid IL or missing references)
				//IL_317e: Unknown result type (might be due to invalid IL or missing references)
				//IL_3192: Unknown result type (might be due to invalid IL or missing references)
				//IL_3197: Unknown result type (might be due to invalid IL or missing references)
				//IL_32a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_32bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_3266: Unknown result type (might be due to invalid IL or missing references)
				//IL_327a: Unknown result type (might be due to invalid IL or missing references)
				//IL_327f: Unknown result type (might be due to invalid IL or missing references)
				//IL_340f: Unknown result type (might be due to invalid IL or missing references)
				//IL_3423: Unknown result type (might be due to invalid IL or missing references)
				//IL_33cd: Unknown result type (might be due to invalid IL or missing references)
				//IL_33e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_32d0: Unknown result type (might be due to invalid IL or missing references)
				//IL_32e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_32e9: Unknown result type (might be due to invalid IL or missing references)
				//IL_34cc: Unknown result type (might be due to invalid IL or missing references)
				//IL_34e0: Unknown result type (might be due to invalid IL or missing references)
				//IL_34fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_3536: Unknown result type (might be due to invalid IL or missing references)
				//IL_3556: Unknown result type (might be due to invalid IL or missing references)
				//IL_35f7: Unknown result type (might be due to invalid IL or missing references)
				//IL_360b: Unknown result type (might be due to invalid IL or missing references)
				//IL_3629: Unknown result type (might be due to invalid IL or missing references)
				//IL_363d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3642: Unknown result type (might be due to invalid IL or missing references)
				//IL_36aa: Unknown result type (might be due to invalid IL or missing references)
				//IL_36e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_36ed: Unknown result type (might be due to invalid IL or missing references)
				//IL_3729: Unknown result type (might be due to invalid IL or missing references)
				//IL_374d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3765: Unknown result type (might be due to invalid IL or missing references)
				//IL_376a: Unknown result type (might be due to invalid IL or missing references)
				//IL_376e: Unknown result type (might be due to invalid IL or missing references)
				//IL_3780: Unknown result type (might be due to invalid IL or missing references)
				//IL_3796: Unknown result type (might be due to invalid IL or missing references)
				//IL_379b: Unknown result type (might be due to invalid IL or missing references)
				//IL_379f: Unknown result type (might be due to invalid IL or missing references)
				//IL_37af: 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_37c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_37e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_3705: Unknown result type (might be due to invalid IL or missing references)
				//IL_370a: Unknown result type (might be due to invalid IL or missing references)
				//IL_370e: Unknown result type (might be due to invalid IL or missing references)
				//IL_3920: Unknown result type (might be due to invalid IL or missing references)
				//IL_3934: Unknown result type (might be due to invalid IL or missing references)
				//IL_39ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_39de: Unknown result type (might be due to invalid IL or missing references)
				//IL_39e3: Unknown result type (might be due to invalid IL or missing references)
				//IL_3948: Unknown result type (might be due to invalid IL or missing references)
				//IL_395c: Unknown result type (might be due to invalid IL or missing references)
				//IL_3961: Unknown result type (might be due to invalid IL or missing references)
				//IL_3ae2: Unknown result type (might be due to invalid IL or missing references)
				//IL_3a5b: Unknown result type (might be due to invalid IL or missing references)
				//IL_3a6f: Unknown result type (might be due to invalid IL or missing references)
				//IL_3a8d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3aa1: Unknown result type (might be due to invalid IL or missing references)
				//IL_3aa6: Unknown result type (might be due to invalid IL or missing references)
				//IL_3b20: 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_3c2f: Unknown result type (might be due to invalid IL or missing references)
				//IL_3c43: Unknown result type (might be due to invalid IL or missing references)
				//IL_3b9f: Unknown result type (might be due to invalid IL or missing references)
				//IL_3be4: Unknown result type (might be due to invalid IL or missing references)
				//IL_3bf8: Unknown result type (might be due to invalid IL or missing references)
				//IL_3bfd: Unknown result type (might be due to invalid IL or missing references)
				//IL_3ce9: 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_3e7d: Unknown result type (might be due to invalid IL or missing references)
				//IL_3e91: Unknown result type (might be due to invalid IL or missing references)
				//IL_3e96: Unknown result type (might be due to invalid IL or missing references)
				//IL_3ead: Unknown result type (might be due to invalid IL or missing references)
				//IL_3ec1: Unknown result type (might be due to invalid IL or missing references)
				//IL_3ec6: Unknown result type (might be due to invalid IL or missing references)
				//IL_3def: Unknown result type (might be due to invalid IL or missing references)
				//IL_3e03: Unknown result type (might be due to invalid IL or missing references)
				//IL_3e31: Unknown result type (might be due to invalid IL or missing references)
				//IL_3e45: Unknown result type (might be due to invalid IL or missing references)
				//IL_3f28: Unknown result type (might be due to invalid IL or missing references)
				//IL_3f3c: Unknown result type (might be due to invalid IL or missing references)
				//IL_3fa0: Unknown result type (might be due to invalid IL or missing references)
				//IL_3fb4: Unknown result type (might be due to invalid IL or missing references)
				//IL_3f50: Unknown result type (might be due to invalid IL or missing references)
				//IL_3f64: Unknown result type (might be due to invalid IL or missing references)
				//IL_3f69: Unknown result type (might be due to invalid IL or missing references)
				//IL_4020: Unknown result type (might be due to invalid IL or missing references)
				//IL_4126: Unknown result type (might be due to invalid IL or missing references)
				//IL_4054: Unknown result type (might be due to invalid IL or missing references)
				//IL_4091: Unknown result type (might be due to invalid IL or missing references)
				//IL_40b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_41f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_41a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_41b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_41bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_422f: Unknown result type (might be due to invalid IL or missing references)
				//IL_4243: Unknown result type (might be due to invalid IL or missing references)
				//IL_425c: Unknown result type (might be due to invalid IL or missing references)
				//IL_4270: Unknown result type (might be due to invalid IL or missing references)
				//IL_4275: 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 zero = Vector3.zero;
					if (((Object)((Component)componentsInChild2).transform.parent).name.Contains("corpse_edge"))
					{
						((Vector3)(ref zero))..ctor(315f, 0f, 0f);
					}
					if (((Object)((Component)componentsInChild2).transform.parent).name.Contains("corpse_floor_85x195x35"))
					{
						((Vector3)(ref zero))..ctor(270f, 0f, 0f);
					}
					if (((Object)((Component)componentsInChild2).transform).name.Contains("infested_blood_decal"))
					{
						((Vector3)(ref zero))..ctor(270f, 0f, 0f);
					}
					((Component)componentsInChild2).transform.localEulerAngles = zero;
				}
				int num = 0;
				Vector3 val = default(Vector3);
				Vector3 val2 = default(Vector3);
				foreach (BoxCollider componentsInChild3 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<BoxCollider>())
				{
					if (((Object)((Component)componentsInChild3).transform.parent).name.Contains("ServiceWalkway_Edge_4_a") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("ServiceWalkway_Ramp_Stairs_a") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("ServiceWalkway_Tile_a") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("prop_service_catwalk_platform_handrail_pole_a") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("ServiceTunnel_Box_5x5_a") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("ServiceTunnel_Box_Corner") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("prop_generic_truss_a_diag_1m_corner_001") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("BuildingPart_DataCenter_2x4_Block_a") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("BuildingPart_Lab_Floor_4x4_b") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("BuildingPart_Lab_Floor_4x4_broken_a") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("prop_fence_soild_metal_a_tile_1m_001") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("prop_fence_soild_metal_a_corner_1m_001") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("c_BuildingPart_StoragePillar_Conc_1x1x6_b") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("BuildKit_b_floor corner_2x2") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("prop_generic_truss_b_400x375cm_001") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("BuildingPart_Lab_Railing_2_a_tile") || ((Object)((Component)componentsInChild3).transform.parent).name.Contains("generic_light_wallLight_c"))
					{
						Vector3 lossyScale = ((Component)componentsInChild3).transform.lossyScale;
						((Vector3)(ref val))..ctor(Mathf.Sign(lossyScale.x), Mathf.Sign(lossyScale.y), Mathf.Sign(lossyScale.z));
						((Vector3)(ref val2))..ctor(Mathf.Sign(componentsInChild3.size.x), Mathf.Sign(componentsInChild3.size.y), Mathf.Sign(componentsInChild3.size.z));
						if (val != val2)
						{
							num++;
							componentsInChild3.size = Vector3.Scale(componentsInChild3.size, val);
						}
					}
				}
				ManualLogSource l = L;
				bool flag = default(bool);
				if (l != null)
				{
					BepInExInfoLogInterpolatedStringHandler val3 = new BepInExInfoLogInterpolatedStringHandler(34, 1, ref flag);
					if (flag)
					{
						((BepInExLogInterpolatedStringHandler)val3).AppendLiteral("fixed ");
						((BepInExLogInterpolatedStringHandler)val3).AppendFormatted<int>(num);
						((BepInExLogInterpolatedStringHandler)val3).AppendLiteral(" negative-scale boxcolliders");
					}
					l.LogInfo(val3);
				}
				if (_navmeshFix.Value)
				{
					foreach (LG_AreaAIGraphSource componentsInChild4 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<LG_AreaAIGraphSource>())
					{
						string text = string.Join("/", ((IEnumerable<Transform>)((Component)((Component)componentsInChild4).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)componentsInChild4).transform;
							transform.localPosition += new Vector3(0f, 0f, -22f);
						}
						if (text.Contains("vs_03_controlroom") && text.Contains("area a"))
						{
							((Component)componentsInChild4).transform.localPosition = new Vector3(-14.5f, 2f, 0f);
						}
						if (text.Contains("mining_dig_site_as_04") && text.Contains("area_i"))
						{
							((Component)componentsInChild4).transform.localPosition = new Vector3(-4.52f, 1.93f, -3.18f);
						}
						if (text.Contains("geo_64x64_service_floodways_hub_sf_01_r8d1"))
						{
							((Component)componentsInChild4).transform.localPosition = new Vector3(5f, 2f, -16f);
						}
						if (text.Contains("geo_64x64_service_gardens_jg_01") && text.Contains("area b"))
						{
							((Component)componentsInChild4).transform.localPosition = new Vector3(8.5f, 2f, -2f);
						}
					}
					foreach (LG_Geomorph componentsInChild5 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<LG_Geomorph>())
					{
						if (((Object)((Component)componentsInChild5).transform).name.Contains("geo_64x64_service_gardens_SF_01"))
						{
							foreach (LG_Area componentsInChild6 in ((Component)componentsInChild5).GetComponentsInChildren<LG_Area>())
							{
								if (!((Object)((Component)componentsInChild6).transform).name.Contains("Area C"))
								{
									continue;
								}
								foreach (Transform componentsInChild7 in ((Component)componentsInChild6).GetComponentsInChildren<Transform>())
								{
									if (((Object)componentsInChild7).name == "marker (15)")
									{
										componentsInChild7.localPosition = new Vector3(-8.7412f, -0.045f, 11.342f);
									}
								}
							}
						}
						if (((Object)((Component)componentsInChild5).transform).name.Contains("Dimension_Desert_Mining_Shaft"))
						{
							foreach (LG_Area componentsInChild8 in ((Component)componentsInChild5).GetComponentsInChildren<LG_Area>())
							{
								if (((Object)((Component)componentsInChild8).transform).name.Contains("Area A"))
								{
									float y = ((Component)componentsInChild8).transform.parent.localPosition.y;
									GameObject val4 = GameObject.CreatePrimitive((PrimitiveType)3);
									val4.transform.localPosition = Vector3.zero;
									val4.transform.parent = ((Component)componentsInChild8).transform;
									val4.transform.position = new Vector3(0f, y - 10.5f, 27.5f);
									val4.transform.localScale = new Vector3(54f, 4f, 1f);
									val4.transform.localEulerAngles = new Vector3(0f, 90f, 0f);
									val4.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val4).name = "fd_was_here_lol";
									deletelist.Add(val4);
									GameObject val5 = GameObject.CreatePrimitive((PrimitiveType)3);
									val5.transform.localPosition = Vector3.zero;
									val5.transform.parent = ((Component)componentsInChild8).transform;
									val5.transform.position = new Vector3(-21f, y + 14f, -32f);
									val5.transform.localScale = new Vector3(20f, 3f, 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);
									GameObject val6 = GameObject.CreatePrimitive((PrimitiveType)3);
									val6.transform.localPosition = Vector3.zero;
									val6.transform.parent = ((Component)componentsInChild8).transform;
									val6.transform.position = new Vector3(-18f, y + 14f, -41.4f);
									val6.transform.localScale = new Vector3(12f, 3f, 1f);
									val6.transform.localEulerAngles = new Vector3(0f, 310f, 0f);
									val6.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val6).name = "fd_was_here_lol";
									deletelist.Add(val6);
									GameObject val7 = GameObject.CreatePrimitive((PrimitiveType)3);
									val7.transform.localPosition = Vector3.zero;
									val7.transform.parent = ((Component)componentsInChild8).transform;
									val7.transform.position = new Vector3(-15f, y - 10.5f, 24f);
									val7.transform.localScale = new Vector3(10f, 4f, 1f);
									val7.transform.localEulerAngles = new Vector3(0f, 45f, 0f);
									val7.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val7).name = "fd_was_here_lol";
									deletelist.Add(val7);
									GameObject val8 = GameObject.CreatePrimitive((PrimitiveType)2);
									val8.transform.localPosition = Vector3.zero;
									val8.transform.parent = ((Component)componentsInChild8).transform;
									val8.transform.position = new Vector3(-6.4f, y + 14f, -27.9f);
									val8.transform.localScale = new Vector3(1f, 1f, 1f);
									val8.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
									val8.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
									((Object)val8).name = "fd_was_here_lol";
									deletelist.Add(val8);
								}
								if (!((Object)((Component)componentsInChild8).transform).name.Contains("Area B"))
								{
									continue;
								}
								foreach (Transform componentsInChild9 in ((Component)componentsInChild8).GetComponentsInChildren<Transform>())
								{
									if (((Object)componentsInChild9).name.Contains("Ladder (6)"))
									{
										componentsInChild9.localPosition += new Vector3(0f, 0f, -0.6f);
									}
									if (((Object)componentsInChild9).name.Contains("Desert_Cliff_Round_Flat_01(Clone)"))
									{
										componentsInChild9.localPosition += new Vector3(0f, 0f, -0.4f);
									}
								}
							}
						}
						if (!((Object)((Component)componentsInChild5).transform).name.Contains("Dimension_Desert_Dune_camp_03"))
						{
							continue;
						}
						foreach (LG_Area componentsInChild10 in ((Component)componentsInChild5).GetComponentsInChildren<LG_Area>())
						{
							if (((Object)((Component)componentsInChild10).transform).name.Contains("AreaA"))
							{
								float y2 = ((Component)componentsInChild10).transform.parent.position.y;
								GameObject val9 = GameObject.CreatePrimitive((PrimitiveType)2);
								val9.transform.localPosition = Vector3.zero;
								val9.transform.parent = ((Component)componentsInChild10).transform;
								val9.transform.position = new Vector3(52.9f, y2 + 5f, 216f);
								val9.transform.localScale = new Vector3(4f, 1f, 4f);
								val9.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
								val9.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
								((Object)val9).name = "fd_was_here_lol";
								deletelist.Add(val9);
							}
						}
					}
					foreach (MeshRenderer componentsInChild11 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<MeshRenderer>())
					{
						if (string.Join("/", ((IEnumerable<Transform>)((Component)((Component)componentsInChild11).transform).GetComponentsInParent<Transform>()).Select((Transform t) => ((Object)t).name.ToLower()).Reverse().ToArray()).Contains("gardens_lab_i_1600x1200x500") && ((Object)componentsInChild11).name.ToLower().Contains("gardens_lab_block_a"))
						{
							((Component)componentsInChild11).gameObject.AddComponent<BoxCollider>();
						}
					}
					foreach (Collider componentsInChild12 in ((Component)Builder.CurrentFloor).GetComponentsInChildren<Collider>())
					{
						string text2 = string.Join("/", ((IEnumerable<Transform>)((Component)((Component)componentsInChild12).transform).GetComponentsInParent<Transform>(false)).Select((Transform t) => ((Object)t).name.ToLower()).Reverse().ToArray());
						if (text2.Contains("prop_bcgf_blockgraph"))
						{
							continue;
						}
						bool flag2 = false;
						if (text2.Contains("concrete_submarker_500x400x800") && text2.Contains("forestground"))
						{
							flag2 = true;
						}
						if (text2.Contains("flower"))
						{
							flag2 = true;
						}
						if (text2.Contains("lowbox"))
						{
							flag2 = true;
						}
						if (text2.Contains("table"))
						{
							flag2 = true;
						}
						if (text2.Contains("crate"))
						{
							flag2 = true;
						}
						if (text2.Contains("prop_elec"))
						{
							flag2 = true;
						}
						if (text2.Contains("shelf"))
						{
							flag2 = true;
						}
						if (text2.Contains("pillars"))
						{
							flag2 = true;
						}
						if (text2.Contains("articulated_crane"))
						{
							flag2 = true;
						}
						if (text2.Contains("industrial_tire_bundle"))
						{
							flag2 = true;
						}
						if (text2.Contains("bucket_convex"))
						{
							flag2 = true;
						}
						if (text2.Contains("industrial_barrier_concrete_cube"))
						{
							flag2 = true;
						}
						if (text2.Contains("mixer_concrete_portable"))
						{
							flag2 = true;
						}
						if (text2.Contains("industrial_concreteslab"))
						{
							flag2 = true;
						}
						if (text2.Contains("industrial_ac_unit"))
						{
							flag2 = true;
						}
						if (text2.Contains("c_digger_truck"))
						{
							flag2 = true;
						}
						if (text2.Contains("industrial_generator"))
						{
							flag2 = true;
						}
						if (text2.Contains("industrial_pallet_cage"))
						{
							flag2 = true;
						}
						if (text2.Contains("industrial_box"))
						{
							flag2 = true;
						}
						if (text2.Contains("foamroll"))
						{
							flag2 = true;
						}
						if (text2.Contains("lab_pillar_bend"))
						{
							flag2 = true;
						}
						if (text2.Contains("workbench"))
						{
							flag2 = true;
						}
						if (text2.Contains("servercontents"))
						{
							flag2 = true;
						}
						if (text2.Contains("generic_c_beam_column"))
						{
							flag2 = true;
						}
						if (text2.Contains("generic_beam_f_column_tjunc"))
						{
							flag2 = true;
						}
						if (text2.Contains("prop_datacenter_computerconsole_c"))
						{
							flag2 = true;
						}
						if (text2.Contains("prop_datacenter_computerconsole_d"))
						{
							flag2 = true;
						}
						if (text2.Contains("floodways_medium_pipe_1"))
						{
							flag2 = true;
						}
						if (text2.Contains("floodways_large_pipe_1"))
						{
							flag2 = true;
						}
						if (text2.Contains("device_a_controlpanel"))
						{
							flag2 = true;
						}
						if (text2.Contains("planters_closed"))
						{
							flag2 = true;
						}
						if (text2.Contains("planters_dirt"))
						{
							flag2 = true;
						}
						if (text2.Contains("box_planter"))
						{
							flag2 = true;
						}
						if (text2.Contains("container_stack_covered"))
						{
							flag2 = true;
						}
						if (text2.Contains("prop_top_x_tiedstack"))
						{
							flag2 = true;
						}
						if (text2.Contains("gardens_water_treatment"))
						{
							flag2 = true;
						}
						if (text2.Contains("gardens_water_tank"))
						{
							flag2 = true;
						}
						if (text2.Contains("refrigerator"))
						{
							flag2 = true;
						}
						if (text2.Contains("analyzer"))
						{
							flag2 = true;
						}
						if (text2.Contains("computerconsole"))
						{
							flag2 = true;
						}
						if (text2.Contains("datacenter_spool_kit2"))
						{
							flag2 = true;
						}
						if (text2.Contains("pillarspawnermetalpipe"))
						{
							flag2 = true;
						}
						if (text2.Contains("forklift_medium"))
						{
							flag2 = true;
						}
						if (text2.Contains("electronicsterminalconsole_servicecover_shutter"))
						{
							flag2 = true;
						}
						if (text2.Contains("building_machinekit_tankbottom"))
						{
							flag2 = true;
						}
						if (text2.Contains("dig_site_submarker_slope_660x360x500_ha_03"))
						{
							flag2 = true;
						}
						if (text2.Contains("storagepillar_rock"))
						{
							((Component)componentsInChild12).gameObject.layer = LayerManager.LAYER_DEFAULT;
						}
						if (text2.Contains("reactor") && text2.Contains("prop_electronics"))
						{
							flag2 = false;
						}
						if (text2.Contains("shelf_shelf"))
						{
							flag2 = false;
						}
						if (text2.Contains("shelf_sheet_cover"))
						{
							flag2 = false;
						}
						if (text2.Contains("geo_64x64_tech_node_transition_02_jg"))
						{
							flag2 = false;
						}
						if (text2.Contains("planter_a_c90"))
						{
							flag2 = false;
						}
						if (text2.Contains("gardens_aw_01") && text2.Contains("gardens_dirt_submarker_120x120x240_v01"))
						{
							flag2 = false;
						}
						if (text2.Contains("gardens_aw_01") && text2.Contains("area b") && text2.Contains("box_planter"))
						{
							flag2 = false;
						}
						if (text2.Contains("floodways_open_1400x1000x1000_v06"))
						{
							flag2 = false;
						}
						if (text2.Contains("geo_64x64_tech_lab_ha_07") && text2.Contains("area b") && (text2.Contains("cableconnector_large") || text2.Contains("pipe")))
						{
							((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
							flag2 = false;
						}
						if (text2.Contains("c_box_planter_a_c90_2x2_01.002"))
						{
							((Component)((Component)componentsInChild12).transform).gameObject.active = false;
						}
						if (text2.Contains("floodways_l_2000x2000x1000_v08"))
						{
							flag2 = false;
						}
						if (text2.Contains("geo_64x64_service_floodways_hub_ha_03") && text2.Contains("pipe"))
						{
							flag2 = false;
						}
						if (text2.Contains("floodways_pillar_base"))
						{
							componentsInChild12.isTrigger = true;
						}
						if (((Object)componentsInChild12).name == "Cube" && ((Object)((Component)componentsInChild12).transform.parent).name.ToLower().Contains("center"))
						{
							Transform transform2 = ((Component)componentsInChild12).transform;
							transform2.localScale += new Vector3(0.1f, 0f, 0f);
							((Renderer)((Component)componentsInChild12).GetComponent<MeshRenderer>()).material.color = Color.op_Implicit(new Vector4(0.38f, 0.38f, 0.38f, 1f));
						}
						if (text2.Contains("mining_dig_site_ha_01") && text2.Contains("area_mesh_f_ground"))
						{
							GameObject val10 = GameObject.CreatePrimitive((PrimitiveType)3);
							val10.transform.localPosition = Vector3.zero;
							val10.transform.parent = ((Component)componentsInChild12).transform.parent;
							val10.transform.localPosition = new Vector3(0f, 22f, 0f);
							val10.transform.localScale = new Vector3(2f, 0.1f, 2f);
							val10.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
							((Object)val10).name = "fd_was_here_lol";
							deletelist.Add(val10);
						}
						if (text2.Contains("geo_64x64_tech_node_transition_02_jg"))
						{
							if (text2.Contains("floor_4x4_room_a"))
							{
								((Component)componentsInChild12).transform.localScale = new Vector3(1f, 1f, 0.05f);
							}
							if (text2.Contains("2x4_block_a"))
							{
								Transform parent = ((Component)componentsInChild12).transform.parent;
								parent.localScale += new Vector3(0.03f, 0f, 0f);
							}
							if (text2.Contains("metalpipe_f_direct2xpipe"))
							{
								((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
							}
						}
						if (text2.Contains("service_floodways_i_ha_03_v2") && text2.Contains("servicecorridor_wall"))
						{
							flag2 = true;
						}
						if (text2.Contains("service_floodways_i_ha_03_v2") && text2.Contains("servicecorridor_beam"))
						{
							flag2 = true;
						}
						if (text2.Contains("service_floodways_i_ha_03_v2") && text2.Contains("serviceground_gravel"))
						{
							((Component)componentsInChild12).transform.localScale = new Vector3(0.52f, 1f, 1f);
						}
						if (text2.Contains("service_floodways_i_ha_03_v2") && text2.Contains("servicecorridor_wall_outercorner_whole") && ((Component)componentsInChild12).transform.parent.parent.localPosition == new Vector3(-4.66f, 9.8008f, 15.7f))
						{
							GameObject val11 = GameObject.CreatePrimitive((PrimitiveType)3);
							val11.transform.parent = ((Component)componentsInChild12).transform;
							val11.transform.localPosition = new Vector3(0.1f, -0.1f, 1.1f);
							val11.transform.localScale = new Vector3(1f, 3f, 1f);
							((Object)val11).name = "fd_was_here_lol";
							deletelist.Add(val11);
						}
						if ((text2.Contains("geo_64x64_service_floodways_i_ha_01") || text2.Contains("geo_64x64_service_floodways_i_ha_xy")) && text2.Contains("wall") && !text2.Contains("infront") && !text2.Contains("behind") && !text2.Contains("crossing") && ((Component)componentsInChild12).transform.localPosition.y < -3f && Mathf.Abs(((Component)componentsInChild12).transform.localPosition.z) < 23.3f)
						{
							flag2 = true;
						}
						if (text2.Contains("geo_64x64_service_gardens_i_01") && ((Object)componentsInChild12).name == "c_wall_concrete_6x5M_01" && ((Component)componentsInChild12).transform.parent.parent.localPosition.y == -9.65f && ((Component)componentsInChild12).transform.parent.parent.localEulerAngles.x > 329.9f)
						{
							((Component)componentsInChild12).gameObject.active = false;
						}
						if (text2.Contains("floodways_i_tile_bridge") && text2.Contains("wall") && !text2.Contains("infront") && !text2.Contains("behind") && !text2.Contains("crossing") && (((Component)componentsInChild12).transform.localPosition.z < -15f || ((Component)componentsInChild12).transform.localPosition.z > 15f) && ((Component)componentsInChild12).transform.localPosition.y < -2.5f)
						{
							flag2 = true;
						}
						foreach (Transform item in ((Component)componentsInChild12).gameObject.GetComponentsInParent<Transform>(false))
						{
							if (((Object)item).name.ToLower().Contains("interact"))
							{
								flag2 = false;
							}
						}
						if (text2.Contains("ceilingcorner_rock") || text2.Contains("ceiling_rock"))
						{
							((Component)componentsInChild12).gameObject.layer = LayerManager.LAYER_DEFAULT;
							flag2 = false;
						}
						if (text2.Contains("alcove") && text2.Contains("wall"))
						{
							flag2 = true;
						}
						if (text2.Contains("floodways_alcove_800x200x1000_v08") && text2.Contains("wall"))
						{
							flag2 = false;
						}
						if (text2.Contains("floodways_alcove_800x200x1000_v08") && text2.Contains("pipe"))
						{
							flag2 = false;
						}
						if (text2.Contains("alcove_800x200x1000_v09") && text2.Contains("wall"))
						{
							flag2 = false;
						}
						if (text2.Contains("floodways_open_large_3400x1800x1000_v03") && text2.Contains("wall"))
						{
							flag2 = false;
						}
						if (text2.Contains("floodways_open_large_3400x1800x1000_v03") && text2.Contains("pipe"))
						{
							flag2 = false;
						}
						if (text2.Contains("geo_64x64_service_floodways_ha_05") && text2.Contains("alcove"))
						{
							flag2 = false;
						}
						if (text2.Contains("geo_64x64_service_floodways_ha_03") && text2.Contains("alcove"))
						{
							flag2 = false;
						}
						if (text2.Contains("gardens_dirt_wall_2200x2200x2000_v04") && text2.Contains("floor_a_4x4") && ((Component)componentsInChild12).transform.localPosition == new Vector3(6.98f, 1f, -4.284f))
						{
							flag2 = true;
						}
						if (text2.Contains("2000x2000x1000_v05"))
						{
							if (text2.Contains("alcove"))
							{
								flag2 = false;
							}
							if (text2.Contains("servicecorridor_wall") && (Mathf.Abs(((Component)componentsInChild12).transform.localPosition.x) > 8f || Mathf.Abs(((Component)componentsInChild12).transform.localPosition.z) > 8f))
							{
								flag2 = true;
							}
							if (text2.Contains("servicecorridor_beam"))
							{
								flag2 = true;
							}
						}
						if (text2.Contains("desert_cliff_wall"))
						{
							((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
							flag2 = false;
						}
						if (text2.Contains("desert") && text2.Contains("cake"))
						{
							((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
						}
						if (text2.Contains("desert") && text2.Contains("inv wall"))
						{
							((Component)((Component)componentsInChild12).transform).gameObject.layer = 13;
						}
						if (text2.Contains("desert") && text2.Contains("electronics"))
						{
							flag2 = false;
						}
						if (text2.Contains("desert") && text2.Contains("pipe"))
						{
							((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
							flag2 = false;
						}
						if (text2.Contains("geo_64x64_mining_refinery_x_vs_01_v2"))
						{
							if (text2.Contains("bottomdoor"))
							{
								((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT_BLOCKGRAPH;
							}
							if (text2.Contains("topdoor"))
							{
								((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT_BLOCKGRAPH;
							}
							if ((double)((Component)componentsInChild12).transform.position.x > 31.5 || (double)((Component)componentsInChild12).transform.position.z < -31.5)
							{
								((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT_BLOCKGRAPH;
							}
						}
						if (text2.Contains("mining_refinery_room") && text2.Contains("pipe"))
						{
							((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
							flag2 = false;
						}
						if (text2.Contains("geo_64x64_mining_exit_01") && text2.Contains("pipe"))
						{
							((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
							flag2 = false;
						}
						if (text2.Contains("geo_64x64_service_floodways_vs_03_controlroom"))
						{
							float y3 = ((Component)((Component)((Component)componentsInChild12).transform).gameObject.GetComponentInParent<LG_Geomorph>()).transform.position.y;
							if (text2.Contains("servicecorridor_wall"))
							{
								flag2 = true;
							}
							if (text2.Contains("servicecorridor_beam_6") && text2.Contains("envprops") && ((Component)componentsInChild12).transform.localEulerAngles.x < 1f && ((Component)componentsInChild12).transform.localEulerAngles.y > 269f)
							{
								GameObject obj = GameObject.CreatePrimitive((PrimitiveType)2);
								obj.transform.parent = ((Component)componentsInChild12).transform.parent;
								obj.transform.localPosition = Vector3.zero;
								obj.transform.position = new Vector3(((Component)componentsInChild12).transform.position.x, y3, ((Component)componentsInChild12).transform.position.z);
								obj.transform.localScale = new Vector3(6f, 0.03f, 6f);
								((Component)obj.transform).gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
								((Renderer)obj.GetComponent<MeshRenderer>()).enabled = false;
							}
							if (text2.Contains("pipe"))
							{
								flag2 = false;
							}
						}
						if (text2.Contains("geo_64x64_service_floodways_boss_hub_ds_01"))
						{
							if (text2.Contains("alcove"))
							{
								flag2 = false;
							}
							if (text2.Contains("servicecorridor_beam") && !text2.Contains("infront") && !text2.Contains("behind") && !text2.Contains("crossing") && ((double)((Component)componentsInChild12).transform.localPosition.x > 31.5 || (double)((Component)componentsInChild12).transform.localPosition.z > 31.5 || (double)((Component)componentsInChild12).transform.localPosition.x < -31.5 || (double)((Component)componentsInChild12).transform.localPosition.z < -31.5))
							{
								flag2 = true;
							}
						}
						if (text2.Contains("geo_64x64_service_gardens_ha_01") && text2.Contains("forestground") && ((Component)componentsInChild12).transform.localPosition.y > 0.8f)
						{
							flag2 = true;
						}
						if (text2.Contains("geo_64x64_service_gardens_ha_01") && text2.Contains("area b") && text2.Contains("forestground") && ((Component)componentsInChild12).transform.parent.parent.localPosition == new Vector3(4.048f, 1.058f, 18.44f))
						{
							flag2 = true;
						}
						if (text2.Contains("floodways_ha_08_v2") && text2.Contains("servicecorridor_wall") && ((Component)componentsInChild12).transform.localPosition == new Vector3(-20.075f, -0.0351f, -4.2548f))
						{
							flag2 = true;
						}
						if (text2.Contains("geo_64x64_service_floodways_ha_03") && text2.Contains("servicewalkway_tile") && ((Component)componentsInChild12).transform.parent.localPosition == new Vector3(12.447f, 0.16f, -29.94f))
						{
							Transform parent2 = ((Component)componentsInChild12).transform.parent;
							parent2.localPosition += new Vector3(-0.7f, 0f, 0f);
							Transform parent3 = ((Component)componentsInChild12).transform.parent;
							parent3.localScale += new Vector3(0.2f, 0f, 0f);
						}
						if (text2.Contains("geo_64x64_service_gardens_jg_01") && text2.Contains("forestground") && ((Component)componentsInChild12).transform.localPosition.y > 9f)
						{
							flag2 = true;
						}
						if (text2.Contains("lab_large_l_2200x2200x800_v04") && text2.Contains("flower"))
						{
							flag2 = false;
						}
						if (text2.Contains("buildingpart_lab_wall_4x4_solidoutercorner"))
						{
							flag2 = true;
						}
						if (text2.Contains("lab_medium_open_1200x1200x800_v04") && text2.Contains("prop_machinekit_4x4"))
						{
							flag2 = true;
						}
						if (text2.Contains("dimension_desert_mining_shaft"))
						{
							float y4 = ((Component)((Component)componentsInChild12).GetComponentInParent<LG_Geomorph>()).transform.position.y;
							if (text2.Contains("pipe"))
							{
								((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
								flag2 = false;
							}
							if (text2.Contains("octagonwall") && ((Component)componentsInChild12).transform.position.y == y4 - 7.5644f)
							{
								((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT_BLOCKGRAPH;
							}
							if (text2.Contains("buildingpart_octagon_2x2x2") && ((Component)componentsInChild12).transform.localPosition == new Vector3(8.472f, 0.081f, 13.451f))
							{
								((Component)componentsInChild12).transform.localEulerAngles = new Vector3(0f, 240f, 0f);
								((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT_BLOCKGRAPH;
								GameObject val12 = GameObject.CreatePrimitive((PrimitiveType)3);
								val12.transform.parent = ((Component)componentsInChild12).transform.parent.parent;
								val12.transform.localPosition = Vector3.zero;
								Transform transform3 = val12.transform;
								transform3.localPosition += new Vector3(0f, 0f, -0.9f);
								val12.transform.localScale = new Vector3(1f, 0.4f, 1f);
								val12.transform.localEulerAngles = new Vector3(0f, 180f, 0f);
								val12.gameObject.layer = LayerManager.LAYER_NOCOLLISION_BLOCKGRAPH;
								((Object)val12).name = "fd_was_here_lol";
								deletelist.Add(val12);
							}
							if (text2.Contains("desert_cliff_bend_m_01"))
							{
								float y5 = ((Component)((Component)componentsInChild12).GetComponentInParent<LG_Geomorph>()).transform.position.y;
								if (((Component)componentsInChild12).transform.parent.parent.position.y == y5 + 5.7f || ((Component)componentsInChild12).transform.parent.parent.position.y == y5 - 7.69f || ((Component)componentsInChild12).transform.parent.parent.position.y == y5 + 27.14f || ((Component)componentsInChild12).transform.parent.parent.position.y > y5 + 13f)
								{
									((Component)((Component)componentsInChild12).transform.parent.parent).gameObject.layer = LayerManager.LAYER_DEFAULT;
									((Component)((Component)componentsInChild12).transform).gameObject.layer = LayerManager.LAYER_DEFAULT;
								}
							}
						}
						if (text2.Contains("geo_64x64_service_garde