using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using Microsoft.CodeAnalysis; using Newtonsoft.Json; using Photon.Pun; using PlantholderOverhaul; using PlantholderOverhaul.InGameUI; using Sirenix.Utilities; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; using UnityEngine.UI; using Zorro.Core; using Zorro.Core.Editor; using pworld.Scripts.Extensions; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("Murka124.PlantholderOverhaul")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("0.0.2.0")] [assembly: AssemblyInformationalVersion("0.0.2+29a229e3f6f28629777800da1d8c14a57582e1da")] [assembly: AssemblyProduct("Murka124.PlantholderOverhaul")] [assembly: AssemblyTitle("Plantholder Overhaul")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.2.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.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; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } public static class MenuBuilder { public static GameObject CreatePage(GameObject menu, string pageName, UnityAction? onUpdate = null) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_004c: 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_0086: Expected O, but got Unknown UnityAction onUpdate2 = onUpdate; GameObject val = new GameObject(pageName); val.transform.SetParent(menu.transform, false); val.transform.localPosition = Vector3.zero; val.transform.localRotation = Quaternion.identity; val.transform.localScale = Vector3.one; MenuPage menupage = val.AddComponent(); if (onUpdate2 != null) { menupage.onUpdate.AddListener((UnityAction)delegate { onUpdate2.Invoke(menupage); }); } val.SetActive(false); return val; } public static MenuButton CreateButton(GameObject page, string buttonName, Vector3 localPos, Vector3 size, Color color, Action? onCreated = null) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Expected O, but got Unknown //IL_0075: Unknown result type (might be due to invalid IL or missing references) GameObject val = GameObject.CreatePrimitive((PrimitiveType)3); ((Object)val).name = buttonName; val.transform.SetParent(page.transform, false); val.transform.localPosition = localPos; val.transform.localRotation = Quaternion.identity; val.transform.localScale = size; Object.DestroyImmediate((Object)(object)val.GetComponent()); Renderer component = val.GetComponent(); component.material = new Material(Shader.Find("Universal Render Pipeline/Lit")); component.material.color = color; if (!MenuManager.debugRender) { Object.Destroy((Object)(object)component); } MenuButton menuButton = val.AddComponent(); onCreated?.Invoke(menuButton); return menuButton; } public static MenuText CreateText(GameObject page, string textName, Vector3 localPos, string content, Color color, TextAlignmentOptions alignment, float fontSize = 10f, float scale = 0.1f) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) return CreateText(page, textName, localPos, Vector3.one * scale, content, color, alignment, fontSize); } public static MenuText CreateText(GameObject page, string textName, Vector3 localPos, Vector3 size, string content, Color color, TextAlignmentOptions alignment, float fontSize = 10f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0051: 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) GameObject val = new GameObject(textName); val.transform.SetParent(page.transform, false); val.transform.localPosition = localPos; val.transform.localRotation = Quaternion.identity; val.transform.localScale = size; TextMeshPro val2 = val.AddComponent(); ((TMP_Text)val2).text = content; ((Graphic)val2).color = color; ((TMP_Text)val2).alignment = alignment; ((TMP_Text)val2).fontSize = fontSize; ((TMP_Text)val2).font = Plugin.Font; ((TMP_Text)val2).outlineWidth = 0.05f; ((TMP_Text)val2).lineSpacing = -20f; ((TMP_Text)val2).textWrappingMode = (TextWrappingModes)1; MenuText menuText = val.AddComponent(); MenuText menuText3 = (page.GetComponent().texts[textName] = menuText); MenuText menuText4 = menuText3; return menuText; } public static MenuToggle CreateToggle(GameObject page, string toggleName, Vector3 localPos, Vector3 size, Color offColor, Color onColor, bool defaultValue = false, Action? onCreated = null) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Expected O, but got Unknown //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0086: 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_008e: Unknown result type (might be due to invalid IL or missing references) GameObject val = GameObject.CreatePrimitive((PrimitiveType)3); ((Object)val).name = toggleName; val.transform.SetParent(page.transform, false); val.transform.localPosition = localPos; val.transform.localRotation = Quaternion.identity; val.transform.localScale = size; Object.DestroyImmediate((Object)(object)val.GetComponent()); Renderer component = val.GetComponent(); component.material = new Material(Shader.Find("Universal Render Pipeline/Lit")); if (!MenuManager.debugRender) { Object.Destroy((Object)(object)component); } MenuToggle menuToggle = val.AddComponent(); menuToggle.offColor = offColor; menuToggle.onColor = onColor; menuToggle.isOn = defaultValue; menuToggle.UpdateVisual(); onCreated?.Invoke(menuToggle); return menuToggle; } } public class MenuText : MonoBehaviour { [SerializeField] private TextMeshPro? textMesh; private void Awake() { if ((Object)(object)textMesh == (Object)null) { textMesh = ((Component)this).GetComponent(); } } public void SetText(string text) { if ((Object)(object)textMesh != (Object)null) { ((TMP_Text)textMesh).text = text; } } public void SetAlignment(TextAlignmentOptions alignment) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)textMesh != (Object)null) { ((TMP_Text)textMesh).alignment = alignment; } } public void SetColor(Color color) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)textMesh != (Object)null) { ((Graphic)textMesh).color = color; } } } public class MenuClickableText : MenuButton { [SerializeField] private TextMeshPro? textMesh; private void Awake() { if ((Object)(object)textMesh == (Object)null) { textMesh = ((Component)this).GetComponent(); } } public void SetText(string text) { TextMeshPro? obj = textMesh; if (obj != null) { ((TMP_Text)obj).text = text; } } public void SetAlignment(TextAlignmentOptions alignment) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) TextMeshPro? obj = textMesh; if (obj != null) { ((TMP_Text)obj).alignment = alignment; } } public void SetColor(Color color) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) TextMeshPro? obj = textMesh; if (obj != null) { ((Graphic)obj).color = color; } } } public class MenuToggle : MenuButton { public bool isOn; public Color onColor = Color.green; public Color offColor = Color.gray; public UnityEvent onToggle = new UnityEvent(); private Renderer? targetRenderer; private void Start() { targetRenderer = ((Component)this).GetComponent(); UpdateVisual(); onPress?.AddListener((UnityAction)OnToggle); } private void OnToggle(Vector3 point) { isOn = !isOn; onToggle?.Invoke(isOn); UpdateVisual(); } public void UpdateVisual() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)targetRenderer != (Object)null) { targetRenderer.material.color = (isOn ? onColor : offColor); } } } namespace BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace PlantholderOverhaul { internal class AirportPatcher { public static MenuManager? menu; public static GameObject? plantholder_TR_root; public static GameObject? plantholder_AM_root; public static GameObject? plantholder_overhaul; public static GameObject? plantholder_TR; public static GameObject? plantholder_AM; public static GameObject? trash_1_4; public static GameObject? board; public static GameObject? text_TR; public static GameObject? text_AM; public static Dictionary gbs = new Dictionary(); public static bool validated = false; public static bool patched = false; private static readonly Dictionary AVAILABLE_BIOMES = new Dictionary { { "T", "Tropics" }, { "R", "Roots" }, { "A", "Alpine" }, { "M", "Mesa" }, { "S", "Shore" } }; private static readonly List alpine_trees = new List(4) { "Ice_DeadTree", "Ice_Pine 1", "Ice_Pine 2", "Ice_Pine 3" }; private static readonly List alpine_shrubs = new List(3) { "Ice_DeadShrub 1", "Ice_DeadShrub 2", "Ice_DeadShrub 3" }; private static readonly List mesa_cacti = new List(4) { "Short Cactus", "Short Cactus Variant_Dry", "Tall Cactus", "Tall Cactus Variant_Dry" }; private static readonly List tropics_palms = new List(3) { "Jungle_PalmTree_Crook", "Jungle_PalmTree_Thin", "Jungle_PalmTree_Thick" }; private static readonly List tropics_willows = new List(4) { "Jungle_Willow_Big", "Jungle_Willow_Medium", "Jungle_Willow_Small", "Jungle_Willow_Tall" }; private static readonly List tropics_sporeshrooms = new List(2) { "Jungle_SporeMushroom", "Jungle_SporeMushroomExplo" }; private static readonly List tropics_thorns = new List(2) { "Jungle_Thorns", "Jungle_Thorns_Nice" }; private static readonly List tropics_vegetation = new List(6) { "Jungle_Monstera", "Jungle_Monstera_Thick", "Jungle_Aleo", "Jungle_PoisonIvy", "Jungle_SharpPlant", "Jungle_MiniBanana" }; private static readonly List roots_trees_n_trunks = new List(4) { "Redwood", "Redwood Massive", "Redwood Trunk", "Redwood Trunk Holow" }; private static readonly List roots_trunks = new List(2) { "Redwood Trunk", "Redwood Trunk Holow" }; private static readonly List roots_vegetation = new List(2) { "Fern", "Fern Old" }; private static readonly List roots_mushrooms = new List(4) { "Mushroom tree Round Variant", "Mushroom tree Dome Variant", "Mushroom tree Flat", "Mushroom tree Flat tall" }; private static readonly List roots_mushrooms_and_evil = new List(6) { "Mushroom tree Dome Variant", "Mushroom tree Flat", "Mushroom tree Flat tall", "Mushroom tree Dome Evil Variant", "Mushroom tree Flat_Evil Variant", "Mushroom tree Flat tall_Evil Variant" }; public static void OnSceneLoad(Scene scene, LoadSceneMode mode) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Expected O, but got Unknown //IL_0083: 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) menu = null; plantholder_TR_root = null; plantholder_AM_root = null; plantholder_TR = null; plantholder_AM = null; trash_1_4 = null; board = null; text_TR = null; text_AM = null; plantholder_overhaul = new GameObject("Plantholder Overhaul"); validated = false; patched = false; gbs.Clear(); Plugin.DestroySpawnedInstances(); if (!(((Scene)(ref scene)).name != "Airport")) { Plugin.Log.LogInfo((object)"Validating Airport..."); validated = ValidateAirport(scene); if (!validated) { throw new Exception("Can't validate the Airport: the mod is outdated or there is a mod that changes airport!"); } Plugin.Log.LogInfo((object)"Patching Airport..."); patched = PatchAirport(scene); if (!patched) { Plugin.DestroySpawnedInstances(); throw new Exception("Can't patch the Airport: something is broken"); } Plugin.Log.LogInfo((object)"Creating menu..."); CreateMenu(); string todaysMap = Plugin.GetTodaysMap(); Plugin.Log.LogInfo((object)("Switching biomes to " + todaysMap + "...")); SwitchBiomes(todaysMap); Plugin.Log.LogInfo((object)"Done."); } } public static void CreateMenu() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected O, but got Unknown //IL_0092: 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_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //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_0195: 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_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_0230: 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_0273: Unknown result type (might be due to invalid IL or missing references) //IL_0278: 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_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_031b: 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_0354: Unknown result type (might be due to invalid IL or missing references) //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_036d: Unknown result type (might be due to invalid IL or missing references) //IL_0372: Unknown result type (might be due to invalid IL or missing references) //IL_03b2: Unknown result type (might be due to invalid IL or missing references) //IL_03bc: Unknown result type (might be due to invalid IL or missing references) //IL_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_0404: 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_044d: Unknown result type (might be due to invalid IL or missing references) //IL_047c: Unknown result type (might be due to invalid IL or missing references) //IL_0490: Unknown result type (might be due to invalid IL or missing references) //IL_0495: Unknown result type (might be due to invalid IL or missing references) //IL_04d4: Unknown result type (might be due to invalid IL or missing references) //IL_04de: Unknown result type (might be due to invalid IL or missing references) //IL_050d: Unknown result type (might be due to invalid IL or missing references) //IL_0521: Unknown result type (might be due to invalid IL or missing references) //IL_0526: Unknown result type (might be due to invalid IL or missing references) //IL_0565: Unknown result type (might be due to invalid IL or missing references) //IL_0584: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)plantholder_overhaul == (Object)null) { return; } GameObject val = new GameObject("Menu"); val.transform.parent = plantholder_overhaul.transform; menu = val.AddComponent(); MenuManagerHelper.currentLevel = Plugin.GetTodaysMapIndex() % SingletonAsset.Instance.ScenePaths.Length + 1; GameObject page2 = MenuBuilder.CreatePage(val, "MainPage", delegate(MenuPage page) { string text3 = ""; string text4 = Plugin.GetAllMaps()[MenuManagerHelper.currentLevel]; text3 = text3 + Plugin.GetText("UI_CURRENT_VERSION") + ": " + Plugin.GetGameVersion() + "\n"; text3 = text3 + Plugin.GetText("UI_TODAYS_MAP") + ": " + Plugin.GetTodaysMap() + "\n"; text3 = text3 + Plugin.GetText("UI_DISPLAYED_MAP") + ": " + text4 + "\n"; MapsInfo mapsInfo = Plugin.maps_data.GameVersions[Plugin.GetGameVersion()]; MapInfo mapInfo = null; if (mapsInfo.Maps.ContainsKey(text4)) { mapInfo = mapsInfo.Maps[text4]; } if (mapInfo == null) { text3 = text3 + Plugin.GetText("UI_CURRENT_BIOMES") + ": <#ff2222>" + Plugin.GetText("UI_NO_DATA") + "\n"; text3 = text3 + "<#ffff22>" + Plugin.GetText("UI_VISIT_LEVEL") + "\n"; } else { string text5 = ""; string text6 = ""; bool flag2 = false; if (mapInfo.BiomeString.Contains("T")) { text5 = FormatBiomeText(GetBiomeTexts("Tropics", "008040", "006633", mapInfo), ": "); } if (mapInfo.BiomeString.Contains("R")) { text5 = FormatBiomeText(GetBiomeTexts("Roots", "66cc00", "4d9900", mapInfo), ": "); } if (mapInfo.BiomeString.Contains("A")) { text6 = FormatBiomeText(GetBiomeTexts("Alpine", "4de1ff", "33ddff", mapInfo), ": "); } if (mapInfo.BiomeString.Contains("M")) { text6 = FormatBiomeText(GetBiomeTexts("Mesa", "b38600", "997300", mapInfo, showtomb: false), ": "); flag2 = true; } text3 = text3 + text5 + "\n" + text6 + "\n"; if (flag2) { text3 = text3 + Plugin.GetText("MESA_TOMB") + " " + (mapInfo.Mesa_IsTombOpen ? ("<#7fff22>" + Plugin.GetText("MESA_TOMB_OPEN")) : ("<#ff7f22>" + Plugin.GetText("MESA_TOMB_CLOSED"))) + "\n"; } } page.texts["sInfo"]?.SetText(text3); page.texts["sSettings"]?.SetText("[" + Plugin.GetText("UI_SETTINGS") + "]"); page.texts["sPrev"]?.SetText("[" + Plugin.GetText("UI_PREV") + "]"); page.texts["sNext"]?.SetText("[" + Plugin.GetText("UI_NEXT") + "]"); }); MenuBuilder.CreateText(page2, "sTitle", new Vector3(0f, 0f, 0f), "Plantholder Overhaul", Color.white, (TextAlignmentOptions)514, 20f); MenuBuilder.CreateText(page2, "sInfo", new Vector3(0f, -2.1f, 0f), "Current map: idk", Color.white, (TextAlignmentOptions)257, 50f, 0.039f); MenuBuilder.CreateText(page2, "sSettings", new Vector3(-1.33f, -2.1f, 0f), "[Settings?]", Color.white, (TextAlignmentOptions)514, 20f); MenuBuilder.CreateButton(page2, "bSettings", new Vector3(-1.33f, -2f, 0f), new Vector3(1.33f, 0.5f, 0.2f), Color.blue, delegate(MenuButton btn) { btn.onPress.AddListener((UnityAction)delegate { menu.ShowPage("SettingsPage"); }); }); MenuBuilder.CreateText(page2, "sPrev", new Vector3(0f, -2.1f, 0f), "[LevelPrev?]", Color.white, (TextAlignmentOptions)514, 20f); MenuBuilder.CreateButton(page2, "bPrev", new Vector3(0f, -2f, 0f), new Vector3(1.33f, 0.5f, 0.2f), Color.green, delegate(MenuButton btn) { btn.onPress.AddListener((UnityAction)delegate { MenuManagerHelper.currentLevel--; if (MenuManagerHelper.currentLevel < 0) { MenuManagerHelper.currentLevel = Plugin.GetAllMaps().Length - 1; } SwitchBiomes(Plugin.GetAllMaps()[MenuManagerHelper.currentLevel]); MenuManagerHelper.lastUpdate = 0f; }); }); MenuBuilder.CreateText(page2, "sNext", new Vector3(1.33f, -2.1f, 0f), "[LevelNext?]", Color.white, (TextAlignmentOptions)514, 20f); MenuBuilder.CreateButton(page2, "bNext", new Vector3(1.33f, -2f, 0f), new Vector3(1.33f, 0.5f, 0.2f), Color.red, delegate(MenuButton btn) { btn.onPress.AddListener((UnityAction)delegate { MenuManagerHelper.currentLevel++; if (MenuManagerHelper.currentLevel > Plugin.GetAllMaps().Length - 1) { MenuManagerHelper.currentLevel = 0; } SwitchBiomes(Plugin.GetAllMaps()[MenuManagerHelper.currentLevel]); MenuManagerHelper.lastUpdate = 0f; }); }); GameObject page3 = MenuBuilder.CreatePage(val, "SettingsPage", delegate(MenuPage page) { string text = ""; string text2 = MenuManagerHelper.settings[MenuManagerHelper.currentSetting]; ConfigEntry val3 = MenuManagerHelper.configs[MenuManagerHelper.currentSetting]; if (val3 != null) { bool flag = MenuManagerHelper.settingRequiresRestart[MenuManagerHelper.currentSetting]; text = text + Plugin.GetText("UI_SETTING_" + text2) + "\n"; text = text + "<#999999>" + Plugin.GetText("UI_DESC_" + text2) + "\n"; text = text + Plugin.GetText("UI_VALUE") + ": " + (val3.Value ? ("<#7fff22>" + Plugin.GetText("UI_ENABLED")) : ("<#ff7f22>" + Plugin.GetText("UI_DISABLED"))) + "\n"; if (flag) { text = text + "<#ffff22>" + Plugin.GetText("UI_REQUIRES_RESTART") + "\n"; } page.texts["sTitle"]?.SetText("Plantholder Overhaul: " + Plugin.GetText("UI_SETTINGS") + "\n"); page.texts["sConfigInfo"]?.SetText(text); page.texts["sBack"]?.SetText("[" + Plugin.GetText("UI_BACK") + "]"); page.texts["sPrev"]?.SetText("[" + Plugin.GetText("UI_PREV") + "]"); page.texts["sNext"]?.SetText("[" + Plugin.GetText("UI_NEXT") + "]"); } }); MenuBuilder.CreateText(page3, "sTitle", new Vector3(0f, 0f, 0f), "Plantholder overhaul: Settings", Color.white, (TextAlignmentOptions)514, 20f); MenuBuilder.CreateText(page3, "sConfigInfo", new Vector3(0f, -2.1f, 0f), "localization issue", Color.white, (TextAlignmentOptions)257, 40f, 0.039f); MenuBuilder.CreateToggle(page3, "tFeatureToggle", new Vector3(0f, -0.75f, 0f), new Vector3(4f, 2f, 0.2f), Color.gray, Color.green, defaultValue: false, delegate(MenuToggle tgl) { tgl.onToggle.AddListener((UnityAction)delegate { ConfigEntry val2 = MenuManagerHelper.configs[MenuManagerHelper.currentSetting]; if (val2 != null) { val2.Value = !val2.Value; } MenuManagerHelper.lastUpdate = 0f; }); }); MenuBuilder.CreateText(page3, "sBack", new Vector3(-1.33f, -2.1f, 0f), "[MenuBack?]", Color.white, (TextAlignmentOptions)514, 20f); MenuBuilder.CreateButton(page3, "bBack", new Vector3(-1.33f, -2f, 0f), new Vector3(1.33f, 0.5f, 0.2f), Color.gray, delegate(MenuButton btn) { btn.onPress.AddListener((UnityAction)delegate { menu.ShowPage("MainPage"); }); }); MenuBuilder.CreateText(page3, "sPrev", new Vector3(0f, -2.1f, 0f), "[SettingPrev?]", Color.white, (TextAlignmentOptions)514, 20f); MenuBuilder.CreateButton(page3, "bSettingPrev", new Vector3(0f, -2f, 0f), new Vector3(1.33f, 0.5f, 0.2f), Color.yellow, delegate(MenuButton btn) { btn.onPress.AddListener((UnityAction)delegate { MenuManagerHelper.currentSetting--; if (MenuManagerHelper.currentSetting < 0) { MenuManagerHelper.currentSetting = MenuManagerHelper.settings.Length - 1; } MenuManagerHelper.lastUpdate = 0f; }); }); MenuBuilder.CreateText(page3, "sNext", new Vector3(1.33f, -2.1f, 0f), "[SettingNext?]", Color.white, (TextAlignmentOptions)514, 20f); MenuBuilder.CreateButton(page3, "bSettingNext", new Vector3(1.33f, -2f, 0f), new Vector3(1.33f, 0.5f, 0.2f), Color.magenta, delegate(MenuButton btn) { btn.onPress.AddListener((UnityAction)delegate { MenuManagerHelper.currentSetting++; if (MenuManagerHelper.currentSetting > MenuManagerHelper.settings.Length - 1) { MenuManagerHelper.currentSetting = 0; } MenuManagerHelper.lastUpdate = 0f; }); }); val.transform.eulerAngles = new Vector3(0f, 270f, 0f); val.transform.position = new Vector3(-21.52f, 4.375f, 73.84f); } public static bool ValidateAirport(Scene scene) { if (((Scene)(ref scene)).name != "Airport") { return false; } int num = 0; GameObject[] rootGameObjects = ((Scene)(ref scene)).GetRootGameObjects(); foreach (GameObject val in rootGameObjects) { if (((Object)val).name == "Map") { num++; foreach (GameObject item in ExtTransform.PGetChildGameObjects(val)) { if (((Object)item).name == "BL_Airport") { num++; foreach (GameObject item2 in ExtTransform.PGetChildGameObjects(item)) { if (((Object)item2).name == "Vegetation") { num++; foreach (GameObject item3 in ExtTransform.PGetChildGameObjects(item2)) { if (((Object)item3).name == "Curved Planter") { num++; plantholder_AM_root = item3; foreach (GameObject item4 in ExtTransform.PGetChildGameObjects(item3)) { if (((Object)item4).name == "Desert Tree") { num++; } } } if (!(((Object)item3).name == "Curved Planter (1)")) { continue; } num++; plantholder_TR_root = item3; foreach (GameObject item5 in ExtTransform.PGetChildGameObjects(item3)) { if (((Object)item5).name == "CurvedPlanter-Roots") { num++; } } } } else { if (!(((Object)item2).name == "Misc")) { continue; } num++; foreach (GameObject item6 in ExtTransform.PGetChildGameObjects(item2)) { if (((Object)item6).name == "Trash 1 (4)") { num++; trash_1_4 = item6; } } } } } else if (((Object)item).name == "Flight Board (2)") { board = item; num++; } } } else if (((Object)val).name == "Desert_Rock 9") { num++; } } if (num != 11) { return false; } if ((Object)(object)plantholder_AM_root == (Object)null || (Object)(object)plantholder_TR_root == (Object)null) { return false; } return true; } public static bool PatchAirport(Scene scene) { //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_017d: 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_032c: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Expected O, but got Unknown //IL_0368: Unknown result type (might be due to invalid IL or missing references) //IL_0372: Expected O, but got Unknown //IL_03ae: Unknown result type (might be due to invalid IL or missing references) //IL_03b8: Expected O, but got Unknown //IL_03f9: Unknown result type (might be due to invalid IL or missing references) //IL_040d: Unknown result type (might be due to invalid IL or missing references) //IL_0446: Unknown result type (might be due to invalid IL or missing references) //IL_045a: Unknown result type (might be due to invalid IL or missing references) //IL_0493: 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_04e0: Unknown result type (might be due to invalid IL or missing references) //IL_04f4: Unknown result type (might be due to invalid IL or missing references) //IL_052d: Unknown result type (might be due to invalid IL or missing references) //IL_0541: Unknown result type (might be due to invalid IL or missing references) //IL_057a: Unknown result type (might be due to invalid IL or missing references) //IL_058e: Unknown result type (might be due to invalid IL or missing references) //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_05cc: Expected O, but got Unknown //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_062d: Unknown result type (might be due to invalid IL or missing references) //IL_066b: Unknown result type (might be due to invalid IL or missing references) //IL_0686: Unknown result type (might be due to invalid IL or missing references) //IL_06c4: Unknown result type (might be due to invalid IL or missing references) //IL_06df: Unknown result type (might be due to invalid IL or missing references) //IL_071d: Unknown result type (might be due to invalid IL or missing references) //IL_0738: Unknown result type (might be due to invalid IL or missing references) //IL_0776: Unknown result type (might be due to invalid IL or missing references) //IL_0791: Unknown result type (might be due to invalid IL or missing references) //IL_07cf: Unknown result type (might be due to invalid IL or missing references) //IL_07ea: Unknown result type (might be due to invalid IL or missing references) //IL_0828: Unknown result type (might be due to invalid IL or missing references) //IL_0843: Unknown result type (might be due to invalid IL or missing references) //IL_0881: Unknown result type (might be due to invalid IL or missing references) //IL_089c: Unknown result type (might be due to invalid IL or missing references) //IL_08da: Unknown result type (might be due to invalid IL or missing references) //IL_08f5: Unknown result type (might be due to invalid IL or missing references) //IL_092e: Unknown result type (might be due to invalid IL or missing references) //IL_0942: Unknown result type (might be due to invalid IL or missing references) //IL_09de: Unknown result type (might be due to invalid IL or missing references) //IL_09f9: Unknown result type (might be due to invalid IL or missing references) //IL_0a37: Unknown result type (might be due to invalid IL or missing references) //IL_0a52: Unknown result type (might be due to invalid IL or missing references) //IL_0a90: Unknown result type (might be due to invalid IL or missing references) //IL_0aab: Unknown result type (might be due to invalid IL or missing references) //IL_0adf: Unknown result type (might be due to invalid IL or missing references) //IL_0ae9: Expected O, but got Unknown //IL_0b38: Unknown result type (might be due to invalid IL or missing references) //IL_0b53: Unknown result type (might be due to invalid IL or missing references) //IL_0ba0: Unknown result type (might be due to invalid IL or missing references) //IL_0bbb: Unknown result type (might be due to invalid IL or missing references) //IL_0c08: Unknown result type (might be due to invalid IL or missing references) //IL_0c23: Unknown result type (might be due to invalid IL or missing references) //IL_0c70: Unknown result type (might be due to invalid IL or missing references) //IL_0c8b: Unknown result type (might be due to invalid IL or missing references) //IL_0cd8: Unknown result type (might be due to invalid IL or missing references) //IL_0cf3: Unknown result type (might be due to invalid IL or missing references) //IL_0d40: Unknown result type (might be due to invalid IL or missing references) //IL_0d5b: Unknown result type (might be due to invalid IL or missing references) //IL_0da8: Unknown result type (might be due to invalid IL or missing references) //IL_0dc3: Unknown result type (might be due to invalid IL or missing references) //IL_0e10: Unknown result type (might be due to invalid IL or missing references) //IL_0e2b: Unknown result type (might be due to invalid IL or missing references) //IL_0e78: Unknown result type (might be due to invalid IL or missing references) //IL_0e93: Unknown result type (might be due to invalid IL or missing references) //IL_0eda: Unknown result type (might be due to invalid IL or missing references) //IL_0ee4: Expected O, but got Unknown //IL_0f2d: Unknown result type (might be due to invalid IL or missing references) //IL_0f56: Unknown result type (might be due to invalid IL or missing references) //IL_0f94: Unknown result type (might be due to invalid IL or missing references) //IL_0fbd: Unknown result type (might be due to invalid IL or missing references) //IL_0ffa: Unknown result type (might be due to invalid IL or missing references) //IL_1004: Expected O, but got Unknown //IL_104a: Unknown result type (might be due to invalid IL or missing references) //IL_1065: Unknown result type (might be due to invalid IL or missing references) //IL_10a3: Unknown result type (might be due to invalid IL or missing references) //IL_10be: Unknown result type (might be due to invalid IL or missing references) //IL_10fc: Unknown result type (might be due to invalid IL or missing references) //IL_1117: Unknown result type (might be due to invalid IL or missing references) //IL_1155: Unknown result type (might be due to invalid IL or missing references) //IL_1170: Unknown result type (might be due to invalid IL or missing references) //IL_11ae: Unknown result type (might be due to invalid IL or missing references) //IL_11c9: Unknown result type (might be due to invalid IL or missing references) //IL_1207: Unknown result type (might be due to invalid IL or missing references) //IL_1222: Unknown result type (might be due to invalid IL or missing references) //IL_1260: Unknown result type (might be due to invalid IL or missing references) //IL_127b: Unknown result type (might be due to invalid IL or missing references) //IL_12b9: Unknown result type (might be due to invalid IL or missing references) //IL_12d4: Unknown result type (might be due to invalid IL or missing references) //IL_1312: Unknown result type (might be due to invalid IL or missing references) //IL_132d: Unknown result type (might be due to invalid IL or missing references) //IL_136b: Unknown result type (might be due to invalid IL or missing references) //IL_1386: Unknown result type (might be due to invalid IL or missing references) //IL_13c4: Unknown result type (might be due to invalid IL or missing references) //IL_13df: Unknown result type (might be due to invalid IL or missing references) //IL_141d: Unknown result type (might be due to invalid IL or missing references) //IL_1438: Unknown result type (might be due to invalid IL or missing references) //IL_1476: Unknown result type (might be due to invalid IL or missing references) //IL_1491: Unknown result type (might be due to invalid IL or missing references) //IL_14cf: Unknown result type (might be due to invalid IL or missing references) //IL_14ea: Unknown result type (might be due to invalid IL or missing references) //IL_1528: Unknown result type (might be due to invalid IL or missing references) //IL_1543: Unknown result type (might be due to invalid IL or missing references) //IL_1581: Unknown result type (might be due to invalid IL or missing references) //IL_159c: Unknown result type (might be due to invalid IL or missing references) //IL_15d0: Unknown result type (might be due to invalid IL or missing references) //IL_15da: Expected O, but got Unknown //IL_1616: Unknown result type (might be due to invalid IL or missing references) //IL_1620: Expected O, but got Unknown //IL_1668: Unknown result type (might be due to invalid IL or missing references) //IL_167c: Unknown result type (might be due to invalid IL or missing references) //IL_16ba: Unknown result type (might be due to invalid IL or missing references) //IL_16ce: Unknown result type (might be due to invalid IL or missing references) //IL_174d: Unknown result type (might be due to invalid IL or missing references) //IL_17ec: Unknown result type (might be due to invalid IL or missing references) //IL_1817: Unknown result type (might be due to invalid IL or missing references) //IL_1830: Unknown result type (might be due to invalid IL or missing references) //IL_183a: Expected O, but got Unknown //IL_187b: Unknown result type (might be due to invalid IL or missing references) //IL_188f: Unknown result type (might be due to invalid IL or missing references) //IL_18c8: Unknown result type (might be due to invalid IL or missing references) //IL_18e3: Unknown result type (might be due to invalid IL or missing references) //IL_1926: Unknown result type (might be due to invalid IL or missing references) //IL_1941: Unknown result type (might be due to invalid IL or missing references) //IL_1989: Unknown result type (might be due to invalid IL or missing references) //IL_19a4: Unknown result type (might be due to invalid IL or missing references) //IL_19e2: Unknown result type (might be due to invalid IL or missing references) //IL_19fd: Unknown result type (might be due to invalid IL or missing references) //IL_1a31: Unknown result type (might be due to invalid IL or missing references) //IL_1a3b: Expected O, but got Unknown //IL_1a82: Unknown result type (might be due to invalid IL or missing references) //IL_1aab: Unknown result type (might be due to invalid IL or missing references) //IL_1aee: Unknown result type (might be due to invalid IL or missing references) //IL_1b17: Unknown result type (might be due to invalid IL or missing references) //IL_1b4f: Unknown result type (might be due to invalid IL or missing references) //IL_1b59: Expected O, but got Unknown //IL_1ba2: Unknown result type (might be due to invalid IL or missing references) //IL_1bbd: Unknown result type (might be due to invalid IL or missing references) //IL_1c05: Unknown result type (might be due to invalid IL or missing references) //IL_1c20: Unknown result type (might be due to invalid IL or missing references) //IL_1c68: Unknown result type (might be due to invalid IL or missing references) //IL_1c83: Unknown result type (might be due to invalid IL or missing references) //IL_1ccb: Unknown result type (might be due to invalid IL or missing references) //IL_1ce6: Unknown result type (might be due to invalid IL or missing references) //IL_1d2e: Unknown result type (might be due to invalid IL or missing references) //IL_1d49: Unknown result type (might be due to invalid IL or missing references) //IL_1d91: Unknown result type (might be due to invalid IL or missing references) //IL_1dac: Unknown result type (might be due to invalid IL or missing references) //IL_1df4: Unknown result type (might be due to invalid IL or missing references) //IL_1e0f: Unknown result type (might be due to invalid IL or missing references) //IL_1e57: Unknown result type (might be due to invalid IL or missing references) //IL_1e72: Unknown result type (might be due to invalid IL or missing references) //IL_1eba: Unknown result type (might be due to invalid IL or missing references) //IL_1ed5: Unknown result type (might be due to invalid IL or missing references) //IL_1f1d: Unknown result type (might be due to invalid IL or missing references) //IL_1f38: Unknown result type (might be due to invalid IL or missing references) //IL_1f80: Unknown result type (might be due to invalid IL or missing references) //IL_1f9b: Unknown result type (might be due to invalid IL or missing references) //IL_1fe3: Unknown result type (might be due to invalid IL or missing references) //IL_1ffe: Unknown result type (might be due to invalid IL or missing references) //IL_2046: Unknown result type (might be due to invalid IL or missing references) //IL_2061: Unknown result type (might be due to invalid IL or missing references) //IL_20a9: Unknown result type (might be due to invalid IL or missing references) //IL_20c4: Unknown result type (might be due to invalid IL or missing references) //IL_210c: Unknown result type (might be due to invalid IL or missing references) //IL_2127: Unknown result type (might be due to invalid IL or missing references) //IL_216f: Unknown result type (might be due to invalid IL or missing references) //IL_218a: Unknown result type (might be due to invalid IL or missing references) //IL_21d2: Unknown result type (might be due to invalid IL or missing references) //IL_21ed: Unknown result type (might be due to invalid IL or missing references) //IL_2235: Unknown result type (might be due to invalid IL or missing references) //IL_2250: Unknown result type (might be due to invalid IL or missing references) //IL_2298: Unknown result type (might be due to invalid IL or missing references) //IL_22b3: Unknown result type (might be due to invalid IL or missing references) //IL_22fb: Unknown result type (might be due to invalid IL or missing references) //IL_2316: Unknown result type (might be due to invalid IL or missing references) //IL_235e: Unknown result type (might be due to invalid IL or missing references) //IL_2379: Unknown result type (might be due to invalid IL or missing references) //IL_23c1: Unknown result type (might be due to invalid IL or missing references) //IL_23dc: Unknown result type (might be due to invalid IL or missing references) //IL_2424: Unknown result type (might be due to invalid IL or missing references) //IL_243f: Unknown result type (might be due to invalid IL or missing references) //IL_2487: Unknown result type (might be due to invalid IL or missing references) //IL_24a2: Unknown result type (might be due to invalid IL or missing references) //IL_24ea: Unknown result type (might be due to invalid IL or missing references) //IL_2505: Unknown result type (might be due to invalid IL or missing references) //IL_254d: Unknown result type (might be due to invalid IL or missing references) //IL_2568: Unknown result type (might be due to invalid IL or missing references) //IL_25b0: Unknown result type (might be due to invalid IL or missing references) //IL_25cb: Unknown result type (might be due to invalid IL or missing references) //IL_2613: Unknown result type (might be due to invalid IL or missing references) //IL_262e: Unknown result type (might be due to invalid IL or missing references) //IL_2676: Unknown result type (might be due to invalid IL or missing references) //IL_2691: Unknown result type (might be due to invalid IL or missing references) //IL_26d9: Unknown result type (might be due to invalid IL or missing references) //IL_26f4: Unknown result type (might be due to invalid IL or missing references) //IL_273c: Unknown result type (might be due to invalid IL or missing references) //IL_2757: Unknown result type (might be due to invalid IL or missing references) //IL_279f: Unknown result type (might be due to invalid IL or missing references) //IL_27ba: Unknown result type (might be due to invalid IL or missing references) //IL_2802: Unknown result type (might be due to invalid IL or missing references) //IL_281d: Unknown result type (might be due to invalid IL or missing references) //IL_2865: Unknown result type (might be due to invalid IL or missing references) //IL_2880: Unknown result type (might be due to invalid IL or missing references) //IL_28c8: Unknown result type (might be due to invalid IL or missing references) //IL_28e3: Unknown result type (might be due to invalid IL or missing references) //IL_292b: Unknown result type (might be due to invalid IL or missing references) //IL_2946: Unknown result type (might be due to invalid IL or missing references) //IL_298e: Unknown result type (might be due to invalid IL or missing references) //IL_29a9: Unknown result type (might be due to invalid IL or missing references) //IL_29f1: Unknown result type (might be due to invalid IL or missing references) //IL_2a0c: Unknown result type (might be due to invalid IL or missing references) //IL_2a54: Unknown result type (might be due to invalid IL or missing references) //IL_2a6f: Unknown result type (might be due to invalid IL or missing references) //IL_2ab7: Unknown result type (might be due to invalid IL or missing references) //IL_2ad2: Unknown result type (might be due to invalid IL or missing references) //IL_2b1a: Unknown result type (might be due to invalid IL or missing references) //IL_2b35: Unknown result type (might be due to invalid IL or missing references) //IL_2b7d: Unknown result type (might be due to invalid IL or missing references) //IL_2b98: Unknown result type (might be due to invalid IL or missing references) //IL_2be0: Unknown result type (might be due to invalid IL or missing references) //IL_2bfb: Unknown result type (might be due to invalid IL or missing references) //IL_2c43: Unknown result type (might be due to invalid IL or missing references) //IL_2c5e: Unknown result type (might be due to invalid IL or missing references) //IL_2ca6: Unknown result type (might be due to invalid IL or missing references) //IL_2cc1: Unknown result type (might be due to invalid IL or missing references) //IL_2d09: Unknown result type (might be due to invalid IL or missing references) //IL_2d24: Unknown result type (might be due to invalid IL or missing references) //IL_2d6c: Unknown result type (might be due to invalid IL or missing references) //IL_2d87: Unknown result type (might be due to invalid IL or missing references) //IL_2dcf: Unknown result type (might be due to invalid IL or missing references) //IL_2dea: Unknown result type (might be due to invalid IL or missing references) //IL_2e32: Unknown result type (might be due to invalid IL or missing references) //IL_2e4d: Unknown result type (might be due to invalid IL or missing references) //IL_2ea2: Unknown result type (might be due to invalid IL or missing references) //IL_2eac: Expected O, but got Unknown //IL_2ef6: Unknown result type (might be due to invalid IL or missing references) //IL_2f11: Unknown result type (might be due to invalid IL or missing references) //IL_2f59: Unknown result type (might be due to invalid IL or missing references) //IL_2f74: Unknown result type (might be due to invalid IL or missing references) //IL_2fbc: Unknown result type (might be due to invalid IL or missing references) //IL_2fd7: Unknown result type (might be due to invalid IL or missing references) //IL_301f: Unknown result type (might be due to invalid IL or missing references) //IL_303a: Unknown result type (might be due to invalid IL or missing references) //IL_3082: Unknown result type (might be due to invalid IL or missing references) //IL_309d: Unknown result type (might be due to invalid IL or missing references) //IL_30e5: Unknown result type (might be due to invalid IL or missing references) //IL_3100: Unknown result type (might be due to invalid IL or missing references) //IL_3148: Unknown result type (might be due to invalid IL or missing references) //IL_3163: Unknown result type (might be due to invalid IL or missing references) //IL_31ab: Unknown result type (might be due to invalid IL or missing references) //IL_31c6: Unknown result type (might be due to invalid IL or missing references) //IL_320e: Unknown result type (might be due to invalid IL or missing references) //IL_3229: Unknown result type (might be due to invalid IL or missing references) //IL_3271: Unknown result type (might be due to invalid IL or missing references) //IL_328c: Unknown result type (might be due to invalid IL or missing references) //IL_32d4: Unknown result type (might be due to invalid IL or missing references) //IL_32ef: Unknown result type (might be due to invalid IL or missing references) //IL_3348: Unknown result type (might be due to invalid IL or missing references) //IL_3371: Unknown result type (might be due to invalid IL or missing references) //IL_33b4: Unknown result type (might be due to invalid IL or missing references) //IL_33dd: Unknown result type (might be due to invalid IL or missing references) //IL_344f: Unknown result type (might be due to invalid IL or missing references) //IL_346a: Unknown result type (might be due to invalid IL or missing references) //IL_34a3: Unknown result type (might be due to invalid IL or missing references) //IL_34be: Unknown result type (might be due to invalid IL or missing references) //IL_34f7: Unknown result type (might be due to invalid IL or missing references) //IL_3512: Unknown result type (might be due to invalid IL or missing references) //IL_354b: Unknown result type (might be due to invalid IL or missing references) //IL_3566: Unknown result type (might be due to invalid IL or missing references) //IL_359f: Unknown result type (might be due to invalid IL or missing references) //IL_35ba: Unknown result type (might be due to invalid IL or missing references) //IL_35f3: Unknown result type (might be due to invalid IL or missing references) //IL_360e: Unknown result type (might be due to invalid IL or missing references) //IL_3647: Unknown result type (might be due to invalid IL or missing references) //IL_3662: Unknown result type (might be due to invalid IL or missing references) //IL_369b: Unknown result type (might be due to invalid IL or missing references) //IL_36b6: Unknown result type (might be due to invalid IL or missing references) //IL_36ef: Unknown result type (might be due to invalid IL or missing references) //IL_370a: Unknown result type (might be due to invalid IL or missing references) //IL_3743: Unknown result type (might be due to invalid IL or missing references) //IL_375e: Unknown result type (might be due to invalid IL or missing references) //IL_3797: Unknown result type (might be due to invalid IL or missing references) //IL_37b2: Unknown result type (might be due to invalid IL or missing references) //IL_37eb: Unknown result type (might be due to invalid IL or missing references) //IL_3806: Unknown result type (might be due to invalid IL or missing references) //IL_383f: Unknown result type (might be due to invalid IL or missing references) //IL_385a: Unknown result type (might be due to invalid IL or missing references) //IL_3893: Unknown result type (might be due to invalid IL or missing references) //IL_38ae: Unknown result type (might be due to invalid IL or missing references) //IL_38e7: Unknown result type (might be due to invalid IL or missing references) //IL_3902: Unknown result type (might be due to invalid IL or missing references) //IL_3936: Unknown result type (might be due to invalid IL or missing references) //IL_3940: Expected O, but got Unknown //IL_3981: Unknown result type (might be due to invalid IL or missing references) //IL_3995: Unknown result type (might be due to invalid IL or missing references) //IL_39ce: Unknown result type (might be due to invalid IL or missing references) //IL_39e2: Unknown result type (might be due to invalid IL or missing references) //IL_3a1b: Unknown result type (might be due to invalid IL or missing references) //IL_3a2f: Unknown result type (might be due to invalid IL or missing references) //IL_3a68: Unknown result type (might be due to invalid IL or missing references) //IL_3a7c: Unknown result type (might be due to invalid IL or missing references) //IL_3ab5: Unknown result type (might be due to invalid IL or missing references) //IL_3ac9: Unknown result type (might be due to invalid IL or missing references) //IL_3b07: Unknown result type (might be due to invalid IL or missing references) //IL_3b22: Unknown result type (might be due to invalid IL or missing references) //IL_3b60: Unknown result type (might be due to invalid IL or missing references) //IL_3b7b: Unknown result type (might be due to invalid IL or missing references) //IL_3bb9: Unknown result type (might be due to invalid IL or missing references) //IL_3bd4: Unknown result type (might be due to invalid IL or missing references) //IL_3c12: Unknown result type (might be due to invalid IL or missing references) //IL_3c2d: Unknown result type (might be due to invalid IL or missing references) //IL_3c6b: Unknown result type (might be due to invalid IL or missing references) //IL_3c86: Unknown result type (might be due to invalid IL or missing references) //IL_3cc4: Unknown result type (might be due to invalid IL or missing references) //IL_3cdf: Unknown result type (might be due to invalid IL or missing references) //IL_3d1d: Unknown result type (might be due to invalid IL or missing references) //IL_3d38: Unknown result type (might be due to invalid IL or missing references) //IL_3d76: Unknown result type (might be due to invalid IL or missing references) //IL_3d91: Unknown result type (might be due to invalid IL or missing references) //IL_3dcf: Unknown result type (might be due to invalid IL or missing references) //IL_3dea: Unknown result type (might be due to invalid IL or missing references) //IL_3f10: Unknown result type (might be due to invalid IL or missing references) //IL_3f1a: Expected O, but got Unknown //IL_3f4c: Unknown result type (might be due to invalid IL or missing references) //IL_3f56: Expected O, but got Unknown //IL_3f92: Unknown result type (might be due to invalid IL or missing references) //IL_3f9c: Expected O, but got Unknown //IL_3fdd: Unknown result type (might be due to invalid IL or missing references) //IL_3ff1: Unknown result type (might be due to invalid IL or missing references) //IL_402a: Unknown result type (might be due to invalid IL or missing references) //IL_403e: Unknown result type (might be due to invalid IL or missing references) //IL_4077: Unknown result type (might be due to invalid IL or missing references) //IL_408b: Unknown result type (might be due to invalid IL or missing references) //IL_40c4: Unknown result type (might be due to invalid IL or missing references) //IL_40d8: Unknown result type (might be due to invalid IL or missing references) //IL_4111: Unknown result type (might be due to invalid IL or missing references) //IL_4125: Unknown result type (might be due to invalid IL or missing references) //IL_4159: Unknown result type (might be due to invalid IL or missing references) //IL_4163: Expected O, but got Unknown //IL_41a4: Unknown result type (might be due to invalid IL or missing references) //IL_41b8: Unknown result type (might be due to invalid IL or missing references) //IL_41f1: Unknown result type (might be due to invalid IL or missing references) //IL_4205: Unknown result type (might be due to invalid IL or missing references) //IL_4239: Unknown result type (might be due to invalid IL or missing references) //IL_4243: Expected O, but got Unknown //IL_428b: Unknown result type (might be due to invalid IL or missing references) //IL_42a6: Unknown result type (might be due to invalid IL or missing references) //IL_42e4: Unknown result type (might be due to invalid IL or missing references) //IL_42ff: Unknown result type (might be due to invalid IL or missing references) //IL_433d: Unknown result type (might be due to invalid IL or missing references) //IL_4358: Unknown result type (might be due to invalid IL or missing references) //IL_4396: Unknown result type (might be due to invalid IL or missing references) //IL_43b1: Unknown result type (might be due to invalid IL or missing references) //IL_43ef: Unknown result type (might be due to invalid IL or missing references) //IL_440a: Unknown result type (might be due to invalid IL or missing references) //IL_4444: Unknown result type (might be due to invalid IL or missing references) //IL_444e: Expected O, but got Unknown //IL_449b: Unknown result type (might be due to invalid IL or missing references) //IL_44b6: Unknown result type (might be due to invalid IL or missing references) //IL_44f9: Unknown result type (might be due to invalid IL or missing references) //IL_4514: Unknown result type (might be due to invalid IL or missing references) //IL_4557: Unknown result type (might be due to invalid IL or missing references) //IL_4572: Unknown result type (might be due to invalid IL or missing references) //IL_45ac: Unknown result type (might be due to invalid IL or missing references) //IL_45b6: Expected O, but got Unknown //IL_45fc: Unknown result type (might be due to invalid IL or missing references) //IL_4617: Unknown result type (might be due to invalid IL or missing references) //IL_465f: Unknown result type (might be due to invalid IL or missing references) //IL_467a: Unknown result type (might be due to invalid IL or missing references) //IL_46c2: Unknown result type (might be due to invalid IL or missing references) //IL_46dd: Unknown result type (might be due to invalid IL or missing references) //IL_4725: Unknown result type (might be due to invalid IL or missing references) //IL_4740: Unknown result type (might be due to invalid IL or missing references) //IL_4788: Unknown result type (might be due to invalid IL or missing references) //IL_47a3: Unknown result type (might be due to invalid IL or missing references) //IL_47eb: Unknown result type (might be due to invalid IL or missing references) //IL_4806: Unknown result type (might be due to invalid IL or missing references) //IL_484e: Unknown result type (might be due to invalid IL or missing references) //IL_4869: Unknown result type (might be due to invalid IL or missing references) //IL_48b1: Unknown result type (might be due to invalid IL or missing references) //IL_48cc: Unknown result type (might be due to invalid IL or missing references) //IL_4914: Unknown result type (might be due to invalid IL or missing references) //IL_492f: Unknown result type (might be due to invalid IL or missing references) //IL_4972: Unknown result type (might be due to invalid IL or missing references) //IL_4986: Unknown result type (might be due to invalid IL or missing references) //IL_49bf: Unknown result type (might be due to invalid IL or missing references) //IL_49d3: Unknown result type (might be due to invalid IL or missing references) //IL_4a0c: Unknown result type (might be due to invalid IL or missing references) //IL_4a20: Unknown result type (might be due to invalid IL or missing references) //IL_4a59: Unknown result type (might be due to invalid IL or missing references) //IL_4a6d: Unknown result type (might be due to invalid IL or missing references) //IL_4aa6: Unknown result type (might be due to invalid IL or missing references) //IL_4aba: Unknown result type (might be due to invalid IL or missing references) //IL_4af3: Unknown result type (might be due to invalid IL or missing references) //IL_4b07: Unknown result type (might be due to invalid IL or missing references) //IL_4b40: Unknown result type (might be due to invalid IL or missing references) //IL_4b54: Unknown result type (might be due to invalid IL or missing references) //IL_4b8d: Unknown result type (might be due to invalid IL or missing references) //IL_4ba1: Unknown result type (might be due to invalid IL or missing references) //IL_4bd5: Unknown result type (might be due to invalid IL or missing references) //IL_4bdf: Expected O, but got Unknown //IL_4c2c: Unknown result type (might be due to invalid IL or missing references) //IL_4c40: Unknown result type (might be due to invalid IL or missing references) //IL_4c83: Unknown result type (might be due to invalid IL or missing references) //IL_4c97: Unknown result type (might be due to invalid IL or missing references) //IL_4cd1: Unknown result type (might be due to invalid IL or missing references) //IL_4cdb: Expected O, but got Unknown //IL_4d23: Unknown result type (might be due to invalid IL or missing references) //IL_4d37: Unknown result type (might be due to invalid IL or missing references) //IL_4d75: Unknown result type (might be due to invalid IL or missing references) //IL_4d89: Unknown result type (might be due to invalid IL or missing references) //IL_4dc3: Unknown result type (might be due to invalid IL or missing references) //IL_4dcd: Expected O, but got Unknown //IL_4e13: Unknown result type (might be due to invalid IL or missing references) //IL_4e27: Unknown result type (might be due to invalid IL or missing references) //IL_4e6f: Unknown result type (might be due to invalid IL or missing references) //IL_4e83: Unknown result type (might be due to invalid IL or missing references) //IL_4ecb: Unknown result type (might be due to invalid IL or missing references) //IL_4edf: Unknown result type (might be due to invalid IL or missing references) //IL_4f27: Unknown result type (might be due to invalid IL or missing references) //IL_4f3b: Unknown result type (might be due to invalid IL or missing references) //IL_4f83: Unknown result type (might be due to invalid IL or missing references) //IL_4f97: Unknown result type (might be due to invalid IL or missing references) //IL_4fdf: Unknown result type (might be due to invalid IL or missing references) //IL_4ff3: Unknown result type (might be due to invalid IL or missing references) //IL_503b: Unknown result type (might be due to invalid IL or missing references) //IL_504f: Unknown result type (might be due to invalid IL or missing references) //IL_5099: Unknown result type (might be due to invalid IL or missing references) //IL_50b4: Unknown result type (might be due to invalid IL or missing references) //IL_50f8: Unknown result type (might be due to invalid IL or missing references) //IL_5113: Unknown result type (might be due to invalid IL or missing references) //IL_5157: Unknown result type (might be due to invalid IL or missing references) //IL_5172: Unknown result type (might be due to invalid IL or missing references) //IL_51b6: Unknown result type (might be due to invalid IL or missing references) //IL_51d1: Unknown result type (might be due to invalid IL or missing references) //IL_5215: Unknown result type (might be due to invalid IL or missing references) //IL_5230: Unknown result type (might be due to invalid IL or missing references) //IL_5274: Unknown result type (might be due to invalid IL or missing references) //IL_528f: Unknown result type (might be due to invalid IL or missing references) //IL_52d3: Unknown result type (might be due to invalid IL or missing references) //IL_52ee: Unknown result type (might be due to invalid IL or missing references) //IL_5332: Unknown result type (might be due to invalid IL or missing references) //IL_534d: Unknown result type (might be due to invalid IL or missing references) //IL_538c: Unknown result type (might be due to invalid IL or missing references) //IL_53a7: Unknown result type (might be due to invalid IL or missing references) //IL_53e6: Unknown result type (might be due to invalid IL or missing references) //IL_5401: Unknown result type (might be due to invalid IL or missing references) //IL_5440: Unknown result type (might be due to invalid IL or missing references) //IL_545b: Unknown result type (might be due to invalid IL or missing references) //IL_549a: Unknown result type (might be due to invalid IL or missing references) //IL_54b5: Unknown result type (might be due to invalid IL or missing references) //IL_54ed: Unknown result type (might be due to invalid IL or missing references) //IL_54f7: Expected O, but got Unknown //IL_553d: Unknown result type (might be due to invalid IL or missing references) //IL_5551: Unknown result type (might be due to invalid IL or missing references) //IL_558f: Unknown result type (might be due to invalid IL or missing references) //IL_55a3: Unknown result type (might be due to invalid IL or missing references) //IL_55e1: Unknown result type (might be due to invalid IL or missing references) //IL_55f5: Unknown result type (might be due to invalid IL or missing references) //IL_5633: Unknown result type (might be due to invalid IL or missing references) //IL_5647: Unknown result type (might be due to invalid IL or missing references) //IL_5685: Unknown result type (might be due to invalid IL or missing references) //IL_5699: Unknown result type (might be due to invalid IL or missing references) //IL_56d7: Unknown result type (might be due to invalid IL or missing references) //IL_56eb: Unknown result type (might be due to invalid IL or missing references) //IL_5729: Unknown result type (might be due to invalid IL or missing references) //IL_573d: Unknown result type (might be due to invalid IL or missing references) //IL_577b: Unknown result type (might be due to invalid IL or missing references) //IL_578f: Unknown result type (might be due to invalid IL or missing references) //IL_57cd: Unknown result type (might be due to invalid IL or missing references) //IL_57e1: Unknown result type (might be due to invalid IL or missing references) //IL_581f: Unknown result type (might be due to invalid IL or missing references) //IL_5833: Unknown result type (might be due to invalid IL or missing references) //IL_5871: Unknown result type (might be due to invalid IL or missing references) //IL_5885: Unknown result type (might be due to invalid IL or missing references) //IL_58c3: Unknown result type (might be due to invalid IL or missing references) //IL_58d7: Unknown result type (might be due to invalid IL or missing references) //IL_5910: Unknown result type (might be due to invalid IL or missing references) //IL_5924: Unknown result type (might be due to invalid IL or missing references) //IL_595d: Unknown result type (might be due to invalid IL or missing references) //IL_5971: Unknown result type (might be due to invalid IL or missing references) //IL_59aa: Unknown result type (might be due to invalid IL or missing references) //IL_59be: Unknown result type (might be due to invalid IL or missing references) //IL_59f7: Unknown result type (might be due to invalid IL or missing references) //IL_5a0b: Unknown result type (might be due to invalid IL or missing references) //IL_5a44: Unknown result type (might be due to invalid IL or missing references) //IL_5a58: Unknown result type (might be due to invalid IL or missing references) //IL_5a91: Unknown result type (might be due to invalid IL or missing references) //IL_5aa5: Unknown result type (might be due to invalid IL or missing references) //IL_5ade: Unknown result type (might be due to invalid IL or missing references) //IL_5af2: Unknown result type (might be due to invalid IL or missing references) //IL_5b2b: Unknown result type (might be due to invalid IL or missing references) //IL_5b3f: Unknown result type (might be due to invalid IL or missing references) //IL_5b7f: Unknown result type (might be due to invalid IL or missing references) //IL_5b9a: Unknown result type (might be due to invalid IL or missing references) //IL_5bde: Unknown result type (might be due to invalid IL or missing references) //IL_5bf9: Unknown result type (might be due to invalid IL or missing references) //IL_5c3d: Unknown result type (might be due to invalid IL or missing references) //IL_5c58: Unknown result type (might be due to invalid IL or missing references) //IL_5c9c: Unknown result type (might be due to invalid IL or missing references) //IL_5cb7: Unknown result type (might be due to invalid IL or missing references) //IL_5cfb: Unknown result type (might be due to invalid IL or missing references) //IL_5d16: Unknown result type (might be due to invalid IL or missing references) //IL_5d5a: Unknown result type (might be due to invalid IL or missing references) //IL_5d75: Unknown result type (might be due to invalid IL or missing references) //IL_5db9: Unknown result type (might be due to invalid IL or missing references) //IL_5dd4: Unknown result type (might be due to invalid IL or missing references) //IL_5e18: Unknown result type (might be due to invalid IL or missing references) //IL_5e33: Unknown result type (might be due to invalid IL or missing references) //IL_5e77: Unknown result type (might be due to invalid IL or missing references) //IL_5e92: Unknown result type (might be due to invalid IL or missing references) //IL_5ed1: Unknown result type (might be due to invalid IL or missing references) //IL_5ee5: Unknown result type (might be due to invalid IL or missing references) //IL_5f24: Unknown result type (might be due to invalid IL or missing references) //IL_5f38: Unknown result type (might be due to invalid IL or missing references) //IL_5f77: Unknown result type (might be due to invalid IL or missing references) //IL_5f8b: Unknown result type (might be due to invalid IL or missing references) //IL_5fca: Unknown result type (might be due to invalid IL or missing references) //IL_5fde: Unknown result type (might be due to invalid IL or missing references) //IL_601d: Unknown result type (might be due to invalid IL or missing references) //IL_6031: Unknown result type (might be due to invalid IL or missing references) //IL_6070: Unknown result type (might be due to invalid IL or missing references) //IL_6084: Unknown result type (might be due to invalid IL or missing references) //IL_60c3: Unknown result type (might be due to invalid IL or missing references) //IL_60d7: Unknown result type (might be due to invalid IL or missing references) //IL_6116: Unknown result type (might be due to invalid IL or missing references) //IL_612a: Unknown result type (might be due to invalid IL or missing references) //IL_6167: Unknown result type (might be due to invalid IL or missing references) //IL_617b: Unknown result type (might be due to invalid IL or missing references) //IL_61b4: Unknown result type (might be due to invalid IL or missing references) //IL_61c8: Unknown result type (might be due to invalid IL or missing references) //IL_6201: Unknown result type (might be due to invalid IL or missing references) //IL_6215: Unknown result type (might be due to invalid IL or missing references) //IL_624e: Unknown result type (might be due to invalid IL or missing references) //IL_6262: Unknown result type (might be due to invalid IL or missing references) //IL_629b: Unknown result type (might be due to invalid IL or missing references) //IL_62af: Unknown result type (might be due to invalid IL or missing references) //IL_62e8: Unknown result type (might be due to invalid IL or missing references) //IL_62fc: Unknown result type (might be due to invalid IL or missing references) //IL_6335: Unknown result type (might be due to invalid IL or missing references) //IL_6349: Unknown result type (might be due to invalid IL or missing references) //IL_637d: Unknown result type (might be due to invalid IL or missing references) //IL_6387: Expected O, but got Unknown //IL_63ca: Unknown result type (might be due to invalid IL or missing references) //IL_63e5: Unknown result type (might be due to invalid IL or missing references) //IL_6424: Unknown result type (might be due to invalid IL or missing references) //IL_643f: Unknown result type (might be due to invalid IL or missing references) //IL_647e: Unknown result type (might be due to invalid IL or missing references) //IL_6499: Unknown result type (might be due to invalid IL or missing references) //IL_64dd: Unknown result type (might be due to invalid IL or missing references) //IL_64f8: Unknown result type (might be due to invalid IL or missing references) //IL_653c: Unknown result type (might be due to invalid IL or missing references) //IL_6557: Unknown result type (might be due to invalid IL or missing references) //IL_659b: Unknown result type (might be due to invalid IL or missing references) //IL_65b6: Unknown result type (might be due to invalid IL or missing references) //IL_65fa: Unknown result type (might be due to invalid IL or missing references) //IL_6615: Unknown result type (might be due to invalid IL or missing references) //IL_6659: Unknown result type (might be due to invalid IL or missing references) //IL_6674: Unknown result type (might be due to invalid IL or missing references) //IL_66b6: Unknown result type (might be due to invalid IL or missing references) //IL_66ca: Unknown result type (might be due to invalid IL or missing references) //IL_6708: Unknown result type (might be due to invalid IL or missing references) //IL_671c: Unknown result type (might be due to invalid IL or missing references) //IL_675a: Unknown result type (might be due to invalid IL or missing references) //IL_676e: Unknown result type (might be due to invalid IL or missing references) //IL_67ac: Unknown result type (might be due to invalid IL or missing references) //IL_67c0: Unknown result type (might be due to invalid IL or missing references) //IL_67fe: Unknown result type (might be due to invalid IL or missing references) //IL_6812: Unknown result type (might be due to invalid IL or missing references) //IL_6850: Unknown result type (might be due to invalid IL or missing references) //IL_6864: Unknown result type (might be due to invalid IL or missing references) //IL_68a2: Unknown result type (might be due to invalid IL or missing references) //IL_68b6: Unknown result type (might be due to invalid IL or missing references) //IL_68f1: Unknown result type (might be due to invalid IL or missing references) //IL_6905: Unknown result type (might be due to invalid IL or missing references) //IL_6944: Unknown result type (might be due to invalid IL or missing references) //IL_6958: Unknown result type (might be due to invalid IL or missing references) //IL_6997: Unknown result type (might be due to invalid IL or missing references) //IL_69ab: Unknown result type (might be due to invalid IL or missing references) //IL_69ea: Unknown result type (might be due to invalid IL or missing references) //IL_69fe: Unknown result type (might be due to invalid IL or missing references) //IL_6a36: Unknown result type (might be due to invalid IL or missing references) //IL_6a40: Expected O, but got Unknown //IL_6a88: Unknown result type (might be due to invalid IL or missing references) //IL_6aa3: Unknown result type (might be due to invalid IL or missing references) //IL_6ae7: Unknown result type (might be due to invalid IL or missing references) //IL_6b02: Unknown result type (might be due to invalid IL or missing references) //IL_6b41: Unknown result type (might be due to invalid IL or missing references) //IL_6b55: Unknown result type (might be due to invalid IL or missing references) //IL_6b94: Unknown result type (might be due to invalid IL or missing references) //IL_6ba8: Unknown result type (might be due to invalid IL or missing references) //IL_6be7: Unknown result type (might be due to invalid IL or missing references) //IL_6bfb: Unknown result type (might be due to invalid IL or missing references) //IL_6c3a: Unknown result type (might be due to invalid IL or missing references) //IL_6c4e: Unknown result type (might be due to invalid IL or missing references) //IL_6c8d: Unknown result type (might be due to invalid IL or missing references) //IL_6ca1: Unknown result type (might be due to invalid IL or missing references) //IL_6ce0: Unknown result type (might be due to invalid IL or missing references) //IL_6cf4: Unknown result type (might be due to invalid IL or missing references) //IL_6d33: Unknown result type (might be due to invalid IL or missing references) //IL_6d47: Unknown result type (might be due to invalid IL or missing references) //IL_6d86: Unknown result type (might be due to invalid IL or missing references) //IL_6d9a: Unknown result type (might be due to invalid IL or missing references) //IL_6dd9: Unknown result type (might be due to invalid IL or missing references) //IL_6ded: Unknown result type (might be due to invalid IL or missing references) //IL_6e2c: Unknown result type (might be due to invalid IL or missing references) //IL_6e40: Unknown result type (might be due to invalid IL or missing references) //IL_6e7f: Unknown result type (might be due to invalid IL or missing references) //IL_6e93: Unknown result type (might be due to invalid IL or missing references) //IL_6ed2: Unknown result type (might be due to invalid IL or missing references) //IL_6ee6: Unknown result type (might be due to invalid IL or missing references) //IL_6f25: Unknown result type (might be due to invalid IL or missing references) //IL_6f39: Unknown result type (might be due to invalid IL or missing references) //IL_6f78: Unknown result type (might be due to invalid IL or missing references) //IL_6f8c: Unknown result type (might be due to invalid IL or missing references) //IL_6fcb: Unknown result type (might be due to invalid IL or missing references) //IL_6fdf: Unknown result type (might be due to invalid IL or missing references) //IL_701e: Unknown result type (might be due to invalid IL or missing references) //IL_7032: Unknown result type (might be due to invalid IL or missing references) //IL_7071: Unknown result type (might be due to invalid IL or missing references) //IL_7085: Unknown result type (might be due to invalid IL or missing references) //IL_70c4: Unknown result type (might be due to invalid IL or missing references) //IL_70d8: Unknown result type (might be due to invalid IL or missing references) //IL_7117: Unknown result type (might be due to invalid IL or missing references) //IL_712b: Unknown result type (might be due to invalid IL or missing references) //IL_716a: Unknown result type (might be due to invalid IL or missing references) //IL_717e: Unknown result type (might be due to invalid IL or missing references) //IL_71bd: Unknown result type (might be due to invalid IL or missing references) //IL_71d1: Unknown result type (might be due to invalid IL or missing references) //IL_7210: Unknown result type (might be due to invalid IL or missing references) //IL_7224: Unknown result type (might be due to invalid IL or missing references) //IL_7263: Unknown result type (might be due to invalid IL or missing references) //IL_7277: Unknown result type (might be due to invalid IL or missing references) //IL_72b9: Unknown result type (might be due to invalid IL or missing references) //IL_72cd: Unknown result type (might be due to invalid IL or missing references) //IL_730b: Unknown result type (might be due to invalid IL or missing references) //IL_731f: Unknown result type (might be due to invalid IL or missing references) //IL_735d: Unknown result type (might be due to invalid IL or missing references) //IL_7371: Unknown result type (might be due to invalid IL or missing references) //IL_73af: Unknown result type (might be due to invalid IL or missing references) //IL_73c3: Unknown result type (might be due to invalid IL or missing references) //IL_7401: Unknown result type (might be due to invalid IL or missing references) //IL_7415: Unknown result type (might be due to invalid IL or missing references) //IL_7453: Unknown result type (might be due to invalid IL or missing references) //IL_7467: Unknown result type (might be due to invalid IL or missing references) //IL_74a5: Unknown result type (might be due to invalid IL or missing references) //IL_74b9: Unknown result type (might be due to invalid IL or missing references) //IL_74f7: Unknown result type (might be due to invalid IL or missing references) //IL_750b: Unknown result type (might be due to invalid IL or missing references) //IL_7549: Unknown result type (might be due to invalid IL or missing references) //IL_755d: Unknown result type (might be due to invalid IL or missing references) //IL_7598: Unknown result type (might be due to invalid IL or missing references) //IL_75b3: Unknown result type (might be due to invalid IL or missing references) //IL_75f2: Unknown result type (might be due to invalid IL or missing references) //IL_760d: Unknown result type (might be due to invalid IL or missing references) //IL_764c: Unknown result type (might be due to invalid IL or missing references) //IL_7667: Unknown result type (might be due to invalid IL or missing references) //IL_76a6: Unknown result type (might be due to invalid IL or missing references) //IL_76c1: Unknown result type (might be due to invalid IL or missing references) //IL_7700: Unknown result type (might be due to invalid IL or missing references) //IL_771b: Unknown result type (might be due to invalid IL or missing references) //IL_775a: Unknown result type (might be due to invalid IL or missing references) //IL_776e: Unknown result type (might be due to invalid IL or missing references) //IL_77ad: Unknown result type (might be due to invalid IL or missing references) //IL_77c1: Unknown result type (might be due to invalid IL or missing references) //IL_7800: Unknown result type (might be due to invalid IL or missing references) //IL_7814: Unknown result type (might be due to invalid IL or missing references) //IL_7853: Unknown result type (might be due to invalid IL or missing references) //IL_7867: Unknown result type (might be due to invalid IL or missing references) //IL_78a6: Unknown result type (might be due to invalid IL or missing references) //IL_78c1: Unknown result type (might be due to invalid IL or missing references) //IL_7905: Unknown result type (might be due to invalid IL or missing references) //IL_7919: Unknown result type (might be due to invalid IL or missing references) //IL_795d: Unknown result type (might be due to invalid IL or missing references) //IL_7971: Unknown result type (might be due to invalid IL or missing references) //IL_79b5: Unknown result type (might be due to invalid IL or missing references) //IL_79c9: Unknown result type (might be due to invalid IL or missing references) //IL_7a01: Unknown result type (might be due to invalid IL or missing references) //IL_7a0b: Expected O, but got Unknown //IL_7a53: Unknown result type (might be due to invalid IL or missing references) //IL_7a67: Unknown result type (might be due to invalid IL or missing references) //IL_7aab: Unknown result type (might be due to invalid IL or missing references) //IL_7abf: Unknown result type (might be due to invalid IL or missing references) //IL_7b03: Unknown result type (might be due to invalid IL or missing references) //IL_7b17: Unknown result type (might be due to invalid IL or missing references) //IL_7b5b: Unknown result type (might be due to invalid IL or missing references) //IL_7b76: Unknown result type (might be due to invalid IL or missing references) //IL_7bca: Unknown result type (might be due to invalid IL or missing references) //IL_7be5: Unknown result type (might be due to invalid IL or missing references) //IL_7c39: Unknown result type (might be due to invalid IL or missing references) //IL_7c54: Unknown result type (might be due to invalid IL or missing references) //IL_7ca8: Unknown result type (might be due to invalid IL or missing references) //IL_7cc3: Unknown result type (might be due to invalid IL or missing references) //IL_7d17: Unknown result type (might be due to invalid IL or missing references) //IL_7d32: Unknown result type (might be due to invalid IL or missing references) //IL_7d86: Unknown result type (might be due to invalid IL or missing references) //IL_7da1: Unknown result type (might be due to invalid IL or missing references) //IL_7df5: Unknown result type (might be due to invalid IL or missing references) //IL_7e10: Unknown result type (might be due to invalid IL or missing references) //IL_7e64: Unknown result type (might be due to invalid IL or missing references) //IL_7e7f: Unknown result type (might be due to invalid IL or missing references) //IL_7ed3: Unknown result type (might be due to invalid IL or missing references) //IL_7eee: Unknown result type (might be due to invalid IL or missing references) //IL_7f42: Unknown result type (might be due to invalid IL or missing references) //IL_7f5d: Unknown result type (might be due to invalid IL or missing references) //IL_7fb1: Unknown result type (might be due to invalid IL or missing references) //IL_7fcc: Unknown result type (might be due to invalid IL or missing references) //IL_8020: Unknown result type (might be due to invalid IL or missing references) //IL_803b: Unknown result type (might be due to invalid IL or missing references) //IL_808a: Unknown result type (might be due to invalid IL or missing references) //IL_809e: Unknown result type (might be due to invalid IL or missing references) //IL_80dd: Unknown result type (might be due to invalid IL or missing references) //IL_80f1: Unknown result type (might be due to invalid IL or missing references) //IL_8130: Unknown result type (might be due to invalid IL or missing references) //IL_8144: Unknown result type (might be due to invalid IL or missing references) //IL_8183: Unknown result type (might be due to invalid IL or missing references) //IL_8197: Unknown result type (might be due to invalid IL or missing references) //IL_81d9: Unknown result type (might be due to invalid IL or missing references) //IL_81ed: Unknown result type (might be due to invalid IL or missing references) //IL_822b: Unknown result type (might be due to invalid IL or missing references) //IL_823f: Unknown result type (might be due to invalid IL or missing references) //IL_827d: Unknown result type (might be due to invalid IL or missing references) //IL_8291: Unknown result type (might be due to invalid IL or missing references) //IL_82cf: Unknown result type (might be due to invalid IL or missing references) //IL_82e3: Unknown result type (might be due to invalid IL or missing references) //IL_8321: Unknown result type (might be due to invalid IL or missing references) //IL_8335: Unknown result type (might be due to invalid IL or missing references) //IL_8373: Unknown result type (might be due to invalid IL or missing references) //IL_8387: Unknown result type (might be due to invalid IL or missing references) //IL_83c5: Unknown result type (might be due to invalid IL or missing references) //IL_83d9: Unknown result type (might be due to invalid IL or missing references) //IL_8417: Unknown result type (might be due to invalid IL or missing references) //IL_842b: Unknown result type (might be due to invalid IL or missing references) //IL_8469: Unknown result type (might be due to invalid IL or missing references) //IL_847d: Unknown result type (might be due to invalid IL or missing references) //IL_84b1: Unknown result type (might be due to invalid IL or missing references) //IL_84bb: Expected O, but got Unknown //IL_8503: Unknown result type (might be due to invalid IL or missing references) //IL_851e: Unknown result type (might be due to invalid IL or missing references) //IL_8572: Unknown result type (might be due to invalid IL or missing references) //IL_858d: Unknown result type (might be due to invalid IL or missing references) //IL_85e1: Unknown result type (might be due to invalid IL or missing references) //IL_85fc: Unknown result type (might be due to invalid IL or missing references) //IL_8650: Unknown result type (might be due to invalid IL or missing references) //IL_866b: Unknown result type (might be due to invalid IL or missing references) //IL_86bf: Unknown result type (might be due to invalid IL or missing references) //IL_86da: Unknown result type (might be due to invalid IL or missing references) //IL_872e: Unknown result type (might be due to invalid IL or missing references) //IL_8749: Unknown result type (might be due to invalid IL or missing references) //IL_879d: Unknown result type (might be due to invalid IL or missing references) //IL_87b8: Unknown result type (might be due to invalid IL or missing references) //IL_880c: Unknown result type (might be due to invalid IL or missing references) //IL_8827: Unknown result type (might be due to invalid IL or missing references) //IL_887b: Unknown result type (might be due to invalid IL or missing references) //IL_8896: Unknown result type (might be due to invalid IL or missing references) //IL_88ea: Unknown result type (might be due to invalid IL or missing references) //IL_8905: Unknown result type (might be due to invalid IL or missing references) //IL_8959: Unknown result type (might be due to invalid IL or missing references) //IL_8974: Unknown result type (might be due to invalid IL or missing references) //IL_89c8: Unknown result type (might be due to invalid IL or missing references) //IL_89e3: Unknown result type (might be due to invalid IL or missing references) //IL_8a37: Unknown result type (might be due to invalid IL or missing references) //IL_8a52: Unknown result type (might be due to invalid IL or missing references) //IL_8aa6: Unknown result type (might be due to invalid IL or missing references) //IL_8ac1: Unknown result type (might be due to invalid IL or missing references) //IL_8b15: Unknown result type (might be due to invalid IL or missing references) //IL_8b30: Unknown result type (might be due to invalid IL or missing references) //IL_8b84: Unknown result type (might be due to invalid IL or missing references) //IL_8b9f: Unknown result type (might be due to invalid IL or missing references) //IL_8bf3: Unknown result type (might be due to invalid IL or missing references) //IL_8c0e: Unknown result type (might be due to invalid IL or missing references) //IL_8c5d: Unknown result type (might be due to invalid IL or missing references) //IL_8c71: Unknown result type (might be due to invalid IL or missing references) //IL_8cb0: Unknown result type (might be due to invalid IL or missing references) //IL_8cc4: Unknown result type (might be due to invalid IL or missing references) //IL_8d03: Unknown result type (might be due to invalid IL or missing references) //IL_8d17: Unknown result type (might be due to invalid IL or missing references) //IL_8d56: Unknown result type (might be due to invalid IL or missing references) //IL_8d6a: Unknown result type (might be due to invalid IL or missing references) //IL_8da9: Unknown result type (might be due to invalid IL or missing references) //IL_8dbd: Unknown result type (might be due to invalid IL or missing references) //IL_8dfc: Unknown result type (might be due to invalid IL or missing references) //IL_8e10: Unknown result type (might be due to invalid IL or missing references) //IL_8e54: Unknown result type (might be due to invalid IL or missing references) //IL_8e6f: Unknown result type (might be due to invalid IL or missing references) //IL_8ec3: Unknown result type (might be due to invalid IL or missing references) //IL_8ede: Unknown result type (might be due to invalid IL or missing references) //IL_8f32: Unknown result type (might be due to invalid IL or missing references) //IL_8f4d: Unknown result type (might be due to invalid IL or missing references) //IL_8fa1: Unknown result type (might be due to invalid IL or missing references) //IL_8fbc: Unknown result type (might be due to invalid IL or missing references) //IL_9010: Unknown result type (might be due to invalid IL or missing references) //IL_902b: Unknown result type (might be due to invalid IL or missing references) //IL_907d: Unknown result type (might be due to invalid IL or missing references) //IL_9091: Unknown result type (might be due to invalid IL or missing references) //IL_90df: Unknown result type (might be due to invalid IL or missing references) //IL_90f3: Unknown result type (might be due to invalid IL or missing references) //IL_9141: Unknown result type (might be due to invalid IL or missing references) //IL_9155: Unknown result type (might be due to invalid IL or missing references) //IL_91a3: Unknown result type (might be due to invalid IL or missing references) //IL_91be: Unknown result type (might be due to invalid IL or missing references) //IL_920c: Unknown result type (might be due to invalid IL or missing references) //IL_9227: Unknown result type (might be due to invalid IL or missing references) //IL_9275: Unknown result type (might be due to invalid IL or missing references) //IL_9290: Unknown result type (might be due to invalid IL or missing references) //IL_92de: Unknown result type (might be due to invalid IL or missing references) //IL_92f9: Unknown result type (might be due to invalid IL or missing references) //IL_9347: Unknown result type (might be due to invalid IL or missing references) //IL_935b: Unknown result type (might be due to invalid IL or missing references) //IL_93a9: Unknown result type (might be due to invalid IL or missing references) //IL_93bd: Unknown result type (might be due to invalid IL or missing references) //IL_940b: Unknown result type (might be due to invalid IL or missing references) //IL_9426: Unknown result type (might be due to invalid IL or missing references) //IL_9474: Unknown result type (might be due to invalid IL or missing references) //IL_948f: Unknown result type (might be due to invalid IL or missing references) //IL_956b: Unknown result type (might be due to invalid IL or missing references) //IL_9575: Expected O, but got Unknown //IL_95a7: Unknown result type (might be due to invalid IL or missing references) //IL_95b1: Expected O, but got Unknown //IL_95ed: Unknown result type (might be due to invalid IL or missing references) //IL_95f7: Expected O, but got Unknown //IL_9638: Unknown result type (might be due to invalid IL or missing references) //IL_964c: Unknown result type (might be due to invalid IL or missing references) //IL_9685: Unknown result type (might be due to invalid IL or missing references) //IL_9699: Unknown result type (might be due to invalid IL or missing references) //IL_96d2: Unknown result type (might be due to invalid IL or missing references) //IL_96e6: Unknown result type (might be due to invalid IL or missing references) //IL_971f: Unknown result type (might be due to invalid IL or missing references) //IL_9733: Unknown result type (might be due to invalid IL or missing references) //IL_976c: Unknown result type (might be due to invalid IL or missing references) //IL_9780: Unknown result type (might be due to invalid IL or missing references) //IL_97b9: Unknown result type (might be due to invalid IL or missing references) //IL_97cd: Unknown result type (might be due to invalid IL or missing references) //IL_9806: Unknown result type (might be due to invalid IL or missing references) //IL_981a: Unknown result type (might be due to invalid IL or missing references) //IL_9853: Unknown result type (might be due to invalid IL or missing references) //IL_9867: Unknown result type (might be due to invalid IL or missing references) //IL_98a0: Unknown result type (might be due to invalid IL or missing references) //IL_98b4: Unknown result type (might be due to invalid IL or missing references) //IL_9988: Unknown result type (might be due to invalid IL or missing references) //IL_9992: Expected O, but got Unknown //IL_99d8: Unknown result type (might be due to invalid IL or missing references) //IL_99ec: Unknown result type (might be due to invalid IL or missing references) //IL_9a2a: Unknown result type (might be due to invalid IL or missing references) //IL_9a3e: Unknown result type (might be due to invalid IL or missing references) //IL_9a7c: Unknown result type (might be due to invalid IL or missing references) //IL_9a90: Unknown result type (might be due to invalid IL or missing references) //IL_9b64: Unknown result type (might be due to invalid IL or missing references) //IL_9b6e: Expected O, but got Unknown //IL_9bb6: Unknown result type (might be due to invalid IL or missing references) //IL_9bca: Unknown result type (might be due to invalid IL or missing references) //IL_9c10: Unknown result type (might be due to invalid IL or missing references) //IL_9c24: Unknown result type (might be due to invalid IL or missing references) //IL_9c62: Unknown result type (might be due to invalid IL or missing references) //IL_9c76: Unknown result type (might be due to invalid IL or missing references) //IL_9cb4: Unknown result type (might be due to invalid IL or missing references) //IL_9cc8: Unknown result type (might be due to invalid IL or missing references) //IL_9d7b: Unknown result type (might be due to invalid IL or missing references) //IL_9d8f: Unknown result type (might be due to invalid IL or missing references) //IL_9dfe: Unknown result type (might be due to invalid IL or missing references) //IL_9e12: Unknown result type (might be due to invalid IL or missing references) //IL_9f02: Unknown result type (might be due to invalid IL or missing references) //IL_9f0c: Expected O, but got Unknown //IL_9f48: Unknown result type (might be due to invalid IL or missing references) //IL_9f52: Expected O, but got Unknown //IL_9f9a: Unknown result type (might be due to invalid IL or missing references) //IL_9fae: Unknown result type (might be due to invalid IL or missing references) //IL_9fec: Unknown result type (might be due to invalid IL or missing references) //IL_a000: Unknown result type (might be due to invalid IL or missing references) //IL_a081: Unknown result type (might be due to invalid IL or missing references) //IL_a122: Unknown result type (might be due to invalid IL or missing references) //IL_a14e: Unknown result type (might be due to invalid IL or missing references) //IL_a17a: Unknown result type (might be due to invalid IL or missing references) //IL_a1a8: Unknown result type (might be due to invalid IL or missing references) //IL_a1b2: Expected O, but got Unknown //IL_a1fb: Unknown result type (might be due to invalid IL or missing references) //IL_a220: Unknown result type (might be due to invalid IL or missing references) //IL_a26e: Unknown result type (might be due to invalid IL or missing references) //IL_a293: Unknown result type (might be due to invalid IL or missing references) //IL_a2e1: Unknown result type (might be due to invalid IL or missing references) //IL_a306: Unknown result type (might be due to invalid IL or missing references) //IL_a354: Unknown result type (might be due to invalid IL or missing references) //IL_a372: Unknown result type (might be due to invalid IL or missing references) //IL_a3c0: Unknown result type (might be due to invalid IL or missing references) //IL_a3de: Unknown result type (might be due to invalid IL or missing references) //IL_a42c: Unknown result type (might be due to invalid IL or missing references) //IL_a44a: Unknown result type (might be due to invalid IL or missing references) //IL_a498: Unknown result type (might be due to invalid IL or missing references) //IL_a4b6: Unknown result type (might be due to invalid IL or missing references) //IL_a504: Unknown result type (might be due to invalid IL or missing references) //IL_a522: Unknown result type (might be due to invalid IL or missing references) //IL_a570: Unknown result type (might be due to invalid IL or missing references) //IL_a58e: Unknown result type (might be due to invalid IL or missing references) //IL_a5dc: Unknown result type (might be due to invalid IL or missing references) //IL_a5fa: Unknown result type (might be due to invalid IL or missing references) //IL_a6d6: Unknown result type (might be due to invalid IL or missing references) //IL_a6e0: Expected O, but got Unknown //IL_a723: Unknown result type (might be due to invalid IL or missing references) //IL_a737: Unknown result type (might be due to invalid IL or missing references) //IL_a776: Unknown result type (might be due to invalid IL or missing references) //IL_a78a: Unknown result type (might be due to invalid IL or missing references) //IL_a7c9: Unknown result type (might be due to invalid IL or missing references) //IL_a7dd: Unknown result type (might be due to invalid IL or missing references) //IL_a81c: Unknown result type (might be due to invalid IL or missing references) //IL_a830: Unknown result type (might be due to invalid IL or missing references) //IL_a86f: Unknown result type (might be due to invalid IL or missing references) //IL_a883: Unknown result type (might be due to invalid IL or missing references) //IL_a8c2: Unknown result type (might be due to invalid IL or missing references) //IL_a8d6: Unknown result type (might be due to invalid IL or missing references) //IL_a915: Unknown result type (might be due to invalid IL or missing references) //IL_a929: Unknown result type (might be due to invalid IL or missing references) //IL_a968: Unknown result type (might be due to invalid IL or missing references) //IL_a97c: Unknown result type (might be due to invalid IL or missing references) //IL_aa89: Unknown result type (might be due to invalid IL or missing references) //IL_aa93: Expected O, but got Unknown //IL_aac5: Unknown result type (might be due to invalid IL or missing references) //IL_aacf: Expected O, but got Unknown //IL_ab0b: Unknown result type (might be due to invalid IL or missing references) //IL_ab15: Expected O, but got Unknown //IL_ab56: Unknown result type (might be due to invalid IL or missing references) //IL_ab6a: Unknown result type (might be due to invalid IL or missing references) //IL_aba3: Unknown result type (might be due to invalid IL or missing references) //IL_abb7: Unknown result type (might be due to invalid IL or missing references) //IL_abf0: Unknown result type (might be due to invalid IL or missing references) //IL_ac04: Unknown result type (might be due to invalid IL or missing references) //IL_ac3d: Unknown result type (might be due to invalid IL or missing references) //IL_ac51: Unknown result type (might be due to invalid IL or missing references) //IL_ac8a: Unknown result type (might be due to invalid IL or missing references) //IL_ac9e: Unknown result type (might be due to invalid IL or missing references) //IL_acd7: Unknown result type (might be due to invalid IL or missing references) //IL_aceb: Unknown result type (might be due to invalid IL or missing references) //IL_ad24: Unknown result type (might be due to invalid IL or missing references) //IL_ad38: Unknown result type (might be due to invalid IL or missing references) //IL_ad6c: Unknown result type (might be due to invalid IL or missing references) //IL_ad76: Expected O, but got Unknown //IL_adbe: Unknown result type (might be due to invalid IL or missing references) //IL_add2: Unknown result type (might be due to invalid IL or missing references) //IL_ae10: Unknown result type (might be due to invalid IL or missing references) //IL_ae24: Unknown result type (might be due to invalid IL or missing references) //IL_ae62: Unknown result type (might be due to invalid IL or missing references) //IL_ae76: Unknown result type (might be due to invalid IL or missing references) //IL_aebc: Unknown result type (might be due to invalid IL or missing references) //IL_aed0: Unknown result type (might be due to invalid IL or missing references) //IL_af16: Unknown result type (might be due to invalid IL or missing references) //IL_af2a: Unknown result type (might be due to invalid IL or missing references) //IL_af68: Unknown result type (might be due to invalid IL or missing references) //IL_af7c: Unknown result type (might be due to invalid IL or missing references) //IL_afc2: Unknown result type (might be due to invalid IL or missing references) //IL_afdd: Unknown result type (might be due to invalid IL or missing references) //IL_b01b: Unknown result type (might be due to invalid IL or missing references) //IL_b036: Unknown result type (might be due to invalid IL or missing references) //IL_b081: Unknown result type (might be due to invalid IL or missing references) //IL_b095: Unknown result type (might be due to invalid IL or missing references) //IL_b0d8: Unknown result type (might be due to invalid IL or missing references) //IL_b0ec: Unknown result type (might be due to invalid IL or missing references) //IL_b12f: Unknown result type (might be due to invalid IL or missing references) //IL_b143: Unknown result type (might be due to invalid IL or missing references) //IL_b17d: Unknown result type (might be due to invalid IL or missing references) //IL_b187: Expected O, but got Unknown //IL_b1c8: Unknown result type (might be due to invalid IL or missing references) //IL_b1dc: Unknown result type (might be due to invalid IL or missing references) //IL_b251: Unknown result type (might be due to invalid IL or missing references) //IL_b265: Unknown result type (might be due to invalid IL or missing references) //IL_b2cd: Unknown result type (might be due to invalid IL or missing references) //IL_b2d7: Expected O, but got Unknown //IL_b313: Unknown result type (might be due to invalid IL or missing references) //IL_b31d: Expected O, but got Unknown //IL_b360: Unknown result type (might be due to invalid IL or missing references) //IL_b37b: Unknown result type (might be due to invalid IL or missing references) //IL_b3c4: Unknown result type (might be due to invalid IL or missing references) //IL_b3df: Unknown result type (might be due to invalid IL or missing references) //IL_b428: Unknown result type (might be due to invalid IL or missing references) //IL_b443: Unknown result type (might be due to invalid IL or missing references) //IL_b485: Unknown result type (might be due to invalid IL or missing references) //IL_b48f: Expected O, but got Unknown //IL_b4d2: Unknown result type (might be due to invalid IL or missing references) //IL_b4f3: Unknown result type (might be due to invalid IL or missing references) //IL_b532: Unknown result type (might be due to invalid IL or missing references) //IL_b553: Unknown result type (might be due to invalid IL or missing references) //IL_b592: Unknown result type (might be due to invalid IL or missing references) //IL_b5b3: Unknown result type (might be due to invalid IL or missing references) //IL_b5f2: Unknown result type (might be due to invalid IL or missing references) //IL_b613: Unknown result type (might be due to invalid IL or missing references) //IL_b652: Unknown result type (might be due to invalid IL or missing references) //IL_b673: Unknown result type (might be due to invalid IL or missing references) //IL_b6b2: Unknown result type (might be due to invalid IL or missing references) //IL_b6d3: Unknown result type (might be due to invalid IL or missing references) //IL_b712: Unknown result type (might be due to invalid IL or missing references) //IL_b733: Unknown result type (might be due to invalid IL or missing references) //IL_b772: Unknown result type (might be due to invalid IL or missing references) //IL_b793: Unknown result type (might be due to invalid IL or missing references) //IL_b7d2: Unknown result type (might be due to invalid IL or missing references) //IL_b7f3: Unknown result type (might be due to invalid IL or missing references) //IL_b832: Unknown result type (might be due to invalid IL or missing references) //IL_b853: Unknown result type (might be due to invalid IL or missing references) //IL_b892: Unknown result type (might be due to invalid IL or missing references) //IL_b8b3: Unknown result type (might be due to invalid IL or missing references) //IL_b8f2: Unknown result type (might be due to invalid IL or missing references) //IL_b913: Unknown result type (might be due to invalid IL or missing references) //IL_b952: Unknown result type (might be due to invalid IL or missing references) //IL_b973: Unknown result type (might be due to invalid IL or missing references) //IL_b9b2: Unknown result type (might be due to invalid IL or missing references) //IL_b9d3: Unknown result type (might be due to invalid IL or missing references) //IL_ba12: Unknown result type (might be due to invalid IL or missing references) //IL_ba33: Unknown result type (might be due to invalid IL or missing references) //IL_ba72: Unknown result type (might be due to invalid IL or missing references) //IL_ba93: Unknown result type (might be due to invalid IL or missing references) //IL_bad2: Unknown result type (might be due to invalid IL or missing references) //IL_baf3: Unknown result type (might be due to invalid IL or missing references) //IL_bb32: Unknown result type (might be due to invalid IL or missing references) //IL_bb53: Unknown result type (might be due to invalid IL or missing references) //IL_bb8b: Unknown result type (might be due to invalid IL or missing references) //IL_bb95: Expected O, but got Unknown //IL_bbdd: Unknown result type (might be due to invalid IL or missing references) //IL_bbf1: Unknown result type (might be due to invalid IL or missing references) //IL_bc35: Unknown result type (might be due to invalid IL or missing references) //IL_bc49: Unknown result type (might be due to invalid IL or missing references) //IL_bc8d: Unknown result type (might be due to invalid IL or missing references) //IL_bca1: Unknown result type (might be due to invalid IL or missing references) //IL_bce5: Unknown result type (might be due to invalid IL or missing references) //IL_bcf9: Unknown result type (might be due to invalid IL or missing references) //IL_bd3d: Unknown result type (might be due to invalid IL or missing references) //IL_bd51: Unknown result type (might be due to invalid IL or missing references) //IL_bd95: Unknown result type (might be due to invalid IL or missing references) //IL_bda9: Unknown result type (might be due to invalid IL or missing references) //IL_bded: Unknown result type (might be due to invalid IL or missing references) //IL_be01: Unknown result type (might be due to invalid IL or missing references) //IL_be45: Unknown result type (might be due to invalid IL or missing references) //IL_be59: Unknown result type (might be due to invalid IL or missing references) //IL_be91: Unknown result type (might be due to invalid IL or missing references) //IL_be9b: Expected O, but got Unknown //IL_bee3: Unknown result type (might be due to invalid IL or missing references) //IL_bf04: Unknown result type (might be due to invalid IL or missing references) //IL_bf48: Unknown result type (might be due to invalid IL or missing references) //IL_bf69: Unknown result type (might be due to invalid IL or missing references) //IL_bfad: Unknown result type (might be due to invalid IL or missing references) //IL_bfce: Unknown result type (might be due to invalid IL or missing references) //IL_c012: Unknown result type (might be due to invalid IL or missing references) //IL_c033: Unknown result type (might be due to invalid IL or missing references) //IL_c077: Unknown result type (might be due to invalid IL or missing references) //IL_c098: Unknown result type (might be due to invalid IL or missing references) //IL_c0dc: Unknown result type (might be due to invalid IL or missing references) //IL_c0fd: Unknown result type (might be due to invalid IL or missing references) //IL_c141: Unknown result type (might be due to invalid IL or missing references) //IL_c162: Unknown result type (might be due to invalid IL or missing references) //IL_c19a: Unknown result type (might be due to invalid IL or missing references) //IL_c1a4: Expected O, but got Unknown //IL_c1e7: Unknown result type (might be due to invalid IL or missing references) //IL_c202: Unknown result type (might be due to invalid IL or missing references) //IL_c241: Unknown result type (might be due to invalid IL or missing references) //IL_c25c: Unknown result type (might be due to invalid IL or missing references) //IL_c29b: Unknown result type (might be due to invalid IL or missing references) //IL_c2b6: Unknown result type (might be due to invalid IL or missing references) //IL_c2f5: Unknown result type (might be due to invalid IL or missing references) //IL_c310: Unknown result type (might be due to invalid IL or missing references) //IL_c348: Unknown result type (might be due to invalid IL or missing references) //IL_c352: Expected O, but got Unknown //IL_c395: Unknown result type (might be due to invalid IL or missing references) //IL_c3b0: Unknown result type (might be due to invalid IL or missing references) //IL_c3ef: Unknown result type (might be due to invalid IL or missing references) //IL_c40a: Unknown result type (might be due to invalid IL or missing references) //IL_c449: Unknown result type (might be due to invalid IL or missing references) //IL_c464: Unknown result type (might be due to invalid IL or missing references) //IL_c4a3: Unknown result type (might be due to invalid IL or missing references) //IL_c4be: Unknown result type (might be due to invalid IL or missing references) //IL_c4fd: Unknown result type (might be due to invalid IL or missing references) //IL_c518: Unknown result type (might be due to invalid IL or missing references) //IL_c557: Unknown result type (might be due to invalid IL or missing references) //IL_c572: Unknown result type (might be due to invalid IL or missing references) //IL_c5b1: Unknown result type (might be due to invalid IL or missing references) //IL_c5cc: Unknown result type (might be due to invalid IL or missing references) //IL_c60b: Unknown result type (might be due to invalid IL or missing references) //IL_c626: Unknown result type (might be due to invalid IL or missing references) //IL_c665: Unknown result type (might be due to invalid IL or missing references) //IL_c680: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)plantholder_overhaul == (Object)null) { throw new Exception("Can't patch the Airport: plantholder_overhaul is null"); } if ((Object)(object)plantholder_AM_root == (Object)null || (Object)(object)plantholder_TR_root == (Object)null) { throw new Exception("Can't patch the Airport: plantholders_root are null"); } GameObject[] rootGameObjects = ((Scene)(ref scene)).GetRootGameObjects(); foreach (GameObject val in rootGameObjects) { if (!((Object)(object)val == (Object)null) && ((Object)val).name == "Desert_Rock 9") { val.SetActive(false); } } if ((Object)(object)trash_1_4 != (Object)null) { trash_1_4.SetActive(false); } if ((Object)(object)board != (Object)null) { Renderer component = board.GetComponent(); component.SetMaterials(new List(2) { component.material, component.material }); ExtGameObject.SetLayer(board, 21, false); } if ((Object)(object)text_AM == (Object)null) { text_AM = Plugin.CreateTextInWorld("i assume there\nis an <#ff2222>error;\nalpine/mesa", new Vector3(-20.4455f, 3.5f, 53.16f), plantholder_overhaul.transform); ((Object)text_AM).name = "Text near Alpine/Mesa"; text_AM.transform.eulerAngles = new Vector3(0f, 270f, 0f); } if ((Object)(object)text_TR == (Object)null) { text_TR = Plugin.CreateTextInWorld("i assume there\nis an <#ff2222>error;\ntropics/roots", new Vector3(14.5649f, 3.18f, 58.63f), plantholder_overhaul.transform); ((Object)text_TR).name = "Text near Tropics/Roots"; text_TR.transform.eulerAngles = new Vector3(0f, 90f, 0f); } foreach (GameObject item in ExtTransform.PGetChildGameObjects(plantholder_AM_root)) { if (!((Object)(object)item == (Object)null)) { if (((Object)item).name != "PlantHolder") { item.SetActive(false); } else { plantholder_AM = item; } } } foreach (GameObject item2 in ExtTransform.PGetChildGameObjects(plantholder_TR_root)) { if (!((Object)(object)item2 == (Object)null)) { if (((Object)item2).name != "PlantHolder") { item2.SetActive(false); } else { plantholder_TR = item2; } } } if ((Object)(object)plantholder_AM == (Object)null || (Object)(object)plantholder_TR == (Object)null) { throw new Exception("Can't patch the Airport: plantholders are null"); } plantholder_AM.transform.parent = plantholder_overhaul.transform; plantholder_TR.transform.parent = plantholder_overhaul.transform; ((Object)plantholder_AM).name = "Plantholder (Alpine/Mesa)"; ExtGameObject.SetLayer(plantholder_AM, 21, false); ((Object)plantholder_TR).name = "Plantholder (Tropics/Roots)"; ExtGameObject.SetLayer(plantholder_TR, 21, false); gbs["Tropics"] = new GameObject("Tropics"); gbs["Tropics"].transform.parent = plantholder_TR.transform; gbs["Tropics_Base"] = new GameObject("Base"); gbs["Tropics_Base"].transform.parent = gbs["Tropics"].transform; gbs["Tropics_Base_Rocks"] = new GameObject("Rocks"); gbs["Tropics_Base_Rocks"].transform.parent = gbs["Tropics_Base"].transform; Spawner.Spawn("ErikTower", new Vector3(9.57f, 1.57f, 55.44f), new Vector3(0f, 287f, 0f), 1f, gbs["Tropics_Base_Rocks"].transform); Spawner.Spawn("Rock_Lil.001", new Vector3(11.21f, 1.35f, 55.12f), new Vector3(0f, 142f, 0f), 0.12f, gbs["Tropics_Base_Rocks"].transform); Spawner.Spawn("Rock_Lil.002", new Vector3(12.92f, 1.57f, 54.91f), new Vector3(0f, 53f, 0f), 0.12f, gbs["Tropics_Base_Rocks"].transform); Spawner.Spawn("Rock_Round2", new Vector3(11.88f, 3.04f, 54.5f), new Vector3(0f, 86.5f, 0f), 0.05f, gbs["Tropics_Base_Rocks"].transform); Spawner.Spawn("Rock_Round", new Vector3(13.3f, 3.39f, 54.6f), new Vector3(0f, 0f, 0f), 0.05f, gbs["Tropics_Base_Rocks"].transform); Spawner.Spawn("Rock_Round11", new Vector3(13.37f, 0.41f, 56f), new Vector3(0f, 329f, 0f), 0.05f, gbs["Tropics_Base_Rocks"].transform); gbs["Tropics_Base_Trees"] = new GameObject("Trees"); gbs["Tropics_Base_Trees"].transform.parent = gbs["Tropics_Base"].transform; Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(10.2f, 2.54f, 55.89f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(9.82f, 3.86f, 55.13f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(8.78f, 3.62f, 54.91f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(10.28f, 1.45f, 56.82f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(13.85f, 1.49f, 57.19f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(12.83f, 1.75f, 56.63f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(11.83f, 1.45f, 57.13f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(11.83f, 3.59f, 55.74f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(12.88f, 3.96f, 55.13f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); GameObject val2 = Spawner.Spawn("Jungle_GiantTree 1", new Vector3(11.05f, 3.88f, 55.25f), new Vector3(0f, 328f, 0f), 0.025f, gbs["Tropics_Base_Trees"].transform); if ((Object)(object)val2 != (Object)null) { LinqExtensions.ForEach((IEnumerable)val2.GetComponentsInChildren(), (Action)delegate(GiantTreeAchievementZone ach) { Object.DestroyImmediate((Object)(object)ach); }); ExtTransform.PGetChildGameObjects(val2).ForEach(delegate(GameObject gt_gb) { if (((Object)gt_gb).name.Contains("Audio")) { gt_gb.SetActive(false); } }); } Spawner.Spawn(ExtCollections.PGetRandom(tropics_palms), new Vector3(10.98f, 1.45f, 57.1f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_palms), new Vector3(12.96f, 1.72f, 57.13f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_palms), new Vector3(11.86f, 1.45f, 56.68f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Trees"].transform); gbs["Tropics_Base_Shrooms"] = new GameObject("SporeShrooms"); gbs["Tropics_Base_Shrooms"].transform.parent = gbs["Tropics_Base"].transform; List sporeshrooms = new List(9) { Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(13.39f, 1.51f, 57.2f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(13.21f, 2.37f, 55.67f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(12.25f, 1.45f, 57.09f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(10.49f, 2.05f, 55.75f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(11.79f, 3.44f, 55.97f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(12.76f, 4.18f, 54.67f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(9.49f, 1.66f, 56.38f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(8.78f, 3.3f, 54.95f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_sporeshrooms), new Vector3(9.51f, 3.24f, 54.91f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_Base_Shrooms"].transform) }; gbs["Tropics_Base_Thorns"] = new GameObject("Thorns"); gbs["Tropics_Base_Thorns"].transform.parent = gbs["Tropics_Base"].transform; List thorns = new List(2) { Spawner.Spawn("Jungle_Thorns_Nice", new Vector3(11.34f, 1.46f, 55.18f), new Vector3((float)Random.Range(0, 359), (float)Random.Range(0, 359), (float)Random.Range(0, 359)), 1f, gbs["Tropics_Base_Thorns"].transform), Spawner.Spawn("Jungle_Thorns_Nice", new Vector3(11.59f, 1.86f, 55.01f), new Vector3((float)Random.Range(0, 359), (float)Random.Range(0, 359), (float)Random.Range(0, 359)), 1f, gbs["Tropics_Base_Thorns"].transform) }; gbs["Tropics_Base_Vegetation"] = new GameObject("Vegetation"); gbs["Tropics_Base_Vegetation"].transform.parent = gbs["Tropics_Base"].transform; Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(13.44f, 1.67f, 56.84f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(13.27f, 1.68f, 56.94f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(13.37f, 1.61f, 57.03f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(14.31f, 1.45f, 57.12f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(12.15f, 1.45f, 56.64f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(13.12f, 1.69f, 56.61f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(10.1f, 1.45f, 56.28f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(10.16f, 1.45f, 56.49f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(9.94f, 1.45f, 56.46f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(11.42f, 3.75f, 55.57f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(11.65f, 3.69f, 55.54f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(11.57f, 3.66f, 55.63f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(11.38f, 4.15f, 54.77f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(11.66f, 4.1f, 54.78f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(12.72f, 2.47f, 55.66f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(10.08f, 3.26f, 55.12f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_Base_Vegetation"].transform); gbs["Tropics_default"] = new GameObject("Default"); gbs["Tropics_default"].transform.parent = gbs["Tropics"].transform; gbs["Tropics_lava"] = new GameObject("Lava"); gbs["Tropics_lava"].transform.parent = gbs["Tropics"].transform; List list = new List(2) { Spawner.Spawn("LavaRiver Variant_NoLight", new Vector3(57f, 170f, 105f), new Vector3(0f, 0f, 0f), 1f, gbs["Tropics_lava"].transform), Spawner.Spawn("LavaRiver Variant_NoLight", new Vector3(105f, 170f, 105f), new Vector3(0f, 38f, 0f), 1f, gbs["Tropics_lava"].transform) }; foreach (GameObject item3 in list) { if (!((Object)(object)item3 == (Object)null)) { LavaRiver component2 = item3.GetComponent(); component2.maxLength = 50f; component2.Spawn(); item3.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f); LinqExtensions.ForEach((IEnumerable)item3.GetComponentsInChildren(), (Action)delegate(CollisionModifier mod) { mod.applyEffects = false; ((Behaviour)mod).enabled = false; }); LinqExtensions.ForEach((IEnumerable)item3.GetComponentsInChildren(), (Action)delegate(LODGroup lod) { lod.size = 1000f; }); } } GameObject obj = list[0]; if (obj != null) { obj.transform.position = new Vector3(10.62f, 3.15f, 55.62f); } GameObject obj2 = list[1]; if (obj2 != null) { obj2.transform.position = new Vector3(12.16f, 3.24f, 55.62f); } gbs["Tropics_pillars"] = new GameObject("Pillars"); gbs["Tropics_pillars"].transform.parent = gbs["Tropics"].transform; Spawner.Spawn("CliffPillar", new Vector3(13.11f, 2.72f, 56.8f), new Vector3(0f, 180f, 0f), 0.01f, gbs["Tropics_pillars"].transform); Spawner.Spawn("Pillar", new Vector3(13.92f, 1.45f, 56.44f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.012f, 0.018f), gbs["Tropics_pillars"].transform); Spawner.Spawn("Pillar", new Vector3(10.89f, 1.45f, 56.44f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.012f, 0.018f), gbs["Tropics_pillars"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(12.97f, 3.83f, 55.89f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_pillars"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(13.12f, 3.9f, 56.65f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_pillars"].transform); gbs["Tropics_thorny"] = new GameObject("Thorny"); gbs["Tropics_thorny"].transform.parent = gbs["Tropics"].transform; thorns.Add(Spawner.Spawn("Jungle_Thorns", new Vector3(11.34f, 1.46f, 55.18f), new Vector3((float)Random.Range(0, 359), (float)Random.Range(0, 359), (float)Random.Range(0, 359)), 1f, gbs["Tropics_thorny"].transform)); thorns.Add(Spawner.Spawn("Jungle_Thorns", new Vector3(11.59f, 1.86f, 55.01f), new Vector3((float)Random.Range(0, 359), (float)Random.Range(0, 359), (float)Random.Range(0, 359)), 1f, gbs["Tropics_thorny"].transform)); gbs["Tropics_bombs"] = new GameObject("Bombs"); gbs["Tropics_bombs"].transform.parent = gbs["Tropics"].transform; List list2 = new List(49) { Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(14.03f, 1.45f, 56.2f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(14.16f, 1.45f, 56.42f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(13.77f, 1.51f, 56.64f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(14.11f, 1.45f, 57.17f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.53f, 1.6f, 56.49f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.19f, 1.45f, 57.12f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.54f, 1.45f, 56.39f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.66f, 1.45f, 56.61f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.1f, 2.05f, 55.73f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.18f, 1.91f, 56.17f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.75f, 2.39f, 55.62f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.94f, 2.43f, 55.83f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.19f, 2.82f, 56.11f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.84f, 3.35f, 55.52f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.02f, 3.27f, 55.81f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.96f, 3.45f, 55.69f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.46f, 2.13f, 55.58f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.58f, 1.53f, 55.99f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.51f, 1.45f, 56.46f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.22f, 1.45f, 57.06f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.07f, 1.45f, 55.34f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(8.77f, 1.45f, 54.43f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(8.72f, 2.42f, 54.91f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(8.66f, 3.03f, 55.24f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.23f, 3.56f, 55.86f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.81f, 3.88f, 55.01f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.73f, 2.64f, 55.33f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(13.25f, 2.64f, 55.34f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(13.02f, 2.46f, 55.67f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(13.27f, 2.5f, 55.55f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.62f, 2.55f, 55.49f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.91f, 2.51f, 55.64f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(13.32f, 4.16f, 55.14f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.18f, 3.89f, 54.87f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.85f, 3.47f, 55.92f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.73f, 3.38f, 56.04f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.01f, 3.25f, 56.05f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.5f, 3.23f, 56.22f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.27f, 3.04f, 55.99f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.67f, 3.04f, 56.32f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.34f, 3.99f, 55.35f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.02f, 4.11f, 54.64f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.71f, 3.99f, 54.67f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.67f, 3.68f, 55.23f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(11.98f, 3.78f, 55.2f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(13.03f, 2.63f, 55.43f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(14.13f, 1.43f, 56.93f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(11.26f, 1.43f, 56.74f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(10.58f, 2.29f, 55.5f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_bombs"].transform) }; list2.ForEach(delegate(GameObject? shroom) { sporeshrooms.Add(shroom); }); gbs["Tropics_ivy"] = new GameObject("Ivy"); gbs["Tropics_ivy"].transform.parent = gbs["Tropics"].transform; List poisonshrooms = new List(11) { Spawner.Spawn("Jungle_SporeMushroom", new Vector3(13.75f, 1.51f, 56.48f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(12.5f, 1.52f, 56.96f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(12.9f, 2.46f, 55.7f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(11.72f, 3.04f, 56.33f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(13.06f, 3.98f, 55.2f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(10.73f, 3.99f, 55.17f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(10.81f, 2.39f, 55.69f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(10.89f, 1.45f, 56.7f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(9.71f, 1.45f, 56.71f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(8.5f, 2.2f, 54.75f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform), Spawner.Spawn("Jungle_SporeMushroom", new Vector3(9.53f, 3.81f, 55.27f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Tropics_ivy"].transform) }; List thorns_ivy = new List(2) { Spawner.Spawn(ExtCollections.PGetRandom(tropics_thorns), new Vector3(11.34f, 1.46f, 55.18f), new Vector3((float)Random.Range(0, 359), (float)Random.Range(0, 359), (float)Random.Range(0, 359)), 1f, gbs["Tropics_ivy"].transform), Spawner.Spawn(ExtCollections.PGetRandom(tropics_thorns), new Vector3(11.59f, 1.86f, 55.01f), new Vector3((float)Random.Range(0, 359), (float)Random.Range(0, 359), (float)Random.Range(0, 359)), 1f, gbs["Tropics_ivy"].transform) }; LinqExtensions.ForEach((IEnumerable)poisonshrooms, (Action)delegate(GameObject shroom, int ind) { if ((Object)(object)shroom != (Object)null) { LinqExtensions.ForEach((IEnumerable)shroom.GetComponentsInChildren(), (Action)delegate(Renderer rend) { rend.SetMaterials(new List(1) { Plugin.ProcessedMaterials["M_SporeShroomPoison_Ivy"] }); }); sporeshrooms.Add(poisonshrooms[ind]); } }); LinqExtensions.ForEach((IEnumerable)thorns_ivy, (Action)delegate(GameObject thorn, int ind) { if ((Object)(object)thorn != (Object)null) { LinqExtensions.ForEach((IEnumerable)thorn.GetComponentsInChildren(), (Action)delegate(Renderer rend) { if (((Object)rend.material).name.Contains("M_Thorns 2")) { rend.SetMaterials(new List(1) { Plugin.ProcessedMaterials["M_Thorns_Ivy_2"] }); } }); thorns.Add(thorns_ivy[ind]); } }); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(13.37f, 1.69f, 56.74f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(13.2f, 1.69f, 56.99f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(13.45f, 1.59f, 56.99f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(11.56f, 1.45f, 57.33f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(12.29f, 1.45f, 56.78f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(10.68f, 1.45f, 56.97f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(9.31f, 1.97f, 56.34f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(8.98f, 3.63f, 55.17f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(11.71f, 3.83f, 55.34f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(11.57f, 3.87f, 55.37f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(11.64f, 3.69f, 55.55f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(12.51f, 3.93f, 54.83f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(12.41f, 3.82f, 55.02f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(11.88f, 3.12f, 56.22f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); Spawner.Spawn("Jungle_PoisonIvy", new Vector3(10.58f, 4.08f, 55.04f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_ivy"].transform); gbs["Tropics_skyjungle"] = new GameObject("SkyJungle"); gbs["Tropics_skyjungle"].transform.parent = gbs["Tropics"].transform; Spawner.Spawn("Rock_Round.002", new Vector3(12.88f, 4.79f, 55.77f), new Vector3(0f, 0f, 0f), 0.015f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn("Rock_Round.002", new Vector3(10.19f, 4.99f, 56.69f), new Vector3(0f, 255f, 0f), 0.015f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn("Rock_Round11", new Vector3(11.63f, 3.78f, 57.09f), new Vector3(0f, 0f, 0f), 0.015f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn("Rock_Round12", new Vector3(9.29f, 5.35f, 55.39f), new Vector3(0f, 0f, 0f), 0.015f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn("Rock_Round12", new Vector3(13.6f, 2.85f, 56.86f), new Vector3(0f, 132f, 0f), 0.015f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(13.68f, 3.02f, 57.25f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(11.69f, 3.95f, 56.87f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(13.01f, 5.1f, 55.74f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(10.24f, 5.2f, 56.81f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_willows), new Vector3(9.23f, 5.63f, 55.43f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(12.71f, 5.04f, 55.8f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(11.85f, 4.12f, 57.24f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(10.37f, 5.16f, 56.35f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(tropics_vegetation), new Vector3(9.67f, 5.91f, 55.27f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Tropics_skyjungle"].transform); foreach (GameObject item4 in sporeshrooms) { if (!((Object)(object)item4 == (Object)null)) { Object.Destroy((Object)(object)item4.GetComponent()); Object.Destroy((Object)(object)item4.GetComponent()); Object.Destroy((Object)(object)item4.GetComponent()); LinqExtensions.ForEach((IEnumerable)item4.GetComponents(), (Action)delegate(SphereCollider sc) { Object.Destroy((Object)(object)sc); }); } } foreach (GameObject item5 in thorns) { if (!((Object)(object)item5 == (Object)null)) { LinqExtensions.ForEach((IEnumerable)item5.GetComponentsInChildren(), (Action)delegate(CollisionModifier cm) { Object.Destroy((Object)(object)cm); }); } } gbs["Roots"] = new GameObject("Roots"); gbs["Roots"].transform.parent = plantholder_TR.transform; gbs["Roots_Base"] = new GameObject("Base"); gbs["Roots_Base"].transform.parent = gbs["Roots"].transform; gbs["Roots_Base_Rocks"] = new GameObject("Rocks"); gbs["Roots_Base_Rocks"].transform.parent = gbs["Roots_Base"].transform; Spawner.Spawn("Rock_Round11", new Vector3(13.22f, 0.65f, 55.96f), new Vector3(0f, 316f, 0f), 0.05f, gbs["Roots_Base_Rocks"].transform); Spawner.Spawn("Rock_Round11", new Vector3(12.16f, 1.94f, 55.01f), new Vector3(36f, 44f, 250f), 0.05f, gbs["Roots_Base_Rocks"].transform); Spawner.Spawn("Rock_Round", new Vector3(10.5f, 1.09f, 55.16f), new Vector3(73f, 285f, 119f), 0.05f, gbs["Roots_Base_Rocks"].transform); Spawner.Spawn("Rock_Lil.001", new Vector3(12.99f, 2.87f, 55f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Roots_Base_Rocks"].transform); Spawner.Spawn("Rock_Lil.001", new Vector3(9.85f, 0.72f, 56.21f), new Vector3(36f, 324f, 22f), 0.1f, gbs["Roots_Base_Rocks"].transform); gbs["Roots_Base_Shrooms"] = new GameObject("Shrooms"); gbs["Roots_Base_Shrooms"].transform.parent = gbs["Roots_Base"].transform; Spawner.Spawn("ShelfShroomPrePlaced_Mega Variant", new Vector3(11.96f, 3.05f, 55.28f), new Vector3(0f, 0f, 0f), 0.25f, gbs["Roots_Base_Shrooms"].transform); Spawner.Spawn("ShelfShroomPrePlaced_Mega Variant", new Vector3(9.64f, 1.96f, 54.8f), new Vector3(0f, 0f, 0f), 0.25f, gbs["Roots_Base_Shrooms"].transform); gbs["Roots_Base_Spores"] = new GameObject("Spores"); gbs["Roots_Base_Spores"].transform.parent = gbs["Roots_Base"].transform; List list3 = new List(5) { Spawner.Spawn("Forest_SporeFungus", new Vector3(13.05f, 1.81f, 56.07f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Roots_Base_Spores"].transform), Spawner.Spawn("Forest_SporeFungus", new Vector3(10.91f, 2.23f, 55.52f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Roots_Base_Spores"].transform), Spawner.Spawn("Forest_SporeFungus", new Vector3(11.1f, 3.37f, 54.93f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Roots_Base_Spores"].transform), Spawner.Spawn("Forest_SporeFungus", new Vector3(13.06f, 3.78f, 55.19f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Roots_Base_Spores"].transform), Spawner.Spawn("Forest_SporeFungus", new Vector3(12.42f, 3.92f, 54.8f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Roots_Base_Spores"].transform) }; gbs["Roots_Base_Trees"] = new GameObject("Trees"); gbs["Roots_Base_Trees"].transform.parent = gbs["Roots_Base"].transform; List list4 = new List(3) { Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(11.46f, 3.57f, 55.15f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_Base_Trees"].transform), Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(12.69f, 3.76f, 55.25f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_Base_Trees"].transform), Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(9.98f, 2.29f, 54.87f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_Base_Trees"].transform) }; gbs["Roots_Base_Vegetation"] = new GameObject("Vegetation"); gbs["Roots_Base_Vegetation"].transform.parent = gbs["Roots_Base"].transform; Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.42f, 2.31f, 54.76f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.93f, 2.01f, 55.67f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.19f, 2.2f, 55.72f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.73f, 3.64f, 55.05f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.07f, 3.86f, 54.99f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.69f, 3.91f, 54.63f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.33f, 3.82f, 55.03f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.31f, 3.65f, 55.29f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.14f, 3.26f, 54.64f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.09f, 0.11f), gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(12.78f, 2.09f, 55.97f), new Vector3(47.73f, 352.14f, 342.35f), 0.1f, gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(11.72f, 2.59f, 55.54f), new Vector3(61.25f, 355.27f, 352.02f), 0.1f, gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(10.56f, 2.07f, 55.71f), new Vector3(51.43f, 356.51f, 352.76f), 0.1f, gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(10.13f, 2.4f, 55.17f), new Vector3(21.47f, 4.15f, 21.66f), 0.1f, gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(11f, 2.98f, 54.99f), new Vector3(4.53f, 4.69f, 91.98f), 0.1f, gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(11.56f, 3.6f, 54.71f), new Vector3(312.54f, 351.11f, 20.05f), 0.1f, gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(12.69f, 3.98f, 54.93f), new Vector3(22.64f, 0.93f, 4.62f), 0.1f, gbs["Roots_Base_Vegetation"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(13.25f, 3.46f, 55.66f), new Vector3(49.38f, 357.77f, 355.16f), 0.1f, gbs["Roots_Base_Vegetation"].transform); gbs["Roots_Base_Mushrooms"] = new GameObject("Mushrooms"); gbs["Roots_Base_Mushrooms"].transform.parent = gbs["Roots_Base"].transform; List list5 = new List(2) { Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(10.64f, 2.25f, 55.4f), new Vector3(0f, 0f, 0f), 0.025f, gbs["Roots_Base_Mushrooms"].transform), Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(11.95f, 3.16f, 55.68f), new Vector3(0f, 0f, 0f), 0.025f, gbs["Roots_Base_Mushrooms"].transform) }; gbs["Roots_Base_Beetles"] = new GameObject("Beetles"); gbs["Roots_Base_Beetles"].transform.parent = gbs["Roots_Base"].transform; List list6 = new List(2) { Spawner.Spawn("Beetle", new Vector3(10.49f, 2.26f, 55.4f), new Vector3(22f, 359f, 347f), 0.1f, gbs["Roots_Base_Beetles"].transform), Spawner.Spawn("Beetle", new Vector3(11.89f, 3.1f, 55.45f), new Vector3(344f, 320f, 0f), 0.1f, gbs["Roots_Base_Beetles"].transform) }; gbs["Roots_default"] = new GameObject("Default"); gbs["Roots_default"].transform.parent = gbs["Roots"].transform; Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.12f, 1.59f, 56.87f), new Vector3(59.42f, 71.06f, 102.74f), Random.Range(0.06f, 0.1f), gbs["Roots_default"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.04f, 1.8f, 57.02f), new Vector3(30.45f, 355.53f, 343.67f), Random.Range(0.06f, 0.1f), gbs["Roots_default"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.73f, 1.67f, 56.55f), new Vector3(2.16f, 359.7f, 344.43f), Random.Range(0.06f, 0.1f), gbs["Roots_default"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.92f, 1.65f, 56.36f), new Vector3(0.06f, 0.01f, 16.24f), Random.Range(0.06f, 0.1f), gbs["Roots_default"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.18f, 1.45f, 56.87f), new Vector3(0f, 0f, 0f), Random.Range(0.06f, 0.1f), gbs["Roots_default"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.93f, 1.68f, 55.99f), new Vector3(355.65f, 0.27f, 352.87f), Random.Range(0.06f, 0.1f), gbs["Roots_default"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(8.92f, 1.45f, 55.17f), new Vector3(0f, 0f, 0f), Random.Range(0.06f, 0.1f), gbs["Roots_default"].transform); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(14.07f, 1.65f, 56.55f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.01f, gbs["Roots_default"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(12.36f, 1.45f, 57.13f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.01f, gbs["Roots_default"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(10.11f, 2.09f, 55.67f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.01f, gbs["Roots_default"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(9.2f, 2.1f, 54.89f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.01f, gbs["Roots_default"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(13.72f, 1.67f, 57f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_default"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(12.6f, 2f, 56.5f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_default"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(10.79f, 1.45f, 57.12f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_default"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(9.13f, 1.61f, 55.94f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_default"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(12.19f, 1.45f, 57.15f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.2f, gbs["Roots_default"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(11.24f, 1.45f, 56.52f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.2f, gbs["Roots_default"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(9.56f, 1.45f, 56.75f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.2f, gbs["Roots_default"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(14.38f, 1.45f, 57.31f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.2f, gbs["Roots_default"].transform)); gbs["Roots_cavemania"] = new GameObject("CaveMania"); gbs["Roots_cavemania"].transform.parent = gbs["Roots"].transform; Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.7f, 2.83f, 56f), new Vector3(15.47f, 356.69f, 335.95f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.66f, 2.77f, 56.39f), new Vector3(335.26f, 347.05f, 54.72f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.76f, 1.96f, 56.5f), new Vector3(352.15f, 356.28f, 50.72f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.06f, 1.6f, 57.3f), new Vector3(70.18f, 31.55f, 43.82f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.21f, 2f, 55.89f), new Vector3(67.18f, 357.62f, 356.42f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.95f, 2.07f, 57.08f), new Vector3(33.68f, 4.79f, 15.72f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.76f, 1.51f, 56.8f), new Vector3(37.35f, 9.07f, 26.42f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.99f, 2.64f, 55.86f), new Vector3(1.37f, 359.89f, 350.66f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.22f, 1.91f, 55.99f), new Vector3(18.29f, 4.94f, 29.98f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.89f, 2.99f, 56.63f), new Vector3(348.86f, 358.72f, 13.12f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.47f, 3.44f, 55.22f), new Vector3(2.12f, 0.59f, 31.29f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.8f, 3.41f, 56.12f), new Vector3(1.23f, 0.32f, 29.13f), 0.09f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(14.03f, 1.66f, 56.85f), new Vector3(357.67f, 359.91f, 4.48f), 0.1f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(12.4f, 2.52f, 57.12f), new Vector3(42.45f, 65.4f, 117.65f), 0.1f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(10.59f, 2.65f, 57.04f), new Vector3(47.55f, 330.19f, 297.73f), 0.1f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(10.52f, 1.61f, 57.13f), new Vector3(20.29f, 355.28f, 334.08f), 0.1f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(9.3f, 1.74f, 56.28f), new Vector3(47.79f, 259.42f, 220.4f), 0.1f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(9.13f, 2.02f, 55.65f), new Vector3(327.98f, 345.81f, 46.89f), 0.1f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(9.76f, 2.58f, 55.66f), new Vector3(25.95f, 20.51f, 76.27f), 0.1f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Funky Mushroom Spawner", new Vector3(12.09f, 3.11f, 56.01f), new Vector3(358.27f, 358.9f, 64.92f), 0.1f, gbs["Roots_cavemania"].transform); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(12.69f, 2.77f, 56.92f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_cavemania"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(11.67f, 1.74f, 57.23f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_cavemania"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(9.07f, 1.97f, 55.72f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_cavemania"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(11.21f, 2.82f, 56.02f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_cavemania"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(14f, 1.66f, 56.98f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_cavemania"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(12.43f, 2.73f, 56.37f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_cavemania"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(11.45f, 2.57f, 55.93f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_cavemania"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(9.42f, 1.7f, 55.73f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_cavemania"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(10.51f, 2.98f, 56.78f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_cavemania"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(13.85f, 1.66f, 57.16f), new Vector3(1.14f, 359.98f, 357.79f), 0.2f, gbs["Roots_cavemania"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(13.09f, 2.21f, 56.17f), new Vector3(74.21f, 186.87f, 185.2f), 0.2f, gbs["Roots_cavemania"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(11.87f, 3.11f, 56.28f), new Vector3(352.72f, 2.44f, 322.96f), 0.2f, gbs["Roots_cavemania"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(10.53f, 3.39f, 55.39f), new Vector3(35.85f, 11.84f, 35.55f), 0.2f, gbs["Roots_cavemania"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(9.79f, 2.34f, 55.79f), new Vector3(69.67f, 100.38f, 119.77f), 0.2f, gbs["Roots_cavemania"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(8.97f, 1.45f, 55.45f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Roots_cavemania"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(9.76f, 1.84f, 56.73f), new Vector3(344.38f, 344.73f, 88.71f), 0.2f, gbs["Roots_cavemania"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(10.91f, 2.67f, 55.91f), new Vector3(45.05f, 196.59f, 186.92f), 0.2f, gbs["Roots_cavemania"].transform)); Spawner.Spawn("Forest Cave Safe", new Vector3(11.03f, 1.45f, 56.13f), new Vector3(0f, 0f, 0f), 0.0175f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Forest Cave Safe", new Vector3(11.72f, 1.71f, 55.94f), new Vector3(18.82f, 359.3f, 355.76f), 0.0175f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Forest Cave Safe", new Vector3(13.11f, 2.02f, 56.09f), new Vector3(9.19f, 357.75f, 332.56f), 0.0175f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Forest Cave Safe", new Vector3(10.87f, 2.23f, 56.12f), new Vector3(27.39f, 353.98f, 335.64f), 0.0175f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Forest Cave Safe", new Vector3(10.1f, 1.72f, 55.93f), new Vector3(0.02f, 0.03f, 100.59f), 0.0175f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Forest Cave Safe", new Vector3(10.87f, 2.56f, 54.88f), new Vector3(22.99f, 13.21f, 59.29f), 0.0175f, gbs["Roots_cavemania"].transform); Spawner.Spawn("Forest Cave Safe", new Vector3(12.57f, 2.3f, 56.14f), new Vector3(294.42f, 265.24f, 118.68f), 0.0175f, gbs["Roots_cavemania"].transform); gbs["Roots_deepwater"] = new GameObject("DeepWater"); gbs["Roots_deepwater"].transform.parent = gbs["Roots"].transform; list4.Add(Spawner.Spawn("Redwood", new Vector3(13.67f, 1.68f, 57f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_deepwater"].transform)); list4.Add(Spawner.Spawn("Redwood Massive", new Vector3(12.23f, 1.83f, 56.8f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_deepwater"].transform)); list4.Add(Spawner.Spawn("Redwood", new Vector3(10.05f, 1.65f, 55.98f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f, gbs["Roots_deepwater"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(13.27f, 1.88f, 56.64f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_deepwater"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(12.66f, 1.95f, 56.97f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_deepwater"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(9.97f, 1.66f, 56.41f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_deepwater"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(9.3f, 1.5f, 56.49f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_deepwater"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(9.24f, 1.64f, 56.01f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_deepwater"].transform)); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(14.11f, 1.65f, 56.48f), new Vector3(357.9f, 359.96f, 2.12f), 0.09f, gbs["Roots_deepwater"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.01f, 1.73f, 57.16f), new Vector3(26.27f, 357.46f, 349.14f), 0.09f, gbs["Roots_deepwater"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.2f, 1.77f, 56.09f), new Vector3(358.72f, 359.65f, 30.83f), 0.09f, gbs["Roots_deepwater"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.36f, 1.51f, 56.23f), new Vector3(5.23f, 357.59f, 310.57f), 0.09f, gbs["Roots_deepwater"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.61f, 1.71f, 56.09f), new Vector3(1.22f, 359.97f, 357.54f), 0.09f, gbs["Roots_deepwater"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9f, 1.6f, 55.7f), new Vector3(358.51f, 359.17f, 58.1f), 0.09f, gbs["Roots_deepwater"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.09f, 1.7f, 56.8f), new Vector3(18.93f, 9.14f, 51.21f), 0.09f, gbs["Roots_deepwater"].transform); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(12.12f, 1.73f, 56.44f), new Vector3(1.42f, 0.34f, 27.14f), 0.25f, gbs["Roots_deepwater"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(13.84f, 1.65f, 56.41f), new Vector3(356.51f, 0.27f, 351.07f), 0.25f, gbs["Roots_deepwater"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(9.56f, 1.58f, 56.51f), new Vector3(27.63f, 4.04f, 16.32f), 0.25f, gbs["Roots_deepwater"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(9.66f, 1.65f, 55.26f), new Vector3(8.27f, 6.03f, 72.14f), 0.25f, gbs["Roots_deepwater"].transform)); gbs["Roots_bombbeetle"] = new GameObject("BombBeetle"); gbs["Roots_bombbeetle"].transform.parent = gbs["Roots"].transform; list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(13.58f, 1.7f, 56.69f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_bombbeetle"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(9.72f, 1.67f, 56.33f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(14.03f, 1.57f, 56.11f), new Vector3(350.31f, 359.37f, 7.44f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(14.01f, 1.62f, 57.05f), new Vector3(356.51f, 359.86f, 4.76f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(13.03f, 1.78f, 56.96f), new Vector3(30.45f, 355.53f, 343.67f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.45f, 1.88f, 56.35f), new Vector3(344.06f, 357.89f, 15f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.94f, 1.58f, 56.69f), new Vector3(28.15f, 9.12f, 35.3f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.5f, 2.39f, 55.62f), new Vector3(67.07f, 17.78f, 26.56f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(13.27f, 3.44f, 55.54f), new Vector3(44.7f, 353.61f, 344.54f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.71f, 3.9f, 54.86f), new Vector3(15.72f, 359.61f, 357.16f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.66f, 3.59f, 55.25f), new Vector3(34.01f, 1.46f, 4.79f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(12.3f, 3.17f, 55.68f), new Vector3(352.1f, 359.07f, 13.35f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.08f, 2.3f, 54.97f), new Vector3(0.35f, 0.11f, 35.14f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.01f, 2.85f, 54.53f), new Vector3(4.67f, 2.68f, 59.76f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.43f, 3.58f, 54.91f), new Vector3(337.04f, 355.13f, 23.65f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.78f, 2.02f, 54.53f), new Vector3(23.74f, 1.86f, 8.86f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.71f, 1.61f, 55.28f), new Vector3(8.27f, 6.03f, 72.14f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.35f, 1.61f, 56.07f), new Vector3(5.1f, 0.65f, 14.47f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.22f, 1.58f, 56.19f), new Vector3(2.84f, 359.58f, 343.08f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.67f, 1.4f, 56.99f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.91f, 1.4f, 57.08f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(11.19f, 1.4f, 56.38f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(10.65f, 1.49f, 55.98f), new Vector3(80.94f, 243.42f, 235.59f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(8.82f, 1.4f, 55.33f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Roots_bombbeetle"].transform)); list3.Add(Spawner.Spawn("Jungle_SporeMushroomExplo", new Vector3(9.22f, 1.4f, 54.5f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Roots_bombbeetle"].transform)); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.35f, 1.74f, 57.18f), new Vector3(10.21f, 0f, 0.02f), 0.1f, gbs["Roots_bombbeetle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.7f, 1.95f, 56.94f), new Vector3(24.27f, 356.53f, 343.97f), 0.1f, gbs["Roots_bombbeetle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.98f, 1.45f, 56.69f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Roots_bombbeetle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.36f, 1.45f, 57.04f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Roots_bombbeetle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.08f, 1.52f, 56.75f), new Vector3(30.51f, 346.93f, 314.45f), 0.1f, gbs["Roots_bombbeetle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.31f, 1.45f, 55.99f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Roots_bombbeetle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.17f, 1.6f, 56.16f), new Vector3(11.42f, 1.9f, 18.82f), 0.1f, gbs["Roots_bombbeetle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.53f, 1.69f, 55.99f), new Vector3(349.56f, 359.06f, 10.24f), 0.1f, gbs["Roots_bombbeetle"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.88f, 1.65f, 56.49f), new Vector3(0.33f, 359.98f, 351.48f), 0.1f, gbs["Roots_bombbeetle"].transform); list6.Add(Spawner.Spawn("Beetle", new Vector3(12.3f, 1.45f, 57.18f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(11.25f, 1.45f, 56.8f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(9.45f, 1.45f, 56.8f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(9.22f, 1.45f, 55.04f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(8.71f, 1.45f, 54.56f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(13.62f, 1.69f, 57.22f), new Vector3(3.12f, 359.74f, 350.6f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(12.7f, 1.98f, 56.55f), new Vector3(353.78f, 1.07f, 340.51f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(13.03f, 3.88f, 54.97f), new Vector3(16.73f, 357.85f, 345.45f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(11.74f, 3.64f, 55.07f), new Vector3(351.41f, 0.71f, 350.62f), 0.1f, gbs["Roots_bombbeetle"].transform)); list6.Add(Spawner.Spawn("Beetle", new Vector3(10.25f, 2.42f, 54.99f), new Vector3(359.73f, (float)Random.Range(0, 359), 2.02f), 0.1f, gbs["Roots_bombbeetle"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(11.63f, 1.45f, 56.77f), new Vector3(0f, 0f, 0f), 0.025f, gbs["Roots_bombbeetle"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(10.09f, 1.45f, 56.96f), new Vector3(0f, 0f, 0f), 0.025f, gbs["Roots_bombbeetle"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(14f, 1.64f, 56.5f), new Vector3(0f, 0f, 0f), 0.025f, gbs["Roots_bombbeetle"].transform)); gbs["Roots_deepwoods"] = new GameObject("DeepWoods"); gbs["Roots_deepwoods"].transform.parent = gbs["Roots"].transform; list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(12.74f, 1.9f, 57.02f), new Vector3(0f, 0f, 0f), 0.025f, gbs["Roots_deepwoods"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(10.31f, 1.54f, 56.34f), new Vector3(0f, 0f, 0f), 0.025f, gbs["Roots_deepwoods"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms), new Vector3(8.83f, 1.45f, 55.91f), new Vector3(0f, 0f, 0f), 0.025f, gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(13.89f, 1.64f, 56.4f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(13.26f, 1.81f, 56.95f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(12.16f, 1.76f, 56.55f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(12.66f, 2f, 56.59f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(12.22f, 1.45f, 57.15f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(11.49f, 1.46f, 56.35f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(11.55f, 1.45f, 56.96f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(10.85f, 1.45f, 56.2f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(10.77f, 1.45f, 56.85f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(9.98f, 1.48f, 56.84f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(9.63f, 1.69f, 56.23f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trees_n_trunks), new Vector3(8.96f, 1.45f, 55.02f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_deepwoods"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(13.84f, 1.66f, 57.12f), new Vector3(354.59f, 0.2f, 355.8f), 0.25f, gbs["Roots_deepwoods"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(12.44f, 1.91f, 57f), new Vector3(50.57f, 8.21f, 17.28f), 0.25f, gbs["Roots_deepwoods"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(11.02f, 1.45f, 56.64f), new Vector3(0f, 0f, 0f), 0.25f, gbs["Roots_deepwoods"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(9.24f, 1.65f, 55.89f), new Vector3(15.87f, 1.57f, 11.2f), 0.25f, gbs["Roots_deepwoods"].transform)); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.84f, 1.65f, 56.8f), new Vector3(1.21f, 359.96f, 356.02f), 0.1f, gbs["Roots_deepwoods"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.87f, 1.91f, 56.93f), new Vector3(15.99f, 357.81f, 344.49f), 0.1f, gbs["Roots_deepwoods"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.51f, 1.47f, 57.11f), new Vector3(49.11f, 50f, 91.17f), 0.1f, gbs["Roots_deepwoods"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.93f, 1.45f, 56.92f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Roots_deepwoods"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.7f, 1.61f, 56.25f), new Vector3(357.53f, 359.87f, 6.18f), 0.1f, gbs["Roots_deepwoods"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.41f, 1.45f, 56.96f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Roots_deepwoods"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.67f, 1.57f, 56.58f), new Vector3(25.26f, 4.19f, 18.56f), 0.1f, gbs["Roots_deepwoods"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.32f, 1.7f, 55.66f), new Vector3(323.42f, 358.79f, 3.66f), 0.1f, gbs["Roots_deepwoods"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.24f, 1.45f, 54.56f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Roots_deepwoods"].transform); gbs["Roots_clearcut"] = new GameObject("ClearCut"); gbs["Roots_clearcut"].transform.parent = gbs["Roots"].transform; list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(13.87f, 1.65f, 56.97f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(13.52f, 1.74f, 56.34f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(13.1f, 1.9f, 56.8f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(12.61f, 1.95f, 56.36f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(12.65f, 1.96f, 56.95f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(12.36f, 1.45f, 57.15f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(11.93f, 1.65f, 56.49f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(11.51f, 1.45f, 57.05f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(11.12f, 1.45f, 56.41f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(10.6f, 1.45f, 56.94f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(10.97f, 1.45f, 57.16f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(10.29f, 1.59f, 56.21f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(9.72f, 1.46f, 56.82f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(9.06f, 1.5f, 56.18f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(9.62f, 1.71f, 56.05f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(8.91f, 1.45f, 55.4f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list5.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_mushrooms_and_evil), new Vector3(9f, 1.45f, 54.61f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.025f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(13.71f, 1.67f, 56.34f), new Vector3(358.94f, 0.13f, 345.8f), 0.25f, gbs["Roots_clearcut"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(13.15f, 1.71f, 57.2f), new Vector3(19.56f, 0.63f, 3.67f), 0.25f, gbs["Roots_clearcut"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(12.15f, 1.72f, 56.86f), new Vector3(23.36f, 10.71f, 48.78f), 0.25f, gbs["Roots_clearcut"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(10.74f, 1.45f, 56.37f), new Vector3(0f, 0f, 0f), 0.25f, gbs["Roots_clearcut"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(8.88f, 1.45f, 54.94f), new Vector3(0f, 0f, 0f), 0.25f, gbs["Roots_clearcut"].transform)); list3.Add(Spawner.Spawn("Forest_SporeFungus", new Vector3(9.38f, 1.49f, 56.56f), new Vector3(27.72f, 3.92f, 15.8f), 0.25f, gbs["Roots_clearcut"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trunks), new Vector3(11.84f, 1.55f, 56.96f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trunks), new Vector3(13.88f, 1.75f, 56.6f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trunks), new Vector3(12.28f, 1.93f, 56.3f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trunks), new Vector3(10.89f, 1.55f, 56.81f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); list4.Add(Spawner.Spawn(ExtCollections.PGetRandom(roots_trunks), new Vector3(9.76f, 1.77f, 56.33f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.02f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform)); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(14.01f, 1.63f, 56.26f), new Vector3(356.34f, 359.82f, 5.69f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(13.43f, 1.74f, 57.1f), new Vector3(11.22f, 358.98f, 349.66f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.38f, 1.97f, 56.68f), new Vector3(352.85f, 357.22f, 42.48f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(12.58f, 1.45f, 57.24f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(11.42f, 1.45f, 56.63f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.51f, 1.45f, 56.28f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(10.59f, 1.45f, 57.21f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.96f, 1.69f, 56.16f), new Vector3(355.65f, 0.27f, 352.87f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.32f, 1.67f, 55.63f), new Vector3(323.42f, 358.79f, 3.66f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(8.9f, 1.45f, 55.77f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); Spawner.Spawn(ExtCollections.PGetRandom(roots_vegetation), new Vector3(9.23f, 1.45f, 54.99f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.09f + Random.Range(0.005f, -0.005f), gbs["Roots_clearcut"].transform); list3.ForEach(delegate(GameObject? spore) { if ((Object)(object)spore != (Object)null) { Object.Destroy((Object)(object)spore.GetComponent()); Object.Destroy((Object)(object)spore.GetComponent()); Object.Destroy((Object)(object)spore.GetComponent()); } }); list6.ForEach(delegate(GameObject? beetle) { if ((Object)(object)beetle != (Object)null) { Object.Destroy((Object)(object)beetle.GetComponent()); Object.Destroy((Object)(object)beetle.GetComponent()); Object.Destroy((Object)(object)beetle.GetComponent()); Object.Destroy((Object)(object)beetle.GetComponent()); LinqExtensions.ForEach((IEnumerable)beetle.GetComponentsInChildren(), (Action)delegate(Animator anim) { anim.speed = 0f; }); LinqExtensions.ForEach((IEnumerable)beetle.GetComponentsInChildren(), (Action)delegate(SFX_PlayOneShot sfx) { Object.Destroy((Object)(object)sfx); }); ExtTransform.PGetChildGameObjects(beetle).ForEach(delegate(GameObject btl) { if (((Object)btl).name == "VisualParent") { ExtTransform.PGetChildGameObjects(btl).ForEach(delegate(GameObject vp) { if (((Object)vp).name == "Beetle") { ExtTransform.PGetChildGameObjects(vp).ForEach(delegate(GameObject btl2) { if (((Object)btl2).name == "SFX") { btl2.SetActive(false); } }); } }); } }); } }); list4.ForEach(delegate(GameObject? tree) { if ((Object)(object)tree != (Object)null) { LinqExtensions.ForEach((IEnumerable)tree.GetComponentsInChildren(), (Action)delegate(AudioLoop loop) { Object.Destroy((Object)(object)loop); }); LinqExtensions.ForEach((IEnumerable)tree.GetComponentsInChildren(), (Action)delegate(AudioSource src) { Object.Destroy((Object)(object)src); }); } }); list5.ForEach(delegate(GameObject? shroom) { if ((Object)(object)shroom != (Object)null) { LinqExtensions.ForEach((IEnumerable)shroom.GetComponentsInChildren(), (Action)delegate(CollisionModifier cm) { Object.Destroy((Object)(object)cm); }); LinqExtensions.ForEach((IEnumerable)shroom.GetComponentsInChildren(), (Action)delegate(MushroomBounceBadgeTracker advancement) { Object.Destroy((Object)(object)advancement); }); LinqExtensions.ForEach((IEnumerable)shroom.GetComponentsInChildren(), (Action)delegate(Renderer rend) { Material[] mats = rend.materials; LinqExtensions.ForEach((IEnumerable)mats, (Action)delegate(Material mat, int ind) { if (((Object)mat).name.Contains("Mushroom Skirt_Evil")) { mats[ind] = Plugin.ProcessedMaterials["Mushroom Skirt_Evil"]; } else if (((Object)mat).name.Contains("Mushroom Skirt")) { mats[ind] = Plugin.ProcessedMaterials["Mushroom Skirt"]; } }); rend.SetMaterials(mats.ToList()); }); } }); gbs["Alpine"] = new GameObject("Alpine"); gbs["Alpine"].transform.parent = plantholder_AM.transform; gbs["Alpine_Base"] = new GameObject("Base"); gbs["Alpine_Base"].transform.parent = gbs["Alpine"].transform; gbs["Alpine_Base_Rocks"] = new GameObject("Rocks"); gbs["Alpine_Base_Rocks"].transform.parent = gbs["Alpine_Base"].transform; Spawner.Spawn("Rock_Lil.001", new Vector3(-21.2f, 2.82f, 55.16f), new Vector3(23f, 91f, 76f), 0.15f, gbs["Alpine_Base_Rocks"].transform); Spawner.Spawn("Rock_Lil.001", new Vector3(-21.12f, 0.9f, 56.7f), new Vector3(294f, 258f, 166f), 0.13f, gbs["Alpine_Base_Rocks"].transform); Spawner.Spawn("Rock_Lil.002", new Vector3(-21.2f, 1f, 55.42f), new Vector3(306f, 330f, 301f), 0.15f, gbs["Alpine_Base_Rocks"].transform); Spawner.Spawn("Rock_Round", new Vector3(-21.78f, 2.8f, 56.55f), new Vector3(33f, 202f, 256f), 0.07f, gbs["Alpine_Base_Rocks"].transform); Spawner.Spawn("Rock_Round.010", new Vector3(-21.27f, 2.46f, 57.45f), new Vector3(334f, 24f, 337f), 0.1f, gbs["Alpine_Base_Rocks"].transform); Spawner.Spawn("Rock_Round.002", new Vector3(-20f, 0.8f, 53.55f), new Vector3(0f, 297f, 0f), 0.04f, gbs["Alpine_Base_Rocks"].transform); Spawner.Spawn("Rock_Hold2", new Vector3(-21.66f, 4.07f, 56.34f), new Vector3(0f, 71f, 0f), 0.1f, gbs["Alpine_Base_Rocks"].transform); Spawner.Spawn("RockCold", new Vector3(-20.09f, 2.98f, 56f), new Vector3(0f, 0f, 0f), 0.01f, gbs["Alpine_Base_Rocks"].transform); Spawner.Spawn("RockCold", new Vector3(-20.04f, 1.36f, 56.77f), new Vector3(45f, 45f, 45f), 0.01f, gbs["Alpine_Base_Rocks"].transform); Renderer[] componentsInChildren = gbs["Alpine_Base_Rocks"].GetComponentsInChildren(true); foreach (Renderer val3 in componentsInChildren) { if (Object.op_Implicit((Object)(object)val3.material)) { if (((Object)val3.material).name.Contains("M_Rock_")) { val3.material = Plugin.ProcessedMaterials["M_Rock_ice_Cold"]; } else if (((Object)val3.material).name.Contains("M_Rock")) { val3.material = Plugin.ProcessedMaterials["M_Rock_ice"]; } } } gbs["Alpine_Base_Trees"] = new GameObject("Trees"); gbs["Alpine_Base_Trees"].transform.parent = gbs["Alpine_Base"].transform; Spawner.Spawn(ExtCollections.PGetRandom(alpine_trees), new Vector3(-20.07f, 3.7f, 54.87f), new Vector3(0f, 0f, 0f), 0.15f, gbs["Alpine_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(alpine_shrubs), new Vector3(-19.29f, 1.45f, 52.46f), new Vector3(0f, 0f, 0f), 0.3f, gbs["Alpine_Base_Trees"].transform); Spawner.Spawn(ExtCollections.PGetRandom(alpine_shrubs), new Vector3(-21.55f, 4.55f, 55.72f), new Vector3(0f, 45f, 0f), 0.3f, gbs["Alpine_Base_Trees"].transform); Renderer[] componentsInChildren2 = gbs["Alpine_Base_Trees"].GetComponentsInChildren(true); foreach (Renderer val4 in componentsInChildren2) { if (Object.op_Implicit((Object)(object)val4.material)) { if (((Object)val4.material).name.Contains("M_Foliage_DeadBranch")) { val4.material = Plugin.ProcessedMaterials["M_Foliage_DeadBranch"]; } else if (((Object)val4.material).name.Contains("M_Foliage Pine")) { val4.material = Plugin.ProcessedMaterials["M_Foliage Pine"]; } } } gbs["Alpine_Base_Props"] = new GameObject("Props"); gbs["Alpine_Base_Props"].transform.parent = gbs["Alpine_Base"].transform; List list7 = new List(1) { Spawner.Spawn("Geyser", new Vector3(-20.96f, 4.07f, 55.92f), new Vector3(36f, 0f, 0f), 0.1f, gbs["Alpine_Base_Props"].transform) }; List list8 = new List(3) { Spawner.Spawn("Ice_Horsetail", new Vector3(-21.5f, 4.44f, 55.87f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Alpine_Base_Props"].transform), Spawner.Spawn("Ice_Horsetail", new Vector3(-20.73f, 3.95f, 54.98f), new Vector3(0f, 45f, 0f), 0.1f, gbs["Alpine_Base_Props"].transform), Spawner.Spawn("Ice_Horsetail", new Vector3(-19.91f, 1.67f, 53.47f), new Vector3(0f, 70f, 0f), 0.1f, gbs["Alpine_Base_Props"].transform) }; foreach (GameObject item6 in list8) { if ((Object)(object)item6 == (Object)null) { Plugin.Log.LogWarning((object)"Airport patcher cannot process the horsetails for the alpine biome."); continue; } LinqExtensions.ForEach((IEnumerable)item6.GetComponentsInChildren(), (Action)delegate(Renderer rend) { rend.SetMaterials(new List(2) { Plugin.ProcessedMaterials["M_Foliage Pine 4"], Plugin.ProcessedMaterials["M_Foliage Pine 5"] }); }); } GameObject val5 = Spawner.Spawn("FlashPlant", new Vector3(-20.18f, 2.56f, 57.53f), new Vector3(77f, 0f, 325f), 0.75f, gbs["Alpine_Base_Props"].transform); if ((Object)(object)val5 == (Object)null) { Plugin.Log.LogWarning((object)"Airport patcher cannot process the flashplant for the alpine biome."); } else { val5.GetComponent().enabled = false; ((Behaviour)val5.GetComponent()).enabled = false; } GameObject val6 = Spawner.Spawn("NapBerrySpawn", new Vector3(-20.22f, 1.95f, 55.91f), new Vector3(0f, 0f, 340f), 0.35f, gbs["Alpine_Base_Props"].transform); if ((Object)(object)val6 == (Object)null) { Plugin.Log.LogWarning((object)"Airport patcher cannot process the napberry for the alpine biome."); } else { LinqExtensions.ForEach((IEnumerable)val6.GetComponentsInChildren(), (Action)delegate(Renderer naprend) { LinqExtensions.ForEach((IEnumerable)naprend.materials, (Action)delegate(Material mat, int ind) { if (((Object)mat).name.Contains("M_Rock")) { naprend.SetMaterials(new List(2) { Plugin.ProcessedMaterials["M_NapBerry 1"], Plugin.ProcessedMaterials["M_Rock_ice"] }); } }); }); LinqExtensions.ForEach((IEnumerable)val6.GetComponentsInChildren(), (Action)delegate(MeshCollider mc) { ((Collider)mc).enabled = false; }); ExtTransform.PGetChildGameObjects(val6).ForEach(delegate(GameObject mc) { if (((Object)mc).name == "Fireflies") { mc.SetActive(false); } }); ((Behaviour)val6.GetComponent()).enabled = false; ((Behaviour)val6.GetComponent()).enabled = false; } gbs["Alpine_default"] = new GameObject("Default"); gbs["Alpine_default"].transform.parent = gbs["Alpine"].transform; gbs["Alpine_lava"] = new GameObject("Lava"); gbs["Alpine_lava"].transform.parent = gbs["Alpine"].transform; List list9 = new List(2) { Spawner.Spawn("LavaRiver Variant_NoLight", new Vector3(57f, 170f, 105f), new Vector3(0f, 174f, 0f), 1f, gbs["Alpine_lava"].transform), Spawner.Spawn("LavaRiver Variant_NoLight", new Vector3(105f, 170f, 105f), new Vector3(0f, 205f, 0f), 1f, gbs["Alpine_lava"].transform) }; foreach (GameObject item7 in list9) { if ((Object)(object)item7 == (Object)null) { continue; } LavaRiver component3 = item7.GetComponent(); component3.maxLength = 50f; component3.Spawn(); item7.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f); LinqExtensions.ForEach((IEnumerable)item7.GetComponentsInChildren(), (Action)delegate(CollisionModifier mod) { mod.applyEffects = false; ((Behaviour)mod).enabled = false; }); LinqExtensions.ForEach((IEnumerable)item7.GetComponentsInChildren(true), (Action)delegate(Renderer rend) { if (((Object)rend.material).name.Contains("M_Rock")) { rend.material = Plugin.Materials["M_Rock_peak Snow"]; } }); } GameObject obj3 = list9[0]; if (obj3 != null) { obj3.transform.position = new Vector3(-21.4f, 3f, 58.52f); } GameObject obj4 = list9[0]; if (obj4 != null) { obj4.transform.eulerAngles = new Vector3(0f, 0f, 0f); } GameObject obj5 = list9[1]; if (obj5 != null) { obj5.transform.position = new Vector3(-20.16f, 3.15f, 54.55f); } gbs["Alpine_lava"].SetActive(false); gbs["Alpine_spiky"] = new GameObject("Spiky"); gbs["Alpine_spiky"].transform.parent = gbs["Alpine"].transform; List list10 = new List(10) { Spawner.Spawn("Spike", new Vector3(-20.18f, 1.45f, 52.53f), new Vector3(Random.Range(0f, 15f), (float)Random.Range(0, 359), 0f), 0.01f + Random.Range(-0.002f, 0.002f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-20.27f, 1.77f, 54.67f), new Vector3(Random.Range(0f, 15f), (float)Random.Range(0, 359), 0f), 0.01f + Random.Range(-0.002f, 0.002f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-19.36f, 1.45f, 55.48f), new Vector3(Random.Range(0f, 15f), (float)Random.Range(0, 359), 0f), 0.01f + Random.Range(-0.002f, 0.002f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-19.93f, 2.01f, 56.48f), new Vector3(Random.Range(305f, 315f), 0f, 330f), 0.008f + Random.Range(-0.001f, 0.001f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-20.16f, 2.31f, 56.32f), new Vector3(Random.Range(305f, 315f), 0f, 330f), 0.008f + Random.Range(-0.001f, 0.001f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-19.77f, 2.73f, 56.38f), new Vector3(Random.Range(305f, 315f), 0f, 330f), 0.008f + Random.Range(-0.001f, 0.001f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-19.66f, 1.45f, 56.52f), new Vector3(Random.Range(305f, 315f), 0f, 330f), 0.008f + Random.Range(-0.001f, 0.001f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-20.04f, 2.82f, 55.69f), new Vector3(Random.Range(45f, 55f), 0f, 340f), 0.008f + Random.Range(-0.001f, 0.001f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-20.26f, 2.35f, 55.4f), new Vector3(Random.Range(45f, 55f), 0f, 340f), 0.008f + Random.Range(-0.001f, 0.001f), gbs["Alpine_spiky"].transform), Spawner.Spawn("Spike", new Vector3(-19.99f, 1.81f, 55.56f), new Vector3(Random.Range(45f, 55f), 0f, 340f), 0.008f + Random.Range(-0.001f, 0.001f), gbs["Alpine_spiky"].transform) }; foreach (GameObject item8 in list10) { if (!((Object)(object)item8 == (Object)null)) { Renderer[] componentsInChildren3 = item8.GetComponentsInChildren(true); foreach (Renderer val7 in componentsInChildren3) { val7.SetMaterials(new List(1) { Plugin.ProcessedMaterials["M_Rock_ice"] }); } } } gbs["Alpine_spiky"].SetActive(false); gbs["Alpine_geyserhell"] = new GameObject("GeyserHell"); gbs["Alpine_geyserhell"].transform.parent = gbs["Alpine"].transform; list7.Add(Spawner.Spawn("Geyser", new Vector3(-20f, 1.6f, 52.86f), new Vector3(350f, 336f, 38f), 0.1f, gbs["Alpine_geyserhell"].transform)); list7.Add(Spawner.Spawn("Geyser", new Vector3(-19.48f, 1.68f, 53.65f), new Vector3(0f, 0f, 335f), 0.1f, gbs["Alpine_geyserhell"].transform)); list7.Add(Spawner.Spawn("Geyser", new Vector3(-20.29f, 1.72f, 54.6f), new Vector3(306f, 310f, 0f), 0.1f, gbs["Alpine_geyserhell"].transform)); list7.Add(Spawner.Spawn("Geyser", new Vector3(-19.36f, 1.45f, 55.06f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Alpine_geyserhell"].transform)); list7.Add(Spawner.Spawn("Geyser", new Vector3(-19.43f, 1.45f, 56.5f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Alpine_geyserhell"].transform)); list7.Add(Spawner.Spawn("Geyser", new Vector3(-19.66f, 1.45f, 55.7f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Alpine_geyserhell"].transform)); list7.Add(Spawner.Spawn("Geyser", new Vector3(-20.49f, 3.93f, 55f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Alpine_geyserhell"].transform)); list7.Add(Spawner.Spawn("Geyser", new Vector3(-21.35f, 4.28f, 57.31f), new Vector3(342f, 0f, 0f), 0.1f, gbs["Alpine_geyserhell"].transform)); foreach (GameObject item9 in list7) { if ((Object)(object)item9 == (Object)null) { continue; } foreach (GameObject item10 in ExtTransform.PGetChildGameObjects(item9)) { item10.SetActive(false); } ((Behaviour)item9.GetComponent()).enabled = false; ((Collider)item9.GetComponent()).enabled = false; LinqExtensions.ForEach((IEnumerable)item9.GetComponentsInChildren(), (Action)delegate(Renderer rend) { if (((Object)rend.material).name.Contains("M_Rock")) { rend.material = Plugin.ProcessedMaterials["M_Rock_ice"]; } }); } gbs["Alpine_geyserhell"].SetActive(false); gbs["Mesa"] = new GameObject("Mesa"); gbs["Mesa"].transform.parent = plantholder_AM.transform; gbs["Mesa_Base"] = new GameObject("Base"); gbs["Mesa_Base"].transform.parent = gbs["Mesa"].transform; gbs["Mesa_Base_Rocks"] = new GameObject("Rocks"); gbs["Mesa_Base_Rocks"].transform.parent = gbs["Mesa_Base"].transform; Spawner.Spawn("Desert_Rock 2", new Vector3(-20.83f, 1.45f, 56.78f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Mesa_Base_Rocks"].transform); Spawner.Spawn("Desert_Rock 3", new Vector3(-21.45f, 1.8f, 55.22f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Mesa_Base_Rocks"].transform); Spawner.Spawn("Desert_Rock 4", new Vector3(-21.93f, 2.51f, 55.82f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Mesa_Base_Rocks"].transform); Spawner.Spawn("Desert_Rock 5", new Vector3(-22.16f, 4.21f, 55.42f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Mesa_Base_Rocks"].transform); Spawner.Spawn("Desert_Rock 6", new Vector3(-21.65f, 2.88f, 54.42f), new Vector3(0f, 0f, 0f), 0.2f, gbs["Mesa_Base_Rocks"].transform); Spawner.Spawn("Desert_Rock 1", new Vector3(-21.77f, 3.19f, 56.3f), new Vector3(0f, 25f, 0f), 0.1f, gbs["Mesa_Base_Rocks"].transform); Spawner.Spawn("Desert_Rock 1", new Vector3(-21.91f, 1.45f, 56.67f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Mesa_Base_Rocks"].transform); gbs["Mesa_Base_Props"] = new GameObject("Props"); gbs["Mesa_Base_Props"].transform.parent = gbs["Mesa_Base"].transform; List list11 = new List(3) { Spawner.Spawn("Dynamite", new Vector3(-21.47f, 1.49f, 57.75f), new Vector3(0f, 0f, 0f), 0.25f, gbs["Mesa_Base_Props"].transform, isRigidBody: true), Spawner.Spawn("Dynamite", new Vector3(-19.36f, 1.49f, 54.85f), new Vector3(0f, 45f, 0f), 0.25f, gbs["Mesa_Base_Props"].transform, isRigidBody: true), Spawner.Spawn("Dynamite", new Vector3(-21.08f, 3.12f, 55.29f), new Vector3(0f, 90f, 0f), 0.25f, gbs["Mesa_Base_Props"].transform, isRigidBody: true) }; List list12 = new List(1) { Spawner.Spawn("Tornado", new Vector3(-19.75f, 1.42f, 56.22f), new Vector3(0f, 0f, 0f), 0.007f, gbs["Mesa_Base_Props"].transform) }; List list13 = new List(2) { Spawner.Spawn("Scorpion", new Vector3(-20.55f, 4.58f, 55.41f), new Vector3(0f, 50f, 0f), 0.25f, gbs["Mesa_Base_Props"].transform), Spawner.Spawn("Scorpion", new Vector3(-20.5f, 2.02f, 55.3f), new Vector3(0f, 90f, 0f), 0.25f, gbs["Mesa_Base_Props"].transform) }; List list14 = new List(2) { Spawner.Spawn("tumbleweed", new Vector3(-19.69f, 1.55f, 52.78f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.75f, gbs["Mesa_Base_Props"].transform), Spawner.Spawn("tumbleweed", new Vector3(-20.92f, 1.55f, 57.86f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_Base_Props"].transform) }; List list15 = new List(3) { Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-21.41f, 5.39f, 55.68f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Mesa_Base_Props"].transform), Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-20.75f, 2.15f, 54.7f), new Vector3(0f, 0f, 330f), 0.1f, gbs["Mesa_Base_Props"].transform), Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-19.94f, 1.53f, 57.38f), new Vector3(15f, 43f, 0f), 0.1f, gbs["Mesa_Base_Props"].transform) }; gbs["Mesa_Base_Enterence"] = new GameObject("Tomb Enterences"); gbs["Mesa_Base_Enterence"].transform.parent = gbs["Mesa_Base"].transform; GameObject val8 = Spawner.Spawn("Desert_Rock 3_E", new Vector3(-19.77f, 1.87f, 53.88f), new Vector3(0f, 0f, 0f), 0.07f, gbs["Mesa_Base_Enterence"].transform); if ((Object)(object)val8 != (Object)null) { gbs["Mesa_Base_Enterence_Open"] = val8; val8.SetActive(false); ((Object)val8).name = "[OPEN] " + ((Object)val8).name; } GameObject val9 = Spawner.Spawn("Desert_Rock 1", new Vector3(-19.77f, 1.55f, 53.88f), new Vector3(0f, 0f, 0f), 0.1f, gbs["Mesa_Base_Enterence"].transform); if ((Object)(object)val9 != (Object)null) { gbs["Mesa_Base_Enterence_Closed"] = val9; ((Object)val9).name = "[CLOSED] " + ((Object)val9).name; } gbs["Mesa_novariant"] = new GameObject("Default"); gbs["Mesa_novariant"].transform.parent = gbs["Mesa"].transform; gbs["Mesa_tornadohell"] = new GameObject("TornadoHell"); gbs["Mesa_tornadohell"].transform.parent = gbs["Mesa"].transform; list12.Add(Spawner.Spawn("Tornado", new Vector3(-19.92f, 1.45f, 54.95f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.005f, 0.009f), gbs["Mesa_tornadohell"].transform)); list12.Add(Spawner.Spawn("Tornado", new Vector3(-19.19f, 1.45f, 53.38f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.005f, 0.009f), gbs["Mesa_tornadohell"].transform)); list12.Add(Spawner.Spawn("Tornado", new Vector3(-21.41f, 1.45f, 57.94f), new Vector3(0f, (float)Random.Range(0, 359), 0f), Random.Range(0.005f, 0.009f), gbs["Mesa_tornadohell"].transform)); gbs["Mesa_dynamitehell"] = new GameObject("DynamiteHell"); gbs["Mesa_dynamitehell"].transform.parent = gbs["Mesa"].transform; list11.Add(Spawner.Spawn("Dynamite", new Vector3(-19.89f, 1.48f, 54.56f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-20.07f, 1.48f, 55.34f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-19.33f, 1.48f, 56.54f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-19.98f, 1.57f, 57.46f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-19.9f, 2.32f, 56.83f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-20.35f, 2.53f, 56.25f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-20.96f, 2.28f, 55.06f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-20.9f, 3.3f, 54.63f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-21.3f, 3.06f, 55.65f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-20.23f, 3.26f, 56.46f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-20.57f, 3.02f, 57.55f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-20.52f, 4.13f, 55.82f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-21.05f, 5.15f, 55.25f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-21.39f, 5.41f, 54.79f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-21.55f, 5.08f, 56.36f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-20.81f, 4.6f, 57.06f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-21.71f, 3.17f, 56.97f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); list11.Add(Spawner.Spawn("Dynamite", new Vector3(-21.82f, 1.93f, 57.07f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.25f, gbs["Mesa_dynamitehell"].transform, isRigidBody: true)); gbs["Mesa_cactushell"] = new GameObject("CactusHell"); gbs["Mesa_cactushell"].transform.parent = gbs["Mesa"].transform; list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-20.01f, 1.45f, 54.79f), new Vector3(0f, 0f, 350f), 0.1f, gbs["Mesa_cactushell"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-20.28f, 2.23f, 56.05f), new Vector3(350f, 0f, 350f), 0.1f, gbs["Mesa_cactushell"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-20.79f, 3.24f, 54.69f), new Vector3(15f, 0f, 340f), 0.1f, gbs["Mesa_cactushell"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-21.17f, 2.94f, 57.56f), new Vector3(15f, 15f, 0f), 0.1f, gbs["Mesa_cactushell"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-20.99f, 5.1f, 55.24f), new Vector3(5f, 15f, 0f), 0.1f, gbs["Mesa_cactushell"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-21.65f, 5.01f, 56.31f), new Vector3(0f, 270f, 5f), 0.1f, gbs["Mesa_cactushell"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-20.36f, 4.7f, 56.5f), new Vector3(0f, 90f, 0f), 0.1f, gbs["Mesa_cactushell"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-20.27f, 3.03f, 57.37f), new Vector3(350f, 180f, 5f), 0.1f, gbs["Mesa_cactushell"].transform)); gbs["Mesa_cactusforest"] = new GameObject("CactusForest"); gbs["Mesa_cactusforest"].transform.parent = gbs["Mesa"].transform; list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-20.01f, 1.45f, 55.76f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.1f, gbs["Mesa_cactusforest"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-19.31f, 1.45f, 55.73f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.1f, gbs["Mesa_cactusforest"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-19.38f, 1.45f, 55.02f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.1f, gbs["Mesa_cactusforest"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-19.91f, 1.45f, 54.58f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.1f, gbs["Mesa_cactusforest"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-19.16f, 1.45f, 52.44f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.1f, gbs["Mesa_cactusforest"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-19.66f, 1.45f, 56.67f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.1f, gbs["Mesa_cactusforest"].transform)); list15.Add(Spawner.Spawn(ExtCollections.PGetRandom(mesa_cacti), new Vector3(-19.13f, 1.45f, 53.67f), new Vector3((float)Random.Range(0, 5), (float)Random.Range(0, 359), (float)Random.Range(0, 5)), 0.1f, gbs["Mesa_cactusforest"].transform)); gbs["Mesa_tumblerhell"] = new GameObject("TumblerHell"); gbs["Mesa_tumblerhell"].transform.parent = gbs["Mesa"].transform; list14.Add(Spawner.Spawn("tumbleweed", new Vector3(-20.01f, 1.55f, 54.95f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_tumblerhell"].transform)); list14.Add(Spawner.Spawn("tumbleweed", new Vector3(-19.47f, 1.55f, 55.08f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.2f, gbs["Mesa_tumblerhell"].transform)); list14.Add(Spawner.Spawn("tumbleweed", new Vector3(-19.47f, 1.65f, 55.88f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.5f, gbs["Mesa_tumblerhell"].transform)); list14.Add(Spawner.Spawn("tumbleweed", new Vector3(-20.88f, 2.35f, 55.06f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_tumblerhell"].transform)); gbs["Mesa_scorpionshell"] = new GameObject("ScorpionsHell"); gbs["Mesa_scorpionshell"].transform.parent = gbs["Mesa"].transform; list13.Add(Spawner.Spawn("Scorpion", new Vector3(-20.52f, 4.66f, 56.72f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); list13.Add(Spawner.Spawn("Scorpion", new Vector3(-21.7f, 1.45f, 57.68f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); list13.Add(Spawner.Spawn("Scorpion", new Vector3(-20.55f, 2.27f, 55.94f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); list13.Add(Spawner.Spawn("Scorpion", new Vector3(-20.97f, 3.3f, 54.69f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); list13.Add(Spawner.Spawn("Scorpion", new Vector3(-21.58f, 5.38f, 54.93f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); list13.Add(Spawner.Spawn("Scorpion", new Vector3(-20.17f, 1.45f, 55.65f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); list13.Add(Spawner.Spawn("Scorpion", new Vector3(-19.81f, 1.45f, 54.76f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); list13.Add(Spawner.Spawn("Scorpion", new Vector3(-21.18f, 2.88f, 57.55f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); list13.Add(Spawner.Spawn("Scorpion", new Vector3(-20.2f, 3.03f, 57.29f), new Vector3(0f, (float)Random.Range(0, 359), 0f), 0.25f, gbs["Mesa_scorpionshell"].transform)); foreach (GameObject item11 in list11) { if ((Object)(object)item11 == (Object)null) { continue; } foreach (GameObject item12 in ExtTransform.PGetChildGameObjects(item11)) { if (((Object)item12).name != "Dynamite") { item12.SetActive(false); } } Object.DestroyImmediate((Object)(object)item11.GetComponent()); Object.DestroyImmediate((Object)(object)item11.GetComponent()); Object.DestroyImmediate((Object)(object)item11.GetComponent()); Object.DestroyImmediate((Object)(object)item11.GetComponent()); Object.DestroyImmediate((Object)(object)item11.GetComponent()); } foreach (GameObject item13 in list12) { if ((Object)(object)item13 == (Object)null) { continue; } foreach (GameObject item14 in ExtTransform.PGetChildGameObjects(item13)) { if (((Object)item14).name != "TornadoBottom" && ((Object)item14).name != "TornadoMain_1") { item14.SetActive(false); } } ((Behaviour)item13.GetComponent()).enabled = false; ((Behaviour)item13.GetComponent()).enabled = false; ((Behaviour)item13.GetComponent()).enabled = false; LinqExtensions.ForEach((IEnumerable)item13.GetComponentsInChildren(), (Action)delegate(Animator an) { ((Behaviour)an).enabled = false; }); LinqExtensions.ForEach((IEnumerable)item13.GetComponentsInChildren(), (Action)delegate(TombCheck tc) { ((Behaviour)tc).enabled = false; }); } foreach (GameObject item15 in list13) { if ((Object)(object)item15 == (Object)null) { continue; } foreach (GameObject item16 in ExtTransform.PGetChildGameObjects(item15)) { if (((Object)item16).name != "VisualParent") { item16.SetActive(false); continue; } ExtTransform.PGetChildGameObjects(item16).ForEach(delegate(GameObject vp) { if (((Object)vp).name == "ScorpionModel") { ExtTransform.PGetChildGameObjects(vp).ForEach(delegate(GameObject sm) { if (((Object)sm).name != "Bingbong" && ((Object)sm).name != "Body") { sm.SetActive(false); } }); } }); } ((Behaviour)item15.GetComponent()).enabled = false; ((Behaviour)item15.GetComponent()).enabled = false; ((Behaviour)item15.GetComponent()).enabled = false; ((Behaviour)item15.GetComponent()).enabled = false; LinqExtensions.ForEach((IEnumerable)item15.GetComponentsInChildren(), (Action)delegate(Animator an) { an.speed = 0f; }); LinqExtensions.ForEach((IEnumerable)item15.GetComponentsInChildren(), (Action)delegate(AnimationVFX vfx) { ((Behaviour)vfx).enabled = false; }); Object.Destroy((Object)(object)item15.GetComponent()); Object.Destroy((Object)(object)item15.GetComponent()); } foreach (GameObject item17 in list14) { if (!((Object)(object)item17 == (Object)null)) { Object.DestroyImmediate((Object)(object)item17.GetComponent()); Object.DestroyImmediate((Object)(object)item17.GetComponent()); Object.DestroyImmediate((Object)(object)item17.GetComponent()); Object.DestroyImmediate((Object)(object)item17.GetComponent()); Object.DestroyImmediate((Object)(object)item17.GetComponent()); Object.DestroyImmediate((Object)(object)item17.GetComponent()); } } foreach (GameObject item18 in list15) { if (!((Object)(object)item18 == (Object)null)) { LinqExtensions.ForEach((IEnumerable)item18.GetComponentsInChildren(), (Action)delegate(CollisionModifier cm) { Object.Destroy((Object)(object)cm); }); LinqExtensions.ForEach((IEnumerable)item18.GetComponentsInChildren(), (Action)delegate(StickyCactus sc) { Object.Destroy((Object)(object)sc); }); } } LinqExtensions.ForEach((IEnumerable)plantholder_overhaul.GetComponentsInChildren(true), (Action)delegate(LODGroup lod) { lod.size *= 100f; }); return true; } public static void SwitchBiomes(string map) { string gameVersion = Plugin.GetGameVersion(); MapsInfo value = null; MapInfo value2 = null; if (Plugin.maps_data != null) { bool flag = Plugin.maps_data.GameVersions.TryGetValue(gameVersion, out value) && value.Maps.TryGetValue(map, out value2); } if (value == null) { Plugin.Log.LogError((object)("Failed to switch biomes: level \"" + map + "\" just does not exist. Using fallback: today's biomes with no variants.")); Plugin.Log.LogDebug((object)("Biomes for \"" + Plugin.GetTodaysMap() + "\" are \"" + Plugin.GetTodaysBiomes() + "\".")); value2 = new MapInfo(Plugin.GetTodaysBiomes()); } else if (value2 == null) { Plugin.Log.LogError((object)("Failed to switch biomes: no information collected for \"" + map + "\". Using fallback: biomes without variants.")); try { Plugin.Log.LogDebug((object)("Biomes for \"" + map + "\" are \"" + Plugin.GetMapsBiomes(map) + "\".")); value2 = new MapInfo(Plugin.GetMapsBiomes(map)); } catch (Exception ex) { Plugin.Log.LogError((object)"Failed to switch biomes: something weird happened! Will halt biome switching. Here is the exception:"); Plugin.Log.LogError((object)ex); return; } } SwitchBiomes(value2); } public static void SwitchBiomes(MapInfo map_info) { if ((Object)(object)plantholder_AM == (Object)null || (Object)(object)plantholder_TR == (Object)null) { throw new Exception("Airport biome switcher can't switch the biomes: plantholders are null"); } if ((Object)(object)text_AM == (Object)null || (Object)(object)text_TR == (Object)null) { throw new Exception("Airport biome switcher can't switch the biomes: texts in the world are null"); } foreach (GameObject item in ExtTransform.PGetChildGameObjects(plantholder_AM)) { foreach (GameObject item2 in ExtTransform.PGetChildGameObjects(item)) { item2.SetActive(false); } item.SetActive(false); } foreach (GameObject item3 in ExtTransform.PGetChildGameObjects(plantholder_TR)) { foreach (GameObject item4 in ExtTransform.PGetChildGameObjects(item3)) { item4.SetActive(false); } item3.SetActive(false); } foreach (KeyValuePair aVAILABLE_BIOME in AVAILABLE_BIOMES) { if (!gbs.ContainsKey(aVAILABLE_BIOME.Value)) { continue; } if (map_info.BiomeString.Contains(aVAILABLE_BIOME.Key)) { gbs[aVAILABLE_BIOME.Value].SetActive(true); gbs[aVAILABLE_BIOME.Value + "_Base"].SetActive(true); if (map_info.BiomeVariants.ContainsKey(aVAILABLE_BIOME.Value)) { foreach (string item5 in map_info.BiomeVariants[aVAILABLE_BIOME.Value]) { if (gbs.ContainsKey(aVAILABLE_BIOME.Value + "_" + item5)) { gbs[aVAILABLE_BIOME.Value + "_" + item5].SetActive(true); } } } if (aVAILABLE_BIOME.Key == "T") { ((TMP_Text)text_TR.GetComponent()).text = FormatBiomeText(GetBiomeTexts("Tropics", "008040", "006633", map_info), "\n"); Renderer component = plantholder_TR.GetComponent(); Material mat_rock2 = Plugin.ProcessedMaterials["M_Rock_Tropics"]; Material mat_treeleaves1 = Plugin.ProcessedMaterials["M_FoliagePack TreeLeaves 1"]; Material mat_treeleaves2 = Plugin.ProcessedMaterials["M_FoliagePack TreeLeaves 2"]; Material mat_palmtreeleaves1 = Plugin.ProcessedMaterials["M_Foliage_Palmtree 5"]; gbs["Tropics_Base_Shrooms"].SetActive(true); gbs["Tropics_Base_Thorns"].SetActive(true); gbs["Tropics_Base_Vegetation"].SetActive(true); if (map_info.BiomeVariants.ContainsKey("Tropics")) { if (map_info.BiomeVariants["Tropics"].Contains("ivy")) { mat_rock2 = Plugin.ProcessedMaterials["M_Rock_Tropics_Ivy"]; mat_treeleaves1 = Plugin.ProcessedMaterials["M_FoliagePack TreeLeaves 1_Ivy"]; mat_treeleaves2 = Plugin.ProcessedMaterials["M_FoliagePack TreeLeaves 2_Ivy"]; mat_palmtreeleaves1 = Plugin.ProcessedMaterials["M_Foliage_PalmtreeLeaf_Ivy"]; gbs["Tropics_Base_Shrooms"].SetActive(false); gbs["Tropics_Base_Thorns"].SetActive(false); gbs["Tropics_Base_Vegetation"].SetActive(false); } else if (map_info.BiomeVariants["Tropics"].Contains("bombs")) { mat_rock2 = Plugin.ProcessedMaterials["M_Rock_Tropics_Bombs"]; mat_treeleaves1 = Plugin.ProcessedMaterials["M_FoliagePack TreeLeaves 1_Bomb"]; mat_treeleaves2 = Plugin.ProcessedMaterials["M_FoliagePack TreeLeaves 2_Bomb"]; gbs["Tropics_Base_Shrooms"].SetActive(false); gbs["Tropics_Base_Thorns"].SetActive(false); } } List list = component.materials.ToList(); list[3] = mat_rock2; component.SetMaterials(list); Renderer[] componentsInChildren = plantholder_TR.GetComponentsInChildren(); Renderer[] array = componentsInChildren; foreach (Renderer val in array) { Material[] r_mats2 = val.materials; LinqExtensions.ForEach((IEnumerable)r_mats2, (Action)delegate(Material r_mat, int ind) { if (((Object)r_mat).name.Contains("M_Rock")) { r_mats2[ind] = mat_rock2; } if (((Object)r_mat).name.Contains("M_FoliagePack TreeLeaves 1")) { r_mats2[ind] = mat_treeleaves1; } if (((Object)r_mat).name.Contains("M_FoliagePack TreeLeaves 2")) { r_mats2[ind] = mat_treeleaves2; } if (((Object)r_mat).name.Contains("M_Foliage_Palmtree 5") || ((Object)r_mat).name.Contains("M_Foliage_PalmtreeLeaf")) { r_mats2[ind] = mat_palmtreeleaves1; } if (((Object)r_mat).name.Contains("M_Foliage Monstera") && !((Object)r_mat).name.Contains("Monstera 1")) { r_mats2[ind] = Plugin.ProcessedMaterials["M_Foliage Monstera"]; } if (((Object)r_mat).name.Contains("M_Foliage Monstera 1")) { r_mats2[ind] = Plugin.ProcessedMaterials["M_Foliage Monstera 1"]; } if (((Object)r_mat).name.Contains("M_Foliage Ivy")) { r_mats2[ind] = Plugin.ProcessedMaterials["M_Foliage Ivy"]; } if (((Object)r_mat).name.Contains("M_Foliage Generic")) { r_mats2[ind] = Plugin.ProcessedMaterials["M_Foliage Generic"]; } }); val.SetMaterials(r_mats2.ToList()); } } if (aVAILABLE_BIOME.Key == "R") { ((TMP_Text)text_TR.GetComponent()).text = FormatBiomeText(GetBiomeTexts("Roots", "66cc00", "4d9900", map_info), "\n"); Material mat_rock = Plugin.ProcessedMaterials["M_Forest_rock"]; Renderer component2 = plantholder_TR.GetComponent(); List list2 = component2.materials.ToList(); list2[3] = mat_rock; if (map_info.BiomeVariants.ContainsKey("Roots") && map_info.BiomeVariants["Roots"].Contains("deepwater")) { list2[3] = Plugin.ProcessedMaterials["M_Water_forest 1"]; } component2.SetMaterials(list2); Renderer[] componentsInChildren2 = plantholder_TR.GetComponentsInChildren(); Renderer[] array2 = componentsInChildren2; foreach (Renderer val2 in array2) { Material[] r_mats = val2.materials; LinqExtensions.ForEach((IEnumerable)r_mats, (Action)delegate(Material r_mat, int ind) { if (((Object)r_mat).name.Contains("M_Rock")) { r_mats[ind] = mat_rock; } }); val2.SetMaterials(r_mats.ToList()); } } if (aVAILABLE_BIOME.Key == "A") { ((TMP_Text)text_AM.GetComponent()).text = FormatBiomeText(GetBiomeTexts("Alpine", "4de1ff", "33ddff", map_info), "\n"); Renderer component3 = plantholder_AM.GetComponent(); List list3 = component3.materials.ToList(); list3[3] = Plugin.ProcessedMaterials["M_Rock_ice"]; component3.SetMaterials(list3); } if (aVAILABLE_BIOME.Key == "M") { ((TMP_Text)text_AM.GetComponent()).text = FormatBiomeText(GetBiomeTexts("Mesa", "b38600", "997300", map_info), "\n"); Renderer component4 = plantholder_AM.GetComponent(); List list4 = component4.materials.ToList(); list4[3] = Plugin.Materials["M_DesertSand"]; component4.SetMaterials(list4); GameObject obj = gbs["Mesa_Base_Enterence_Open"]; if (obj != null) { obj.SetActive(map_info.Mesa_IsTombOpen); } GameObject obj2 = gbs["Mesa_Base_Enterence_Closed"]; if (obj2 != null) { obj2.SetActive(!map_info.Mesa_IsTombOpen); } } continue; } foreach (GameObject item6 in ExtTransform.PGetChildGameObjects(gbs[aVAILABLE_BIOME.Value])) { item6.SetActive(false); } gbs[aVAILABLE_BIOME.Value].SetActive(false); } } public static List GetBiomeTexts(string biome, string hex1, string hex2, MapInfo map_info, bool showtomb = true) { List list = new List(); if (map_info.BiomeVariants.ContainsKey(biome)) { list.Add(MenuManager.StripeLinePaint(Plugin.GetText(biome), hex1, hex2)); if (map_info.BiomeVariants[biome].Count > 0 && Plugin.GetTextExistence(biome + "_VARIANT_" + map_info.BiomeVariants[biome][0])) { list.Add(Plugin.GetText(biome + "_VARIANT_" + map_info.BiomeVariants[biome][0])); if (showtomb && biome == "Mesa") { list.Add(Plugin.GetText("MESA_TOMB") + " " + Plugin.GetText(map_info.Mesa_IsTombOpen ? "MESA_TOMB_OPEN" : "MESA_TOMB_CLOSED")); } } else { list.Add("<#ffff22>" + Plugin.GetText("VARIANT_UNKNOWN") + " (" + map_info.BiomeVariants[biome][0] + ")"); } } return list; } public static string FormatBiomeText(List biome_text, string divider) { List biome_text2 = biome_text; string divider2 = divider; string text = ""; LinqExtensions.ForEach((IEnumerable)biome_text2, (Action)delegate(string txt, int ind) { text += txt; if (ind + 1 < biome_text2.Count) { text += divider2; } }); return text; } } [HarmonyPatch(typeof(Pretitle), "Start")] public static class PretitlePatch { [HarmonyPrefix] public static bool PretitleStartPatch(Pretitle __instance) { Plugin.is_startup = true; LocalizationPatch.LoadMainTable(); CustomGameLoader.CreateBlackoutOverlay(); Time.timeScale = 0f; bool loading_long = Plugin.cfg_collectBiomeData != null && Plugin.cfg_collectBiomeData.Value; bool forced_every_scene = Plugin.cfg_collectBiomeData_forced != null && Plugin.cfg_collectBiomeData_forced.Value; ((MonoBehaviour)__instance).StartCoroutine(CustomGameLoader.PreloadScenes(__instance, loading_long, forced_every_scene)); return false; } } public static class CustomGameLoader { [StructLayout(LayoutKind.Auto)] [CompilerGenerated] private struct <>c__DisplayClass2_0 { public Pretitle pretitle; } [CompilerGenerated] private sealed class d__2 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public Pretitle pretitle; public bool forced_every_scene; public bool loading_long; private <>c__DisplayClass2_0 <>8__1; private List 5__2; private int 5__3; private string 5__4; private Scene 5__5; private AsyncOperation 5__6; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__2(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>8__1 = default(<>c__DisplayClass2_0); 5__2 = null; 5__4 = null; 5__6 = null; <>1__state = -2; } private bool MoveNext() { //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_0225: Unknown result type (might be due to invalid IL or missing references) AsyncOperation val; switch (<>1__state) { default: return false; case 0: { <>1__state = -1; <>8__1.pretitle = pretitle; if (forced_every_scene) { loading_long = true; } if (Plugin.is_initialized) { g__end_preload|2_0(ref <>8__1); return false; } string gameVersion = Plugin.GetGameVersion(); 5__2 = new List(1) { "WilIsland" }; string[] array = Array.Empty(); FieldInfo field = ((object)SingletonAsset.Instance).GetType().GetField("AllLevels"); if (field != null) { array = (string[])field.GetValue(SingletonAsset.Instance); } else { FieldInfo field2 = ((object)SingletonAsset.Instance).GetType().GetField("ScenePaths"); if (field2 != null) { array = (string[])field2.GetValue(SingletonAsset.Instance); } else { Plugin.Log.LogError((object)"Can't access methods AllLevels and ScenePaths! =("); } } string[] array2 = array; foreach (string text in array2) { string text2 = PathUtil.WithoutExtensions(PathUtil.GetFileName(text)); if (!Plugin.maps_data.GameVersions[gameVersion].Maps.ContainsKey(text2) || forced_every_scene) { 5__2.Add(text2); } } 5__3 = 0; goto IL_0370; } case 1: <>1__state = -1; goto IL_0243; case 2: <>1__state = -1; goto IL_0301; case 3: { <>1__state = -1; GC.Collect(); Plugin.Log.LogInfo((object)("Done with scene " + 5__4)); if (!loading_long) { break; } 5__4 = null; 5__6 = null; 5__3++; goto IL_0370; } IL_0301: if (!5__6.isDone) { <>2__current = null; <>1__state = 2; return true; } <>2__current = Resources.UnloadUnusedAssets(); <>1__state = 3; return true; IL_0243: if (!((Scene)(ref 5__5)).isLoaded) { <>2__current = null; <>1__state = 1; return true; } if (5__4 == "WilIsland") { Plugin.Log.LogInfo((object)"It's WilIsland! Initializing assets for future use..."); Plugin.Init(); } Plugin.Log.LogInfo((object)"Disabling objects..."); DisableObjectsInScene(5__4); DisableObjectInSceneExcept("Pretitle", new string[3] { "Pretitle", "EventSystem", "BlackoutCanvas" }); Plugin.Log.LogInfo((object)("Unloading " + 5__4 + "...")); 5__6 = SceneManager.UnloadSceneAsync(5__4); goto IL_0301; IL_0370: if (5__3 >= 5__2.Count) { break; } 5__4 = 5__2[5__3]; AddStatusTextToCanvas(_blackoutCanvas, Plugin.GetText("LOADING" + (loading_long ? "_LONG" : "") + ((loading_long & forced_every_scene) ? "_FORCED" : ""), 5__3 + 1, 5__2.Count, 5__4)); Plugin.Log.LogInfo((object)("Loading " + 5__4 + " in additive mode to memory.")); val = SceneManager.LoadSceneAsync(5__4, (LoadSceneMode)1); 5__5 = SceneManager.GetSceneByName(5__4); goto IL_0243; } g__end_preload|2_0(ref <>8__1); return false; } 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 GameObject? _blackoutCanvas; public static void AnalyzeLevelOnSceneLoad(Scene scene, LoadSceneMode mode) { if (!((Scene)(ref scene)).name.StartsWith("Wil") && !((Scene)(ref scene)).name.StartsWith("Level_")) { return; } MapInfo mapInfo = LevelAnalyzer.AnalyzeLevel(((Scene)(ref scene)).name); if (mapInfo != null) { MapsInfo mapsInfo = Plugin.maps_data.GameVersions[Plugin.GetGameVersion()]; if (mapsInfo != null) { mapsInfo.Maps[((Scene)(ref scene)).name] = mapInfo; } if (Plugin.is_startup) { Plugin.Log.LogInfo((object)"AnalyzeLevelOnSceneLoad Disabling objects..."); DisableObjectsInScene(((Scene)(ref scene)).name); DisableObjectInSceneExcept("Pretitle", new string[3] { "Pretitle", "EventSystem", "BlackoutCanvas" }); } Plugin.SaveMapData(); } } [IteratorStateMachine(typeof(d__2))] public static IEnumerator PreloadScenes(Pretitle pretitle, bool loading_long = false, bool forced_every_scene = false) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__2(0) { pretitle = pretitle, loading_long = loading_long, forced_every_scene = forced_every_scene }; } public static void CreateBlackoutOverlay() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Expected O, but got Unknown //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Expected O, but got Unknown //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject("BlackoutCanvas"); Canvas val2 = val.AddComponent(); val2.renderMode = (RenderMode)0; val2.sortingOrder = 9999; GameObject val3 = new GameObject("BlackPanel"); val3.transform.SetParent(val.transform); RectTransform val4 = val3.AddComponent(); val4.anchorMin = Vector2.zero; val4.anchorMax = Vector2.one; val4.offsetMin = Vector2.zero; val4.offsetMax = Vector2.zero; Image val5 = val3.AddComponent(); ((Graphic)val5).color = Color.black; _blackoutCanvas = val; } private static void RemoveBlackoutOverlay() { if ((Object)(object)_blackoutCanvas != (Object)null) { Object.Destroy((Object)(object)_blackoutCanvas); _blackoutCanvas = null; } } public static void AddStatusTextToCanvas(GameObject? existingCanvas, string message) { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected O, but got Unknown //IL_006d: 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_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)existingCanvas == (Object)null)) { TextMeshProUGUI componentInChildren = existingCanvas.GetComponentInChildren(); if ((Object)(object)componentInChildren != (Object)null) { ((TMP_Text)componentInChildren).text = message; return; } GameObject val = new GameObject("LoadingStatus"); val.transform.SetParent(existingCanvas.transform, false); TextMeshProUGUI val2 = val.AddComponent(); ((TMP_Text)val2).text = message; ((TMP_Text)val2).fontSize = 22f; ((Graphic)val2).color = new Color(1f, 1f, 1f, 0.9f); ((TMP_Text)val2).alignment = (TextAlignmentOptions)1025; RectTransform component = val.GetComponent(); component.anchorMin = new Vector2(0f, 0f); component.anchorMax = new Vector2(0f, 0f); component.pivot = new Vector2(0f, 0f); component.anchoredPosition = new Vector2(30f, 30f); component.sizeDelta = new Vector2(700f, 80f); } } private static void DisableObjectsInScene(string scene) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) Scene sceneByName = SceneManager.GetSceneByName(scene); if (((Scene)(ref sceneByName)).IsValid()) { LinqExtensions.ForEach((IEnumerable)((Scene)(ref sceneByName)).GetRootGameObjects(), (Action)delegate(GameObject gb) { gb.SetActive(false); }); } } private static void DisableObjectInSceneExcept(string scene, string[] except) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) string[] except2 = except; Scene sceneByName = SceneManager.GetSceneByName(scene); if (!((Scene)(ref sceneByName)).IsValid()) { return; } LinqExtensions.ForEach((IEnumerable)((Scene)(ref sceneByName)).GetRootGameObjects(), (Action)delegate(GameObject gb) { if (!except2.Contains(((Object)gb.gameObject).name)) { gb.SetActive(false); } }); } [CompilerGenerated] internal static void g__end_preload|2_0(ref <>c__DisplayClass2_0 P_0) { ((MonoBehaviour)P_0.pretitle).StartCoroutine(P_0.pretitle.LoadTitle()); Plugin.Log.LogInfo((object)"Done loading pretitle"); Plugin.is_startup = false; ((MonoBehaviour)P_0.pretitle).StartCoroutine(P_0.pretitle.PreloadScene()); if (!P_0.pretitle.allowedToSwitch) { Time.timeScale = 1f; } RemoveBlackoutOverlay(); Plugin.SaveMapData(); Plugin.is_initialized = true; } } [Serializable] public class MapInfo { public string BiomeString; public bool Mesa_IsTombOpen; public Dictionary> BiomeVariants; public MapInfo(string biomeString = "") { BiomeString = biomeString; Mesa_IsTombOpen = false; BiomeVariants = new Dictionary>(); } } [Serializable] public class MapsInfo { [JsonProperty] public Dictionary Maps { get; set; } = new Dictionary(); } [Serializable] public class FullGameData { [JsonProperty] public Dictionary GameVersions { get; set; } = new Dictionary(); } internal class LevelAnalyzer { public static Dictionary variant_map = new Dictionary { { "- redwoods default variant", "default" }, { "- cave mania variant", "cavemania" }, { "- deep water variant", "deepwater" }, { "- bomb beetle variant", "bombbeetle" }, { "- redwoods deep woods variant", "deepwoods" }, { "- redwood clearcut variant", "clearcut" }, { "cacushell", "cactushell" }, { "scorpionhell", "scorpionshell" } }; public static string RemapVariant(string raw) { raw = raw.ToLower(); if (!variant_map.ContainsKey(raw)) { return raw; } return variant_map[raw]; } public static MapInfo? AnalyzeLevel(string levelName) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Expected O, but got Unknown //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Expected O, but got Unknown //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Expected O, but got Unknown //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Expected O, but got Unknown //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Expected O, but got Unknown //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Expected O, but got Unknown //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Expected O, but got Unknown //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Expected O, but got Unknown //IL_0740: Unknown result type (might be due to invalid IL or missing references) //IL_0747: Expected O, but got Unknown //IL_0747: Unknown result type (might be due to invalid IL or missing references) //IL_074e: Expected O, but got Unknown //IL_074e: Unknown result type (might be due to invalid IL or missing references) //IL_0755: Expected O, but got Unknown //IL_0755: Unknown result type (might be due to invalid IL or missing references) //IL_075c: Expected O, but got Unknown //IL_0a18: Unknown result type (might be due to invalid IL or missing references) //IL_0a1f: Expected O, but got Unknown MapInfo mapinfo = new MapInfo(); Scene sceneByName = SceneManager.GetSceneByName(levelName); if (!((Scene)(ref sceneByName)).IsValid()) { return null; } GameObject val = new GameObject(); GameObject[] rootGameObjects = ((Scene)(ref sceneByName)).GetRootGameObjects(); foreach (GameObject val2 in rootGameObjects) { if (((Object)val2).name == "Map") { val = val2; break; } } if (((Object)val).name != "Map") { return null; } List list = ExtTransform.PGetChildGameObjects(val); GameObject val3 = new GameObject(); GameObject val4 = new GameObject(); GameObject val5 = new GameObject(); GameObject val6 = new GameObject(); foreach (GameObject item in list) { if (((Object)item).name == "Sliding Doors") { return null; } if (((Object)item).name == "Beach") { return null; } if (((Object)item).name == "Roots") { return null; } if (((Object)item).name == "Mesa") { return null; } if (((Object)item).name == "Biome_1") { val3 = item; } if (((Object)item).name == "Biome_2") { val4 = item; } if (((Object)item).name == "Biome_3") { val5 = item; } if (((Object)item).name == "Biome_4") { val6 = item; } } GameObject val7 = new GameObject(); GameObject val8 = new GameObject(); GameObject val9 = new GameObject(); GameObject val10 = new GameObject(); GameObject val11 = new GameObject(); foreach (GameObject item2 in ExtTransform.PGetChildGameObjects(val3)) { if (((Object)item2).name == "Beach") { val7 = item2; } } foreach (GameObject item3 in ExtTransform.PGetChildGameObjects(val4)) { if (((Object)item3).name == "Tropics") { val8 = item3; } if (((Object)item3).name == "Roots") { val9 = item3; } } foreach (GameObject item4 in ExtTransform.PGetChildGameObjects(val5)) { if (((Object)item4).name == "Alpine") { val10 = item4; } if (((Object)item4).name == "Mesa") { val11 = item4; } } if (((Object)val7).name == "Beach" && val7.activeSelf) { if (val7.activeSelf) { mapinfo.BiomeString += "S"; } foreach (GameObject item5 in ExtTransform.PGetChildGameObjects(val7)) { if (((Object)item5).name == "Beach_Segment") { val7 = item5; break; } } if (((Object)val7).name == "Beach_Segment") { foreach (GameObject item6 in ExtTransform.PGetChildGameObjects(val7)) { addinfo(item6, "Shore"); } } } if (((Object)val8).name == "Tropics" && val8.activeSelf) { if (val8.activeSelf) { mapinfo.BiomeString += "T"; } foreach (GameObject item7 in ExtTransform.PGetChildGameObjects(val8)) { if (((Object)item7).name == "Jungle_Segment") { val8 = item7; break; } } if (((Object)val8).name == "Jungle_Segment") { foreach (GameObject item8 in ExtTransform.PGetChildGameObjects(val8)) { addinfo(item8, "Tropics"); } } } if (((Object)val9).name == "Roots" && val9.activeSelf) { if (val9.activeSelf) { mapinfo.BiomeString += "R"; } foreach (GameObject item9 in ExtTransform.PGetChildGameObjects(val9)) { if (((Object)item9).name == "Roots Segment") { val9 = item9; break; } } if (((Object)val9).name == "Roots Segment") { foreach (GameObject item10 in ExtTransform.PGetChildGameObjects(val9)) { if (((Object)item10).name == "PlateauProps") { val9 = item10; break; } } } if (((Object)val9).name == "PlateauProps") { foreach (GameObject item11 in ExtTransform.PGetChildGameObjects(val9)) { addinfo(item11, "Roots"); } } } if (((Object)val10).name == "Alpine" && val10.activeSelf) { if (val10.activeSelf) { mapinfo.BiomeString += "A"; } foreach (GameObject item12 in ExtTransform.PGetChildGameObjects(val10)) { if (((Object)item12).name == "Snow_Segment") { val10 = item12; break; } } if (((Object)val10).name == "Snow_Segment") { foreach (GameObject item13 in ExtTransform.PGetChildGameObjects(val10)) { addinfo(item13, "Alpine"); } } } if (((Object)val11).name == "Mesa" && val11.activeSelf) { if (val11.activeSelf) { mapinfo.BiomeString += "M"; } foreach (GameObject item14 in ExtTransform.PGetChildGameObjects(val11)) { if (((Object)item14).name == "Desert_Segment") { val11 = item14; break; } } GameObject val12 = new GameObject(); GameObject val13 = new GameObject(); GameObject val14 = new GameObject(); GameObject val15 = new GameObject(); foreach (GameObject item15 in ExtTransform.PGetChildGameObjects(val11)) { if (((Object)item15).name == "Misc") { val12 = item15; } if (((Object)item15).name == "Wall") { val13 = item15; } if (((Object)item15).name == "Platteau") { val14 = item15; } } if (((Object)val13).name == "Wall") { foreach (GameObject item16 in ExtTransform.PGetChildGameObjects(val13)) { if (((Object)item16).name == "Props") { val13 = item16; break; } } } if (((Object)val14).name == "Platteau") { foreach (GameObject item17 in ExtTransform.PGetChildGameObjects(val14)) { if (((Object)item17).name == "Props") { val15 = item17; break; } } } foreach (GameObject item18 in ExtTransform.PGetChildGameObjects(val12)) { addinfo(item18, "Mesa"); } foreach (GameObject item19 in ExtTransform.PGetChildGameObjects(val13)) { addinfo(item19, "Mesa"); } foreach (GameObject item20 in ExtTransform.PGetChildGameObjects(val15)) { addinfo(item20, "Mesa"); } foreach (GameObject item21 in ExtTransform.PGetChildGameObjects(val14)) { if (((Object)item21).name == "Rocks") { val14 = item21; break; } } if (((Object)val14).name == "Rocks") { foreach (GameObject item22 in ExtTransform.PGetChildGameObjects(val14)) { if (((Object)item22).name == "Timple") { val14 = item22; break; } } } if (((Object)val14).name == "Timple") { DesertRockSpawner val16 = default(DesertRockSpawner); val14.TryGetComponent(ref val16); GameObject val17 = new GameObject(); foreach (GameObject item23 in ExtTransform.PGetChildGameObjects(val14)) { if (((Object)item23).name == "Enterences") { val17 = item23; break; } } foreach (GameObject item24 in ExtTransform.PGetChildGameObjects(val17)) { if (((Object)item24).name == "2") { val17 = item24; break; } } foreach (GameObject item25 in ExtTransform.PGetChildGameObjects(val17)) { GameObject[] blockerObjects = val16.blockerObjects; foreach (GameObject val18 in blockerObjects) { if (((Object)item25).name == ((Object)val18).name) { mapinfo.Mesa_IsTombOpen = false; } } GameObject[] enterenceObjects = val16.enterenceObjects; foreach (GameObject val19 in enterenceObjects) { if (((Object)item25).name == ((Object)val19).name) { mapinfo.Mesa_IsTombOpen = true; } } } } } mapinfo.BiomeString += "V"; return mapinfo; void addinfo(GameObject item, string biome) { if (!mapinfo.BiomeVariants.ContainsKey(biome)) { mapinfo.BiomeVariants[biome] = new List(); } BiomeVariant val20 = default(BiomeVariant); if (item.TryGetComponent(ref val20) && item.activeSelf) { mapinfo.BiomeVariants[biome].Add(RemapVariant(((Object)item).name)); } VariantObject val21 = default(VariantObject); if (item.TryGetComponent(ref val21) && item.activeSelf) { mapinfo.BiomeVariants[biome].Add(RemapVariant(((Object)item).name)); } } } } [HarmonyPatch(typeof(PointPinger), "ReceivePoint_Rpc")] public static class PointPingerPatch { [HarmonyPrefix] public static void PointPingerStartPrefix(Vector3 point, Vector3 hitNormal, PointPinger __instance) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)__instance.character != (Object)(object)Character.localCharacter)) { Plugin.SpawnPosition = point + hitNormal / 10f; AirportPatcher.menu?.PingPointerEvent(point); } } } [HarmonyWrapSafe] [HarmonyPatch(typeof(LocalizedText), "LoadMainTable")] public static class LocalizationPatch { [HarmonyPostfix] public static void LoadMainTable() { Plugin.Log.LogDebug((object)"Calling LoadLocalizedText from patch"); Plugin.LoadLocalizedText(); } } [HarmonyPatch(typeof(GameHandler), "OnSceneLoaded")] public static class GHLoadScenePatch { [HarmonyPostfix] public static void Postfix(Scene scene, LoadSceneMode mode) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Invalid comparison between Unknown and I4 if ((int)mode == 1 && ((Scene)(ref scene)).name == "WilIsland") { Debug.LogWarning((object)global::.9846C6C1D0A10F08B0709A60A4985F5B.s); } } } [BepInPlugin("Murka124.PlantholderOverhaul", "Plantholder Overhaul", "0.0.2")] public class Plugin : BaseUnityPlugin { private static Harmony _h = new Harmony(Name); public static Texture3D? _customLightMap; public static Vector3 SpawnPosition = new Vector3(0f, 0f, 0f); public static Dictionary Materials = new Dictionary { { "M_Rock", null }, { "M_GiantTree", null }, { "M_SporeShroomPoison", null }, { "M_SporeShroomExplo", null }, { "M_FoliagePack TreeLeaves 1", null }, { "M_FoliagePack TreeLeaves 2", null }, { "M_Foliage_Palmtree 1", null }, { "M_Foliage_Palmtree 5", null }, { "M_Foliage_Bush 2", null }, { "M_Foliage_Bush 3", null }, { "M_Thorns 2", null }, { "M_Foliage Monstera", null }, { "M_Foliage Monstera 1", null }, { "M_Foliage Generic", null }, { "M_SporeShroomPoison_Ivy", null }, { "M_FoliagePack TreeLeaves 1_Ivy", null }, { "M_FoliagePack TreeLeaves 2_Ivy", null }, { "M_Foliage_PalmtreeLeaf_Ivy", null }, { "M_Foliage_Bush_Ivy_1", null }, { "M_Foliage_Bush_Ivy_2", null }, { "M_Thorns_Ivy_2", null }, { "M_Foliage Ivy", null }, { "M_FoliagePack TreeLeaves 1_Bomb", null }, { "M_FoliagePack TreeLeaves 2_Bomb", null }, { "M_Forest_rock", null }, { "M_Foliage Pine", null }, { "M_Foliage Pine 4", null }, { "M_Foliage Pine 5", null }, { "M_MushroomBase", null }, { "M_Water_forest", null }, { "M_Water_forest 1", null }, { "Mushroom Skirt", null }, { "Mushroom Skirt_Evil", null }, { "M_Rock_ice", null }, { "M_Foliage_DeadBranch", null }, { "M_Rock_peak Snow", null }, { "M_Rock_ice_Cold", null }, { "M_NapBerry 1", null }, { "M_DesertSand", null } }; public static Dictionary ProcessedMaterials = new Dictionary(); public static Dictionary Prefabs = new Dictionary { { "Bl_Rock39", null }, { "Plane", null }, { "Rock_Lil.001", null }, { "Rock_Lil.002", null }, { "Rock_Hold2", null }, { "Rock_Round", null }, { "Rock_Round.002", null }, { "Rock_Round.007", null }, { "Rock_Round.008", null }, { "Rock_Round.010", null }, { "Rock_Round2", null }, { "Rock_Round11", null }, { "Rock_Round12", null }, { "berrybush Variant", null }, { "Basalt Cluster", null }, { "Basalt Cluster 02", null }, { "Basalt Column Fixed Variant", null }, { "SlipperyJellyfish", null }, { "Urch", null }, { "Scallop", null }, { "Seashell", null }, { "berrybush Beach", null }, { "Driftwood", null }, { "ErikTower", null }, { "CliffPillar", null }, { "Pillar", null }, { "Jungle_SporeMushroom", null }, { "Jungle_SporeMushroomExplo", null }, { "Waterfall", null }, { "Jungle_Monstera", null }, { "Jungle_Monstera_Thick", null }, { "Jungle_Aleo", null }, { "Jungle_PoisonIvy", null }, { "Jungle_SharpPlant", null }, { "Jungle_MiniBanana", null }, { "Jungle_Thorns", null }, { "Jungle_Thorns_Nice", null }, { "Jungle_GiantTree 1", null }, { "Jungle_Willow_Big", null }, { "Jungle_Willow_Medium", null }, { "Jungle_Willow_Small", null }, { "Jungle_Willow_Tall", null }, { "Jungle_PalmTree_Crook", null }, { "Jungle_PalmTree_Thin", null }, { "Jungle_PalmTree_Thick", null }, { "Forest Cave Safe", null }, { "Forest_SporeFungus", null }, { "Forest Roots", null }, { "Funky Mushroom Spawner", null }, { "Beetle", null }, { "Fern", null }, { "Fern Old", null }, { "Hanging Moss", null }, { "Redwood", null }, { "Redwood Massive", null }, { "Redwood Trunk", null }, { "Redwood Trunk Holow", null }, { "Mushroom tree Dome Variant", null }, { "Mushroom tree Flat", null }, { "Mushroom tree Flat tall", null }, { "Mushroom tree Dome Evil Variant", null }, { "Mushroom tree Flat_Evil Variant", null }, { "Mushroom tree Flat tall_Evil Variant", null }, { "Mushroom tree Spore Cloud", null }, { "Mushroom tree Round Variant", null }, { "ShelfShroomPrePlaced_Mega Variant", null }, { "RockCold", null }, { "Spike", null }, { "Geyser", null }, { "Onsen", null }, { "ShakyIcicleIce", null }, { "LavaRiver Variant_NoLight", null }, { "FlashPlant", null }, { "NapBerrySpawn", null }, { "Ice_Horsetail", null }, { "Ice_DeadTree", null }, { "Ice_DeadShrub 1", null }, { "Ice_DeadShrub 2", null }, { "Ice_DeadShrub 3", null }, { "Ice_Pine 1", null }, { "Ice_Pine 2", null }, { "Ice_Pine 3", null }, { "Desert_Rock 1", null }, { "Desert_Rock 2", null }, { "Desert_Rock 3", null }, { "Desert_Rock 3_E", null }, { "Desert_Rock 4", null }, { "Desert_Rock 5", null }, { "Desert_Rock 6", null }, { "Cactus Ball Base", null }, { "cactus flower", null }, { "FakeCactusBall", null }, { "Short Cactus", null }, { "Short Cactus Variant_Dry", null }, { "Tall Cactus", null }, { "Tall Cactus Variant_Dry", null }, { "Dynamite", null }, { "Tornado", null }, { "Scorpion", null }, { "tumbleweed", null } }; public static TMP_FontAsset? Font; public static List spawnedInstances = new List(); public static FullGameData maps_data = new FullGameData(); public static Dictionary> translations = new Dictionary>(); public static bool is_startup = false; public static bool is_initialized = false; private static bool is_localized = false; public static ConfigEntry? cfg_collectBiomeData; public static ConfigEntry? cfg_collectBiomeData_forced; private static string? gamever; public const string Id = "Murka124.PlantholderOverhaul"; internal static ManualLogSource Log { get; private set; } = null; public static string Name => "Plantholder Overhaul"; public static string Version => "0.0.2"; private void Awake() { Log = ((BaseUnityPlugin)this).Logger; Log.LogInfo((object)("Plugin " + Name + " is loading...")); Plugin[] array = Object.FindObjectsByType((FindObjectsSortMode)0); int counter = 0; LinqExtensions.ForEach((IEnumerable)array, (Action)delegate { counter++; }); if (counter > 1) { Log.LogError((object)"Note that hot-reloading this plugin can break things! Consider restarting the game."); return; } cfg_collectBiomeData = ((BaseUnityPlugin)this).Config.Bind("Plantholder Overhaul", "Collect biome data", true, global::.77290C4D55D3A6D2B9912C8223B366D6.s); cfg_collectBiomeData_forced = ((BaseUnityPlugin)this).Config.Bind("Plantholder Overhaul", "Force collect biome data", false, "true - collect all biome data on game startup no matter what"); _h.PatchAll(); Assembly executingAssembly = Assembly.GetExecutingAssembly(); string name = executingAssembly.GetManifestResourceNames().Single((string str) => str.EndsWith("translations.json")); using (Stream stream = executingAssembly.GetManifestResourceStream(name)) { using StreamReader streamReader = new StreamReader(stream); Dictionary> dictionary = JsonConvert.DeserializeObject>>(streamReader.ReadToEnd()); if (dictionary == null) { Log.LogError((object)"Failed to read translations data from embedded resources."); } else { translations = dictionary; } } LoadMapData(); SceneManager.sceneLoaded += CustomGameLoader.AnalyzeLevelOnSceneLoad; SceneManager.sceneLoaded += AirportPatcher.OnSceneLoad; Log.LogInfo((object)("Plugin " + Name + " is loaded!")); } public static void Init() { CreateLightmapTexture(); LoadAllPrefabs(); LoadAllMaterials(); LoadFont(); ProcessMaterials(); } private void OnDestroy() { _h.UnpatchSelf(); Log.LogInfo((object)("Plugin " + Name + " is unloaded!")); } public static string GetTodaysBiomes() { //IL_005c: Unknown result type (might be due to invalid IL or missing references) NextLevelService service = GameHandler.GetService(); if (SingletonAsset.Instance.BiomeIDs.Count != SingletonAsset.Instance.ScenePaths.Length && SingletonAsset.Instance.BiomeIDs.Count + 1 != SingletonAsset.Instance.ScenePaths.Length) { Log.LogWarning((object)global::.E9BA1DE576417954EE8BE0E7354E056D.s); } return SingletonAsset.Instance.GetBiomeID(service.Data.Value.CurrentLevelIndex + NextLevelService.debugLevelIndexOffset); } [Tooltip("Метод для обхода патчей MorePeak, ломающие логику его работы")] public static string MapBakerGetLevel(int levelIndex) { if (SingletonAsset.Instance.ScenePaths.Length == 0) { Debug.LogError((object)"No levels found, using WilIsland..."); return ""; } levelIndex %= SingletonAsset.Instance.ScenePaths.Length; string result = PathUtil.WithoutExtensions(PathUtil.GetFileName(SingletonAsset.Instance.ScenePaths[levelIndex])); _ = Application.isEditor; return result; } public static string GetTodaysMap() { int nextLevelIndexOrFallback = GameHandler.GetService().NextLevelIndexOrFallback; string text = MapBakerGetLevel(nextLevelIndexOrFallback + NextLevelService.debugLevelIndexOffset); if (string.IsNullOrEmpty(text)) { text = "WilIsland"; } return text; } public static int GetTodaysMapIndex() { return GameHandler.GetService().NextLevelIndexOrFallback; } public static string[] GetAllMaps() { List list = new List(1) { "WilIsland" }; string[] scenePaths = SingletonAsset.Instance.ScenePaths; for (int i = 0; i < scenePaths.Length; i++) { list.Add(PathUtil.WithoutExtensions(PathUtil.GetFileName(scenePaths[i]))); } return list.ToArray(); } public static string GetMapsBiomes(string map) { if (SingletonAsset.Instance.BiomeIDs.Count != SingletonAsset.Instance.ScenePaths.Length && SingletonAsset.Instance.BiomeIDs.Count + 1 != SingletonAsset.Instance.ScenePaths.Length) { Log.LogWarning((object)(global::.E6A6C940EC028D8E0E7CAC80FA3FA85B.s + map + "\"!")); } return SingletonAsset.Instance.GetBiomeID(((ReadOnlySpan)GetAllMaps()).IndexOf(map) - 1); } public static string GetGameVersion() { if (gamever == null) { gamever = "v" + Application.version; } return gamever; } private static void CreateLightmapTexture() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Expected O, but got Unknown //IL_0033: 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) int num = 4; Texture3D val = new Texture3D(num, num, num, (TextureFormat)17, false); Color[] array = (Color[])(object)new Color[num * num * num]; for (int i = 0; i < array.Length; i++) { array[i] = new Color(0.02f, 0.02f, 0.02f, 0.5f); } val.SetPixels(array); val.Apply(); _customLightMap = val; } private static void LoadAllPrefabs() { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) GameObject[] array = Resources.FindObjectsOfTypeAll(); GameObject[] array2 = array; foreach (GameObject val in array2) { foreach (string key in Prefabs.Keys) { if (key == ((Object)val).name && (Object)(object)val.transform.parent == (Object)null) { Scene scene = val.scene; if (!((Scene)(ref scene)).IsValid()) { Prefabs[key] = val; Log.LogInfo((object)("Prefab loaded: " + key)); break; } } } } Prefabs["Tornado"] = Resources.Load("Tornado"); Prefabs["tumbleweed"] = Resources.Load("tumbleweed"); foreach (KeyValuePair prefab in Prefabs) { if ((Object)(object)prefab.Value == (Object)null) { Log.LogWarning((object)("Prefab \"" + prefab.Key + "\" is not loaded!")); } } } private static void LoadAllMaterials() { Material[] array = Resources.FindObjectsOfTypeAll(); Material[] array2 = array; foreach (Material val in array2) { foreach (string key in Materials.Keys) { if (key == ((Object)val).name) { Materials[key] = val; Log.LogInfo((object)("Material loaded: " + key)); break; } } } foreach (KeyValuePair material in Materials) { if ((Object)(object)material.Value == (Object)null) { Log.LogWarning((object)("Material \"" + material.Key + "\" is not loaded!")); } } } private static void ProcessMaterials() { //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) List list = new List(3) { "M_Rock_ice", "M_Rock_ice_Cold", "M_NapBerry 1" }; List list2 = new List(4) { "M_Foliage_DeadBranch", "M_Foliage Pine", "M_Foliage Pine 4", "M_Foliage Pine 5" }; if ((Object)(object)_customLightMap == (Object)null) { CreateLightmapTexture(); } foreach (KeyValuePair material in Materials) { if ((Object)(object)material.Value == (Object)null) { continue; } string name = ((Object)material.Value).name; Material val = Object.Instantiate(Materials[name]); ((Object)val).name = ((Object)val).name + "_Processed"; string[] propertyNames = val.GetPropertyNames((MaterialPropertyType)2); string[] array = propertyNames; foreach (string text in array) { if (text == "_VertexWindAmount") { Vector4 vector = val.GetVector("_VertexWindAmount"); val.SetVector("_VertexWindAmount", vector * 0.1f); break; } } foreach (string item in list) { if (name == item) { val.SetTexture("_LightMap", (Texture)(object)_customLightMap); break; } } if (name == "M_Rock") { Material val2 = Object.Instantiate(Materials["M_Rock"]); ((Object)val2).name = "M_Rock_Tropics_Processed"; ProcessedMaterials["M_Rock_Tropics"] = val2; Material val3 = Object.Instantiate(Materials["M_Rock"]); ((Object)val3).name = "M_Rock_Tropics_Ivy_Processed"; val3.SetColor("_Tint", Color.op_Implicit(new Vector4(0.65f, 0.45f, 1.15f, 1f))); val3.SetColor("_TopColor", Color.op_Implicit(new Vector4(0.46f, 0.41f, 0.39f, 1f))); ProcessedMaterials["M_Rock_Tropics_Ivy"] = val3; Material val4 = Object.Instantiate(Materials["M_Rock"]); ((Object)val4).name = "M_Rock_Tropics_Bombs_Processed"; val4.SetColor("_TopColor", Color.op_Implicit(new Vector4(0.42f, 0.45f, 0.16f, 1f))); ProcessedMaterials["M_Rock_Tropics_Bombs"] = val4; } ProcessedMaterials[name] = val; } } private static void LoadFont() { Log.LogDebug((object)"Trying to load the font..."); GameObject val = GameObject.Find("GAME/GUIManager"); if (!((Object)(object)val == (Object)null)) { GUIManager component = val.GetComponent(); Font = ((TMP_Text)component.heroDayText).font; if ((Object)(object)Font != (Object)null) { Log.LogDebug((object)"Loaded font from heroDayText."); return; } } TMP_FontAsset[] array = Resources.FindObjectsOfTypeAll(); TMP_FontAsset[] array2 = array; foreach (TMP_FontAsset val2 in array2) { if (((Object)val2).name == "DarumaDropOne-Regular SDF") { Log.LogDebug((object)"Loaded font from TMP_FontAsset."); Font = val2; return; } } Log.LogError((object)"Failed to load the font!"); } public static GameObject CreateTextInWorld(string text, Vector3 position, Transform? parent = null) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Expected O, but got Unknown //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject("PO_TextInTheWorld"); val.transform.position = position; if ((Object)(object)parent != (Object)null) { val.transform.SetParent(parent); } TextMeshPro val2 = val.AddComponent(); ((TMP_Text)val2).text = text; ((TMP_Text)val2).font = Font; ((TMP_Text)val2).alignment = (TextAlignmentOptions)514; ((TMP_Text)val2).fontSize = 2f; ((Graphic)val2).color = Color.white; ((TMP_Text)val2).outlineWidth = 0.05f; ((TMP_Text)val2).lineSpacing = -20f; return val; } public static string GetText(string key, params object[] args) { return string.Format(LocalizedText.GetText(("Mod_" + Name + "_" + key).ToUpper(), true), args); } public static bool GetTextExistence(string key) { return LocalizedText.mainTable.ContainsKey(("Mod_" + Name + "_" + key).ToUpper()); } public static void LoadLocalizedText() { if (translations == null || is_localized) { return; } Log.LogDebug((object)"Adding localized text..."); foreach (KeyValuePair> translation in translations) { List value = translation.Value; string firstValue = value[0]; value = value.Select((string x) => (!string.IsNullOrEmpty(x)) ? x : firstValue).ToList(); string key = ("Mod_" + Name + "_" + translation.Key).ToUpper(); if (LocalizedText.mainTable.ContainsKey(key)) { LocalizedText.mainTable[key] = value; } else { LocalizedText.mainTable.Add(key, value); } } Log.LogDebug((object)"Localized text added."); is_localized = true; } public static void LoadMapData() { Assembly executingAssembly = Assembly.GetExecutingAssembly(); string gameVersion = GetGameVersion(); string name = executingAssembly.GetManifestResourceNames().Single((string str) => str.EndsWith("maps_data.json")); using (Stream stream = executingAssembly.GetManifestResourceStream(name)) { using StreamReader streamReader = new StreamReader(stream); FullGameData fullGameData = JsonConvert.DeserializeObject(streamReader.ReadToEnd()); if (fullGameData == null) { Log.LogError((object)"Failed to read map data from embedded resources."); return; } maps_data = fullGameData; } if (maps_data == null) { maps_data = new FullGameData(); } if (!maps_data.GameVersions.ContainsKey(gameVersion)) { maps_data.GameVersions.TryAdd(gameVersion, new MapsInfo()); } string path = Path.Combine(Paths.ConfigPath, "Murka124.PlantholderOverhaul", "maps_info.json"); if (!File.Exists(path)) { Log.LogWarning((object)"can't find user map data."); return; } FullGameData fullGameData2; try { string text = File.ReadAllText(path); fullGameData2 = JsonConvert.DeserializeObject(text); } catch (Exception ex) { Debug.LogError((object)("can't load user map data: " + ex.Message)); return; } if (fullGameData2 == null || !fullGameData2.GameVersions.ContainsKey(gameVersion)) { return; } Dictionary maps = fullGameData2.GameVersions[gameVersion].Maps; foreach (KeyValuePair item in maps) { maps_data.GameVersions[gameVersion].Maps.TryAdd(item.Key, item.Value); } } public static void SaveMapData() { string path = Path.Combine(Paths.ConfigPath, "Murka124.PlantholderOverhaul", "maps_info.json"); try { string directoryName = Path.GetDirectoryName(path); if (!Directory.Exists(directoryName)) { Directory.CreateDirectory(directoryName); } string contents = JsonConvert.SerializeObject((object)maps_data, (Formatting)1); File.WriteAllText(path, contents); } catch (Exception ex) { Log.LogError((object)("can't save map data: " + ex.Message)); } } public static void DestroySpawnedInstances() { foreach (GameObject spawnedInstance in spawnedInstances) { if ((Object)(object)spawnedInstance != (Object)null) { Object.Destroy((Object)(object)spawnedInstance); } } spawnedInstances.Clear(); } } internal static class Spawner { public static GameObject? Spawn(string PrefabName, Vector3 Position, Vector3 AngleEulers, Vector3 Scale, Transform? Parent, bool isRigidBody = false) { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) GameObject val = SpawnPrefabByName(PrefabName); if ((Object)(object)val == (Object)null) { return null; } if (isRigidBody) { Rigidbody val2 = default(Rigidbody); val.TryGetComponent(ref val2); val2.position = Position; Quaternion rotation = default(Quaternion); ((Quaternion)(ref rotation)).eulerAngles = AngleEulers; val2.rotation = rotation; } val.transform.position = Position; val.transform.Rotate(AngleEulers); val.transform.localScale = Scale; if ((Object)(object)Parent != (Object)null) { val.transform.parent = Parent; } return val; } public static GameObject? Spawn(string PrefabName, Vector3 Position, Vector3 AngleEulers, float Scale, Transform? Parent, bool isRigidBody = false) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) return Spawn(PrefabName, Position, AngleEulers, new Vector3(Scale, Scale, Scale), Parent, isRigidBody); } public static GameObject? SpawnPrefabByName(string prefabName) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Plugin.Prefabs[prefabName] == (Object)null) { Plugin.Log.LogError((object)("Wrong prefab name: " + prefabName)); return null; } GameObject val = Object.Instantiate(Plugin.Prefabs[prefabName], Plugin.SpawnPosition, Quaternion.identity); if ((Object)(object)val == (Object)null) { Plugin.Log.LogError((object)("Can't instantinate prefab: " + prefabName)); return null; } Plugin.spawnedInstances.Add(val); return val; } } public static class MaterialComparer { public static void CompareMaterials(Material mat1, Material mat2) { if ((Object)(object)mat1 == (Object)null || (Object)(object)mat2 == (Object)null) { Debug.LogError((object)"Один или оба материала null!"); return; } Debug.Log((object)"=== Сравнение материалов ==="); Debug.Log((object)("Материал 1: " + ((Object)mat1).name)); Debug.Log((object)("Материал 2: " + ((Object)mat2).name)); if ((Object)(object)mat1.shader != (Object)(object)mat2.shader) { Debug.LogWarning((object)("Разные шейдеры: " + ((Object)mat1.shader).name + " ≠ " + ((Object)mat2.shader).name)); } bool hasDifferences = false; ComparePropertiesOfType(mat1, mat2, (MaterialPropertyType)0, ref hasDifferences); ComparePropertiesOfType(mat1, mat2, (MaterialPropertyType)1, ref hasDifferences); ComparePropertiesOfType(mat1, mat2, (MaterialPropertyType)2, ref hasDifferences); ComparePropertiesOfType(mat1, mat2, (MaterialPropertyType)3, ref hasDifferences); ComparePropertiesOfType(mat1, mat2, (MaterialPropertyType)4, ref hasDifferences); if (!hasDifferences) { Debug.Log((object)"Материалы идентичны по всем параметрам!"); } } private static void ComparePropertiesOfType(Material mat1, Material mat2, MaterialPropertyType propertyType, ref bool hasDifferences) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: 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) string[] propertyNames = mat1.GetPropertyNames(propertyType); string[] propertyNames2 = mat2.GetPropertyNames(propertyType); HashSet hashSet = new HashSet(); string[] array = propertyNames; foreach (string item in array) { hashSet.Add(item); } string[] array2 = propertyNames2; foreach (string item2 in array2) { hashSet.Add(item2); } foreach (string item3 in hashSet) { CompareProperty(mat1, mat2, item3, propertyType, ref hasDifferences); } } private static void CompareProperty(Material mat1, Material mat2, string propertyName, MaterialPropertyType propertyType, ref bool hasDifferences) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Expected I4, but got Unknown //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_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0154: 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_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) bool flag = false; bool flag2 = false; string[] propertyNames = mat1.GetPropertyNames(propertyType); string[] propertyNames2 = mat2.GetPropertyNames(propertyType); string[] array = propertyNames; foreach (string text in array) { if (text == propertyName) { flag = true; break; } } string[] array2 = propertyNames2; foreach (string text2 in array2) { if (text2 == propertyName) { flag2 = true; break; } } if (flag != flag2) { Debug.Log((object)($"Свойство '{propertyName}' (тип: {propertyType}): " + (flag ? "есть в первом, нет во втором" : "нет в первом, есть во втором"))); hasDifferences = true; } else { if (!flag && !flag2) { return; } switch ((int)propertyType) { case 0: { float @float = mat1.GetFloat(propertyName); float float2 = mat2.GetFloat(propertyName); if (!Mathf.Approximately(@float, float2)) { Debug.Log((object)$"Float свойство '{propertyName}': {@float} ≠ {float2}"); hasDifferences = true; } break; } case 1: { int @int = mat1.GetInt(propertyName); int int2 = mat2.GetInt(propertyName); if (@int != int2) { Debug.Log((object)$"Int свойство '{propertyName}': {@int} ≠ {int2}"); hasDifferences = true; } break; } case 2: { Vector4 vector = mat1.GetVector(propertyName); Vector4 vector2 = mat2.GetVector(propertyName); if (vector != vector2) { Debug.Log((object)$"Vector свойство '{propertyName}': {vector} ≠ {vector2}"); hasDifferences = true; } break; } case 3: { Matrix4x4 matrix = mat1.GetMatrix(propertyName); Matrix4x4 matrix2 = mat2.GetMatrix(propertyName); if (!MatricesEqual(matrix, matrix2)) { Debug.Log((object)("Matrix свойство '" + propertyName + "' различается")); hasDifferences = true; } break; } case 4: CompareTextureProperty(mat1, mat2, propertyName, ref hasDifferences); break; } } } private static void CompareTextureProperty(Material mat1, Material mat2, string propertyName, ref bool hasDifferences) { //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: 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_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: 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_0148: 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_011b: 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_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: 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_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0160: 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_00e3: Unknown result type (might be due to invalid IL or missing references) Texture texture = mat1.GetTexture(propertyName); Texture texture2 = mat2.GetTexture(propertyName); if ((Object)(object)texture != (Object)(object)texture2) { string text = (Object.op_Implicit((Object)(object)texture) ? ((Object)texture).name : "null"); string text2 = (Object.op_Implicit((Object)(object)texture2) ? ((Object)texture2).name : "null"); Debug.Log((object)("Texture свойство '" + propertyName + "': " + text + " ≠ " + text2)); hasDifferences = true; } if (mat1.HasProperty(propertyName + "_ST") && mat2.HasProperty(propertyName + "_ST")) { Vector4 vector = mat1.GetVector(propertyName + "_ST"); Vector4 vector2 = mat2.GetVector(propertyName + "_ST"); if (vector != vector2) { Debug.Log((object)$"Texture scale/offset '{propertyName}_ST': {vector} ≠ {vector2}"); hasDifferences = true; } return; } Vector2 textureOffset = mat1.GetTextureOffset(propertyName); Vector2 textureOffset2 = mat2.GetTextureOffset(propertyName); if (textureOffset != textureOffset2) { Debug.Log((object)$"Texture offset '{propertyName}': {textureOffset} ≠ {textureOffset2}"); hasDifferences = true; } Vector2 textureScale = mat1.GetTextureScale(propertyName); Vector2 textureScale2 = mat2.GetTextureScale(propertyName); if (textureScale != textureScale2) { Debug.Log((object)$"Texture scale '{propertyName}': {textureScale} ≠ {textureScale2}"); hasDifferences = true; } } private static bool MatricesEqual(Matrix4x4 m1, Matrix4x4 m2) { for (int i = 0; i < 16; i++) { if (!Mathf.Approximately(((Matrix4x4)(ref m1))[i], ((Matrix4x4)(ref m2))[i])) { return false; } } return true; } public static void CompareSpecificProperties(Material mat1, Material mat2, params MaterialPropertyType[] typesToCompare) { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)mat1 == (Object)null || (Object)(object)mat2 == (Object)null) { Debug.LogError((object)"Один или оба материала null!"); return; } Debug.Log((object)"=== Сравнение выбранных типов свойств ==="); bool hasDifferences = false; foreach (MaterialPropertyType propertyType in typesToCompare) { ComparePropertiesOfType(mat1, mat2, propertyType, ref hasDifferences); } if (!hasDifferences) { Debug.Log((object)"Материалы идентичны по выбранным параметрам!"); } } } } namespace PlantholderOverhaul.InGameUI { public abstract class InteractiveElement : MonoBehaviour { public abstract bool IsPointInside(Vector3 point); public abstract void OnPress(Vector3 point); } public class MenuButton : InteractiveElement { [Tooltip("Событие, вызываемое при нажатии. Параметр — точка нажатия в мировых координатах.")] public UnityEvent onPress = new UnityEvent(); public override bool IsPointInside(Vector3 point) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) Vector3 val = ExtDataTypes.Abs(((Component)this).transform.InverseTransformPoint(((Component)this).transform.parent.TransformPoint(point))); if (val.x <= 0.5f && val.y <= 0.5f) { return val.z <= 0.5f; } return false; } public override void OnPress(Vector3 point) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) onPress?.Invoke(point); } } public class MenuManager : MonoBehaviour { public Dictionary pages = new Dictionary(); public MenuPage? currentPage; public static readonly bool debugRender; private void Start() { MenuPage[] componentsInChildren = ((Component)this).GetComponentsInChildren(true); MenuPage[] array = componentsInChildren; foreach (MenuPage menuPage in array) { pages[((Object)((Component)menuPage).gameObject).name] = menuPage; ((Component)menuPage).gameObject.SetActive(false); } if (pages.TryGetValue("MainPage", out MenuPage _)) { ShowPage("MainPage"); } else if (componentsInChildren.Length != 0) { ShowPage(((Object)((Component)componentsInChildren[0]).gameObject).name); } } public void PingPointerEvent(Vector3 worldPoint) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)currentPage == (Object)null) { return; } Vector3 point = ((Component)this).transform.InverseTransformPoint(worldPoint); MenuButton[] componentsInChildren = ((Component)currentPage).GetComponentsInChildren(); MenuButton[] array = componentsInChildren; foreach (MenuButton menuButton in array) { if (menuButton.IsPointInside(point)) { menuButton.OnPress(worldPoint); break; } } } public void ShowPage(string pageName) { if (!pages.TryGetValue(pageName, out MenuPage value)) { Plugin.Log.LogWarning((object)("Page '" + pageName + "' not found.")); return; } if ((Object)(object)currentPage != (Object)null) { currentPage.OnHide(); ((Component)currentPage).gameObject.SetActive(false); } currentPage = value; ((Component)currentPage).gameObject.SetActive(true); currentPage.OnShow(); } public static string StripeLinePaint(string text, string color1Hex, string color2Hex) { if (string.IsNullOrEmpty(text)) { return text; } StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < text.Length; i++) { char c = text[i]; stringBuilder.Append($"<#{((i % 2 == 0) ? color1Hex : color2Hex)}>{c}"); } return stringBuilder.ToString(); } public void Update() { MenuManagerHelper.Update(); } } public static class MenuManagerHelper { public static int currentLevel = 0; public static int currentSetting = 0; public static string[] settings = new string[2] { "COLLECT_DATA", "COLLECT_DATA_FORCED" }; public static bool[] settingRequiresRestart = new bool[2] { true, true }; public static ConfigEntry?[] configs = new ConfigEntry[2] { Plugin.cfg_collectBiomeData, Plugin.cfg_collectBiomeData_forced }; public static float updateTreshold = 0.5f; public static float lastUpdate = 0f; public static void Update() { if (!((Object)(object)AirportPatcher.menu == (Object)null) && !(lastUpdate + updateTreshold > Time.unscaledTime)) { lastUpdate = Time.unscaledTime; AirportPatcher.menu.currentPage?.OnUpdate(); } } } public class MenuPage : MonoBehaviour { public Dictionary texts = new Dictionary(); public UnityEvent onShow = new UnityEvent(); public UnityEvent onHide = new UnityEvent(); public UnityEvent onUpdate = new UnityEvent(); public virtual void OnShow() { UnityEvent obj = onShow; if (obj != null) { obj.Invoke(); } OnUpdate(); } public virtual void OnHide() { UnityEvent obj = onHide; if (obj != null) { obj.Invoke(); } } public virtual void OnUpdate() { UnityEvent obj = onUpdate; if (obj != null) { obj.Invoke(); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }