Decompiled source of RtDOcean v1.2.6

RtDOcean.dll

Decompiled 2 weeks ago
using System;
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.Text;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("RtDOcean")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RtDOcean")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("65c4b6bd-3f13-4e92-9e13-24dbfb33c9ff")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
[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.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace RtDOcean
{
	[BepInPlugin("Soloredis.RtDOcean", "RtDOcean", "1.2.6")]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class RtDOcean : BaseUnityPlugin
	{
		public const string PluginGUID = "Soloredis.RtDOcean";

		public const string PluginName = "RtDOcean";

		public const string PluginVersion = "1.2.6";

		internal static ManualLogSource Log;

		public AssetBundle MyAssets;

		public ConfigEntry<bool> ModEnable;

		public ConfigEntry<bool> LoggingEnable;

		public ConfigEntry<bool> BoneSquidEnable;

		public ConfigEntry<bool> MurkPodEnable;

		public ConfigEntry<bool> BoneFishEnable;

		public ConfigEntry<bool> GreatWhiteEnable;

		public ConfigEntry<bool> LuminousLookerEnable;

		public ConfigEntry<bool> OceanEnable;

		public ConfigEntry<bool> ShipEnable;

		public ConfigEntry<bool> EditBoatsEnable;

		public ConfigEntry<bool> OceanContentEnable;

		public static GameObject SeaFareCape;

		public static GameObject SeaScaleShield;

		public static GameObject SeaShardSpear;

		public static GameObject SeaShardStaff;

		public static GameObject SeaShardWand;

		public static GameObject OceanBelt;

		private CustomLocalization Localization;

		public string[] HarpoonedList = new string[1] { "SE_CatfishHarpooned_RtD" };

		public string[] BasicStatusEffectList = new string[2] { "SE_FaeHeal_RtD", "SE_Tared_RtD" };

		public string[] MonsterList = new string[5] { "CatFish_RtD", "Reptile_RtD", "Belzor_RtD", "Neck_RtD", "Fairy4_RtD" };

		public string[] StaticList1 = new string[2] { "MirLizard_RtD", "MirRake_RtD" };

		public static SpawnConfig[] StaticList1SpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 650f,
				SpawnChance = 10f,
				MaxSpawned = 1,
				MaxLevel = 5,
				MaxAltitude = 0f,
				Biome = (Biome)256
			}
		};

		public static CreatureConfig StaticList1CreatureConfig = new CreatureConfig
		{
			Faction = (Faction)6,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = StaticList1SpawnConfig
		};

		public string[] ItemList = new string[6] { "Electrum_RtD", "ElectrumBar_RtD", "FairySilkG_RtD", "Lobaco_RtD", "SeaCrystal_RtD", "SoulStone_RtD" };

		public string[] SFXList3 = new string[24]
		{
			"sfx_faegreen_alerted_RtD", "sfx_faegreen_attack_RtD", "sfx_faegreen_cast_RtD", "sfx_faegreen_death_RtD", "sfx_faegreen_idle_RtD", "sfx_fish_hit_RtD", "sfx_leech_death_RtD", "sfx_leech_hit_RtD", "sfx_mushroom_poofinahle_RtD", "sfx_neck_alerted_RtD",
			"sfx_neck_attack_hit_RtD", "sfx_neck_attack_RtD", "sfx_neck_death_RtD", "sfx_neck_hit_RtD", "sfx_neck_idle_RtD", "sfx_serpent_idle_RtD", "sfx_serpent_taunt_RtD", "sfx_throw_RtD", "sfx_mirmaid_alerted_RtD", "sfx_mirmaid_attack_RtD",
			"sfx_mirmaid_cast_RtD", "sfx_mirmaid_hit_RtD", "sfx_mirmaid_idle_RtD", "sfx_mirrmaid_death_RtD"
		};

		public string[] PrefabList = new string[69]
		{
			"AshLandsSkullFX1_RtD", "BlackForestSkullFX1_RtD", "DeepNorthSkullFX1_RtD", "Fairy4_Poof_FX1_RtD", "fx_blobtar_tarball_hit1_RtD", "fx_deathsquito_hit_RtD", "fx_deatsquito_death_RtD", "MistlandsSkullFX1_RtD", "NeckSpawnFX1_RtD", "PlainsSkullFX1_RtD",
			"Serpent_poofed_FX_RtD", "SwampSkullFX1_RtD", "vfx_fish_hit_RtD", "vfx_mushroom_spores_RtD", "vfx_neck_death_RtD", "vfx_neck_hit_RtD", "vfx_reptilespit_RtD", "vfx_serpent_death_RtD", "vfx_serpent_hurt_RtD", "BoneFishAttack1_RtD",
			"BoneSquidAttack1_RtD", "BoneSquidAttack2_RtD", "CatFishAttack1_RtD", "CatFishAttack1_RtD1", "CatFishAttack2_RtD", "CatFishAttack2_RtD1", "fae_green_projectile1_RtD", "FairyAttackPoison1_RtD", "FairyHealAttackG_RtD", "heal_aoe_RtD",
			"LookerFishAttack1_RtD", "NeckBlue_BiteAttack1_RtD", "NeckBlue_BiteAttack2_RtD", "NokoAttack1_RtD", "NokoAttack2_RtD", "projectile_chitinharpoon_catfish07_RtD", "projectile_serpent_green_RtD", "reptile_projectile_tarlungs_RtD", "ReptileAttack1_RtD", "ReptileAttack1_RtD1",
			"ReptileAttack2_RtD", "ReptileAttack2_RtD1", "Shark_Attack1_RtD", "Shark_Attack2_RtD", "TenticleAttack1_RtD", "TenticleAttack2_RtD", "TenticleRanged1_RtD", "TenticleRanged2_RtD", "fx_treespeak_RtD", "MirmaidAttack1_RtD",
			"MirmaidAttack2_RtD", "MirmaidAttack3_RtD", "MirmaidHeal_RtD", "MirmaidSpell_RtD", "Ragdoll_Belzor_RtD", "Ragdoll_BoneFish_RtD", "Ragdoll_BoneSquid_RtD", "Ragdoll_CatFish_RtD", "Ragdoll_CatFishWanderer_RtD", "Ragdoll_LuminousLooker_RtD",
			"Ragdoll_Mirmaid_RtD", "Ragdoll_MurkPod_RtD", "Ragdoll_Neck_RtD", "Ragdoll_Reptile_RtD", "Ragdoll_ReptileWanderer_RtD", "Ragdoll_Mikael_RtD", "Ragdoll_MirLizard_RtD", "Ragdoll_MirRake_RtD", "Ragdoll_Shark_RtD"
		};

		private void Awake()
		{
			CreateConfigs();
			LoadBundle();
			AddItems();
			AddPrefabs1();
			AddMonsters();
			AddBasicsStatusEffects();
			CreateConfigs();
			AddlocalizationsEnglish();
			AddTranslationsFromJsons();
			SFX88();
			Harpooned();
			OceanContent();
			Ocean();
			Spawns();
			Static1Spawner();
			PrefabManager.OnPrefabsRegistered += FixSFX99;
			PrefabManager.OnVanillaPrefabsAvailable += EditBoats;
			if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)"Logging is enabled in the config.");
			}
			if (OceanEnable.Value)
			{
				Clutter();
			}
		}

		private void LoadBundle()
		{
			try
			{
				MyAssets = AssetUtils.LoadAssetBundleFromResources("rtd_ocean", Assembly.GetExecutingAssembly());
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading bundle: {arg}");
			}
		}

		private void AddlocalizationsEnglish()
		{
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization = Localization;
			string text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "BoneFish_RtD", "Bone Fish" },
				{ "BoneSquid_RtD", "Bone Squid" },
				{ "LuminousLooker_RtD", "Luminous Looker" },
				{ "MurkPod_RtD", "MurkPod" },
				{ "Shark_RtD", "Great White" },
				{ "CoralRock1_RtD", "Coral Rock" },
				{ "CoralRock2_RtD", "Coral Rock" },
				{ "CoralRock3_RtD", "Coral Rock" },
				{ "CoralRock4_RtD", "Coral Rock" },
				{ "CoralRock5_RtD", "Coral Rock" },
				{ "CoralStone1_RtD", "Coral" },
				{ "CoralStone2_RtD", "Coral" },
				{ "CoralStone3_RtD", "Coral" },
				{ "CoralStone4_RtD", "Coral" },
				{ "CoralStone5_RtD", "Coral" },
				{ "CoralStone6_RtD", "Coral" },
				{ "CoralStone7_RtD", "Coral" },
				{ "CoralStone8_RtD", "Coral" },
				{ "CoralStone9_RtD", "Coral" },
				{ "CoralStone10_RtD", "Coral" },
				{ "CoralStone11_RtD", "Coral" },
				{ "CoralStone12_RtD", "Coral" },
				{ "CoralStone13_RtD", "Coral" },
				{ "CoralStone14_RtD", "Coral" },
				{ "CoralStone15_RtD", "Coral" },
				{ "CoralStone16_RtD", "Coral" },
				{ "CoralStone17_RtD", "Coral" },
				{ "CoralStone18_RtD", "Coral" },
				{ "CoralStone19_RtD", "Coral" },
				{ "CoralStone20_RtD", "Coral" },
				{ "CoralStone21_RtD", "Coral" },
				{ "CoralStone22_RtD", "Coral" },
				{ "CoralStone23_RtD", "Coral" },
				{ "CoralStone24_RtD", "Coral" },
				{ "CoralStone25_RtD", "Coral" },
				{ "CoralStone26_RtD", "Coral" },
				{ "CoralStone27_RtD", "Coral" },
				{ "CoralStone28_RtD", "Coral" },
				{ "CoralStone29_RtD", "Coral" },
				{ "CoralStone30_RtD", "Coral" },
				{ "Sponge1_RtD", "Marine Sponge" },
				{ "Sponge2_RtD", "Marine Sponge" },
				{ "Sponge3_RtD", "Marine Spongee" },
				{ "Sponge4_RtD", "Marine Sponge" },
				{ "Sponge5_RtD", "Marine Sponge" },
				{ "Sponge6_RtD", "Marine Sponge" },
				{ "Sponge7_RtD", "Marine Sponge" },
				{ "Sponge8_RtD", "Marine Sponge" },
				{ "Sponge9_RtD", "Marine Sponge" },
				{ "Sponge10_RtD", "Marine Sponge" },
				{ "Sponge11_RtD", "Marine Sponge" },
				{ "CoralReef1_RtD", "Coral Reef" },
				{ "CoralReef2_RtD", "Coral Reef" },
				{ "CoralReef3_RtD", "Coral Reef" },
				{ "CoralReef4_RtD", "Coral Reef" },
				{ "CoralReef5_RtD", "Coral Reef" },
				{ "CoralReef6_RtD", "Coral Reef" },
				{ "CoralReef7_RtD", "Coral Reef" },
				{ "CoralReef8_RtD", "Coral Reef" },
				{ "CoralReef9_RtD", "Coral Reef" },
				{ "Pickable_Coins_RtD", "Lost Treasure" },
				{ "Pickable_Pearl_RtD", "Lost Treasure" },
				{ "SeaWeed1_RtD", "SeaWeed" },
				{ "SeaWeed2_RtD", "SeaWeed" },
				{ "SeaWeed3_RtD", "SeaWeed" },
				{ "SeaWeed4_RtD", "SeaWeed" },
				{ "SeaWeed5_RtD", "SeaWeed" },
				{ "SeaWeed6_RtD", "SeaWeed" },
				{ "SeaWeed7_RtD", "SeaWeed" },
				{ "SeaWeed8_RtD", "SeaWeed" },
				{ "SeaWeed9_RtD", "SeaWeed" },
				{ "SeaWeed10_RtD", "SeaWeed" },
				{ "SeaWeed11_RtD", "SeaWeed" },
				{ "SeaWeed12_RtD", "SeaWeed" },
				{ "SeaWeed13_RtD", "SeaWeed" },
				{ "SeaWeed14_RtD", "SeaWeed" },
				{ "SeaWeed15_RtD", "SeaWeed" },
				{ "SeaWeed16_RtD", "SeaWeed" },
				{ "treespeak_RtD", "I was brought here by other worldy spirits and cannot be destroyed" },
				{ "Electrum_RtD", "Electrum Ore" },
				{ "Electrum_desc_RtD", "Must be refined in the blast furnace" },
				{ "ElectrumBar_RtD", "Electrum Bar" },
				{ "ElectrumBar_desc_RtD", "Used to craft powerul equipment designed for the Ocean." },
				{ "FairySilkG_RtD", "Nature Fairy Silk" },
				{ "FairySilkG_desc_RtD", "Used to craft powerful equipment designed for the Ocean." },
				{ "Lobaco_RtD", "Loboco Fruit" },
				{ "Lobaco_desc_RtD", "A Mythical fruit used to summon a powerful boss that drops the Alantean crown to breathe underwater in RtDMMO" },
				{ "SoulStone_RtD", "SoulStone" },
				{ "SoulStone_desc_RtD", "Used to craft powerful equipment for the Ocean." },
				{ "SeaCrystal_RtD", "Sea Crystal" },
				{ "SeaCrystal_desc_RtD", "Used to craft powerful equipment for the Ocean." },
				{ "Belzor_RtD", "Belzor" },
				{ "CatFish_RtD", "Mirfolk" },
				{ "Neck_RtD", "Sea Neck" },
				{ "NeckSummon", "Sea Neck Summon" },
				{ "Reptile_RtD", "Mirfolk Mutant" },
				{ "Fairy4_RtD", "Nature Fae" },
				{ "Mirmaid_RtD", "Margygr" },
				{ "Mikael_RtD", "Sea Devil" },
				{ "MineRock_Electrum_RtD", "Electrum Rock" },
				{ "SkullStone_text_RtD", "The Jotunn here are neither living nor dead, they are suffering from eternal decay and cannot be saved." }
			});
		}

		private void Static1Spawner()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList1;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, StaticList1CreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + text));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding monsters: {arg}");
			}
		}

		private void AddTranslationsFromJsons()
		{
			try
			{
				Localization = LocalizationManager.Instance.GetLocalization();
				string[] files = Directory.GetFiles(Path.Combine(Paths.ConfigPath, "Soloredis/RtDOcean/Translations"), "*.json", SearchOption.AllDirectories);
				foreach (string text in files)
				{
					Localization.AddJsonFile(Path.GetFileNameWithoutExtension(text), AssetUtils.LoadText(text));
					if (LoggingEnable.Value)
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Translation from: " + text));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding translations from json files: {arg}");
			}
		}

		public void CreateConfigs()
		{
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Expected O, but got Unknown
			//IL_0079: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: 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_0094: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Expected O, but got Unknown
			try
			{
				((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
				OceanEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Ocean Clutter", "Enable", true, new ConfigDescription("Client side only, Enable or disable Ocean Vegetation & Clutter overhaul. Set to False for default Vanilla Vegetation.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = false,
					Order = 30
				} }));
				LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", false, new ConfigDescription("Enable or Disable logging of mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = false,
					Order = 45
				} }));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}");
			}
		}

		public void Harpooned()
		{
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Expected O, but got Unknown
			try
			{
				string[] harpoonedList = HarpoonedList;
				foreach (string text in harpoonedList)
				{
					SE_Harpooned val = MyAssets.LoadAsset<SE_Harpooned>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true);
						ItemManager.Instance.AddStatusEffect(val2);
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}");
			}
		}

		private void SFX88()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] sFXList = SFXList3;
				foreach (string text in sFXList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomPrefab val2 = new CustomPrefab(val, true);
						PrefabManager.Instance.AddPrefab(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void FixSFX99()
		{
			try
			{
				AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit");
				string[] sFXList = SFXList3;
				foreach (string text in sFXList)
				{
					GameObject prefab2 = Cache.GetPrefab<GameObject>(text);
					prefab2.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
					if (LoggingEnable.Value)
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Audio Mixer set on: " + text));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while fixing custom audio: {arg}");
			}
			finally
			{
				PrefabManager.OnPrefabsRegistered -= FixSFX99;
			}
		}

		private void AddItems()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] itemList = ItemList;
				foreach (string text in itemList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomItem val2 = new CustomItem(val, true);
						ItemManager.Instance.AddItem(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void AddPrefabs1()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] prefabList = PrefabList;
				foreach (string text in prefabList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomPrefab val2 = new CustomPrefab(val, true);
						PrefabManager.Instance.AddPrefab(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		public void AddBasicsStatusEffects()
		{
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Expected O, but got Unknown
			try
			{
				string[] basicStatusEffectList = BasicStatusEffectList;
				foreach (string text in basicStatusEffectList)
				{
					SE_Stats val = MyAssets.LoadAsset<SE_Stats>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true);
						ItemManager.Instance.AddStatusEffect(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((object)val2)?.ToString() + " to the Object database"));
						}
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}");
			}
		}

		private void AddMonsters()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] monsterList = MonsterList;
				foreach (string text in monsterList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomCreature val2 = new CustomCreature(val, true);
						CreatureManager.Instance.AddCreature(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void Spawns()
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: 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_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Expected O, but got Unknown
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Expected O, but got Unknown
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Expected O, but got Unknown
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f3: 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_0107: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_011b: Unknown result type (might be due to invalid IL or missing references)
			//IL_012c: Expected O, but got Unknown
			//IL_0135: Unknown result type (might be due to invalid IL or missing references)
			//IL_013f: Expected O, but got Unknown
			//IL_0152: Unknown result type (might be due to invalid IL or missing references)
			//IL_0159: Expected O, but got Unknown
			//IL_0172: Unknown result type (might be due to invalid IL or missing references)
			//IL_0177: Unknown result type (might be due to invalid IL or missing references)
			//IL_0183: Unknown result type (might be due to invalid IL or missing references)
			//IL_018f: Unknown result type (might be due to invalid IL or missing references)
			//IL_019b: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c8: Expected O, but got Unknown
			//IL_01d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01dd: Expected O, but got Unknown
			//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f7: Expected O, but got Unknown
			//IL_0210: Unknown result type (might be due to invalid IL or missing references)
			//IL_0215: Unknown result type (might be due to invalid IL or missing references)
			//IL_0221: Unknown result type (might be due to invalid IL or missing references)
			//IL_022d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0239: Unknown result type (might be due to invalid IL or missing references)
			//IL_0241: Unknown result type (might be due to invalid IL or missing references)
			//IL_0249: Unknown result type (might be due to invalid IL or missing references)
			//IL_0255: Unknown result type (might be due to invalid IL or missing references)
			//IL_0266: Expected O, but got Unknown
			//IL_0271: Unknown result type (might be due to invalid IL or missing references)
			//IL_027b: Expected O, but got Unknown
			//IL_028e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0295: Expected O, but got Unknown
			//IL_02ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02df: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0303: Unknown result type (might be due to invalid IL or missing references)
			//IL_0314: Expected O, but got Unknown
			//IL_031f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0329: Expected O, but got Unknown
			//IL_033c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0343: Expected O, but got Unknown
			//IL_035c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0361: 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_0379: Unknown result type (might be due to invalid IL or missing references)
			//IL_0385: Unknown result type (might be due to invalid IL or missing references)
			//IL_038d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0395: Unknown result type (might be due to invalid IL or missing references)
			//IL_039d: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c2: Expected O, but got Unknown
			//IL_03cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d7: Expected O, but got Unknown
			//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f1: Expected O, but got Unknown
			//IL_040a: Unknown result type (might be due to invalid IL or missing references)
			//IL_040f: Unknown result type (might be due to invalid IL or missing references)
			//IL_041b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0427: Unknown result type (might be due to invalid IL or missing references)
			//IL_0433: Unknown result type (might be due to invalid IL or missing references)
			//IL_043b: 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_044b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0453: Unknown result type (might be due to invalid IL or missing references)
			//IL_045f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0470: Expected O, but got Unknown
			//IL_047b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0485: Expected O, but got Unknown
			//IL_0498: Unknown result type (might be due to invalid IL or missing references)
			//IL_049f: Expected O, but got Unknown
			//IL_04b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0501: 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_051e: Expected O, but got Unknown
			//IL_0529: Unknown result type (might be due to invalid IL or missing references)
			//IL_0533: Expected O, but got Unknown
			//IL_0546: Unknown result type (might be due to invalid IL or missing references)
			//IL_054d: Expected O, but got Unknown
			//IL_0566: Unknown result type (might be due to invalid IL or missing references)
			//IL_056b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0577: Unknown result type (might be due to invalid IL or missing references)
			//IL_0583: Unknown result type (might be due to invalid IL or missing references)
			//IL_058f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0597: Unknown result type (might be due to invalid IL or missing references)
			//IL_059f: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05af: Unknown result type (might be due to invalid IL or missing references)
			//IL_05bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_05cc: Expected O, but got Unknown
			//IL_05d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e1: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("BoneSquid_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)6;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 10f,
					SpawnAtNight = true,
					SpawnAtDay = false,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
				GameObject val3 = MyAssets.LoadAsset<GameObject>("MurkPod_RtD");
				CreatureConfig val4 = new CreatureConfig();
				val4.Faction = (Faction)6;
				val4.UseCumulativeLevelEffects = true;
				val4.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val3, true, val4));
				GameObject val5 = MyAssets.LoadAsset<GameObject>("BoneFish_RtD");
				CreatureConfig val6 = new CreatureConfig();
				val6.Faction = (Faction)6;
				val6.UseCumulativeLevelEffects = true;
				val6.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 850f,
					SpawnChance = 5f,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val5, true, val6));
				GameObject val7 = MyAssets.LoadAsset<GameObject>("Shark_RtD");
				CreatureConfig val8 = new CreatureConfig();
				val8.Faction = (Faction)6;
				val8.UseCumulativeLevelEffects = true;
				val8.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 1050f,
					SpawnChance = 8f,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val7, true, val8));
				GameObject val9 = MyAssets.LoadAsset<GameObject>("LuminousLooker_RtD");
				CreatureConfig val10 = new CreatureConfig();
				val10.Faction = (Faction)6;
				val10.UseCumulativeLevelEffects = true;
				val10.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 10f,
					SpawnAtNight = true,
					SpawnAtDay = false,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val9, true, val10));
				GameObject val11 = MyAssets.LoadAsset<GameObject>("Mirmaid_RtD");
				CreatureConfig val12 = new CreatureConfig();
				val12.Faction = (Faction)6;
				val12.UseCumulativeLevelEffects = true;
				val12.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 1000f,
					SpawnChance = 10f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val11, true, val12));
				GameObject val13 = MyAssets.LoadAsset<GameObject>("CatFishWanderer_RtD");
				CreatureConfig val14 = new CreatureConfig();
				val14.Faction = (Faction)6;
				val14.UseCumulativeLevelEffects = true;
				val14.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 800f,
					SpawnChance = 10f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)895
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val13, true, val14));
				GameObject val15 = MyAssets.LoadAsset<GameObject>("ReptileWanderer_RtD");
				CreatureConfig val16 = new CreatureConfig();
				val16.Faction = (Faction)6;
				val16.UseCumulativeLevelEffects = true;
				val16.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 800f,
					SpawnChance = 10f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)895
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val15, true, val16));
				GameObject val17 = MyAssets.LoadAsset<GameObject>("Mikael_RtD");
				CreatureConfig val18 = new CreatureConfig();
				val18.Faction = (Faction)6;
				val18.UseCumulativeLevelEffects = true;
				val18.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 1000f,
					SpawnChance = 10f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val17, true, val18));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void OceanContent()
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Expected O, but got Unknown
			//IL_002c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Expected O, but got Unknown
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c5: Expected O, but got Unknown
			//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Expected O, but got Unknown
			//IL_0169: Unknown result type (might be due to invalid IL or missing references)
			//IL_0170: Expected O, but got Unknown
			//IL_0180: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f4: Expected O, but got Unknown
			//IL_0216: Unknown result type (might be due to invalid IL or missing references)
			//IL_021d: Expected O, but got Unknown
			//IL_022d: Unknown result type (might be due to invalid IL or missing references)
			//IL_029a: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a1: Expected O, but got Unknown
			//IL_02c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ca: Expected O, but got Unknown
			//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0339: Unknown result type (might be due to invalid IL or missing references)
			//IL_0340: Expected O, but got Unknown
			//IL_0362: Unknown result type (might be due to invalid IL or missing references)
			//IL_0369: Expected O, but got Unknown
			//IL_037c: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03df: Expected O, but got Unknown
			//IL_0401: Unknown result type (might be due to invalid IL or missing references)
			//IL_0408: Expected O, but got Unknown
			//IL_041b: Unknown result type (might be due to invalid IL or missing references)
			//IL_046b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0472: Expected O, but got Unknown
			//IL_0494: Unknown result type (might be due to invalid IL or missing references)
			//IL_049b: Expected O, but got Unknown
			//IL_04ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04fc: Expected O, but got Unknown
			//IL_051e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0525: Expected O, but got Unknown
			//IL_0538: Unknown result type (might be due to invalid IL or missing references)
			//IL_057f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0586: Expected O, but got Unknown
			//IL_05a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05af: Expected O, but got Unknown
			//IL_05c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0609: Unknown result type (might be due to invalid IL or missing references)
			//IL_0610: Expected O, but got Unknown
			//IL_0632: Unknown result type (might be due to invalid IL or missing references)
			//IL_0639: Expected O, but got Unknown
			//IL_064c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0693: Unknown result type (might be due to invalid IL or missing references)
			//IL_069a: Expected O, but got Unknown
			//IL_06bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_06c3: Expected O, but got Unknown
			//IL_06d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0758: Unknown result type (might be due to invalid IL or missing references)
			//IL_075f: Expected O, but got Unknown
			//IL_076c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0773: Expected O, but got Unknown
			//IL_07a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ab: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("ShipWreck01_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)256 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -3f;
				val2.Quantity = 165;
				val2.ExteriorRadius = 22f;
				val2.MaxTerrainDelta = 60f;
				val2.MinDistanceFromSimilar = 200f;
				val2.SlopeRotation = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("ShipWreck02_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)256 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -3f;
				val2.Quantity = 165;
				val2.ExteriorRadius = 22f;
				val2.MaxTerrainDelta = 60f;
				val2.MinDistanceFromSimilar = 200f;
				val2.SlopeRotation = true;
				CustomLocation val5 = new CustomLocation(val4, true, val2);
				ZoneManager.Instance.AddCustomLocation(val5);
				GameObject val6 = MyAssets.LoadAsset<GameObject>("ShipWreck03_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)256 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -3f;
				val2.Quantity = 165;
				val2.ExteriorRadius = 22f;
				val2.MaxTerrainDelta = 60f;
				val2.MinDistanceFromSimilar = 200f;
				val2.SlopeRotation = true;
				CustomLocation val7 = new CustomLocation(val6, true, val2);
				ZoneManager.Instance.AddCustomLocation(val7);
				GameObject val8 = MyAssets.LoadAsset<GameObject>("ShipWreck04_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)256 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -3f;
				val2.Quantity = 165;
				val2.ExteriorRadius = 22f;
				val2.MaxTerrainDelta = 60f;
				val2.MinDistanceFromSimilar = 200f;
				val2.SlopeRotation = true;
				CustomLocation val9 = new CustomLocation(val8, true, val2);
				ZoneManager.Instance.AddCustomLocation(val9);
				GameObject val10 = MyAssets.LoadAsset<GameObject>("OceanCave_RtD");
				val2 = new LocationConfig();
				LocationConfig obj = val2;
				Biome[] array = new Biome[8];
				RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -20f;
				val2.Quantity = 165;
				val2.MinDistanceFromSimilar = 100f;
				val2.Priotized = true;
				val2.ClearArea = true;
				CustomLocation val11 = new CustomLocation(val10, true, val2);
				ZoneManager.Instance.AddCustomLocation(val11);
				GameObject val12 = MyAssets.LoadAsset<GameObject>("Island_RtD");
				val2 = new LocationConfig();
				LocationConfig obj2 = val2;
				Biome[] array2 = new Biome[8];
				RuntimeHelpers.InitializeArray(array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array2);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -30f;
				val2.Quantity = 165;
				val2.MinDistanceFromSimilar = 100f;
				val2.SnapToWater = true;
				val2.Priotized = true;
				CustomLocation val13 = new CustomLocation(val12, true, val2);
				ZoneManager.Instance.AddCustomLocation(val13);
				GameObject val14 = MyAssets.LoadAsset<GameObject>("BelzorAltar_RtD");
				val2 = new LocationConfig();
				LocationConfig obj3 = val2;
				Biome[] array3 = new Biome[8];
				RuntimeHelpers.InitializeArray(array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj3.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array3);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -40f;
				val2.Quantity = 12;
				val2.MinDistanceFromSimilar = 250f;
				val2.Priotized = true;
				CustomLocation val15 = new CustomLocation(val14, true, val2);
				ZoneManager.Instance.AddCustomLocation(val15);
				GameObject val16 = MyAssets.LoadAsset<GameObject>("Ocean_Giant1_RtD");
				val2 = new LocationConfig();
				LocationConfig obj4 = val2;
				Biome[] array4 = new Biome[8];
				RuntimeHelpers.InitializeArray(array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj4.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array4);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -35f;
				val2.Quantity = 40;
				val2.MinDistanceFromSimilar = 350f;
				CustomLocation val17 = new CustomLocation(val16, true, val2);
				ZoneManager.Instance.AddCustomLocation(val17);
				GameObject val18 = MyAssets.LoadAsset<GameObject>("Ocean_Giant2_RtD");
				val2 = new LocationConfig();
				LocationConfig obj5 = val2;
				Biome[] array5 = new Biome[8];
				RuntimeHelpers.InitializeArray(array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj5.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array5);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -35f;
				val2.Quantity = 40;
				val2.MinDistanceFromSimilar = 350f;
				CustomLocation val19 = new CustomLocation(val18, true, val2);
				ZoneManager.Instance.AddCustomLocation(val19);
				GameObject val20 = MyAssets.LoadAsset<GameObject>("OceanSwords1_RtD");
				val2 = new LocationConfig();
				LocationConfig obj6 = val2;
				Biome[] array6 = new Biome[8];
				RuntimeHelpers.InitializeArray(array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj6.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array6);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -35f;
				val2.Quantity = 35;
				val2.MinDistanceFromSimilar = 200f;
				CustomLocation val21 = new CustomLocation(val20, true, val2);
				ZoneManager.Instance.AddCustomLocation(val21);
				GameObject val22 = MyAssets.LoadAsset<GameObject>("OceanSwords2_RtD");
				val2 = new LocationConfig();
				LocationConfig obj7 = val2;
				Biome[] array7 = new Biome[8];
				RuntimeHelpers.InitializeArray(array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj7.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array7);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -35f;
				val2.Quantity = 35;
				val2.MinDistanceFromSimilar = 200f;
				CustomLocation val23 = new CustomLocation(val22, true, val2);
				ZoneManager.Instance.AddCustomLocation(val23);
				GameObject val24 = MyAssets.LoadAsset<GameObject>("MineRock_Electrum_RtD");
				VegetationConfig val25 = new VegetationConfig();
				Biome[] array8 = new Biome[8];
				RuntimeHelpers.InitializeArray(array8, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				val25.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array8);
				val25.Max = 5f;
				val25.ScaleMin = 1f;
				val25.ScaleMax = 1.2f;
				val25.MinAltitude = -150f;
				val25.MaxAltitude = -12f;
				val25.MaxTilt = 30f;
				val25.MaxTerrainDelta = 2f;
				val25.MinOceanDepth = 0f;
				val25.MaxOceanDepth = 500f;
				CustomVegetation val26 = new CustomVegetation(val24, true, val25);
				ZoneManager.Instance.AddCustomVegetation(val26);
				SmelterConversionConfig val27 = new SmelterConversionConfig();
				((ConversionConfig)val27).Station = Smelters.BlastFurnace;
				((ConversionConfig)val27).FromItem = "Electrum_RtD";
				((ConversionConfig)val27).ToItem = "ElectrumBar_RtD";
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val27));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom object: {arg}");
			}
		}

		private void Ocean()
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Expected O, but got Unknown
			//IL_002f: 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_00c4: Expected O, but got Unknown
			//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ea: Expected O, but got Unknown
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0192: Expected O, but got Unknown
			//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ba: Expected O, but got Unknown
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_025c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0263: Expected O, but got Unknown
			//IL_0285: Unknown result type (might be due to invalid IL or missing references)
			//IL_028c: Expected O, but got Unknown
			//IL_029f: Unknown result type (might be due to invalid IL or missing references)
			//IL_032e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0335: Expected O, but got Unknown
			//IL_0357: Unknown result type (might be due to invalid IL or missing references)
			//IL_035e: Expected O, but got Unknown
			//IL_0371: Unknown result type (might be due to invalid IL or missing references)
			//IL_0400: Unknown result type (might be due to invalid IL or missing references)
			//IL_0407: Expected O, but got Unknown
			//IL_0429: Unknown result type (might be due to invalid IL or missing references)
			//IL_0430: Expected O, but got Unknown
			//IL_0443: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d9: Expected O, but got Unknown
			//IL_04fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0502: Expected O, but got Unknown
			//IL_0515: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ab: Expected O, but got Unknown
			//IL_05cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d4: Expected O, but got Unknown
			//IL_05e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0676: Unknown result type (might be due to invalid IL or missing references)
			//IL_067d: Expected O, but got Unknown
			//IL_069f: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a6: Expected O, but got Unknown
			//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0748: Unknown result type (might be due to invalid IL or missing references)
			//IL_074f: Expected O, but got Unknown
			//IL_0771: Unknown result type (might be due to invalid IL or missing references)
			//IL_0778: Expected O, but got Unknown
			//IL_078b: Unknown result type (might be due to invalid IL or missing references)
			//IL_081a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0821: Expected O, but got Unknown
			//IL_0843: Unknown result type (might be due to invalid IL or missing references)
			//IL_084a: Expected O, but got Unknown
			//IL_085d: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_08f3: Expected O, but got Unknown
			//IL_0915: Unknown result type (might be due to invalid IL or missing references)
			//IL_091c: Expected O, but got Unknown
			//IL_092f: Unknown result type (might be due to invalid IL or missing references)
			//IL_09be: Unknown result type (might be due to invalid IL or missing references)
			//IL_09c5: Expected O, but got Unknown
			//IL_09e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ee: Expected O, but got Unknown
			//IL_0a01: 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_0a97: Expected O, but got Unknown
			//IL_0ab9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ac0: Expected O, but got Unknown
			//IL_0ad3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b62: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b69: Expected O, but got Unknown
			//IL_0b8b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b92: Expected O, but got Unknown
			//IL_0ba5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c34: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c3b: Expected O, but got Unknown
			//IL_0c5d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c64: Expected O, but got Unknown
			//IL_0c77: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d06: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d0d: Expected O, but got Unknown
			//IL_0d2f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d36: Expected O, but got Unknown
			//IL_0d49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ddf: Expected O, but got Unknown
			//IL_0e01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e08: Expected O, but got Unknown
			//IL_0e1b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eaa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb1: Expected O, but got Unknown
			//IL_0ed3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eda: Expected O, but got Unknown
			//IL_0eed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f7c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f83: Expected O, but got Unknown
			//IL_0fa5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fac: Expected O, but got Unknown
			//IL_0fbf: Unknown result type (might be due to invalid IL or missing references)
			//IL_104e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1055: Expected O, but got Unknown
			//IL_1077: Unknown result type (might be due to invalid IL or missing references)
			//IL_107e: Expected O, but got Unknown
			//IL_1091: Unknown result type (might be due to invalid IL or missing references)
			//IL_1120: Unknown result type (might be due to invalid IL or missing references)
			//IL_1127: Expected O, but got Unknown
			//IL_1149: Unknown result type (might be due to invalid IL or missing references)
			//IL_1150: Expected O, but got Unknown
			//IL_1163: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f9: Expected O, but got Unknown
			//IL_121b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1222: Expected O, but got Unknown
			//IL_1235: Unknown result type (might be due to invalid IL or missing references)
			//IL_12c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_12cb: Expected O, but got Unknown
			//IL_12ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_12f4: Expected O, but got Unknown
			//IL_1307: Unknown result type (might be due to invalid IL or missing references)
			//IL_1396: Unknown result type (might be due to invalid IL or missing references)
			//IL_139d: Expected O, but got Unknown
			//IL_13bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c6: Expected O, but got Unknown
			//IL_13d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1468: Unknown result type (might be due to invalid IL or missing references)
			//IL_146f: Expected O, but got Unknown
			//IL_1491: Unknown result type (might be due to invalid IL or missing references)
			//IL_1498: Expected O, but got Unknown
			//IL_14ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_153a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1541: Expected O, but got Unknown
			//IL_1563: Unknown result type (might be due to invalid IL or missing references)
			//IL_156a: Expected O, but got Unknown
			//IL_157d: Unknown result type (might be due to invalid IL or missing references)
			//IL_160c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1613: Expected O, but got Unknown
			//IL_1635: Unknown result type (might be due to invalid IL or missing references)
			//IL_163c: Expected O, but got Unknown
			//IL_164f: Unknown result type (might be due to invalid IL or missing references)
			//IL_16de: Unknown result type (might be due to invalid IL or missing references)
			//IL_16e5: Expected O, but got Unknown
			//IL_1707: Unknown result type (might be due to invalid IL or missing references)
			//IL_170e: Expected O, but got Unknown
			//IL_1721: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b7: Expected O, but got Unknown
			//IL_17d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_17e0: Expected O, but got Unknown
			//IL_17f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_1882: Unknown result type (might be due to invalid IL or missing references)
			//IL_1889: Expected O, but got Unknown
			//IL_18ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b2: Expected O, but got Unknown
			//IL_18c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1954: Unknown result type (might be due to invalid IL or missing references)
			//IL_195b: Expected O, but got Unknown
			//IL_197d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1984: Expected O, but got Unknown
			//IL_1997: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a26: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a2d: Expected O, but got Unknown
			//IL_1a4f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a56: Expected O, but got Unknown
			//IL_1a69: Unknown result type (might be due to invalid IL or missing references)
			//IL_1af8: Unknown result type (might be due to invalid IL or missing references)
			//IL_1aff: Expected O, but got Unknown
			//IL_1b21: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b28: Expected O, but got Unknown
			//IL_1b3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bca: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bd1: Expected O, but got Unknown
			//IL_1bf3: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bfa: Expected O, but got Unknown
			//IL_1c0d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ca3: Expected O, but got Unknown
			//IL_1cc5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ccc: Expected O, but got Unknown
			//IL_1cdf: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d6e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d75: Expected O, but got Unknown
			//IL_1d97: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d9e: Expected O, but got Unknown
			//IL_1db1: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e40: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e47: Expected O, but got Unknown
			//IL_1e69: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e70: Expected O, but got Unknown
			//IL_1e83: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f12: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f19: Expected O, but got Unknown
			//IL_1f3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f42: Expected O, but got Unknown
			//IL_1f55: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fe4: Unknown result type (might be due to invalid IL or missing references)
			//IL_1feb: Expected O, but got Unknown
			//IL_200d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2014: Expected O, but got Unknown
			//IL_2027: Unknown result type (might be due to invalid IL or missing references)
			//IL_20b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_20bd: Expected O, but got Unknown
			//IL_20df: Unknown result type (might be due to invalid IL or missing references)
			//IL_20e6: Expected O, but got Unknown
			//IL_20f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_2188: Unknown result type (might be due to invalid IL or missing references)
			//IL_218f: Expected O, but got Unknown
			//IL_21b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_21b8: Expected O, but got Unknown
			//IL_21cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_225a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2261: Expected O, but got Unknown
			//IL_2283: Unknown result type (might be due to invalid IL or missing references)
			//IL_228a: Expected O, but got Unknown
			//IL_229d: Unknown result type (might be due to invalid IL or missing references)
			//IL_232c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2333: Expected O, but got Unknown
			//IL_2355: Unknown result type (might be due to invalid IL or missing references)
			//IL_235c: Expected O, but got Unknown
			//IL_236f: Unknown result type (might be due to invalid IL or missing references)
			//IL_23fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_2405: Expected O, but got Unknown
			//IL_2427: Unknown result type (might be due to invalid IL or missing references)
			//IL_242e: Expected O, but got Unknown
			//IL_2441: Unknown result type (might be due to invalid IL or missing references)
			//IL_24d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_24d7: Expected O, but got Unknown
			//IL_24f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_2500: Expected O, but got Unknown
			//IL_2513: Unknown result type (might be due to invalid IL or missing references)
			//IL_25a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_25a9: Expected O, but got Unknown
			//IL_25cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_25d2: Expected O, but got Unknown
			//IL_25e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_2674: Unknown result type (might be due to invalid IL or missing references)
			//IL_267b: Expected O, but got Unknown
			//IL_269d: Unknown result type (might be due to invalid IL or missing references)
			//IL_26a4: Expected O, but got Unknown
			//IL_26b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_2746: Unknown result type (might be due to invalid IL or missing references)
			//IL_274d: Expected O, but got Unknown
			//IL_276f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2776: Expected O, but got Unknown
			//IL_2789: Unknown result type (might be due to invalid IL or missing references)
			//IL_2818: Unknown result type (might be due to invalid IL or missing references)
			//IL_281f: Expected O, but got Unknown
			//IL_2841: Unknown result type (might be due to invalid IL or missing references)
			//IL_2848: Expected O, but got Unknown
			//IL_285b: Unknown result type (might be due to invalid IL or missing references)
			//IL_28ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_28f1: Expected O, but got Unknown
			//IL_2913: Unknown result type (might be due to invalid IL or missing references)
			//IL_291a: Expected O, but got Unknown
			//IL_292d: Unknown result type (might be due to invalid IL or missing references)
			//IL_29bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_29c3: Expected O, but got Unknown
			//IL_29e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_29ec: Expected O, but got Unknown
			//IL_29ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a95: Expected O, but got Unknown
			//IL_2ab7: Unknown result type (might be due to invalid IL or missing references)
			//IL_2abe: Expected O, but got Unknown
			//IL_2ad1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b60: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b67: Expected O, but got Unknown
			//IL_2b89: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b90: Expected O, but got Unknown
			//IL_2ba3: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c32: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c39: Expected O, but got Unknown
			//IL_2c5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c62: Expected O, but got Unknown
			//IL_2c75: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d04: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d0b: Expected O, but got Unknown
			//IL_2d2d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d34: Expected O, but got Unknown
			//IL_2d47: Unknown result type (might be due to invalid IL or missing references)
			//IL_2dd6: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ddd: Expected O, but got Unknown
			//IL_2dff: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e06: Expected O, but got Unknown
			//IL_2e19: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ea8: Unknown result type (might be due to invalid IL or missing references)
			//IL_2eaf: Expected O, but got Unknown
			//IL_2ed1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ed8: Expected O, but got Unknown
			//IL_2eeb: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f81: Expected O, but got Unknown
			//IL_2fa3: Unknown result type (might be due to invalid IL or missing references)
			//IL_2faa: Expected O, but got Unknown
			//IL_2fbd: Unknown result type (might be due to invalid IL or missing references)
			//IL_304c: Unknown result type (might be due to invalid IL or missing references)
			//IL_3053: Expected O, but got Unknown
			//IL_3075: Unknown result type (might be due to invalid IL or missing references)
			//IL_307c: Expected O, but got Unknown
			//IL_308f: Unknown result type (might be due to invalid IL or missing references)
			//IL_311e: Unknown result type (might be due to invalid IL or missing references)
			//IL_3125: Expected O, but got Unknown
			//IL_3147: Unknown result type (might be due to invalid IL or missing references)
			//IL_314e: Expected O, but got Unknown
			//IL_3161: Unknown result type (might be due to invalid IL or missing references)
			//IL_31f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_31f7: Expected O, but got Unknown
			//IL_3219: Unknown result type (might be due to invalid IL or missing references)
			//IL_3220: Expected O, but got Unknown
			//IL_3233: Unknown result type (might be due to invalid IL or missing references)
			//IL_32c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_32c9: Expected O, but got Unknown
			//IL_32eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_32f2: Expected O, but got Unknown
			//IL_3305: Unknown result type (might be due to invalid IL or missing references)
			//IL_3394: Unknown result type (might be due to invalid IL or missing references)
			//IL_339b: Expected O, but got Unknown
			//IL_33bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_33c4: Expected O, but got Unknown
			//IL_33d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_3466: Unknown result type (might be due to invalid IL or missing references)
			//IL_346d: Expected O, but got Unknown
			//IL_348f: Unknown result type (might be due to invalid IL or missing references)
			//IL_3496: Expected O, but got Unknown
			//IL_34a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_3538: Unknown result type (might be due to invalid IL or missing references)
			//IL_353f: Expected O, but got Unknown
			//IL_3561: Unknown result type (might be due to invalid IL or missing references)
			//IL_3568: Expected O, but got Unknown
			//IL_357b: Unknown result type (might be due to invalid IL or missing references)
			//IL_360a: Unknown result type (might be due to invalid IL or missing references)
			//IL_3611: Expected O, but got Unknown
			//IL_3633: Unknown result type (might be due to invalid IL or missing references)
			//IL_363a: Expected O, but got Unknown
			//IL_364d: Unknown result type (might be due to invalid IL or missing references)
			//IL_36dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_36e3: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("SeaWeed1_RtD");
				VegetationConfig val2 = new VegetationConfig();
				VegetationConfig obj = val2;
				Biome[] array = new Biome[8];
				RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val3 = new CustomVegetation(val, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("SeaWeed2_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj2 = val2;
				Biome[] array2 = new Biome[8];
				RuntimeHelpers.InitializeArray(array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array2);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val5 = new CustomVegetation(val4, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val5);
				GameObject val6 = MyAssets.LoadAsset<GameObject>("SeaWeed3_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj3 = val2;
				Biome[] array3 = new Biome[8];
				RuntimeHelpers.InitializeArray(array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj3.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array3);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val7 = new CustomVegetation(val6, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val7);
				GameObject val8 = MyAssets.LoadAsset<GameObject>("SeaWeed4_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj4 = val2;
				Biome[] array4 = new Biome[8];
				RuntimeHelpers.InitializeArray(array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj4.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array4);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val9 = new CustomVegetation(val8, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val9);
				GameObject val10 = MyAssets.LoadAsset<GameObject>("SeaWeed5_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj5 = val2;
				Biome[] array5 = new Biome[8];
				RuntimeHelpers.InitializeArray(array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj5.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array5);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val11 = new CustomVegetation(val10, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val11);
				GameObject val12 = MyAssets.LoadAsset<GameObject>("SeaWeed6_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj6 = val2;
				Biome[] array6 = new Biome[8];
				RuntimeHelpers.InitializeArray(array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj6.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array6);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val13 = new CustomVegetation(val12, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val13);
				GameObject val14 = MyAssets.LoadAsset<GameObject>("SeaWeed7_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj7 = val2;
				Biome[] array7 = new Biome[8];
				RuntimeHelpers.InitializeArray(array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj7.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array7);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val15 = new CustomVegetation(val14, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val15);
				GameObject val16 = MyAssets.LoadAsset<GameObject>("SeaWeed8_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj8 = val2;
				Biome[] array8 = new Biome[8];
				RuntimeHelpers.InitializeArray(array8, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj8.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array8);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val17 = new CustomVegetation(val16, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val17);
				GameObject val18 = MyAssets.LoadAsset<GameObject>("SeaWeed9_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj9 = val2;
				Biome[] array9 = new Biome[8];
				RuntimeHelpers.InitializeArray(array9, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj9.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array9);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val19 = new CustomVegetation(val18, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val19);
				GameObject val20 = MyAssets.LoadAsset<GameObject>("CoralStone1_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj10 = val2;
				Biome[] array10 = new Biome[8];
				RuntimeHelpers.InitializeArray(array10, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj10.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array10);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val21 = new CustomVegetation(val20, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val21);
				GameObject val22 = MyAssets.LoadAsset<GameObject>("CoralStone2_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj11 = val2;
				Biome[] array11 = new Biome[8];
				RuntimeHelpers.InitializeArray(array11, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj11.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array11);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val23 = new CustomVegetation(val22, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val23);
				GameObject val24 = MyAssets.LoadAsset<GameObject>("CoralStone3_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj12 = val2;
				Biome[] array12 = new Biome[8];
				RuntimeHelpers.InitializeArray(array12, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj12.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array12);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val25 = new CustomVegetation(val24, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val25);
				GameObject val26 = MyAssets.LoadAsset<GameObject>("CoralStone4_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj13 = val2;
				Biome[] array13 = new Biome[8];
				RuntimeHelpers.InitializeArray(array13, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj13.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array13);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val27 = new CustomVegetation(val26, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val27);
				GameObject val28 = MyAssets.LoadAsset<GameObject>("CoralStone5_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj14 = val2;
				Biome[] array14 = new Biome[8];
				RuntimeHelpers.InitializeArray(array14, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj14.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array14);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val29 = new CustomVegetation(val28, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val29);
				GameObject val30 = MyAssets.LoadAsset<GameObject>("CoralStone6_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj15 = val2;
				Biome[] array15 = new Biome[8];
				RuntimeHelpers.InitializeArray(array15, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj15.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array15);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val31 = new CustomVegetation(val30, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val31);
				GameObject val32 = MyAssets.LoadAsset<GameObject>("CoralStone7_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj16 = val2;
				Biome[] array16 = new Biome[8];
				RuntimeHelpers.InitializeArray(array16, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj16.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array16);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val33 = new CustomVegetation(val32, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val33);
				GameObject val34 = MyAssets.LoadAsset<GameObject>("CoralStone8_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj17 = val2;
				Biome[] array17 = new Biome[8];
				RuntimeHelpers.InitializeArray(array17, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj17.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array17);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val35 = new CustomVegetation(val34, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val35);
				GameObject val36 = MyAssets.LoadAsset<GameObject>("CoralStone9_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj18 = val2;
				Biome[] array18 = new Biome[8];
				RuntimeHelpers.InitializeArray(array18, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj18.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array18);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val37 = new CustomVegetation(val36, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val37);
				GameObject val38 = MyAssets.LoadAsset<GameObject>("CoralStone10_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj19 = val2;
				Biome[] array19 = new Biome[8];
				RuntimeHelpers.InitializeArray(array19, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj19.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array19);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val39 = new CustomVegetation(val38, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val39);
				GameObject val40 = MyAssets.LoadAsset<GameObject>("CoralStone11_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj20 = val2;
				Biome[] array20 = new Biome[8];
				RuntimeHelpers.InitializeArray(array20, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj20.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array20);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val41 = new CustomVegetation(val40, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val41);
				GameObject val42 = MyAssets.LoadAsset<GameObject>("CoralStone12_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj21 = val2;
				Biome[] array21 = new Biome[8];
				RuntimeHelpers.InitializeArray(array21, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj21.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array21);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val43 = new CustomVegetation(val42, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val43);
				GameObject val44 = MyAssets.LoadAsset<GameObject>("CoralStone13_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj22 = val2;
				Biome[] array22 = new Biome[8];
				RuntimeHelpers.InitializeArray(array22, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj22.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array22);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val45 = new CustomVegetation(val44, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val45);
				GameObject val46 = MyAssets.LoadAsset<GameObject>("CoralStone15_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj23 = val2;
				Biome[] array23 = new Biome[8];
				RuntimeHelpers.InitializeArray(array23, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj23.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array23);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val47 = new CustomVegetation(val46, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val47);
				GameObject val48 = MyAssets.LoadAsset<GameObject>("CoralStone16_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj24 = val2;
				Biome[] array24 = new Biome[8];
				RuntimeHelpers.InitializeArray(array24, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj24.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array24);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val49 = new CustomVegetation(val48, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val49);
				GameObject val50 = MyAssets.LoadAsset<GameObject>("CoralStone17_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj25 = val2;
				Biome[] array25 = new Biome[8];
				RuntimeHelpers.InitializeArray(array25, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj25.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array25);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val51 = new CustomVegetation(val50, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val51);
				GameObject val52 = MyAssets.LoadAsset<GameObject>("CoralStone18_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj26 = val2;
				Biome[] array26 = new Biome[8];
				RuntimeHelpers.InitializeArray(array26, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj26.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array26);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val53 = new CustomVegetation(val52, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val53);
				GameObject val54 = MyAssets.LoadAsset<GameObject>("CoralStone19_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj27 = val2;
				Biome[] array27 = new Biome[8];
				RuntimeHelpers.InitializeArray(array27, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj27.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array27);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val55 = new CustomVegetation(val54, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val55);
				GameObject val56 = MyAssets.LoadAsset<GameObject>("CoralStone20_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj28 = val2;
				Biome[] array28 = new Biome[8];
				RuntimeHelpers.InitializeArray(array28, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj28.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array28);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val57 = new CustomVegetation(val56, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val57);
				GameObject val58 = MyAssets.LoadAsset<GameObject>("CoralStone21_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj29 = val2;
				Biome[] array29 = new Biome[8];
				RuntimeHelpers.InitializeArray(array29, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj29.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array29);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val59 = new CustomVegetation(val58, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val59);
				GameObject val60 = MyAssets.LoadAsset<GameObject>("CoralStone22_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj30 = val2;
				Biome[] array30 = new Biome[8];
				RuntimeHelpers.InitializeArray(array30, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj30.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array30);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val61 = new CustomVegetation(val60, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val61);
				GameObject val62 = MyAssets.LoadAsset<GameObject>("CoralStone23_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj31 = val2;
				Biome[] array31 = new Biome[8];
				RuntimeHelpers.InitializeArray(array31, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj31.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array31);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val63 = new CustomVegetation(val62, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val63);
				GameObject val64 = MyAssets.LoadAsset<GameObject>("CoralStone24_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj32 = val2;
				Biome[] array32 = new Biome[8];
				RuntimeHelpers.InitializeArray(array32, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj32.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array32);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val65 = new CustomVegetation(val64, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val65);
				GameObject val66 = MyAssets.LoadAsset<GameObject>("CoralStone25_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj33 = val2;
				Biome[] array33 = new Biome[8];
				RuntimeHelpers.InitializeArray(array33, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj33.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array33);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val67 = new CustomVegetation(val66, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val67);
				GameObject val68 = MyAssets.LoadAsset<GameObject>("CoralStone26_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj34 = val2;
				Biome[] array34 = new Biome[8];
				RuntimeHelpers.InitializeArray(array34, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj34.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array34);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val69 = new CustomVegetation(val68, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val69);
				GameObject val70 = MyAssets.LoadAsset<GameObject>("CoralStone27_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj35 = val2;
				Biome[] array35 = new Biome[8];
				RuntimeHelpers.InitializeArray(array35, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj35.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array35);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val71 = new CustomVegetation(val70, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val71);
				GameObject val72 = MyAssets.LoadAsset<GameObject>("CoralStone28_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj36 = val2;
				Biome[] array36 = new Biome[8];
				RuntimeHelpers.InitializeArray(array36, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj36.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array36);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val73 = new CustomVegetation(val72, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val73);
				GameObject val74 = MyAssets.LoadAsset<GameObject>("CoralStone29_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj37 = val2;
				Biome[] array37 = new Biome[8];
				RuntimeHelpers.InitializeArray(array37, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj37.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array37);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val75 = new CustomVegetation(val74, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val75);
				GameObject val76 = MyAssets.LoadAsset<GameObject>("CoralStone30_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj38 = val2;
				Biome[] array38 = new Biome[8];
				RuntimeHelpers.InitializeArray(array38, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj38.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array38);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val77 = new CustomVegetation(val76, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val77);
				GameObject val78 = MyAssets.LoadAsset<GameObject>("Sponge1_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj39 = val2;
				Biome[] array39 = new Biome[8];
				RuntimeHelpers.InitializeArray(array39, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj39.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array39);
				val2.Max = 2f;
				val2.ScaleMin = 2.6f;
				val2.ScaleMax = 3.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -5f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val79 = new CustomVegetation(val78, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val79);
				GameObject val80 = MyAssets.LoadAsset<GameObject>("Sponge2_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj40 = val2;
				Biome[] array40 = new Biome[8];
				RuntimeHelpers.InitializeArray(array40, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj40.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array40);
				val2.Max = 2f;
				val2.ScaleMin = 2.6f;
				val2.ScaleMax = 3.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -5f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val81 = new CustomVegetation(val80, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val81);
				GameObject val82 = MyAssets.LoadAsset<GameObject>("Sponge3_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj41 = val2;
				Biome[] array41 = new Biome[8];
				RuntimeHelpers.InitializeArray(array41, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj41.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array41);
				val2.Max = 2f;
				val2.ScaleMin = 2.6f;
				val2.ScaleMax = 3.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -5f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val83 = new CustomVegetation(val82, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val83);
				GameObject val84 = MyAssets.LoadAsset<GameObject>("Sponge4_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj42 = val2;
				Biome[] array42 = new Biome[8];
				RuntimeHelpers.InitializeArray(array42, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj42.Biome = ZoneManager.AnyBiomeOf((Biome[])(