using System;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using AIGraph;
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 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
{
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");
}
private static IEnumerator A1EnemySpawner()
{
List<EnemyAgent> enemywave = new List<EnemyAgent>();
Vector3 pos = new Vector3(-45f, 4f, 65f);
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(0f, 0f, 40f);
AIG_CourseNode keskusnode = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val, 0f, ref keskusnode);
AIG_CourseNode node = default(AIG_CourseNode);
AIG_CourseNode.GetCourseNode(1, ref node);
while (true)
{
if (WorldEventManager.GetCondition(15) && SNet.IsMaster)
{
enemywave.Clear();
AIG_CourseNode.GetEnemiesInNodes(keskusnode, 2, enemywave);
int enemyscore = enemywave.Count;
while (enemyscore < 18)
{
EnemyAgent.SpawnEnemy(31u, pos, node, (AgentMode)1);
enemyscore++;
yield return (object)new WaitForSeconds(1f);
}
yield return (object)new WaitForSeconds(4f);
}
else
{
enemywave.Clear();
yield return (object)new WaitForSeconds(1f);
}
}
}
private static IEnumerator tekstiruutu()
{
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);
TextMeshPro tm = val5.AddComponent<TextMeshPro>();
((TMP_Text)tm).overflowMode = (TextOverflowModes)3;
((TMP_Text)tm).autoSizeTextContainer = false;
((TMP_Text)tm).verticalAlignment = (VerticalAlignmentOptions)512;
((TMP_Text)tm).horizontalAlignment = (HorizontalAlignmentOptions)2;
tm.transform.localScale = Vector3.one;
((TMP_Text)tm).isTextObjectScaleStatic = true;
((TMP_Text)tm).fontSize = 1f;
((TMP_Text)tm).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).fontSharedMaterial.SetFloat(ShaderUtilities.ID_GlowPower, 0f);
((TMP_Text)tm).fontSharedMaterial.SetFloat(ShaderUtilities.ID_Shininess, 0f);
val.transform.Rotate(0f, 90f, 0f);
val.transform.position = new Vector3(tm.transform.position.x + 0.001f, tm.transform.position.y - 0.42f, tm.transform.position.z + 0.75f);
bool kaikkisanottu = false;
string teksti1 = "<color=red>==";
string teksti2 = "<color=red>==";
string teksti3 = "<color=red>==";
string teksti4 = "<color=red>==";
string kaikki4 = "<color=red>OFF";
while (!kaikkisanottu)
{
if (WorldEventManager.GetCondition(1))
{
teksti1 = "<color=green>==";
}
if (WorldEventManager.GetCondition(2))
{
teksti2 = "<color=green>==";
}
if (WorldEventManager.GetCondition(3))
{
teksti3 = "<color=green>==";
}
if (WorldEventManager.GetCondition(4))
{
teksti4 = "<color=green>==";
}
if (WorldEventManager.GetCondition(1) && WorldEventManager.GetCondition(2) && WorldEventManager.GetCondition(3) && WorldEventManager.GetCondition(4))
{
kaikki4 = "<color=green>ON";
kaikkisanottu = true;
}
((TMP_Text)tm).text = "<align=center><color=yellow>POWER " + kaikki4 + "\r\n\r\n<color=yellow>RELAY STATUS\r\n[" + teksti1 + "<color=yellow>] [" + teksti2 + "<color=yellow>] [" + teksti3 + "<color=yellow>] [" + teksti4 + "<color=yellow>]";
((TMP_Text)tm).fontSharedMaterial.SetFloat(ShaderUtilities.ID_GlowPower, 0f);
((TMP_Text)tm).fontSharedMaterial.SetFloat(ShaderUtilities.ID_Shininess, 0f);
yield return (object)new WaitForSeconds(1f);
}
yield return null;
}
private static IEnumerator A1()
{
List<EnemyAgent> snatcherit = new List<EnemyAgent>();
List<EnemyAgent> tankkilist = new List<EnemyAgent>();
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(0f, 0f, 120f);
Vector3 val2 = default(Vector3);
((Vector3)(ref val2))..ctor(204f, -17f, 64f);
AIG_CourseNode tankkinode = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val2, 0f, ref tankkinode);
AIG_CourseNode snatchernode = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val, 0f, ref snatchernode);
EnemyAgent tankki = new EnemyAgent();
bool ovi4 = false;
bool ovi5 = false;
bool tanksanottu = false;
bool snatchersanottu = false;
bool sumulaskettu = 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>"));
yield return (object)new WaitForSeconds(3f);
AIG_CourseNode.GetEnemiesInNodes(snatchernode, 1, snatcherit);
AIG_CourseNode.GetEnemiesInNodes(tankkinode, 1, tankkilist);
if (tankkilist.Count > 0)
{
tankki = tankkilist[0];
}
while (!ovi4)
{
if (WorldEventManager.GetCondition(1) && WorldEventManager.GetCondition(2) && WorldEventManager.GetCondition(3) && WorldEventManager.GetCondition(4) && !sumulaskettu)
{
sumulaskettu = true;
WardenObjectiveEventData val3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)6,
FogSetting = 59u,
FogTransitionDuration = 4f
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val3, 0f);
}
yield return (object)new WaitForSeconds(4f);
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(14, true);
}
yield return (object)new WaitForSeconds(4f);
string untranslatedText = "Biocide successful, ventilating...";
LocalizedText wardenIntel = new LocalizedText
{
UntranslatedText = untranslatedText,
Id = 0u
};
WardenObjectiveEventData val4 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)6,
FogSetting = 180u,
WardenIntel = wardenIntel,
FogTransitionDuration = 50f
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val4, 0f);
}
}
if (WorldEventManager.GetCondition(1) && WorldEventManager.GetCondition(2) && WorldEventManager.GetCondition(3) && WorldEventManager.GetCondition(4) && tankki.m_alive && !tanksanottu)
{
tanksanottu = true;
string untranslatedText2 = "Tank must be destroyed to proceed";
LocalizedText wardenIntel2 = new LocalizedText
{
UntranslatedText = untranslatedText2,
Id = 0u
};
WardenObjectiveEventData val5 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)11,
CustomSubObjectiveHeader = LocalizedText.op_Implicit(50001u),
WardenIntel = wardenIntel2,
LocalIndex = (eLocalZoneIndex)3,
DimensionIndex = (eDimensionIndex)0,
ChainPuzzle = 0u,
Trigger = (eWardenObjectiveEventTrigger)0,
Layer = (LG_LayerType)0
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val5, 0f);
}
}
if (WorldEventManager.GetCondition(1) && WorldEventManager.GetCondition(2) && WorldEventManager.GetCondition(3) && WorldEventManager.GetCondition(4) && !tankki.m_alive)
{
ovi4 = true;
string untranslatedText3 = "finish objective in [ZONE_4]";
LocalizedText wardenIntel3 = new LocalizedText
{
UntranslatedText = untranslatedText3,
Id = 0u
};
WardenObjectiveEventData val6 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
WardenIntel = wardenIntel3,
LocalIndex = (eLocalZoneIndex)4,
DimensionIndex = (eDimensionIndex)0,
ChainPuzzle = 0u,
Trigger = (eWardenObjectiveEventTrigger)0,
Layer = (LG_LayerType)0
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val6, 0f);
}
WardenObjectiveEventData val7 = 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(val7, 0f);
}
}
yield return (object)new WaitForSeconds(5f);
}
while (!ovi5)
{
if (WorldEventManager.GetCondition(12))
{
int num = 0;
if (!snatchersanottu)
{
snatchersanottu = true;
string untranslatedText4 = "All hostile entities in [ZONE_4] must be killed";
LocalizedText wardenIntel4 = new LocalizedText
{
UntranslatedText = untranslatedText4,
Id = 0u
};
WardenObjectiveEventData val8 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)11,
CustomSubObjectiveHeader = LocalizedText.op_Implicit(50010u),
WardenIntel = wardenIntel4,
LocalIndex = (eLocalZoneIndex)5,
DimensionIndex = (eDimensionIndex)0,
ChainPuzzle = 0u,
Trigger = (eWardenObjectiveEventTrigger)0,
Layer = (LG_LayerType)0
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val8, 0f);
}
}
Enumerator<EnemyAgent> enumerator = snatcherit.GetEnumerator();
while (enumerator.MoveNext())
{
if (enumerator.Current.m_alive)
{
num++;
}
}
if (num == 0 && !ovi5)
{
ovi5 = true;
string untranslatedText5 = "extraction allowed, proceed to [ZONE_5]";
LocalizedText wardenIntel5 = new LocalizedText
{
UntranslatedText = untranslatedText5,
Id = 0u
};
WardenObjectiveEventData val9 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)12,
WardenIntel = wardenIntel5,
LocalIndex = (eLocalZoneIndex)5,
DimensionIndex = (eDimensionIndex)0,
ChainPuzzle = 0u,
Trigger = (eWardenObjectiveEventTrigger)0,
Layer = (LG_LayerType)0
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val9, 0f);
}
WardenObjectiveEventData val10 = 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(val10, 0f);
}
WardenObjectiveEventData val11 = 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(val11, 0f);
}
}
}
yield return (object)new WaitForSeconds(5f);
}
yield return null;
}
}
public class Level_A2 : MonoBehaviour
{
public static void LevelA2()
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(A2()), (Action)null);
Log.LogInfo("We are in A2 - Christmas");
}
private static IEnumerator A2()
{
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);
GameObject go = new GameObject();
go.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 node = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, new Vector3(0f, 0f, 34f), 0f, ref node);
Vector3 katsomo = new Vector3(0f, 4f, 45f);
new Vector3(0f, 10f, 64f);
List<Vector3> list2 = new List<Vector3>();
list2.Clear();
Dictionary<Vector3, EnemyAgent> tankkilista = new Dictionary<Vector3, EnemyAgent>();
tankkilista.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));
Vector3 val;
foreach (Vector3 item2 in list2)
{
val = go.transform.position - item2;
Vector3 normalized = ((Vector3)(ref val)).normalized;
normalized.y = 0f;
Quaternion val2 = Quaternion.LookRotation(normalized);
EnemyAgent value = EnemyAllocator.Current.SpawnEnemy(29u, node, (AgentMode)4, item2, val2, (EnemyGroup)null, -1);
tankkilista[item2] = value;
}
bool katsomossa = false;
while (!katsomossa)
{
if (Vector3.Distance(((Component)PlayerManager.PlayerAgentsInLevel[0]).transform.position, katsomo) < 2f)
{
katsomossa = true;
}
yield return (object)new WaitForSeconds(0.5f);
}
yield return (object)new WaitForSeconds(18f);
foreach (KeyValuePair<Vector3, EnemyAgent> item3 in tankkilista)
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(tappaja(item3.Value)), (Action)null);
yield return (object)new WaitForSeconds(0.5f);
}
yield return (object)new WaitForSeconds(3f);
uint otokka = 31u;
Vector3 pos1 = new Vector3(13.13f, -2.8f, 53.3f);
Vector3 pos2 = new Vector3(-24f, 0f, 63f);
for (int laskuri = 0; laskuri < 100; laskuri++)
{
int num = Random.Range(1, 7);
if (num == 1)
{
otokka = 28u;
}
if (num == 2)
{
otokka = 30u;
}
if (num == 3)
{
otokka = 39u;
}
if (num == 4)
{
otokka = 29u;
}
if (num == 5)
{
otokka = 36u;
}
if (num == 6)
{
otokka = 37u;
}
val = go.transform.position - pos1;
Vector3 normalized2 = ((Vector3)(ref val)).normalized;
normalized2.y = 0f;
Quaternion val3 = Quaternion.LookRotation(normalized2);
EnemyAgent enemy = EnemyAllocator.Current.SpawnEnemy(otokka, node, (AgentMode)1, pos1, val3, (EnemyGroup)null, -1);
val = go.transform.position - pos2;
normalized2 = ((Vector3)(ref val)).normalized;
normalized2.y = 0f;
val3 = Quaternion.LookRotation(normalized2);
EnemyAgent enemy2 = EnemyAllocator.Current.SpawnEnemy(otokka, node, (AgentMode)1, pos2, val3, (EnemyGroup)null, -1);
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(tappaja(enemy)), (Action)null);
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(tappaja(enemy2)), (Action)null);
yield return (object)new WaitForSeconds(0.4f);
}
yield return null;
}
private static IEnumerator tappaja(EnemyAgent enemy)
{
Vector3 position = default(Vector3);
((Vector3)(ref position))..ctor(0f, 50f, 64f);
GameObject go = new GameObject();
go.transform.position = position;
yield return (object)new WaitForFixedUpdate();
Vector3 dir = go.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);
Rigidbody rb = ((Component)enemy).gameObject.AddComponent<Rigidbody>();
rb.isKinematic = false;
rb.useGravity = true;
rb.mass = 2f;
for (int i = 0; i < 10; i++)
{
if ((Object)(object)enemy.RagdollInstance != (Object)null)
{
enemy.RagdollInstance.transform.position = ((Component)rb).transform.position;
}
rb.AddForce(dir * 20f);
enemy.Position = ((Component)rb).transform.position;
enemy.m_goodPosition = ((Component)rb).transform.position;
((Agent)enemy).m_position = ((Component)rb).transform.position;
yield return (object)new WaitForFixedUpdate();
}
yield return null;
}
private static IEnumerator videoruutu()
{
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 videoPlayer = val.AddComponent<VideoPlayer>();
bool katsomossa = false;
Vector3 katsomo = new Vector3(0f, 4f, 45f);
while (!katsomossa)
{
if (Vector3.Distance(((Component)PlayerManager.PlayerAgentsInLevel[0]).transform.position, katsomo) < 2f)
{
katsomossa = true;
}
yield return (object)new WaitForSeconds(0.5f);
}
videoPlayer.url = "c:/users/fd/Downloads/christmasfinal.mp4";
videoPlayer.Play();
yield return null;
}
}
public class Level_B1 : MonoBehaviour
{
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");
}
private static IEnumerator B1EnemySpawner()
{
List<EnemyAgent> enemywave = new List<EnemyAgent>();
Vector3 pos1 = new Vector3(49f, 4f, 128f);
Vector3 pos2 = new Vector3(0f, 4f, 175f);
Vector3 pos3 = new Vector3(-64f, 4f, 83f);
Vector3 pos4 = new Vector3(-64f, 4f, 176f);
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(0f, 0f, 120f);
AIG_CourseNode keskusnode = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val, 0f, ref keskusnode);
AIG_CourseNode node = default(AIG_CourseNode);
AIG_CourseNode.GetCourseNode(1, ref node);
while (!WorldEventManager.GetCondition(15))
{
yield return (object)new WaitForSeconds(1f);
}
Vector3 val2 = default(Vector3);
while (WorldEventManager.GetCondition(15) && SNet.IsMaster)
{
Log.LogInfo("here comes the flood.");
if (SNet.IsMaster)
{
EnemyAgent.SpawnEnemy(39u, pos3, node, (AgentMode)1);
}
yield return (object)new WaitForSeconds(0.5f);
if (SNet.IsMaster)
{
EnemyAgent.SpawnEnemy(39u, pos4, node, (AgentMode)1);
}
yield return (object)new WaitForSeconds(20f);
int laskuri = 0;
while (laskuri < 72)
{
int valilaskuri = 0;
uint otokka = 31u;
for (; valilaskuri < 8; valilaskuri++)
{
int num = Random.Range(1, 5);
int num2 = Random.Range(1, 4);
((Vector3)(ref val2))..ctor(0f, 0f, 0f);
if (num2 == 1)
{
otokka = 31u;
}
if (num2 == 2)
{
otokka = 30u;
}
if (num2 == 3)
{
otokka = 11u;
}
if (num == 1)
{
val2 = pos1;
}
if (num == 2)
{
val2 = pos2;
}
if (num == 3)
{
val2 = pos3;
}
if (num == 4)
{
val2 = pos4;
}
if (SNet.IsMaster)
{
EnemyAgent.SpawnEnemy(otokka, val2, node, (AgentMode)1);
}
yield return (object)new WaitForSeconds(0.5f);
laskuri++;
}
Log.LogInfo("laskuri: " + laskuri + " / " + 72);
yield return (object)new WaitForSeconds(15f);
}
EnemyAgent.SpawnEnemy(39u, pos3, node, (AgentMode)1);
yield return (object)new WaitForSeconds(0.5f);
EnemyAgent.SpawnEnemy(39u, pos4, node, (AgentMode)1);
yield return (object)new WaitForSeconds(15f);
EnemyAgent.SpawnEnemy(29u, pos3, node, (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);
}
yield return (object)new WaitForSeconds(4f);
bool tankkitapettu = false;
while (!tankkitapettu)
{
AIG_CourseNode.GetEnemiesInNodes(keskusnode, 2, enemywave);
if (enemywave.Count == 0)
{
tankkitapettu = true;
}
yield return (object)new WaitForSeconds(5f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(15, false);
}
}
yield return null;
}
private static IEnumerator B1()
{
while (!WorldEventManager.GetCondition(14))
{
yield return (object)new WaitForSeconds(1f);
}
yield return (object)new WaitForSeconds(10f);
string untranslatedText = "pressure buildup preventing water ingress, opening pressure bulkheads in 5 seconds..";
LocalizedText wardenIntel = new LocalizedText
{
UntranslatedText = untranslatedText,
Id = 0u
};
WardenObjectiveEventData val = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)0,
WardenIntel = wardenIntel
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val, 0f);
}
yield return (object)new WaitForSeconds(5f);
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);
}
yield return (object)new WaitForSeconds(4f);
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);
}
yield return (object)new WaitForSeconds(4f);
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);
}
while (WorldEventManager.GetCondition(15))
{
yield return (object)new WaitForSeconds(1f);
}
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);
}
while (!WorldEventManager.GetCondition(13))
{
yield return (object)new WaitForSeconds(1f);
}
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);
}
List<EnemyAgent> val2 = new List<EnemyAgent>();
Vector3 val3 = default(Vector3);
((Vector3)(ref val3))..ctor(-360f, 7.5f, 128f);
AIG_CourseNode val4 = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val3, 0f, ref val4);
AIG_CourseNode.GetEnemiesInNodes(val4, 1, val2);
EnemyAgent mamma = val2[0];
while (mamma.m_alive)
{
yield return (object)new WaitForSeconds(1f);
}
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);
}
yield return null;
}
}
public class Level_B2 : MonoBehaviour
{
public static void LevelB2()
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(B2()), (Action)null);
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(B2EnemySpawner()), (Action)null);
Log.LogInfo("We are in B2 - Zap");
}
private static IEnumerator B2EnemySpawner()
{
List<EnemyAgent> enemywave = new List<EnemyAgent>();
Vector3 pos = new Vector3(-45f, 4f, 65f);
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(0f, 0f, 40f);
AIG_CourseNode keskusnode = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val, 2f, ref keskusnode);
AIG_CourseNode node = default(AIG_CourseNode);
AIG_CourseNode.GetCourseNode(1, ref node);
while (!WorldEventManager.GetCondition(12))
{
yield return (object)new WaitForSeconds(1f);
}
int enemyscore = 0;
while (WorldEventManager.GetCondition(15) && SNet.IsMaster)
{
Log.LogInfo("alku - enemywave active, count : " + enemyscore);
enemywave.Clear();
AIG_CourseNode.GetEnemiesInNodes(keskusnode, 2, enemywave);
enemyscore = enemywave.Count;
while (enemyscore < 8)
{
EnemyAgent.SpawnEnemy(30u, pos, node, (AgentMode)1);
enemyscore++;
Log.LogInfo("enemywave active, count : " + enemyscore);
yield return (object)new WaitForSeconds(1f);
}
yield return (object)new WaitForSeconds(10f);
}
enemywave.Clear();
yield return null;
}
private static IEnumerator B2EnemyKiller(EnemyAgent obj)
{
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);
while (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);
}
yield return (object)new WaitForSeconds(0.3f);
}
yield return null;
}
private static IEnumerator B2()
{
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>"));
while (!WorldEventManager.GetCondition(14))
{
yield return (object)new WaitForSeconds(1f);
}
string untranslatedText = "biological conditions in [ZONE_5] are horrifying, extreme caution recommended";
LocalizedText wardenIntel = new LocalizedText
{
UntranslatedText = untranslatedText,
Id = 0u
};
WardenObjectiveEventData val = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)0,
WardenIntel = wardenIntel
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val, 0f);
}
yield return (object)new WaitForSeconds(4f);
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);
}
while (!WorldEventManager.GetCondition(13))
{
yield return (object)new WaitForSeconds(1f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(15, true);
}
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 val2 = default(Vector3);
((Vector3)(ref val2))..ctor(8f, 0f, 318f);
AIG_CourseNode loppunode = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val2, 2f, ref loppunode);
List<EnemyAgent> enemies = AIG_CourseGraph.GetReachableEnemiesInNodes(loppunode, 3);
Enumerator<EnemyAgent> enumerator = enemies.GetEnumerator();
while (enumerator.MoveNext())
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(B2EnemyKiller(enumerator.Current)), (Action)null);
}
while (enemies.Count > 0)
{
enemies = AIG_CourseGraph.GetReachableEnemiesInNodes(loppunode, 3);
yield return (object)new WaitForSeconds(3f);
}
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);
}
yield return null;
}
}
public class Level_B3 : MonoBehaviour
{
public static string taustavari = "black";
public static string cratestatus = "<color=red>NA<color=#0055ff>";
public static string rivi1 = " unauthorized ";
public static string rivi2 = " dl <color=red>forbidden<color=#0055ff> ";
public static string rivi3 = " ";
public static string rivi4 = " ";
public static string _d1text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=green>10<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 1 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
public static string _d2text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=orange> 8<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 2 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
public static string _d3text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=red> 6<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 3 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
public static void LevelB3()
{
//IL_0079: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: 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_00a6: Unknown result type (might be due to invalid IL or missing references)
CarryItemPickup_Core obj = Object.FindObjectOfType<CarryItemPickup_Core>();
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(B3()), (Action)null);
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(B3Crate(obj)), (Action)null);
Log.LogInfo("We are in B3 - Download");
Dictionary<Vector3, int> dictionary = new Dictionary<Vector3, int>();
Vector3 key = default(Vector3);
((Vector3)(ref key))..ctor(-70.69f, -1.4833f, 127.8043f);
Vector3 key2 = default(Vector3);
((Vector3)(ref key2))..ctor(-70.69f, -1.4833f, 255.772f);
Vector3 key3 = default(Vector3);
((Vector3)(ref key3))..ctor(-70.69f, -1.4833f, 319.8257f);
dictionary[key] = 90;
dictionary[key2] = 90;
dictionary[key3] = 90;
foreach (KeyValuePair<Vector3, int> item in dictionary)
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(Displays(item.Key, item.Value)), (Action)null);
}
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(DisplayController()), (Action)null);
}
private static IEnumerator DisplayController()
{
GenericEnemyWaveData aallot = new GenericEnemyWaveData
{
AreaDistance = 2,
TriggerAlarm = true,
WaveSettings = 12u,
WavePopulation = 1u,
SpawnDelay = 0f
};
WardenObjectiveEventData setti3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)9,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)2,
EnemyWaveData = aallot
};
WardenObjectiveEventData setti4 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)10,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0
};
while (!WorldEventManager.GetCondition(13))
{
yield return (object)new WaitForSeconds(0.5f);
}
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(setti3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(15, true);
}
int num = 45;
float valiarvo3 = 100 / num;
string naytalaskuri3 = "000";
taustavari = "red";
rivi1 = " downloading ";
rivi2 = " data ";
rivi3 = " progress: ";
for (float laskuri3 = 0f; laskuri3 < 100f; laskuri3 += valiarvo3)
{
int num2 = Mathf.FloorToInt(laskuri3);
if (num2 < 10)
{
naytalaskuri3 = "00" + num2;
}
if (num2 > 10 && num2 < 100)
{
naytalaskuri3 = "0" + num2;
}
if (num2 > 100)
{
naytalaskuri3 = "100";
}
rivi4 = " " + naytalaskuri3 + " % ";
_d1text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=green>10<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 1 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
yield return (object)new WaitForSeconds(1f);
}
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(setti4, 0f);
}
taustavari = "green";
cratestatus = "33";
rivi4 = " 100 % ";
_d1text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=green>10<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 1 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(2, true);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(13, false);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(15, false);
}
yield return (object)new WaitForSeconds(3f);
while (!WorldEventManager.GetCondition(13))
{
yield return (object)new WaitForSeconds(0.5f);
}
setti3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)9,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)5,
EnemyWaveData = aallot
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(setti3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(15, true);
}
num = 70;
valiarvo3 = 100 / num;
naytalaskuri3 = "000";
taustavari = "red";
cratestatus = "33";
rivi1 = " downloading ";
rivi2 = " data ";
rivi3 = " progress: ";
for (float laskuri3 = 0f; laskuri3 < 100f; laskuri3 += valiarvo3)
{
int num2 = Mathf.FloorToInt(laskuri3);
if (num2 < 10)
{
naytalaskuri3 = "00" + num2;
}
if (num2 > 10 && num2 < 100)
{
naytalaskuri3 = "0" + num2;
}
if (num2 > 100)
{
naytalaskuri3 = "100";
}
rivi4 = " " + naytalaskuri3 + " % ";
_d2text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=orange> 8<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 2 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
yield return (object)new WaitForSeconds(1f);
}
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(setti4, 0f);
}
taustavari = "green";
cratestatus = "66";
rivi4 = " 100 % ";
_d2text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=orange> 8<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 2 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(5, true);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(13, false);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(15, false);
}
while (!WorldEventManager.GetCondition(13))
{
yield return (object)new WaitForSeconds(0.5f);
}
setti3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)9,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)8,
EnemyWaveData = aallot
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(setti3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(15, true);
}
num = 100;
valiarvo3 = 100 / num;
naytalaskuri3 = "000";
taustavari = "red";
cratestatus = "66";
rivi1 = " downloading ";
rivi2 = " data ";
rivi3 = " progress: ";
for (float laskuri3 = 0f; laskuri3 < 100f; laskuri3 += valiarvo3)
{
int num2 = Mathf.FloorToInt(laskuri3);
if (num2 < 10)
{
naytalaskuri3 = "00" + num2;
}
if (num2 > 10 && num2 < 100)
{
naytalaskuri3 = "0" + num2;
}
if (num2 > 100)
{
naytalaskuri3 = "100";
}
rivi4 = " " + naytalaskuri3 + " % ";
_d3text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=red> 6<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 2 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
yield return (object)new WaitForSeconds(1f);
}
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(setti4, 0f);
}
taustavari = "green";
cratestatus = "99";
rivi4 = " 100 % ";
_d3text = "<mspace=1em><color=orange>#################\r\n<color=orange>#<color=#0055ff> sigstr <color=red> 6<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> SITE 2 <color=orange>#\r\n#<color=#0055ff> research <color=orange>#\r\n#<color=#0055ff> bucket <color=orange>#\r\n#<color=#0055ff> dl station <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> storage crate <color=orange>#\r\n#<color=#0055ff> usage: " + cratestatus + " <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi1 + "<color=orange>#\r\n#<color=#0055ff>" + rivi2 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi3 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff>" + rivi4 + "<color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#<color=#0055ff> <color=orange>#\r\n#################\r\n";
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(8, true);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(13, false);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(15, false);
}
yield return null;
}
private static IEnumerator Displays(Vector3 pos, int rot)
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
Vector3 taulu1 = new Vector3(-70.69f, -1.4833f, 127.8043f);
Vector3 taulu2 = new Vector3(-70.69f, -1.4833f, 255.772f);
Vector3 taulu3 = new Vector3(-70.69f, -1.4833f, 319.8257f);
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(0.84f, 0f, 0f),
new Vector3(0f, 1.5f, 0f),
new Vector3(0.84f, 1.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(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 = pos;
val5.transform.Rotate(0f, 90f, 0f);
TextMeshPro tm = val5.AddComponent<TextMeshPro>();
((TMP_Text)tm).overflowMode = (TextOverflowModes)3;
((TMP_Text)tm).autoSizeTextContainer = false;
((TMP_Text)tm).verticalAlignment = (VerticalAlignmentOptions)512;
((TMP_Text)tm).horizontalAlignment = (HorizontalAlignmentOptions)2;
tm.transform.localScale = Vector3.one;
((TMP_Text)tm).isTextObjectScaleStatic = true;
((TMP_Text)tm).fontSize = 0.5f;
val.transform.Rotate(0f, 90f, 0f);
val.transform.position = new Vector3(tm.transform.position.x + 0.001f, tm.transform.position.y - 0.75f, tm.transform.position.z + 0.42f);
while (true)
{
if (pos == taulu1)
{
((TMP_Text)tm).text = _d1text;
}
if (pos == taulu2)
{
((TMP_Text)tm).text = _d2text;
}
if (pos == taulu3)
{
((TMP_Text)tm).text = _d3text;
}
((TMP_Text)tm).fontSharedMaterial.SetFloat(ShaderUtilities.ID_GlowPower, 0f);
((TMP_Text)tm).fontSharedMaterial.SetFloat(ShaderUtilities.ID_Shininess, 0f);
yield return (object)new WaitForSeconds(0.5f);
}
}
private static IEnumerator B3Crate(CarryItemPickup_Core obj)
{
Vector3 ovidl1 = new Vector3(-31.15f, 0f, 128.6f);
Vector3 ovidl2 = new Vector3(-31.16f, 0f, 256.6f);
Vector3 ovidl3 = new Vector3(-31.16f, 0f, 320.6f);
Vector3 taulu1 = new Vector3(-70.69f, -1.9833f, 127.8043f);
Vector3 taulu2 = new Vector3(-70.69f, -1.9833f, 255.772f);
Vector3 taulu3 = new Vector3(-70.69f, -1.9833f, 319.8257f);
Vector3 ovierr = new Vector3(-21f, -2f, 148.6f);
Vector3 ovidrk = new Vector3(0.5559f, 0.47f, 287.18f);
Vector3 oviexi = new Vector3(0.7f, 0f, 351.16f);
Vector3 kohde = new Vector3(0f, 0f, 0f);
_ = obj.m_movementTrackPos;
_ = obj.m_itemKey;
yield return (object)new WaitForSeconds(2f);
SNet_Player val2 = default(SNet_Player);
while (!WorldEventManager.GetCondition(9))
{
Vector3 val = obj.m_movementTrackPos;
pPickupItemState currentState = obj.m_sync.GetCurrentState();
if ((int)currentState.status == 1)
{
pPlayer pPlayer = currentState.pPlayer;
((pPlayer)(ref pPlayer)).TryGetPlayer(ref val2);
Enumerator<PlayerAgent> enumerator = PlayerManager.PlayerAgentsInLevel.GetEnumerator();
while (enumerator.MoveNext())
{
PlayerAgent current = enumerator.Current;
if ((Object)(object)current.Owner == (Object)(object)val2)
{
val = ((Component)current).gameObject.transform.position;
}
}
_ = ((Object)val2).name;
}
if ((int)currentState.status == 0 && WorldEventManager.GetCondition(13) && obj.m_interact.IsActive)
{
obj.SetPickupInteractionEnabled(false);
}
if (!WorldEventManager.GetCondition(13) && (int)currentState.status != 1 && !obj.m_interact.IsActive)
{
obj.SetPickupInteractionEnabled(true);
}
if (!WorldEventManager.GetCondition(1))
{
kohde = ovidl1;
}
if (WorldEventManager.GetCondition(1) && !WorldEventManager.GetCondition(2))
{
kohde = taulu1;
}
if (WorldEventManager.GetCondition(2) && !WorldEventManager.GetCondition(3))
{
kohde = ovierr;
}
if (WorldEventManager.GetCondition(3) && !WorldEventManager.GetCondition(4))
{
kohde = ovidl2;
}
if (WorldEventManager.GetCondition(4) && !WorldEventManager.GetCondition(5))
{
kohde = taulu2;
}
if (WorldEventManager.GetCondition(5) && !WorldEventManager.GetCondition(6))
{
kohde = ovidrk;
}
if (WorldEventManager.GetCondition(6) && !WorldEventManager.GetCondition(7))
{
kohde = ovidl3;
}
if (WorldEventManager.GetCondition(7) && !WorldEventManager.GetCondition(8))
{
kohde = taulu3;
}
if (WorldEventManager.GetCondition(8) && !WorldEventManager.GetCondition(9))
{
kohde = oviexi;
}
if (Vector3.Distance(val, kohde) < 2f)
{
if (kohde == ovidl1)
{
WardenObjectiveEventData val3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)2
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(1, true);
}
}
if (kohde == taulu1 && (int)currentState.status == 0 && !WorldEventManager.GetCondition(13))
{
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(13, true);
}
obj.SetPickupInteractionEnabled(false);
}
if (kohde == ovierr)
{
WardenObjectiveEventData val3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)3
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(3, true);
}
}
if (kohde == ovidl2)
{
WardenObjectiveEventData val3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)5
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(4, true);
}
}
if (kohde == taulu2 && (int)currentState.status == 0 && !WorldEventManager.GetCondition(13))
{
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(13, true);
}
obj.SetPickupInteractionEnabled(false);
}
if (kohde == ovidrk)
{
WardenObjectiveEventData val3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)6
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(6, true);
}
}
if (kohde == ovidl3)
{
WardenObjectiveEventData val3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)7
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(7, true);
}
}
if (kohde == taulu3 && (int)currentState.status == 0 && !WorldEventManager.GetCondition(13))
{
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(13, true);
}
obj.SetPickupInteractionEnabled(false);
}
if (kohde == oviexi)
{
WardenObjectiveEventData val3 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)8
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val3, 0f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(9, true);
}
}
}
yield return (object)new WaitForSeconds(1f);
}
Log.LogInfo("crate tracking ends, buh bye");
yield return null;
}
private static IEnumerator B3()
{
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%>B3: Download</color>"));
LocalizedText wardenIntel = new LocalizedText
{
UntranslatedText = "SSD storage crate contains the access token needed for <color=orange>SITE 1</color>",
Id = 0u
};
WardenObjectiveEventData val = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)11,
CustomSubObjectiveHeader = LocalizedText.op_Implicit(55005u),
WardenIntel = wardenIntel
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val, 0f);
}
while (!WorldEventManager.GetCondition(2))
{
yield return (object)new WaitForSeconds(1f);
}
wardenIntel = new LocalizedText
{
UntranslatedText = "<color=orange>SITE 1</color> data downloaded, antenna integrity 8/10, access token for <color=orange>SITE 2</color> acquired",
Id = 0u
};
val = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)11,
CustomSubObjectiveHeader = LocalizedText.op_Implicit(55001u),
CustomSubObjective = LocalizedText.op_Implicit(0u),
WardenIntel = wardenIntel
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val, 0f);
}
while (!WorldEventManager.GetCondition(5))
{
yield return (object)new WaitForSeconds(1f);
}
wardenIntel = new LocalizedText
{
UntranslatedText = "<color=orange>SITE 2</color> data downloaded, antenna integrity 6/10, access token for <color=orange>SITE 3</color> acquired",
Id = 0u
};
val = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)11,
CustomSubObjectiveHeader = LocalizedText.op_Implicit(55002u),
CustomSubObjective = LocalizedText.op_Implicit(0u),
WardenIntel = wardenIntel
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val, 0f);
}
while (!WorldEventManager.GetCondition(8))
{
yield return (object)new WaitForSeconds(1f);
}
wardenIntel = new LocalizedText
{
UntranslatedText = "mission completed, extraction allowed",
Id = 0u
};
val = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)11,
CustomSubObjectiveHeader = LocalizedText.op_Implicit(55003u),
CustomSubObjective = LocalizedText.op_Implicit(55004u),
WardenIntel = wardenIntel
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val, 0f);
}
val = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)12,
Layer = (LG_LayerType)0
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val, 0f);
}
yield return null;
}
}
public class Level_C1 : MonoBehaviour
{
public static void LevelC1()
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(C1()), (Action)null);
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(C1EnemySpawner()), (Action)null);
Log.LogInfo("We are in C1 - Mouse");
}
private static IEnumerator C1EnemySpawner()
{
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(0f, 0f, 40f);
Vector3 pos1 = new Vector3(-45f, 4f, 64f);
Vector3 pos2 = new Vector3(191.4f, 4f, 16f);
Vector3 pos3 = new Vector3(300.5f, 4f, 192f);
Vector3 pos4 = new Vector3(64.5f, 4f, 207.5f);
Vector3 pos5 = new Vector3(45f, 4f, 320f);
AIG_CourseNode pos1node = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, pos1, 1f, ref pos1node);
AIG_CourseNode pos2node = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, pos2, 1f, ref pos2node);
AIG_CourseNode pos3node = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, pos3, 1f, ref pos3node);
AIG_CourseNode pos4node = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, pos4, 1f, ref pos4node);
AIG_CourseNode pos5node = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, pos5, 1f, ref pos5node);
Vector3 rear = pos1;
Vector3 front = pos2;
AIG_CourseNode val2 = default(AIG_CourseNode);
AIG_CourseNode.GetCourseNode(1, ref val2);
AIG_CourseNode oikeanode = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val, 2f, ref oikeanode);
Vector3 val3 = default(Vector3);
((Vector3)(ref val3))..ctor(0f, 0f, 448f);
AIG_CourseNode val4 = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val3, 0f, ref val4);
AIG_CourseNode rearnode = pos1node;
AIG_CourseNode frontnode = pos2node;
int enemycount = 6;
float delay = 0f;
int enemylimit = 0;
uint spawnenemy = 31u;
while (!WorldEventManager.GetCondition(1))
{
yield return (object)new WaitForSeconds(1f);
}
PlayerAgent val5 = default(PlayerAgent);
while (!WorldEventManager.GetCondition(5) && SNet.IsMaster)
{
if (WorldEventManager.GetCondition(1))
{
enemycount = 6;
rear = pos1;
front = pos2;
rearnode = pos1node;
frontnode = pos2node;
delay = 20f;
enemylimit = 8;
spawnenemy = 31u;
}
if (WorldEventManager.GetCondition(2))
{
enemycount = 8;
rear = pos2;
front = pos3;
rearnode = pos2node;
frontnode = pos3node;
delay = 35f;
enemylimit = 12;
spawnenemy = 31u;
}
if (WorldEventManager.GetCondition(3))
{
enemycount = 8;
rear = pos3;
front = pos4;
rearnode = pos3node;
frontnode = pos4node;
delay = 30f;
enemylimit = 14;
spawnenemy = 31u;
}
if (WorldEventManager.GetCondition(4))
{
enemycount = 6;
rear = pos4;
front = pos5;
rearnode = pos4node;
frontnode = pos5node;
delay = 50f;
enemylimit = 8;
spawnenemy = 30u;
}
int count = AIG_CourseGraph.GetReachableEnemiesInNodes(oikeanode, 100).Count;
new Quaternion(0f, 0f, 0f, 0f);
if (count < enemylimit)
{
Log.LogInfo("enemywave spawning, alive : " + count + ", delay : " + delay);
for (int i = 0; i < enemycount + 1; i++)
{
if (!WorldEventManager.GetCondition(5))
{
EnemyAgent.SpawnEnemy(spawnenemy, rear, rearnode, (AgentMode)1);
}
if (!WorldEventManager.GetCondition(5))
{
EnemyAgent.SpawnEnemy(spawnenemy, front, frontnode, (AgentMode)1);
}
yield return (object)new WaitForSeconds(1.5f);
}
}
else
{
Log.LogInfo("not spawning new enemies: " + count + "/" + enemylimit);
delay = 4f;
}
List<EnemyAgent> reachableEnemiesInNodes = AIG_CourseGraph.GetReachableEnemiesInNodes(oikeanode, 100);
PlayerManager.TryGetLocalPlayerAgent(ref val5);
Enumerator<EnemyAgent> enumerator = reachableEnemiesInNodes.GetEnumerator();
while (enumerator.MoveNext())
{
EnemyAI component = ((Component)enumerator.Current).GetComponent<EnemyAI>();
AgentMode val6 = (AgentMode)1;
component.SetStartMode(val6);
((AgentAI)component).ModeChange();
((AgentAI)component).m_mode = val6;
((AgentAI)component).SetDetectedAgent((Agent)(object)val5, (AgentTargetDetectionType)4);
}
yield return (object)new WaitForSeconds(delay);
}
yield return null;
}
private static IEnumerator C1()
{
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(0f, 0f, 448f);
AIG_CourseNode bossnode = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val, 0f, ref bossnode);
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%>C1: Mouse</color>"));
List<eLocalZoneIndex> list = new List<eLocalZoneIndex>
{
(eLocalZoneIndex)6,
(eLocalZoneIndex)2,
(eLocalZoneIndex)3,
(eLocalZoneIndex)5,
(eLocalZoneIndex)7,
(eLocalZoneIndex)8,
(eLocalZoneIndex)10,
(eLocalZoneIndex)11,
(eLocalZoneIndex)12,
(eLocalZoneIndex)14,
(eLocalZoneIndex)15,
(eLocalZoneIndex)18,
(eLocalZoneIndex)19,
(eLocalZoneIndex)20
};
WardenObjectiveEventData val2;
foreach (eLocalZoneIndex item in list)
{
val2 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)1,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
LocalIndex = item
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val2, 0f);
}
yield return (object)new WaitForSeconds(0.5f);
}
while (!WorldEventManager.GetCondition(5))
{
yield return (object)new WaitForSeconds(1f);
}
List<EnemyAgent> tankkilist = new List<EnemyAgent>();
AIG_CourseNode.GetEnemiesInNodes(bossnode, 1, tankkilist);
string untranslatedText = "both tanks in [ZONE_16] must be killed";
LocalizedText wardenIntel = new LocalizedText
{
UntranslatedText = untranslatedText,
Id = 0u
};
val2 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)11,
WardenIntel = wardenIntel,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
CustomSubObjective = LocalizedText.op_Implicit(54001u)
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val2, 0f);
}
while (!WorldEventManager.GetCondition(6))
{
int num = 0;
Enumerator<EnemyAgent> enumerator2 = tankkilist.GetEnumerator();
while (enumerator2.MoveNext())
{
if (enumerator2.Current.m_alive)
{
num++;
}
}
if (num == 0 && SNet.IsMaster)
{
WorldEventManager.SetCondition(6, true);
}
yield return (object)new WaitForSeconds(1f);
}
untranslatedText = "mission completed, extraction allowed";
wardenIntel = new LocalizedText
{
UntranslatedText = untranslatedText,
Id = 0u
};
val2 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)11,
WardenIntel = wardenIntel,
DimensionIndex = (eDimensionIndex)0,
Layer = (LG_LayerType)0,
CustomSubObjective = LocalizedText.op_Implicit(54002u)
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val2, 0f);
}
val2 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
LocalIndex = (eLocalZoneIndex)17,
DimensionIndex = (eDimensionIndex)0,
ChainPuzzle = 0u,
Trigger = (eWardenObjectiveEventTrigger)0,
Layer = (LG_LayerType)0
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val2, 0f);
}
yield return null;
}
}
public class Level_C2 : MonoBehaviour
{
public static void LevelC2()
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(C2()), (Action)null);
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(DoorCloser()), (Action)null);
Log.LogInfo("We are in C2 - Lure");
}
private static IEnumerator DoorCloser()
{
Log.LogInfo("door closer running ON MASTER");
while (!WorldEventManager.GetCondition(10))
{
yield return (object)new WaitForSeconds(0.5f);
}
LG_Zone val = Builder.CurrentFloor.MainDimension.Layers[0].m_zones[9];
LG_SecurityDoor door = ((Il2CppObjectBase)val.m_sourceGate.SpawnedDoor).TryCast<LG_SecurityDoor>();
LG_Door_Sync sync = ((Il2CppObjectBase)door.m_sync).TryCast<LG_Door_Sync>();
if ((Object)(object)sync != (Object)null && SNet.IsMaster)
{
Log.LogInfo("trying to close door");
pDoorState syncState = sync.GetCurrentSyncState();
syncState.status = (eDoorStatus)1;
syncState.hasBeenOpenedDuringGame = false;
LG_Gate gate = door.Gate;
gate.HasBeenOpenedDuringPlay = false;
gate.IsTraversable = false;
sync.m_stateReplicator.State = syncState;
yield return (object)new WaitForSeconds(4f);
string untranslatedText = "<color=white>entity inside must not be allowed to leave";
LocalizedText val2 = new LocalizedText
{
UntranslatedText = untranslatedText,
Id = 0u
};
door.SetupAsLockedNoKey(val2);
syncState.status = (eDoorStatus)7;
sync.m_stateReplicator.State = syncState;
}
yield return null;
}
private static IEnumerator C2()
{
List<EnemyAgent> pablolist = new List<EnemyAgent>();
EnemyAgent pabs = new EnemyAgent();
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%>C2: Lure</color>"));
yield return (object)new WaitForSeconds(5f);
Vector3 val = default(Vector3);
((Vector3)(ref val))..ctor(110f, 0f, 384f);
AIG_CourseNode val2 = default(AIG_CourseNode);
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)0, val, 1f, ref val2);
AIG_CourseNode.GetEnemiesInNodes(val2, 1, pablolist);
if (pablolist.Count > 0)
{
pabs = pablolist[0];
}
while (!WorldEventManager.GetCondition(11))
{
yield return (object)new WaitForSeconds(0.5f);
}
EnemyAI component = ((Component)pabs).GetComponent<EnemyAI>();
PlayerAgent val3 = default(PlayerAgent);
PlayerManager.TryGetLocalPlayerAgent(ref val3);
AgentMode val4 = (AgentMode)1;
component.SetStartMode(val4);
((AgentAI)component).ModeChange();
((AgentAI)component).m_mode = val4;
((AgentAI)component).SetDetectedAgent((Agent)(object)val3, (AgentTargetDetectionType)4);
while (((Component)pabs).gameObject.transform.position.x > -32f)
{
yield return (object)new WaitForSeconds(0.5f);
}
bool _pabstrapped = false;
while (!_pabstrapped)
{
List<PlayerAgent> playerAgentsInLevel = PlayerManager.PlayerAgentsInLevel;
bool flag = true;
Enumerator<PlayerAgent> enumerator = playerAgentsInLevel.GetEnumerator();
while (enumerator.MoveNext())
{
if (((Component)enumerator.Current).gameObject.transform.position.x < -32f)
{
flag = false;
}
}
if (flag && ((Component)pabs).gameObject.transform.position.x < -32f && SNet.IsMaster)
{
_pabstrapped = true;
}
yield return (object)new WaitForSeconds(0.5f);
}
if (SNet.IsMaster)
{
WorldEventManager.SetCondition(10, true);
}
Log.LogInfo("index 10 set (if master)");
string untranslatedText = "Objective complete, extraction allowed";
LocalizedText wardenIntel = new LocalizedText
{
UntranslatedText = untranslatedText,
Id = 0u
};
WardenObjectiveEventData val5 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)12,
Layer = (LG_LayerType)0,
WardenIntel = wardenIntel
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val5, 0f);
}
val5 = new WardenObjectiveEventData
{
Type = (eWardenObjectiveEventType)2,
Layer = (LG_LayerType)0,
LocalIndex = (eLocalZoneIndex)8
};
if (SNet.IsMaster)
{
WorldEventManager.ExecuteEvent(val5, 0f);
}
yield return null;
}
}
public class Level_C3 : MonoBehaviour
{
public static void LevelC3()
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(C3()), (Action)null);
Log.LogInfo("We are in C3 - Oerr");
}
private static IEnumerator C3()
{
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%>C3: LOL</color>"));
new Vector3(0f, 200f, 0f);
Vector3 item = default(Vector3);
((Vector3)(ref item))..ctor(0f, 200f, 35f);
Vector3 item2 = default(Vector3);
((Vector3)(ref item2))..ctor(0f, 200f, 105f);
Vector3 item3 = default(Vector3);
((Vector3)(ref item3))..ctor(0f, 200f, 180f);
AIG_CourseNode val = default(AIG_CourseNode);
foreach (Vector3 item4 in new List<Vector3> { item, item2, item3 })
{
Log.LogInfo($"kasitellaan {item4} ..");
AIG_CourseNode.TryGetCourseNode((eDimensionIndex)1, item4, 0f, ref val);
foreach (Transform componentsInChild in val.gameObject.GetComponentsInChildren<Transform>(true))
{
if (((Component)componentsInChild).gameObject.transform.position.y > 207.7f && ((Component)componentsInChild).gameObject.active)
{
((Component)componentsInChild).gameObject.active = false;
}
}
}
yield return null;
}
}
internal static class Log
{
private static readonly ManualLogSource _logger;
static Log()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Expected O, but got Unknown
_logger = new ManualLogSource("Oerrdown");
Logger.Sources.Add((ILogSource)(object)_logger);
}
private static string Format(object msg)
{
return msg.ToString();
}
public static void LogInfo(object data)
{
_logger.LogMessage((object)Format(data));
}
public static void Verbose(object data)
{
}
public static void Debug(object data)
{
_logger.LogDebug((object)Format(data));
}
public static void Error(object data)
{
_logger.LogError((object)Format(data));
}
}
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("Oerrdown", "Oerrdown", "0.1.7")]
public class Plugin : BasePlugin
{
private class Oerrdown : MonoBehaviour
{
internal static class Log
{
private static readonly ManualLogSource _logger;
static Log()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Expected O, but got Unknown
_logger = new ManualLogSource("Oerrdown");
Logger.Sources.Add((ILogSource)(object)_logger);
}
private static string Format(object msg)
{
return msg.ToString();
}
public static void LogInfo(object data)
{
_logger.LogMessage((object)Format(data));
}
public static void Verbose(object data)
{
}
public static void Debug(object data)
{
_logger.LogDebug((object)Format(data));
}
public static void Error(object data)
{
_logger.LogError((object)Format(data));
}
}
[CompilerGenerated]
private sealed class <RemoveSpitters>d__6 : IEnumerator<object>, IDisposable, IEnumerator
{
private int <>1__state;
private object <>2__current;
private IEnumerator<InfectionSpitter> <>7__wrap1;
private InfectionSpitter <spitter>5__3;
object IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <RemoveSpitters>d__6(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
int num = <>1__state;
if (num == -3 || num == 1)
{
try
{
}
finally
{
<>m__Finally1();
}
}
}
private bool MoveNext()
{
//IL_011a: Unknown result type (might be due to invalid IL or missing references)
//IL_0124: Expected O, but got Unknown
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_008c: 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_00b6: Unknown result type (might be due to invalid IL or missing references)
//IL_00c0: Expected O, but got Unknown
try
{
switch (<>1__state)
{
default:
return false;
case 0:
<>1__state = -1;
goto IL_002b;
case 1:
<>1__state = -3;
((Behaviour)<spitter>5__3).enabled = false;
<spitter>5__3 = null;
goto IL_00e9;
case 2:
<>1__state = -1;
goto IL_002b;
case 3:
{
<>1__state = -1;
break;
}
IL_002b:
if (WorldEventManager.GetCondition(14))
{
Il2CppArrayBase<InfectionSpitter> val = Object.FindObjectsOfType<InfectionSpitter>();
<>7__wrap1 = val.GetEnumerator();
<>1__state = -3;
goto IL_00e9;
}
<>2__current = (object)new WaitForSeconds(1f);
<>1__state = 2;
return true;
IL_00e9:
if (<>7__wrap1.MoveNext())
{
<spitter>5__3 = <>7__wrap1.Current;
Transform transform = ((Component)<spitter>5__3).gameObject.transform;
transform.position += new Vector3(0f, 500f, 0f);
<spitter>5__3.SetTimedRetract(999999f, 1f);
<>2__current = (object)new WaitForSeconds(0.1f);
<>1__state = 1;
return true;
}
<>m__Finally1();
<>7__wrap1 = null;
Log.LogInfo("Spitters are invisible and silent");
return false;
}
}
catch
{
//try-fault
((IDisposable)this).Dispose();
throw;
}
((IDisposable)this).Dispose();
return true;
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
private void <>m__Finally1()
{
<>1__state = -1;
if (<>7__wrap1 != null)
{
<>7__wrap1.Dispose();
}
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
public bool _valot;
public void Initialize()
{
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
//IL_000d: Invalid comparison between Unknown and I4
//IL_001d: Unknown result type (might be due to invalid IL or missing references)
//IL_0023: Invalid comparison between Unknown and I4
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: Invalid comparison between Unknown and I4
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_0050: Invalid comparison between Unknown and I4
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0067: Invalid comparison between Unknown and I4
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
//IL_007e: Invalid comparison between Unknown and I4
//IL_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_0094: Invalid comparison between Unknown and I4
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
//IL_00ab: Invalid comparison between Unknown and I4
pActiveExpedition activeExpeditionData = RundownManager.GetActiveExpeditionData();
if ((int)activeExpeditionData.tier == 1 && activeExpeditionData.expeditionIndex == 0)
{
Level_A1.LevelA1();
}
if ((int)activeExpeditionData.tier == 1 && activeExpeditionData.expeditionIndex == 1)
{
Level_A2.LevelA2();
}
if ((int)activeExpeditionData.tier == 2 && activeExpeditionData.expeditionIndex == 0)
{
Level_B1.LevelB1();
}
if ((int)activeExpeditionData.tier == 2 && activeExpeditionData.expeditionIndex == 1)
{
Level_B2.LevelB2();
}
if ((int)activeExpeditionData.tier == 2 && activeExpeditionData.expeditionIndex == 2)
{
Level_B3.LevelB3();
}
if ((int)activeExpeditionData.tier == 3 && activeExpeditionData.expeditionIndex == 0)
{
Level_C1.LevelC1();
}
if ((int)activeExpeditionData.tier == 3 && activeExpeditionData.expeditionIndex == 1)
{
Level_C2.LevelC2();
}
if ((int)activeExpeditionData.tier == 3 && activeExpeditionData.expeditionIndex == 2)
{
Level_C3.LevelC3();
}
foreach (LG_Light item in Object.FindObjectsOfType<LG_Light>())
{
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(SetLightIntensity(item)), (Action)null);
}
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(BaseCoroutine()), (Action)null);
}
private void Start()
{
Log.LogInfo("Plugin is loaded!");
}
private void Update()
{
}
private IEnumerator BaseCoroutine()
{
Log.LogInfo("Coroutine starts");
yield return (object)new WaitForSeconds(0.5f);
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(GiveLRF()), (Action)null);
CoroutineManager.StartCoroutine(CollectionExtensions.WrapToIl2Cpp(RemoveSpitters()), (Action)null);
yield return null;
}
private IEnumerator GiveLRF()
{
PlayerBackpackManager.LocalBackpack.SpawnAndEquipItem(30u, (InventorySlot)5, default(pItemData));
PlayerBackpackManager.ForceSyncLocalInventory((SNet_Player)null);
yield return (object)new WaitForSeconds(0.4f);
PlayerManager.GetLocalPlayerAgent().Sync.WantsToWieldSlot((InventorySlot)5, false);
PlayerManager.GetLocalPlayerAgent().Sync.WantsToWieldSlot((InventorySlot)10, false);
Log.LogInfo("Long Range Flashlight given to player");
yield return null;
}
private IEnumerator RemoveSpitters()
{
try
{
int num = default(int);
IEnumerator<InfectionSpitter> enumerator = default(IEnumerator<InfectionSpitter>);
switch (num)
{
case 0:
case 2:
if (WorldEventManager.GetCondition(14))
{
Il2CppArrayBase<InfectionSpitter> val = Object.FindObjectsOfType<InfectionSpitter>();
enumerator = val.GetEnumerator();
goto IL_00e9;
}
new WaitForSeconds(1f);
/*Error near IL_0154: Unexpected return in MoveNext()*/;
case 1:
{
InfectionSpitter spitter2 = default(InfectionSpitter);
((Behaviour)spitter2).enabled = false;
goto IL_00e9;
}
case 3:
break;
default:
yield break;
IL_00e9:
if (enumerator.MoveNext())
{
InfectionSpitter spitter2 = enumerator.Current;
Transform transform = ((Component)spitter2).gameObject.transform;
transform.position += new Vector3(0f, 500f, 0f);
spitter2.SetTimedRetract(999999f, 1f);
new WaitForSeconds(0.1f);
/*Error near IL_0154: Unexpected return in MoveNext()*/;
}
((<RemoveSpitters>d__6)/*Error near IL_00f9: stateMachine*/).<>m__Finally1();
Log.LogInfo("Spitters are invisible and silent");
yield break;
}
}
catch
{
//try-fault
((IDisposable)/*Error near IL_0144: stateMachine*/).Dispose();
throw;
}
((IDisposable)/*Error near IL_014b: stateMachine*/).Dispose();
/*Error near IL_0154: Unexpected return in MoveNext()*/;
}
private IEnumerator SetLightIntensity(LG_Light obj)
{
bool hirnudirection = true;
float hirnuintensity = 0.01f;
float origintensity = obj.m_intensity;
Color origcolor = obj.m_color;
Color hirnuvari = Color.red;
while (true)
{
if (_valot | WorldEventManager.GetCondition(15))
{
obj.ChangeColor(hirnuvari);
while (_valot | WorldEventManager.GetCondition(15))
{
if (hirnuintensity > 0.06f && hirnudirection)
{
hirnudirection = false;
hirnuintensity = 0.05f;
}
if (hirnuintensity < 0.01f && !hirnudirection)
{
hirnudirection = true;
}
if (hirnudirection)
{
hirnuintensity += 0.002f;
}
if (!hirnudirection)
{
hirnuintensity -= 0.002f;
}
obj.ChangeIntensity(hirnuintensity);
yield return (object)new WaitForSeconds(0.04f);
}
}
obj.ChangeColor(origcolor);
obj.ChangeIntensity(origintensity);
yield return (object)new WaitForSeconds(0.5f);
}
}
}
public struct FloaterInfo : IFloatingTextInfo
{
public Vector3 Velocity { get; private set; }
public Vector3 SpawnPosition { get; private set; }
public float Gravity { get; private set; }
public float LifeTime { get; private set; }
public string Text { get; private set; }
public void OnUpdate(TextMeshPro tmp, FloatingTextBase textBase)
{
}
public void UpdateTextMesh(TextMeshPro tmp)
{
}
public FloaterInfo(Vector3 velocity, Vector3 spawnPosition, float gravity, float lifeTime, string text)
{
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
this = default(FloaterInfo);
Velocity = velocity;
SpawnPosition = spawnPosition;
Gravity = gravity;
LifeTime = lifeTime;
Text = text;
}
}
public override void Load()
{
EventAPI.OnExpeditionStarted += ((BasePlugin)this).AddComponent<Oerrdown>().Initialize;
}
}
[GeneratedCode("VersionInfoGenerator", "2.0.0+git50a4b1a-master")]
[CompilerGenerated]
internal static class VersionInfo
{
public const string RootNamespace = "Oerrdown";
public const string Version = "1.0.0";
public const string VersionPrerelease = null;
public const string VersionMetadata = null;
public const string SemVer = "1.0.0";
public const string GitRevShort = null;
public const string GitRevLong = null;
public const string GitBranch = null;
public const string GitTag = null;
public const bool GitIsDirty = false;
}
}