Decompiled source of Oerrdown v0.1.9

Plugins/Oerrdown.dll

Decompiled 2 weeks ago
using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using AIGraph;
using AK;
using Agents;
using BepInEx;
using BepInEx.Logging;
using BepInEx.Unity.IL2CPP;
using BepInEx.Unity.IL2CPP.Utils.Collections;
using Enemies;
using FloatingTextAPI;
using GTFO.API;
using GameData;
using HarmonyLib;
using Il2CppInterop.Runtime.InteropTypes;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;
using LevelGeneration;
using Localization;
using Microsoft.CodeAnalysis;
using Player;
using SNetwork;
using TMPro;
using UnityEngine;
using UnityEngine.Video;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("Oerrdown")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Oerrdown")]
[assembly: AssemblyTitle("Oerrdown")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.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]
	[Microsoft.CodeAnalysis.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 Oerrdown
{
	public class Level_A1 : MonoBehaviour
	{
		[CompilerGenerated]
		private sealed class <A1>d__3 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private List<EnemyAgent> <snatcherit>5__2;

			private List<EnemyAgent> <tankkilist>5__3;

			private AIG_CourseNode <tankkinode>5__4;

			private AIG_CourseNode <snatchernode>5__5;

			private EnemyAgent <tankki>5__6;

			private bool <ovi4>5__7;

			private bool <ovi5>5__8;

			private bool <tanksanottu>5__9;

			private bool <snatchersanottu>5__10;

			private bool <sumulaskettu>5__11;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <A1>d__3(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<snatcherit>5__2 = null;
				<tankkilist>5__3 = null;
				<tankkinode>5__4 = null;
				<snatchernode>5__5 = null;
				<tankki>5__6 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0075: Unknown result type (might be due to invalid IL or missing references)
				//IL_0088: Unknown result type (might be due to invalid IL or missing references)
				//IL_009b: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a5: Expected O, but got Unknown
				//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0106: Unknown result type (might be due to invalid IL or missing references)
				//IL_0110: Expected O, but got Unknown
				//IL_0232: Unknown result type (might be due to invalid IL or missing references)
				//IL_0237: Unknown result type (might be due to invalid IL or missing references)
				//IL_023f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0248: Expected O, but got Unknown
				//IL_0248: Unknown result type (might be due to invalid IL or missing references)
				//IL_024d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0254: Unknown result type (might be due to invalid IL or missing references)
				//IL_025f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0267: Unknown result type (might be due to invalid IL or missing references)
				//IL_0274: Expected O, but got Unknown
				//IL_0211: Unknown result type (might be due to invalid IL or missing references)
				//IL_021b: Expected O, but got Unknown
				//IL_0456: Unknown result type (might be due to invalid IL or missing references)
				//IL_0460: Expected O, but got Unknown
				//IL_0669: Unknown result type (might be due to invalid IL or missing references)
				//IL_0673: Expected O, but got Unknown
				//IL_04a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_04ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b5: Unknown result type (might be due to invalid IL or missing references)
				//IL_04be: Expected O, but got Unknown
				//IL_04be: Unknown result type (might be due to invalid IL or missing references)
				//IL_04c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_04cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_04db: Unknown result type (might be due to invalid IL or missing references)
				//IL_04e3: Unknown result type (might be due to invalid IL or missing references)
				//IL_04ea: Unknown result type (might be due to invalid IL or missing references)
				//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
				//IL_04f8: Unknown result type (might be due to invalid IL or missing references)
				//IL_04ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_0508: Expected O, but got Unknown
				//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
				//IL_01af: Unknown result type (might be due to invalid IL or missing references)
				//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_01be: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ca: Expected O, but got Unknown
				//IL_0399: Unknown result type (might be due to invalid IL or missing references)
				//IL_039e: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a6: Unknown result type (might be due to invalid IL or missing references)
				//IL_03af: Expected O, but got Unknown
				//IL_03af: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_03bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_03c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_03d1: Unknown result type (might be due to invalid IL or missing references)
				//IL_03d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_03df: Unknown result type (might be due to invalid IL or missing references)
				//IL_03e8: Expected O, but got Unknown
				//IL_02dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e9: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f2: Expected O, but got Unknown
				//IL_02f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f7: Unknown result type (might be due to invalid IL or missing references)
				//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_030f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0317: Unknown result type (might be due to invalid IL or missing references)
				//IL_031e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0325: Unknown result type (might be due to invalid IL or missing references)
				//IL_032c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0333: Unknown result type (might be due to invalid IL or missing references)
				//IL_033c: Expected O, but got Unknown
				//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ec: Expected O, but got Unknown
				//IL_03fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0400: Unknown result type (might be due to invalid IL or missing references)
				//IL_0408: Unknown result type (might be due to invalid IL or missing references)
				//IL_0418: Unknown result type (might be due to invalid IL or missing references)
				//IL_041f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0426: Unknown result type (might be due to invalid IL or missing references)
				//IL_042d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0434: Unknown result type (might be due to invalid IL or missing references)
				//IL_043d: Expected O, but got Unknown
				//IL_0567: Unknown result type (might be due to invalid IL or missing references)
				//IL_056c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0574: Unknown result type (might be due to invalid IL or missing references)
				//IL_057d: Expected O, but got Unknown
				//IL_057d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0582: Unknown result type (might be due to invalid IL or missing references)
				//IL_058a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0592: Unknown result type (might be due to invalid IL or missing references)
				//IL_0599: Unknown result type (might be due to invalid IL or missing references)
				//IL_05a0: Unknown result type (might be due to invalid IL or missing references)
				//IL_05a7: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_05b7: Expected O, but got Unknown
				//IL_05ca: Unknown result type (might be due to invalid IL or missing references)
				//IL_05cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_05d6: Unknown result type (might be due to invalid IL or missing references)
				//IL_05dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_05e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_05eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_05f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_05fb: Expected O, but got Unknown
				//IL_060e: 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_061b: Unknown result type (might be due to invalid IL or missing references)
				//IL_062b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0632: Unknown result type (might be due to invalid IL or missing references)
				//IL_0639: Unknown result type (might be due to invalid IL or missing references)
				//IL_0640: Unknown result type (might be due to invalid IL or missing references)
				//IL_0647: Unknown result type (might be due to invalid IL or missing references)
				//IL_0650: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					<snatcherit>5__2 = new List<EnemyAgent>();
					<tankkilist>5__3 = new List<EnemyAgent>();
					Vector3 val9 = default(Vector3);
					((Vector3)(ref val9))..ctor(0f, 0f, 120f);
					Vector3 val10 = default(Vector3);
					((Vector3)(ref val10))..ctor(204f, -17f, 64f);
					AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val10, 0f, ref <tankkinode>5__4);
					AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val9, 0f, ref <snatchernode>5__5);
					<tankki>5__6 = new EnemyAgent();
					<ovi4>5__7 = false;
					<ovi5>5__8 = false;
					<tanksanottu>5__9 = false;
					<snatchersanottu>5__10 = false;
					<sumulaskettu>5__11 = false;
					DamageNumberFactory.CreateFloatingText<FloatingTextBase>((IFloatingTextInfo)(object)new Plugin.FloaterInfo(Vector3.zero, new Vector3(0f, 4f, 30f), 0f, 20f, "<size=150%><color=#0055ff>O E R R D O W N\n<size=100%>A1: COMMENCE</color>"));
					<>2__current = (object)new WaitForSeconds(3f);
					<>1__state = 1;
					return true;
				}
				case 1:
					<>1__state = -1;
					AIG_CourseNode.GetEnemiesInNodes(<snatchernode>5__5, 1, <snatcherit>5__2);
					AIG_CourseNode.GetEnemiesInNodes(<tankkinode>5__4, 1, <tankkilist>5__3);
					if (<tankkilist>5__3.Count > 0)
					{
						<tankki>5__6 = <tankkilist>5__3[0];
					}
					goto IL_0470;
				case 2:
					<>1__state = -1;
					if (SNet.IsMaster)
					{
						WorldEventManager.SetCondition(14, true);
					}
					<>2__current = (object)new WaitForSeconds(4f);
					<>1__state = 3;
					return true;
				case 3:
				{
					<>1__state = -1;
					string untranslatedText = "Biocide successful, ventilating...";
					LocalizedText wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					WardenObjectiveEventData val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)6,
						FogSetting = 180u,
						WardenIntel = wardenIntel,
						FogTransitionDuration = 50f
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					goto IL_0287;
				}
				case 4:
					<>1__state = -1;
					goto IL_0470;
				case 5:
					<>1__state = -1;
					goto IL_0683;
				case 6:
					{
						<>1__state = -1;
						return false;
					}
					IL_0683:
					if (!<ovi5>5__8)
					{
						if (WorldEventManager.GetCondition(12))
						{
							int num = 0;
							if (!<snatchersanottu>5__10)
							{
								<snatchersanottu>5__10 = true;
								string untranslatedText2 = "All hostile entities in [ZONE_4] must be killed";
								LocalizedText wardenIntel2 = new LocalizedText
								{
									UntranslatedText = untranslatedText2,
									Id = 0u
								};
								WardenObjectiveEventData val2 = new WardenObjectiveEventData
								{
									Type = (eWardenObjectiveEventType)11,
									CustomSubObjectiveHeader = LocalizedText.op_Implicit(50010u),
									WardenIntel = wardenIntel2,
									LocalIndex = (eLocalZoneIndex)5,
									DimensionIndex = (eDimensionIndex)0,
									ChainPuzzle = 0u,
									Trigger = (eWardenObjectiveEventTrigger)0,
									Layer = (LG_LayerType)0
								};
								if (SNet.IsMaster)
								{
									WorldEventManager.ExecuteEvent(val2, 0f);
								}
							}
							Enumerator<EnemyAgent> enumerator = <snatcherit>5__2.GetEnumerator();
							while (enumerator.MoveNext())
							{
								if (enumerator.Current.m_alive)
								{
									num++;
								}
							}
							if (num == 0 && !<ovi5>5__8)
							{
								<ovi5>5__8 = true;
								string untranslatedText3 = "extraction allowed, proceed to [ZONE_5]";
								LocalizedText wardenIntel3 = new LocalizedText
								{
									UntranslatedText = untranslatedText3,
									Id = 0u
								};
								WardenObjectiveEventData val3 = new WardenObjectiveEventData
								{
									Type = (eWardenObjectiveEventType)12,
									WardenIntel = wardenIntel3,
									LocalIndex = (eLocalZoneIndex)5,
									DimensionIndex = (eDimensionIndex)0,
									ChainPuzzle = 0u,
									Trigger = (eWardenObjectiveEventTrigger)0,
									Layer = (LG_LayerType)0
								};
								if (SNet.IsMaster)
								{
									WorldEventManager.ExecuteEvent(val3, 0f);
								}
								WardenObjectiveEventData val4 = new WardenObjectiveEventData
								{
									Type = (eWardenObjectiveEventType)2,
									LocalIndex = (eLocalZoneIndex)5,
									DimensionIndex = (eDimensionIndex)0,
									ChainPuzzle = 0u,
									Trigger = (eWardenObjectiveEventTrigger)0,
									Layer = (LG_LayerType)0
								};
								if (SNet.IsMaster)
								{
									WorldEventManager.ExecuteEvent(val4, 0f);
								}
								WardenObjectiveEventData val5 = new WardenObjectiveEventData
								{
									Type = (eWardenObjectiveEventType)11,
									CustomSubObjectiveHeader = LocalizedText.op_Implicit(50002u),
									LocalIndex = (eLocalZoneIndex)5,
									DimensionIndex = (eDimensionIndex)0,
									ChainPuzzle = 0u,
									Trigger = (eWardenObjectiveEventTrigger)0,
									Layer = (LG_LayerType)0
								};
								if (SNet.IsMaster)
								{
									WorldEventManager.ExecuteEvent(val5, 0f);
								}
							}
						}
						<>2__current = (object)new WaitForSeconds(5f);
						<>1__state = 5;
						return true;
					}
					<>2__current = null;
					<>1__state = 6;
					return true;
					IL_0287:
					if (WorldEventManager.GetCondition(1) && WorldEventManager.GetCondition(2) && WorldEventManager.GetCondition(3) && WorldEventManager.GetCondition(4) && <tankki>5__6.m_alive && !<tanksanottu>5__9)
					{
						<tanksanottu>5__9 = true;
						string untranslatedText4 = "Tank must be destroyed to proceed";
						LocalizedText wardenIntel4 = new LocalizedText
						{
							UntranslatedText = untranslatedText4,
							Id = 0u
						};
						WardenObjectiveEventData val6 = new WardenObjectiveEventData
						{
							Type = (eWardenObjectiveEventType)11,
							CustomSubObjectiveHeader = LocalizedText.op_Implicit(50001u),
							WardenIntel = wardenIntel4,
							LocalIndex = (eLocalZoneIndex)3,
							DimensionIndex = (eDimensionIndex)0,
							ChainPuzzle = 0u,
							Trigger = (eWardenObjectiveEventTrigger)0,
							Layer = (LG_LayerType)0
						};
						if (SNet.IsMaster)
						{
							WorldEventManager.ExecuteEvent(val6, 0f);
						}
					}
					if (WorldEventManager.GetCondition(1) && WorldEventManager.GetCondition(2) && WorldEventManager.GetCondition(3) && WorldEventManager.GetCondition(4) && !<tankki>5__6.m_alive)
					{
						<ovi4>5__7 = true;
						string untranslatedText5 = "finish objective in [ZONE_4]";
						LocalizedText wardenIntel5 = new LocalizedText
						{
							UntranslatedText = untranslatedText5,
							Id = 0u
						};
						WardenObjectiveEventData val7 = new WardenObjectiveEventData
						{
							Type = (eWardenObjectiveEventType)2,
							WardenIntel = wardenIntel5,
							LocalIndex = (eLocalZoneIndex)4,
							DimensionIndex = (eDimensionIndex)0,
							ChainPuzzle = 0u,
							Trigger = (eWardenObjectiveEventTrigger)0,
							Layer = (LG_LayerType)0
						};
						if (SNet.IsMaster)
						{
							WorldEventManager.ExecuteEvent(val7, 0f);
						}
						WardenObjectiveEventData val8 = new WardenObjectiveEventData
						{
							Type = (eWardenObjectiveEventType)11,
							CustomSubObjectiveHeader = LocalizedText.op_Implicit(50009u),
							LocalIndex = (eLocalZoneIndex)0,
							DimensionIndex = (eDimensionIndex)0,
							ChainPuzzle = 0u,
							Trigger = (eWardenObjectiveEventTrigger)0,
							Layer = (LG_LayerType)0
						};
						if (SNet.IsMaster)
						{
							WorldEventManager.ExecuteEvent(val8, 0f);
						}
					}
					<>2__current = (object)new WaitForSeconds(5f);
					<>1__state = 4;
					return true;
					IL_0470:
					if (!<ovi4>5__7)
					{
						if (WorldEventManager.GetCondition(1) && WorldEventManager.GetCondition(2) && WorldEventManager.GetCondition(3) && WorldEventManager.GetCondition(4) && !<sumulaskettu>5__11)
						{
							<sumulaskettu>5__11 = true;
							WardenObjectiveEventData val11 = new WardenObjectiveEventData
							{
								Type = (eWardenObjectiveEventType)6,
								FogSetting = 59u,
								FogTransitionDuration = 4f
							};
							if (SNet.IsMaster)
							{
								WorldEventManager.ExecuteEvent(val11, 0f);
							}
							<>2__current = (object)new WaitForSeconds(4f);
							<>1__state = 2;
							return true;
						}
						goto IL_0287;
					}
					goto IL_0683;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <A1EnemySpawner>d__1 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private List<EnemyAgent> <enemywave>5__2;

			private Vector3 <pos>5__3;

			private AIG_CourseNode <node>5__4;

			private AIG_CourseNode <keskusnode>5__5;

			private int <enemyscore>5__6;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <A1EnemySpawner>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<enemywave>5__2 = null;
				<node>5__4 = null;
				<keskusnode>5__5 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0045: Unknown result type (might be due to invalid IL or missing references)
				//IL_004a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f5: Expected O, but got Unknown
				//IL_0115: Unknown result type (might be due to invalid IL or missing references)
				//IL_011f: Expected O, but got Unknown
				//IL_015a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0164: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					<enemywave>5__2 = new List<EnemyAgent>();
					<pos>5__3 = new Vector3(-45f, 4f, 65f);
					Vector3 val = default(Vector3);
					((Vector3)(ref val))..ctor(0f, 0f, 40f);
					AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val, 0f, ref <keskusnode>5__5);
					AIG_CourseNode.GetCourseNode(1, ref <node>5__4);
					goto IL_0085;
				}
				case 1:
					<>1__state = -1;
					goto IL_0105;
				case 2:
					<>1__state = -1;
					goto IL_012f;
				case 3:
					<>1__state = -1;
					goto IL_0085;
				case 4:
					{
						<>1__state = -1;
						<enemywave>5__2 = null;
						<node>5__4 = null;
						<keskusnode>5__5 = null;
						return false;
					}
					IL_0085:
					<enemyscore>5__6 = 0;
					goto IL_012f;
					IL_012f:
					if (WorldEventManager.GetCondition(15) && SNet.IsMaster)
					{
						<enemywave>5__2.Clear();
						AIG_CourseNode.GetEnemiesInNodes(<keskusnode>5__5, 2, <enemywave>5__2);
						<enemyscore>5__6 = <enemywave>5__2.Count;
						goto IL_0105;
					}
					<enemyscore>5__6 = 0;
					<enemywave>5__2.Clear();
					<>2__current = (object)new WaitForSeconds(1f);
					<>1__state = 3;
					return true;
					IL_0105:
					if (<enemyscore>5__6 < 18)
					{
						EnemyAgent.SpawnEnemy(31u, <pos>5__3, <node>5__4, (AgentMode)1);
						<enemyscore>5__6++;
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 1;
						return true;
					}
					<>2__current = (object)new WaitForSeconds(4f);
					<>1__state = 2;
					return true;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <tekstiruutu>d__2 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private TextMeshPro <tm>5__2;

			private bool <kaikkisanottu>5__3;

			private string <teksti1>5__4;

			private string <teksti2>5__5;

			private string <teksti3>5__6;

			private string <teksti4>5__7;

			private string <kaikki4>5__8;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <tekstiruutu>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<tm>5__2 = null;
				<teksti1>5__4 = null;
				<teksti2>5__5 = null;
				<teksti3>5__6 = null;
				<teksti4>5__7 = null;
				<kaikki4>5__8 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0022: Unknown result type (might be due to invalid IL or missing references)
				//IL_0028: Expected O, but got Unknown
				//IL_0041: Unknown result type (might be due to invalid IL or missing references)
				//IL_004b: Expected O, but got Unknown
				//IL_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_0059: Expected O, but got Unknown
				//IL_0070: Unknown result type (might be due to invalid IL or missing references)
				//IL_0075: Unknown result type (might be due to invalid IL or missing references)
				//IL_008b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0090: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a6: 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_00c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
				//IL_0115: Unknown result type (might be due to invalid IL or missing references)
				//IL_011a: Unknown result type (might be due to invalid IL or missing references)
				//IL_012b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0130: Unknown result type (might be due to invalid IL or missing references)
				//IL_0141: Unknown result type (might be due to invalid IL or missing references)
				//IL_0146: Unknown result type (might be due to invalid IL or missing references)
				//IL_0157: Unknown result type (might be due to invalid IL or missing references)
				//IL_015c: Unknown result type (might be due to invalid IL or missing references)
				//IL_018e: Unknown result type (might be due to invalid IL or missing references)
				//IL_019e: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_01b4: 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_01e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f5: Expected O, but got Unknown
				//IL_0206: Unknown result type (might be due to invalid IL or missing references)
				//IL_0210: Expected O, but got Unknown
				//IL_0234: Unknown result type (might be due to invalid IL or missing references)
				//IL_02a5: Unknown result type (might be due to invalid IL or missing references)
				//IL_033a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0355: Unknown result type (might be due to invalid IL or missing references)
				//IL_0370: Unknown result type (might be due to invalid IL or missing references)
				//IL_0380: Unknown result type (might be due to invalid IL or missing references)
				//IL_04fb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0505: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					GameObject val = new GameObject();
					MeshRenderer val2 = val.AddComponent<MeshRenderer>();
					val.AddComponent<MeshCollider>();
					((Renderer)val2).sharedMaterial = new Material(Shader.Find("Standard"));
					MeshFilter val3 = val.AddComponent<MeshFilter>();
					Mesh val4 = new Mesh();
					Vector3[] array = (Vector3[])(object)new Vector3[4]
					{
						new Vector3(0f, 0f, 0f),
						new Vector3(1.5f, 0f, 0f),
						new Vector3(0f, 0.84f, 0f),
						new Vector3(1.5f, 0.84f, 0f)
					};
					val4.vertices = Il2CppStructArray<Vector3>.op_Implicit(array);
					int[] array2 = new int[6] { 0, 2, 1, 2, 3, 1 };
					val4.triangles = Il2CppStructArray<int>.op_Implicit(array2);
					val4.RecalculateNormals();
					Vector2[] array3 = (Vector2[])(object)new Vector2[4]
					{
						new Vector2(0f, 0f),
						new Vector2(1f, 0f),
						new Vector2(0f, 1f),
						new Vector2(1f, 1f)
					};
					val4.uv = Il2CppStructArray<Vector2>.op_Implicit(array3);
					val3.mesh = val4;
					val.transform.position = new Vector3(0f, 1f, 28f);
					List<Color> list = new List<Color>
					{
						Color.black,
						Color.black,
						Color.black,
						Color.black
					};
					val4.SetColors(Il2CppStructArray<Color>.op_Implicit(list.ToArray()));
					((Renderer)val2).material.color = Color.black;
					GameObject val5 = new GameObject();
					((Renderer)val5.AddComponent<MeshRenderer>()).sharedMaterial = new Material(Shader.Find("Standard"));
					val5.AddComponent<MeshFilter>().mesh = val4;
					val5.transform.position = new Vector3(205.53f, -17f, 64f);
					val5.transform.Rotate(0f, 90f, 0f);
					<tm>5__2 = val5.AddComponent<TextMeshPro>();
					((TMP_Text)<tm>5__2).overflowMode = (TextOverflowModes)3;
					((TMP_Text)<tm>5__2).autoSizeTextContainer = false;
					((TMP_Text)<tm>5__2).verticalAlignment = (VerticalAlignmentOptions)512;
					((TMP_Text)<tm>5__2).horizontalAlignment = (HorizontalAlignmentOptions)2;
					<tm>5__2.transform.localScale = Vector3.one;
					((TMP_Text)<tm>5__2).isTextObjectScaleStatic = true;
					((TMP_Text)<tm>5__2).fontSize = 1f;
					((TMP_Text)<tm>5__2).text = "<align=center><color=yellow>POWER <color=red>OFF\r\n\r\n<color=yellow>RELAY STATUS\r\n[<color=red>==<color=yellow>] [<color=red>==<color=yellow>] [<color=red>==<color=yellow>] [<color=red>==<color=yellow>]";
					((TMP_Text)<tm>5__2).fontSharedMaterial.SetFloat(ShaderUtilities.ID_GlowPower, 0f);
					((TMP_Text)<tm>5__2).fontSharedMaterial.SetFloat(ShaderUtilities.ID_Shininess, 0f);
					val.transform.Rotate(0f, 90f, 0f);
					val.transform.position = new Vector3(<tm>5__2.transform.position.x + 0.001f, <tm>5__2.transform.position.y - 0.42f, <tm>5__2.transform.position.z + 0.75f);
					<kaikkisanottu>5__3 = false;
					<teksti1>5__4 = "<color=red>==";
					<teksti2>5__5 = "<color=red>==";
					<teksti3>5__6 = "<color=red>==";
					<teksti4>5__7 = "<color=red>==";
					<kaikki4>5__8 = "<color=red>OFF";
					goto IL_0515;
				}
				case 1:
					<>1__state = -1;
					goto IL_0515;
				case 2:
					{
						<>1__state = -1;
						return false;
					}
					IL_0515:
					if (!<kaikkisanottu>5__3)
					{
						if (WorldEventManager.GetCondition(1))
						{
							<teksti1>5__4 = "<color=green>==";
						}
						if (WorldEventManager.GetCondition(2))
						{
							<teksti2>5__5 = "<color=green>==";
						}
						if (WorldEventManager.GetCondition(3))
						{
							<teksti3>5__6 = "<color=green>==";
						}
						if (WorldEventManager.GetCondition(4))
						{
							<teksti4>5__7 = "<color=green>==";
						}
						if (WorldEventManager.GetCondition(1) && WorldEventManager.GetCondition(2) && WorldEventManager.GetCondition(3) && WorldEventManager.GetCondition(4))
						{
							<kaikki4>5__8 = "<color=green>ON";
							<kaikkisanottu>5__3 = true;
						}
						((TMP_Text)<tm>5__2).text = "<align=center><color=yellow>POWER " + <kaikki4>5__8 + "\r\n\r\n<color=yellow>RELAY STATUS\r\n[" + <teksti1>5__4 + "<color=yellow>] [" + <teksti2>5__5 + "<color=yellow>] [" + <teksti3>5__6 + "<color=yellow>] [" + <teksti4>5__7 + "<color=yellow>]";
						((TMP_Text)<tm>5__2).fontSharedMaterial.SetFloat(ShaderUtilities.ID_GlowPower, 0f);
						((TMP_Text)<tm>5__2).fontSharedMaterial.SetFloat(ShaderUtilities.ID_Shininess, 0f);
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 1;
						return true;
					}
					<>2__current = null;
					<>1__state = 2;
					return true;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		public static void LevelA1()
		{
			CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(A1()), (Action)null);
			CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(A1EnemySpawner()), (Action)null);
			CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(tekstiruutu()), (Action)null);
			Log.LogInfo("We are in A1 - Commence");
		}

		[IteratorStateMachine(typeof(<A1EnemySpawner>d__1))]
		private static IEnumerator A1EnemySpawner()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <A1EnemySpawner>d__1(0);
		}

		[IteratorStateMachine(typeof(<tekstiruutu>d__2))]
		private static IEnumerator tekstiruutu()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <tekstiruutu>d__2(0);
		}

		[IteratorStateMachine(typeof(<A1>d__3))]
		private static IEnumerator A1()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <A1>d__3(0);
		}
	}
	public class Level_A2 : MonoBehaviour
	{
		[CompilerGenerated]
		private sealed class <A2>d__1 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private GameObject <go>5__2;

			private AIG_CourseNode <node>5__3;

			private Vector3 <katsomo>5__4;

			private Dictionary<Vector3, EnemyAgent> <tankkilista>5__5;

			private bool <katsomossa>5__6;

			private uint <otokka>5__7;

			private Vector3 <pos1>5__8;

			private Vector3 <pos2>5__9;

			private int <laskuri>5__10;

			private Dictionary<Vector3, EnemyAgent>.Enumerator <>7__wrap10;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <A2>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || num == 3)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<go>5__2 = null;
				<node>5__3 = null;
				<tankkilista>5__5 = null;
				<>7__wrap10 = default(Dictionary<Vector3, EnemyAgent>.Enumerator);
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0037: Unknown result type (might be due to invalid IL or missing references)
				//IL_004b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0097: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a1: Expected O, but got Unknown
				//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_052b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0530: Unknown result type (might be due to invalid IL or missing references)
				//IL_0545: Unknown result type (might be due to invalid IL or missing references)
				//IL_054a: Unknown result type (might be due to invalid IL or missing references)
				//IL_03f9: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_044a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0454: Expected O, but got Unknown
				//IL_04af: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b9: Expected O, but got Unknown
				//IL_04f4: Unknown result type (might be due to invalid IL or missing references)
				//IL_04fe: Expected O, but got Unknown
				//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_041d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0427: Expected O, but got Unknown
				//IL_010f: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0182: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0212: 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_0246: Unknown result type (might be due to invalid IL or missing references)
				//IL_0260: Unknown result type (might be due to invalid IL or missing references)
				//IL_027a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0294: Unknown result type (might be due to invalid IL or missing references)
				//IL_02ae: Unknown result type (might be due to invalid IL or missing references)
				//IL_02c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_02fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0316: 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_034a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0133: 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_0146: Unknown result type (might be due to invalid IL or missing references)
				//IL_035f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0364: 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_0376: Unknown result type (might be due to invalid IL or missing references)
				//IL_0378: Unknown result type (might be due to invalid IL or missing references)
				//IL_037d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0381: Unknown result type (might be due to invalid IL or missing references)
				//IL_0386: Unknown result type (might be due to invalid IL or missing references)
				//IL_0394: Unknown result type (might be due to invalid IL or missing references)
				//IL_0396: Unknown result type (might be due to invalid IL or missing references)
				//IL_039b: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ab: Unknown result type (might be due to invalid IL or missing references)
				//IL_03ad: Unknown result type (might be due to invalid IL or missing references)
				//IL_03be: Unknown result type (might be due to invalid IL or missing references)
				//IL_05b4: Unknown result type (might be due to invalid IL or missing references)
				//IL_05ba: Unknown result type (might be due to invalid IL or missing references)
				//IL_05bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_05c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_05c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_05cd: Unknown result type (might be due to invalid IL or missing references)
				//IL_05db: Unknown result type (might be due to invalid IL or missing references)
				//IL_05dd: Unknown result type (might be due to invalid IL or missing references)
				//IL_05e2: Unknown result type (might be due to invalid IL or missing references)
				//IL_05f7: Unknown result type (might be due to invalid IL or missing references)
				//IL_05fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0612: Unknown result type (might be due to invalid IL or missing references)
				//IL_0618: Unknown result type (might be due to invalid IL or missing references)
				//IL_061d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0622: Unknown result type (might be due to invalid IL or missing references)
				//IL_0626: Unknown result type (might be due to invalid IL or missing references)
				//IL_062b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0639: Unknown result type (might be due to invalid IL or missing references)
				//IL_063b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0640: Unknown result type (might be due to invalid IL or missing references)
				//IL_0655: Unknown result type (might be due to invalid IL or missing references)
				//IL_065a: Unknown result type (might be due to invalid IL or missing references)
				//IL_068d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0697: Expected O, but got Unknown
				try
				{
					Vector3 val;
					switch (<>1__state)
					{
					default:
						return false;
					case 0:
					{
						<>1__state = -1;
						DamageNumberFactory.CreateFloatingText<FloatingTextBase>((IFloatingTextInfo)(object)new Plugin.FloaterInfo(Vector3.zero, new Vector3(0f, 4f, 30f), 0f, 20f, "<size=150%><color=#0055ff>MERRY CHRISTMAS</color>"));
						CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(videoruutu()), (Action)null);
						Vector3 position = default(Vector3);
						((Vector3)(ref position))..ctor(0f, 50f, 64f);
						<go>5__2 = new GameObject();
						<go>5__2.transform.position = position;
						List<LG_Light> list = new List<LG_Light>();
						list.Clear();
						foreach (LG_Light item in Object.FindObjectsOfType<LG_Light>())
						{
							item.ChangeIntensity(5f);
							if (((Component)item).transform.position.x <= 0f)
							{
								item.ChangeColor(Color.green);
							}
							if (((Component)item).transform.position.x > 0f)
							{
								item.ChangeColor(Color.red);
							}
							if (((Component)item).transform.position.y < -2f)
							{
								item.ChangeColor(Color.white);
							}
							list.Add(item);
						}
						AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, new Vector3(0f, 0f, 34f), 0f, ref <node>5__3);
						<katsomo>5__4 = new Vector3(0f, 4f, 45f);
						new Vector3(0f, 10f, 64f);
						List<Vector3> list2 = new List<Vector3>();
						list2.Clear();
						<tankkilista>5__5 = new Dictionary<Vector3, EnemyAgent>();
						<tankkilista>5__5.Clear();
						list2.Add(new Vector3(-8f, 4f, 44f));
						list2.Add(new Vector3(-21f, 4.1f, 53.2f));
						list2.Add(new Vector3(-24f, 0f, 63f));
						list2.Add(new Vector3(-14.5f, -1.8f, 66.5f));
						list2.Add(new Vector3(-12.8f, -1.8f, 73.85f));
						list2.Add(new Vector3(-8.4f, -1.8f, 78.8f));
						list2.Add(new Vector3(-0.83f, 0f, 83.34f));
						list2.Add(new Vector3(6.8f, 0f, 86.3f));
						list2.Add(new Vector3(14.1f, 4f, 78.76f));
						list2.Add(new Vector3(22f, 0f, 74.66f));
						list2.Add(new Vector3(20.2f, -1.8f, 65.5f));
						list2.Add(new Vector3(17.6f, -1.8f, 58.6f));
						list2.Add(new Vector3(13.13f, -2.8f, 53.3f));
						list2.Add(new Vector3(5.13f, -2.8f, 47.7f));
						foreach (Vector3 item2 in list2)
						{
							val = <go>5__2.transform.position - item2;
							Vector3 normalized2 = ((Vector3)(ref val)).normalized;
							normalized2.y = 0f;
							Quaternion val3 = Quaternion.LookRotation(normalized2);
							EnemyAgent value = EnemyAllocator.Current.SpawnEnemy(29u, <node>5__3, (AgentMode)4, item2, val3, (EnemyGroup)null, -1);
							<tankkilista>5__5[item2] = value;
						}
						<katsomossa>5__6 = false;
						goto IL_043c;
					}
					case 1:
						<>1__state = -1;
						goto IL_043c;
					case 2:
						<>1__state = -1;
						<>7__wrap10 = <tankkilista>5__5.GetEnumerator();
						<>1__state = -3;
						goto IL_04cf;
					case 3:
						<>1__state = -3;
						goto IL_04cf;
					case 4:
						<>1__state = -1;
						<otokka>5__7 = 31u;
						<pos1>5__8 = new Vector3(13.13f, -2.8f, 53.3f);
						<pos2>5__9 = new Vector3(-24f, 0f, 63f);
						<laskuri>5__10 = 0;
						goto IL_06bb;
					case 5:
						<>1__state = -1;
						<laskuri>5__10++;
						goto IL_06bb;
					case 6:
						{
							<>1__state = -1;
							return false;
						}
						IL_06bb:
						if (<laskuri>5__10 < 100)
						{
							int num = Random.Range(1, 7);
							if (num == 1)
							{
								<otokka>5__7 = 28u;
							}
							if (num == 2)
							{
								<otokka>5__7 = 30u;
							}
							if (num == 3)
							{
								<otokka>5__7 = 39u;
							}
							if (num == 4)
							{
								<otokka>5__7 = 29u;
							}
							if (num == 5)
							{
								<otokka>5__7 = 36u;
							}
							if (num == 6)
							{
								<otokka>5__7 = 37u;
							}
							val = <go>5__2.transform.position - <pos1>5__8;
							Vector3 normalized = ((Vector3)(ref val)).normalized;
							normalized.y = 0f;
							Quaternion val2 = Quaternion.LookRotation(normalized);
							EnemyAgent enemy = EnemyAllocator.Current.SpawnEnemy(<otokka>5__7, <node>5__3, (AgentMode)1, <pos1>5__8, val2, (EnemyGroup)null, -1);
							val = <go>5__2.transform.position - <pos2>5__9;
							normalized = ((Vector3)(ref val)).normalized;
							normalized.y = 0f;
							val2 = Quaternion.LookRotation(normalized);
							EnemyAgent enemy2 = EnemyAllocator.Current.SpawnEnemy(<otokka>5__7, <node>5__3, (AgentMode)1, <pos2>5__9, val2, (EnemyGroup)null, -1);
							CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(tappaja(enemy)), (Action)null);
							CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(tappaja(enemy2)), (Action)null);
							<>2__current = (object)new WaitForSeconds(0.4f);
							<>1__state = 5;
							return true;
						}
						<>2__current = null;
						<>1__state = 6;
						return true;
						IL_04cf:
						if (<>7__wrap10.MoveNext())
						{
							CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(tappaja(<>7__wrap10.Current.Value)), (Action)null);
							<>2__current = (object)new WaitForSeconds(0.5f);
							<>1__state = 3;
							return true;
						}
						<>m__Finally1();
						<>7__wrap10 = default(Dictionary<Vector3, EnemyAgent>.Enumerator);
						<>2__current = (object)new WaitForSeconds(3f);
						<>1__state = 4;
						return true;
						IL_043c:
						if (!<katsomossa>5__6)
						{
							if (Vector3.Distance(((Component)PlayerManager.PlayerAgentsInLevel[0]).transform.position, <katsomo>5__4) < 2f)
							{
								<katsomossa>5__6 = true;
							}
							<>2__current = (object)new WaitForSeconds(0.5f);
							<>1__state = 1;
							return true;
						}
						<>2__current = (object)new WaitForSeconds(18f);
						<>1__state = 2;
						return true;
					}
				}
				catch
				{
					//try-fault
					((IDisposable)this).Dispose();
					throw;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				((IDisposable)<>7__wrap10).Dispose();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <tappaja>d__2 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			public EnemyAgent enemy;

			private GameObject <go>5__2;

			private Vector3 <dir>5__3;

			private Rigidbody <rb>5__4;

			private int <i>5__5;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <tappaja>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<go>5__2 = null;
				<rb>5__4 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_003d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0047: Expected O, but got Unknown
				//IL_0052: Unknown result type (might be due to invalid IL or missing references)
				//IL_0059: Unknown result type (might be due to invalid IL or missing references)
				//IL_0063: Expected O, but got Unknown
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_008f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0094: Unknown result type (might be due to invalid IL or missing references)
				//IL_0099: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_0172: Unknown result type (might be due to invalid IL or missing references)
				//IL_017c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0197: Unknown result type (might be due to invalid IL or missing references)
				//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
				//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
				//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e2: Expected O, but got Unknown
				//IL_0161: Unknown result type (might be due to invalid IL or missing references)
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					Vector3 position = default(Vector3);
					((Vector3)(ref position))..ctor(0f, 50f, 64f);
					<go>5__2 = new GameObject();
					<go>5__2.transform.position = position;
					<>2__current = (object)new WaitForFixedUpdate();
					<>1__state = 1;
					return true;
				}
				case 1:
					<>1__state = -1;
					<dir>5__3 = <go>5__2.transform.position - ((Component)enemy).transform.position;
					enemy.Damage.MeleeDamage(((Dam_SyncedDamageBase)enemy.Damage).DamageMax, (Agent)null, default(Vector3), default(Vector3), 0, 1f, 1f, 1f, 1f, false, (DamageNoiseLevel)0, 0u);
					<rb>5__4 = ((Component)enemy).gameObject.AddComponent<Rigidbody>();
					<rb>5__4.isKinematic = false;
					<rb>5__4.useGravity = true;
					<rb>5__4.mass = 2f;
					<i>5__5 = 0;
					goto IL_0202;
				case 2:
					<>1__state = -1;
					<i>5__5++;
					goto IL_0202;
				case 3:
					{
						<>1__state = -1;
						return false;
					}
					IL_0202:
					if (<i>5__5 < 10)
					{
						if ((Object)(object)enemy.RagdollInstance != (Object)null)
						{
							enemy.RagdollInstance.transform.position = ((Component)<rb>5__4).transform.position;
						}
						<rb>5__4.AddForce(<dir>5__3 * 20f);
						enemy.Position = ((Component)<rb>5__4).transform.position;
						enemy.m_goodPosition = ((Component)<rb>5__4).transform.position;
						((Agent)enemy).m_position = ((Component)<rb>5__4).transform.position;
						<>2__current = (object)new WaitForFixedUpdate();
						<>1__state = 2;
						return true;
					}
					<>2__current = null;
					<>1__state = 3;
					return true;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <videoruutu>d__3 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private VideoPlayer <videoPlayer>5__2;

			private bool <katsomossa>5__3;

			private Vector3 <katsomo>5__4;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <videoruutu>d__3(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<videoPlayer>5__2 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0022: Unknown result type (might be due to invalid IL or missing references)
				//IL_0028: Expected O, but got Unknown
				//IL_003d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0044: Expected O, but got Unknown
				//IL_005b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0060: Unknown result type (might be due to invalid IL or missing references)
				//IL_0076: Unknown result type (might be due to invalid IL or missing references)
				//IL_007b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0091: Unknown result type (might be due to invalid IL or missing references)
				//IL_0096: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_0100: Unknown result type (might be due to invalid IL or missing references)
				//IL_0105: Unknown result type (might be due to invalid IL or missing references)
				//IL_0116: Unknown result type (might be due to invalid IL or missing references)
				//IL_011b: Unknown result type (might be due to invalid IL or missing references)
				//IL_012c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0131: Unknown result type (might be due to invalid IL or missing references)
				//IL_0142: Unknown result type (might be due to invalid IL or missing references)
				//IL_0147: Unknown result type (might be due to invalid IL or missing references)
				//IL_0179: Unknown result type (might be due to invalid IL or missing references)
				//IL_0183: Unknown result type (might be due to invalid IL or missing references)
				//IL_0188: Unknown result type (might be due to invalid IL or missing references)
				//IL_018e: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
				//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
				//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
				//IL_01df: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
				//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
				//IL_0205: Unknown result type (might be due to invalid IL or missing references)
				//IL_0210: Unknown result type (might be due to invalid IL or missing references)
				//IL_0242: Unknown result type (might be due to invalid IL or missing references)
				//IL_024c: Expected O, but got Unknown
				//IL_026f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0274: Unknown result type (might be due to invalid IL or missing references)
				//IL_028b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0291: Unknown result type (might be due to invalid IL or missing references)
				//IL_02af: Unknown result type (might be due to invalid IL or missing references)
				//IL_02b9: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					GameObject val = new GameObject();
					MeshRenderer val2 = val.AddComponent<MeshRenderer>();
					val.AddComponent<MeshCollider>();
					MeshFilter val3 = val.AddComponent<MeshFilter>();
					Mesh val4 = new Mesh();
					Vector3[] array = (Vector3[])(object)new Vector3[4]
					{
						new Vector3(0f, 0f, 0f),
						new Vector3(13.3f, 0f, 0f),
						new Vector3(0f, 7.5f, 0f),
						new Vector3(13.3f, 7.5f, 0f)
					};
					val4.vertices = Il2CppStructArray<Vector3>.op_Implicit(array);
					int[] array2 = new int[6] { 0, 2, 1, 2, 3, 1 };
					val4.triangles = Il2CppStructArray<int>.op_Implicit(array2);
					val4.RecalculateNormals();
					Vector2[] array3 = (Vector2[])(object)new Vector2[4]
					{
						new Vector2(0f, 0f),
						new Vector2(1f, 0f),
						new Vector2(0f, 1f),
						new Vector2(1f, 1f)
					};
					val4.uv = Il2CppStructArray<Vector2>.op_Implicit(array3);
					val3.mesh = val4;
					val.transform.position = new Vector3(-6.65f, 3f, 56f);
					GameObject val5 = new GameObject();
					val5.AddComponent<Light>().color = Color.white;
					val5.transform.position = new Vector3(-8f, 5f, 53f);
					GameObject val6 = new GameObject();
					val6.AddComponent<Light>().color = Color.white;
					val6.transform.position = new Vector3(8f, 5f, 53f);
					List<Color> list = new List<Color>
					{
						Color.black,
						Color.black,
						Color.black,
						Color.black
					};
					val4.SetColors(Il2CppStructArray<Color>.op_Implicit(list.ToArray()));
					((Renderer)val2).material.mainTexture = (Texture)new RenderTexture(1280, 720, 24, (RenderTextureFormat)0);
					<videoPlayer>5__2 = val.AddComponent<VideoPlayer>();
					<katsomossa>5__3 = false;
					<katsomo>5__4 = new Vector3(0f, 4f, 45f);
					goto IL_02c9;
				}
				case 1:
					<>1__state = -1;
					goto IL_02c9;
				case 2:
					{
						<>1__state = -1;
						return false;
					}
					IL_02c9:
					if (!<katsomossa>5__3)
					{
						if (Vector3.Distance(((Component)PlayerManager.PlayerAgentsInLevel[0]).transform.position, <katsomo>5__4) < 2f)
						{
							<katsomossa>5__3 = true;
						}
						<>2__current = (object)new WaitForSeconds(0.5f);
						<>1__state = 1;
						return true;
					}
					<videoPlayer>5__2.url = "c:/users/fd/Downloads/christmasfinal.mp4";
					<videoPlayer>5__2.Play();
					<>2__current = null;
					<>1__state = 2;
					return true;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		public static void LevelA2()
		{
			CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(A2()), (Action)null);
			Log.LogInfo("We are in A2 - Christmas");
		}

		[IteratorStateMachine(typeof(<A2>d__1))]
		private static IEnumerator A2()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <A2>d__1(0);
		}

		[IteratorStateMachine(typeof(<tappaja>d__2))]
		private static IEnumerator tappaja(EnemyAgent enemy)
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <tappaja>d__2(0)
			{
				enemy = enemy
			};
		}

		[IteratorStateMachine(typeof(<videoruutu>d__3))]
		private static IEnumerator videoruutu()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <videoruutu>d__3(0);
		}
	}
	public class Level_B1 : MonoBehaviour
	{
		[CompilerGenerated]
		private sealed class <B1>d__2 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private EnemyAgent <mamma>5__2;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <B1>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<mamma>5__2 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_008f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0094: Unknown result type (might be due to invalid IL or missing references)
				//IL_009b: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a3: Expected O, but got Unknown
				//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_00af: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b7: Expected O, but got Unknown
				//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Unknown result type (might be due to invalid IL or missing references)
				//IL_010b: Expected O, but got Unknown
				//IL_01df: Unknown result type (might be due to invalid IL or missing references)
				//IL_01e4: Unknown result type (might be due to invalid IL or missing references)
				//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f3: Expected O, but got Unknown
				//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
				//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
				//IL_020a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0215: Unknown result type (might be due to invalid IL or missing references)
				//IL_021d: Expected O, but got Unknown
				//IL_0255: Unknown result type (might be due to invalid IL or missing references)
				//IL_025a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0261: Unknown result type (might be due to invalid IL or missing references)
				//IL_0269: Expected O, but got Unknown
				//IL_0269: Unknown result type (might be due to invalid IL or missing references)
				//IL_026e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0275: Unknown result type (might be due to invalid IL or missing references)
				//IL_027d: Expected O, but got Unknown
				//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d9: Expected O, but got Unknown
				//IL_011d: 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_0129: Unknown result type (might be due to invalid IL or missing references)
				//IL_0130: 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_013f: Expected O, but got Unknown
				//IL_0235: Unknown result type (might be due to invalid IL or missing references)
				//IL_023f: Expected O, but got Unknown
				//IL_0046: Unknown result type (might be due to invalid IL or missing references)
				//IL_0050: Expected O, but got Unknown
				//IL_006f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0079: Expected O, but got Unknown
				//IL_0151: Unknown result type (might be due to invalid IL or missing references)
				//IL_0156: Unknown result type (might be due to invalid IL or missing references)
				//IL_015d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0164: Unknown result type (might be due to invalid IL or missing references)
				//IL_016b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0173: Expected O, but got Unknown
				//IL_029f: Unknown result type (might be due to invalid IL or missing references)
				//IL_02a9: Expected O, but got Unknown
				//IL_02c8: Unknown result type (might be due to invalid IL or missing references)
				//IL_02cd: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d4: Unknown result type (might be due to invalid IL or missing references)
				//IL_02dc: Expected O, but got Unknown
				//IL_02dc: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e1: Unknown result type (might be due to invalid IL or missing references)
				//IL_02e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_02f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
				//IL_0306: Expected O, but got Unknown
				//IL_0354: Unknown result type (might be due to invalid IL or missing references)
				//IL_035e: Expected O, but got Unknown
				//IL_0377: Unknown result type (might be due to invalid IL or missing references)
				//IL_037c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0384: Unknown result type (might be due to invalid IL or missing references)
				//IL_0394: Unknown result type (might be due to invalid IL or missing references)
				//IL_039b: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a2: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a9: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b0: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b8: Expected O, but got Unknown
				//IL_0417: Unknown result type (might be due to invalid IL or missing references)
				//IL_0421: Expected O, but got Unknown
				//IL_043e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0443: Unknown result type (might be due to invalid IL or missing references)
				//IL_044a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0451: Unknown result type (might be due to invalid IL or missing references)
				//IL_0458: Unknown result type (might be due to invalid IL or missing references)
				//IL_0461: Expected O, but got Unknown
				//IL_0185: Unknown result type (might be due to invalid IL or missing references)
				//IL_018a: 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_0198: Unknown result type (might be due to invalid IL or missing references)
				//IL_019f: Unknown result type (might be due to invalid IL or missing references)
				//IL_01a7: Expected O, but got Unknown
				//IL_0318: Unknown result type (might be due to invalid IL or missing references)
				//IL_031d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0324: Unknown result type (might be due to invalid IL or missing references)
				//IL_032b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0332: Unknown result type (might be due to invalid IL or missing references)
				//IL_033a: Expected O, but got Unknown
				//IL_03e8: Unknown result type (might be due to invalid IL or missing references)
				//IL_0473: Unknown result type (might be due to invalid IL or missing references)
				//IL_0478: Unknown result type (might be due to invalid IL or missing references)
				//IL_0480: Unknown result type (might be due to invalid IL or missing references)
				//IL_0488: Expected O, but got Unknown
				//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
				//IL_01c9: Expected O, but got Unknown
				//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_04a7: Unknown result type (might be due to invalid IL or missing references)
				//IL_04b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_04be: Unknown result type (might be due to invalid IL or missing references)
				//IL_04c5: Unknown result type (might be due to invalid IL or missing references)
				//IL_04cc: Unknown result type (might be due to invalid IL or missing references)
				//IL_04d3: Unknown result type (might be due to invalid IL or missing references)
				//IL_04db: Expected O, but got Unknown
				string untranslatedText;
				LocalizedText wardenIntel;
				WardenObjectiveEventData val;
				List<EnemyAgent> val2;
				Vector3 val3 = default(Vector3);
				AIG_CourseNode val4 = default(AIG_CourseNode);
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					goto IL_0060;
				case 1:
					<>1__state = -1;
					goto IL_0060;
				case 2:
					<>1__state = -1;
					untranslatedText = "pressure buildup preventing water ingress, opening pressure bulkheads in 5 seconds..";
					wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)0,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					<>2__current = (object)new WaitForSeconds(5f);
					<>1__state = 3;
					return true;
				case 3:
					<>1__state = -1;
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)1,
						Layer = (LG_LayerType)0,
						DimensionIndex = (eDimensionIndex)0,
						LocalIndex = (eLocalZoneIndex)1
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)1,
						Layer = (LG_LayerType)0,
						DimensionIndex = (eDimensionIndex)0,
						LocalIndex = (eLocalZoneIndex)2
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)1,
						Layer = (LG_LayerType)0,
						DimensionIndex = (eDimensionIndex)0,
						LocalIndex = (eLocalZoneIndex)4
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)1,
						Layer = (LG_LayerType)0,
						DimensionIndex = (eDimensionIndex)0,
						LocalIndex = (eLocalZoneIndex)5
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					<>2__current = (object)new WaitForSeconds(4f);
					<>1__state = 4;
					return true;
				case 4:
					<>1__state = -1;
					untranslatedText = "non-toxic vapor will be ventilated shortly";
					wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)6,
						FogSetting = 181u,
						FogTransitionDuration = 6f,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					<>2__current = (object)new WaitForSeconds(4f);
					<>1__state = 5;
					return true;
				case 5:
					<>1__state = -1;
					untranslatedText = "some hostile entities escaped, lock and load";
					wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)0,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
						WorldEventManager.SetCondition(15, true);
					}
					goto IL_02b9;
				case 6:
					<>1__state = -1;
					goto IL_02b9;
				case 7:
					<>1__state = -1;
					goto IL_036e;
				case 8:
					<>1__state = -1;
					goto IL_0431;
				case 9:
					{
						<>1__state = -1;
						return false;
					}
					IL_0431:
					if (<mamma>5__2.m_alive)
					{
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 8;
						return true;
					}
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)2,
						Layer = (LG_LayerType)0,
						DimensionIndex = (eDimensionIndex)0,
						LocalIndex = (eLocalZoneIndex)9
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)12,
						Layer = (LG_LayerType)0
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)11,
						CustomSubObjectiveHeader = LocalizedText.op_Implicit(51004u),
						LocalIndex = (eLocalZoneIndex)8,
						DimensionIndex = (eDimensionIndex)0,
						ChainPuzzle = 0u,
						Trigger = (eWardenObjectiveEventTrigger)0,
						Layer = (LG_LayerType)0
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					<>2__current = null;
					<>1__state = 9;
					return true;
					IL_02b9:
					if (WorldEventManager.GetCondition(15))
					{
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 6;
						return true;
					}
					untranslatedText = "ventilation active";
					wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)6,
						FogSetting = 180u,
						FogTransitionDuration = 40f,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)2,
						Layer = (LG_LayerType)0,
						DimensionIndex = (eDimensionIndex)0,
						LocalIndex = (eLocalZoneIndex)6
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					goto IL_036e;
					IL_0060:
					if (!WorldEventManager.GetCondition(14))
					{
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 1;
						return true;
					}
					<>2__current = (object)new WaitForSeconds(10f);
					<>1__state = 2;
					return true;
					IL_036e:
					if (!WorldEventManager.GetCondition(13))
					{
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 7;
						return true;
					}
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)11,
						CustomSubObjectiveHeader = LocalizedText.op_Implicit(51003u),
						LocalIndex = (eLocalZoneIndex)8,
						DimensionIndex = (eDimensionIndex)0,
						ChainPuzzle = 0u,
						Trigger = (eWardenObjectiveEventTrigger)0,
						Layer = (LG_LayerType)0
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					val2 = new List<EnemyAgent>();
					((Vector3)(ref val3))..ctor(-360f, 7.5f, 128f);
					AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val3, 0f, ref val4);
					AIG_CourseNode.GetEnemiesInNodes(val4, 1, val2);
					<mamma>5__2 = val2[0];
					goto IL_0431;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <B1EnemySpawner>d__1 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private List<EnemyAgent> <enemywave>5__2;

			private Vector3 <pos1>5__3;

			private Vector3 <pos2>5__4;

			private Vector3 <pos3>5__5;

			private Vector3 <pos4>5__6;

			private AIG_CourseNode <node>5__7;

			private AIG_CourseNode <keskusnode>5__8;

			private int <laskuri>5__9;

			private bool <tankkitapettu>5__10;

			private int <valilaskuri>5__11;

			private uint <otokka>5__12;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <B1EnemySpawner>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<enemywave>5__2 = null;
				<node>5__7 = null;
				<keskusnode>5__8 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_005d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0062: Unknown result type (might be due to invalid IL or missing references)
				//IL_0077: Unknown result type (might be due to invalid IL or missing references)
				//IL_007c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0091: Unknown result type (might be due to invalid IL or missing references)
				//IL_0096: 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_00cc: Unknown result type (might be due to invalid IL or missing references)
				//IL_032a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0341: Unknown result type (might be due to invalid IL or missing references)
				//IL_034b: Expected O, but got Unknown
				//IL_035e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0375: Unknown result type (might be due to invalid IL or missing references)
				//IL_037a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0381: Unknown result type (might be due to invalid IL or missing references)
				//IL_0389: Expected O, but got Unknown
				//IL_0389: Unknown result type (might be due to invalid IL or missing references)
				//IL_038e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0395: Unknown result type (might be due to invalid IL or missing references)
				//IL_039e: Expected O, but got Unknown
				//IL_0181: Unknown result type (might be due to invalid IL or missing references)
				//IL_018b: Expected O, but got Unknown
				//IL_016a: Unknown result type (might be due to invalid IL or missing references)
				//IL_03b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_03c1: Expected O, but got Unknown
				//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fd: Expected O, but got Unknown
				//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
				//IL_030d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0317: Expected O, but got Unknown
				//IL_02cc: Unknown result type (might be due to invalid IL or missing references)
				//IL_02d6: Expected O, but got Unknown
				//IL_0406: Unknown result type (might be due to invalid IL or missing references)
				//IL_0410: Expected O, but got Unknown
				//IL_0146: Unknown result type (might be due to invalid IL or missing references)
				//IL_0150: Expected O, but got Unknown
				//IL_012f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0207: Unknown result type (might be due to invalid IL or missing references)
				//IL_020c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0213: Unknown result type (might be due to invalid IL or missing references)
				//IL_0218: Unknown result type (might be due to invalid IL or missing references)
				//IL_021f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0224: Unknown result type (might be due to invalid IL or missing references)
				//IL_022a: Unknown result type (might be due to invalid IL or missing references)
				//IL_022f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0252: Unknown result type (might be due to invalid IL or missing references)
				//IL_025c: Expected O, but got Unknown
				//IL_023e: Unknown result type (might be due to invalid IL or missing references)
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					<enemywave>5__2 = new List<EnemyAgent>();
					<pos1>5__3 = new Vector3(49f, 4f, 128f);
					<pos2>5__4 = new Vector3(0f, 4f, 175f);
					<pos3>5__5 = new Vector3(-64f, 4f, 83f);
					<pos4>5__6 = new Vector3(-64f, 4f, 176f);
					Vector3 val2 = default(Vector3);
					((Vector3)(ref val2))..ctor(0f, 0f, 120f);
					AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val2, 0f, ref <keskusnode>5__8);
					AIG_CourseNode.GetCourseNode(1, ref <node>5__7);
					goto IL_010d;
				}
				case 1:
					<>1__state = -1;
					goto IL_010d;
				case 2:
					<>1__state = -1;
					if (SNet.IsMaster)
					{
						EnemyAgent.SpawnEnemy(39u, <pos4>5__6, <node>5__7, (AgentMode)1);
					}
					<>2__current = (object)new WaitForSeconds(20f);
					<>1__state = 3;
					return true;
				case 3:
					<>1__state = -1;
					<laskuri>5__9 = 0;
					goto IL_02e6;
				case 4:
					<>1__state = -1;
					<laskuri>5__9++;
					<valilaskuri>5__11++;
					goto IL_0290;
				case 5:
					<>1__state = -1;
					goto IL_02e6;
				case 6:
					<>1__state = -1;
					EnemyAgent.SpawnEnemy(39u, <pos4>5__6, <node>5__7, (AgentMode)1);
					<>2__current = (object)new WaitForSeconds(15f);
					<>1__state = 7;
					return true;
				case 7:
				{
					<>1__state = -1;
					EnemyAgent.SpawnEnemy(29u, <pos3>5__5, <node>5__7, (AgentMode)1);
					string untranslatedText = "biocide delivery complete, neutralize remaining hostiles";
					LocalizedText wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					WardenObjectiveEventData val3 = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)0,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val3, 0f);
					}
					<>2__current = (object)new WaitForSeconds(4f);
					<>1__state = 8;
					return true;
				}
				case 8:
					<>1__state = -1;
					<tankkitapettu>5__10 = false;
					goto IL_0421;
				case 9:
					<>1__state = -1;
					goto IL_0421;
				case 10:
					{
						<>1__state = -1;
						return false;
					}
					IL_0421:
					if (!<tankkitapettu>5__10)
					{
						AIG_CourseNode.GetEnemiesInNodes(<keskusnode>5__8, 2, <enemywave>5__2);
						if (<enemywave>5__2.Count == 0)
						{
							<tankkitapettu>5__10 = true;
						}
						<>2__current = (object)new WaitForSeconds(5f);
						<>1__state = 9;
						return true;
					}
					if (SNet.IsMaster)
					{
						WorldEventManager.SetCondition(15, false);
					}
					goto IL_0438;
					IL_010d:
					if (!WorldEventManager.GetCondition(15))
					{
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 1;
						return true;
					}
					goto IL_0438;
					IL_0290:
					if (<valilaskuri>5__11 < 8)
					{
						int num = Random.Range(1, 5);
						int num2 = Random.Range(1, 4);
						Vector3 val = default(Vector3);
						((Vector3)(ref val))..ctor(0f, 0f, 0f);
						if (num2 == 1)
						{
							<otokka>5__12 = 31u;
						}
						if (num2 == 2)
						{
							<otokka>5__12 = 30u;
						}
						if (num2 == 3)
						{
							<otokka>5__12 = 11u;
						}
						if (num == 1)
						{
							val = <pos1>5__3;
						}
						if (num == 2)
						{
							val = <pos2>5__4;
						}
						if (num == 3)
						{
							val = <pos3>5__5;
						}
						if (num == 4)
						{
							val = <pos4>5__6;
						}
						if (SNet.IsMaster)
						{
							EnemyAgent.SpawnEnemy(<otokka>5__12, val, <node>5__7, (AgentMode)1);
						}
						<>2__current = (object)new WaitForSeconds(0.5f);
						<>1__state = 4;
						return true;
					}
					Log.LogInfo("laskuri: " + <laskuri>5__9 + " / " + 72);
					<>2__current = (object)new WaitForSeconds(15f);
					<>1__state = 5;
					return true;
					IL_0438:
					if (WorldEventManager.GetCondition(15) && SNet.IsMaster)
					{
						Log.LogInfo("here comes the flood.");
						if (SNet.IsMaster)
						{
							EnemyAgent.SpawnEnemy(39u, <pos3>5__5, <node>5__7, (AgentMode)1);
						}
						<>2__current = (object)new WaitForSeconds(0.5f);
						<>1__state = 2;
						return true;
					}
					<>2__current = null;
					<>1__state = 10;
					return true;
					IL_02e6:
					if (<laskuri>5__9 < 72)
					{
						<valilaskuri>5__11 = 0;
						<otokka>5__12 = 31u;
						goto IL_0290;
					}
					EnemyAgent.SpawnEnemy(39u, <pos3>5__5, <node>5__7, (AgentMode)1);
					<>2__current = (object)new WaitForSeconds(0.5f);
					<>1__state = 6;
					return true;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		public static void LevelB1()
		{
			CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(B1()), (Action)null);
			CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(B1EnemySpawner()), (Action)null);
			Log.LogInfo("We are in B1 - Soak");
		}

		[IteratorStateMachine(typeof(<B1EnemySpawner>d__1))]
		private static IEnumerator B1EnemySpawner()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <B1EnemySpawner>d__1(0);
		}

		[IteratorStateMachine(typeof(<B1>d__2))]
		private static IEnumerator B1()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <B1>d__2(0);
		}
	}
	public class Level_B2 : MonoBehaviour
	{
		[CompilerGenerated]
		private sealed class <B2>d__3 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private AIG_CourseNode <loppunode>5__2;

			private List<EnemyAgent> <enemies>5__3;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <B2>d__3(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<loppunode>5__2 = null;
				<enemies>5__3 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_002e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0042: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
				//IL_0103: Unknown result type (might be due to invalid IL or missing references)
				//IL_010b: Expected O, but got Unknown
				//IL_010b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0110: Unknown result type (might be due to invalid IL or missing references)
				//IL_0117: Unknown result type (might be due to invalid IL or missing references)
				//IL_011f: Expected O, but got Unknown
				//IL_006e: Unknown result type (might be due to invalid IL or missing references)
				//IL_0078: Expected O, but got Unknown
				//IL_0097: Unknown result type (might be due to invalid IL or missing references)
				//IL_009c: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ab: Expected O, but got Unknown
				//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_00b7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bf: Expected O, but got Unknown
				//IL_0139: Unknown result type (might be due to invalid IL or missing references)
				//IL_0143: Expected O, but got Unknown
				//IL_032f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0339: Expected O, but got Unknown
				//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00e1: Expected O, but got Unknown
				//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_0378: Unknown result type (might be due to invalid IL or missing references)
				//IL_0380: Expected O, but got Unknown
				//IL_0380: Unknown result type (might be due to invalid IL or missing references)
				//IL_0385: Unknown result type (might be due to invalid IL or missing references)
				//IL_038c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0393: Unknown result type (might be due to invalid IL or missing references)
				//IL_039a: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a1: Unknown result type (might be due to invalid IL or missing references)
				//IL_03a9: Expected O, but got Unknown
				//IL_0221: Unknown result type (might be due to invalid IL or missing references)
				//IL_0227: Unknown result type (might be due to invalid IL or missing references)
				//IL_022b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0231: Unknown result type (might be due to invalid IL or missing references)
				//IL_026f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0274: Unknown result type (might be due to invalid IL or missing references)
				//IL_027b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0283: Expected O, but got Unknown
				//IL_0283: Unknown result type (might be due to invalid IL or missing references)
				//IL_0288: Unknown result type (might be due to invalid IL or missing references)
				//IL_028f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0297: Expected O, but got Unknown
				//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
				List<EnemyAgent> list;
				Vector3 val2 = default(Vector3);
				Enumerator<EnemyAgent> enumerator2;
				string untranslatedText;
				LocalizedText wardenIntel;
				WardenObjectiveEventData val;
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					DamageNumberFactory.CreateFloatingText<FloatingTextBase>((IFloatingTextInfo)(object)new Plugin.FloaterInfo(Vector3.zero, new Vector3(0f, 4f, 30f), 0f, 20f, "<size=150%><color=#0055ff>O E R R D O W N\n<size=100%>B2: Zap</color>"));
					goto IL_0088;
				case 1:
					<>1__state = -1;
					goto IL_0088;
				case 2:
					<>1__state = -1;
					untranslatedText = "PAKM-42 and the generators are located in the pit, all subjects advised to climb down. hovering tank is their spiritual leader.";
					wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)0,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					goto IL_0153;
				case 3:
					<>1__state = -1;
					goto IL_0153;
				case 4:
					<>1__state = -1;
					goto IL_0349;
				case 5:
					{
						<>1__state = -1;
						return false;
					}
					IL_0153:
					if (!WorldEventManager.GetCondition(13))
					{
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 3;
						return true;
					}
					if (SNet.IsMaster)
					{
						WorldEventManager.SetCondition(15, true);
					}
					list = new List<EnemyAgent>();
					for (int i = 0; i < 5; i++)
					{
						Enumerator<LG_Area> enumerator = Builder.CurrentFloor.allZones[i].m_areas.GetEnumerator();
						while (enumerator.MoveNext())
						{
							LG_Area current = enumerator.Current;
							if (current.m_courseNode.m_enemiesInNode.Count > 0)
							{
								enumerator2 = current.m_courseNode.m_enemiesInNode.GetEnumerator();
								while (enumerator2.MoveNext())
								{
									EnemyAgent current2 = enumerator2.Current;
									list.Add(current2);
								}
							}
						}
					}
					foreach (EnemyAgent item in list)
					{
						item.Damage.MeleeDamage(((Dam_SyncedDamageBase)item.Damage).DamageMax, (Agent)null, default(Vector3), default(Vector3), 0, 1f, 1f, 1f, 1f, false, (DamageNoiseLevel)0, 0u);
					}
					untranslatedText = "<color=red>PAKM-42 active, <color=orange>IFFHB<color=red> protocol initiated, stay in the pit";
					wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)0,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					((Vector3)(ref val2))..ctor(8f, 0f, 318f);
					AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val2, 2f, ref <loppunode>5__2);
					<enemies>5__3 = AIG_CourseGraph.GetReachableEnemiesInNodes(<loppunode>5__2, 3);
					enumerator2 = <enemies>5__3.GetEnumerator();
					while (enumerator2.MoveNext())
					{
						CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(B2EnemyKiller(enumerator2.Current)), (Action)null);
					}
					goto IL_0349;
					IL_0088:
					if (!WorldEventManager.GetCondition(14))
					{
						<>2__current = (object)new WaitForSeconds(1f);
						<>1__state = 1;
						return true;
					}
					untranslatedText = "biological conditions in [ZONE_5] are horrifying, extreme caution recommended";
					wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)0,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					<>2__current = (object)new WaitForSeconds(4f);
					<>1__state = 2;
					return true;
					IL_0349:
					if (<enemies>5__3.Count > 0)
					{
						<enemies>5__3 = AIG_CourseGraph.GetReachableEnemiesInNodes(<loppunode>5__2, 3);
						<>2__current = (object)new WaitForSeconds(3f);
						<>1__state = 4;
						return true;
					}
					if (SNet.IsMaster)
					{
						WorldEventManager.SetCondition(15, false);
					}
					untranslatedText = "pakm-42 test successful, extraction allowed";
					wardenIntel = new LocalizedText
					{
						UntranslatedText = untranslatedText,
						Id = 0u
					};
					val = new WardenObjectiveEventData
					{
						Type = (eWardenObjectiveEventType)2,
						DimensionIndex = (eDimensionIndex)0,
						Layer = (LG_LayerType)0,
						LocalIndex = (eLocalZoneIndex)6,
						WardenIntel = wardenIntel
					};
					if (SNet.IsMaster)
					{
						WorldEventManager.ExecuteEvent(val, 0f);
					}
					<>2__current = null;
					<>1__state = 5;
					return true;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <B2EnemyKiller>d__2 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			public EnemyAgent obj;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <B2EnemyKiller>d__2(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0036: Unknown result type (might be due to invalid IL or missing references)
				//IL_0038: Unknown result type (might be due to invalid IL or missing references)
				//IL_0045: Unknown result type (might be due to invalid IL or missing references)
				//IL_0062: Unknown result type (might be due to invalid IL or missing references)
				//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ce: Expected O, but got Unknown
				//IL_0091: Unknown result type (might be due to invalid IL or missing references)
				//IL_0097: Unknown result type (might be due to invalid IL or missing references)
				//IL_009a: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					EnemyAI component = ((Component)obj).GetComponent<EnemyAI>();
					PlayerAgent val = default(PlayerAgent);
					PlayerManager.TryGetLocalPlayerAgent(ref val);
					AgentMode val2 = (AgentMode)1;
					component.SetStartMode(val2);
					((AgentAI)component).ModeChange();
					((AgentAI)component).m_mode = val2;
					((AgentAI)component).SetDetectedAgent((Agent)(object)val, (AgentTargetDetectionType)4);
					goto IL_00de;
				}
				case 1:
					<>1__state = -1;
					goto IL_00de;
				case 2:
					{
						<>1__state = -1;
						return false;
					}
					IL_00de:
					if (obj.m_alive)
					{
						if (((Component)obj).transform.position.y < -3.4f)
						{
							obj.Damage.MeleeDamage(((Dam_SyncedDamageBase)obj.Damage).DamageMax, (Agent)null, default(Vector3), default(Vector3), 0, 1f, 1f, 1f, 1f, false, (DamageNoiseLevel)0, 0u);
						}
						<>2__current = (object)new WaitForSeconds(0.3f);
						<>1__state = 1;
						return true;
					}
					<>2__current = null;
					<>1__state = 2;
					return true;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <B2EnemySpawner>d__1 : IEnumerator<object>, IDisposable, IEnumerator
		{
			private int <>1__state;

			private object <>2__current;

			private List<EnemyAgent> <enemywave>5__2;

			private Vector3 <pos>5__3;

			private AIG_CourseNode <node>5__4;

			private AIG_CourseNode <keskusnode>5__5;

			private int <enemyscore>5__6;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <B2EnemySpawner>d__1(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<enemywave>5__2 = null;
				<node>5__4 = null;
				<keskusnode>5__5 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_0045: Unknown result type (might be due to invalid IL or missing references)
				//IL_004a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0066: Unknown result type (might be due to invalid IL or missing references)
				//IL_008d: Unknown result type (might be due to invalid IL or missing references)
				//IL_0097: Expected O, but got Unknown
				//IL_0109: Unknown result type (might be due to invalid IL or missing references)
				//IL_014a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0154: Expected O, but got Unknown
				//IL_0173: Unknown result type (might be due to invalid IL or missing references)
				//IL_017d: Expected O, but got Unknown
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					<enemywave>5__2 = new List<EnemyAgent>();
					<pos>5__3 = new Vector3(-45f, 4f, 65f);
					Vector3 val = default(Vector3);
					((Vect