Decompiled source of RtDMonstrum v0.3.6

RtDMonstrum.dll

Decompiled 13 hours ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
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("RtDMonstrum")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RtDMonstrum")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("75726c5c-e1d0-49a8-acbd-97cfb3e35a77")]
[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 rtDMonstrum
{
	[BepInPlugin("Soloredis.RtDMonstrum", "RtDMonstrum", "0.3.6")]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class RtDMonstrum : BaseUnityPlugin
	{
		public const string PluginGUID = "Soloredis.RtDMonstrum";

		public const string PluginName = "RtDMonstrum";

		public const string PluginVersion = "0.3.6";

		public static bool isModded = true;

		public AssetBundle MyAssets;

		public ConfigEntry<bool> LoggingEnable;

		internal static ManualLogSource Log;

		private CustomLocalization Localization;

		public string[] PrefabList = new string[221]
		{
			"ashlandsmutantprojectile_RtD", "plainsmutantprojectile_RtD1", "blackforestmutantprojectile_RtD", "deepnorthmutantprojectile_RtD", "meadowsmutantprojectile_RtD", "mistlandsmutantprojectile_RtD", "mountainmutantprojectile2_RtD", "mountainmutantprojectile3_RtD", "mountainmutantprojectile_RtD", "plainsmutantprojectile_RtD",
			"sizzleprojectile_RtD", "spawn_earthstorm_RtD", "spawn_firestorm_RtD", "spawn_icestorm2_RtD", "spawn_icestorm_RtD", "spawn_meteorstorm_RtD", "spawn_sizzlerstorm_RtD", "spawn_spikeballstorm_RtD", "spawn_voidstorm_RtD", "swampmutantprojectile2_RtD",
			"swampmutantprojectile_RtD", "webeggprojectile_RtD", "vfx_stonegolem_hurt_RtD", "vfx_stonegolem_death_RtD", "AirBlast_RtD", "ArcaneBlast_RtD", "EarthBlast_RtD", "EarthCurse_RtD", "ElectricBlast_RtD", "FireBlast_RtD",
			"FrostBlast_RtD", "HealingBlast_RtD", "HolyBlast_RtD", "LighteningCurse_RtD", "StormCurse_RtD", "VoidCurse_RtD", "WaterBlast_RtD", "AirSpray_RtD", "ArcaneSpray_RtD", "EarthSpray_Rtd",
			"ElectricSpray_RtD", "FireSpray_RtD", "FireSprayAOE_RtD", "FrostSpray_RtD", "HealingSpray_RtD", "HolySpray_RtD", "VoidSpray_RtD", "WaterSpray_RtD", "AirRainAOE1_RtD", "ArcaneRain1_RtD",
			"EarthPillarM_RtD", "EarthRainAOE2_RtD", "EarthRainAOE1_RtD", "ElectricRainAOE1_RtD", "FirePillarMAOE1_RtD", "FireRainAOE2_RtD", "FireRainAOE1_RtD", "FrostRainAOE2_RtD", "FrostRainAOE3_RtD", "FrostRainAOE1_RtD",
			"HealingRainAOE1_RtD", "HolyRainAOE1_RtD", "IcePillarM1_RtD", "LighteningPillarB_RtD", "VoidRainAOE2_RtD", "VoidRainAOE1_RtD", "WaterRainAOE1_RtD", "Ragdoll_BlackForestLocMur_RtD", "Ragdoll_MeadowsSnade_RtD", "Ragdoll_MistlandsSpider1_RtD",
			"Ragdoll_MistlandsSpider2_RtD", "Ragdoll_MistlandsSpider3_RtD", "Ragdoll_MistlandsSpider4_RtD", "Ragdoll_MountainWatcher_RtD", "Ragdoll_PlainsChomper1_RtD", "Ragdoll_PlainsChomper2_RtD", "Ragdoll_PlainsChomper3_RtD", "Ragdoll_PlainsChomper4_RtD", "Ragoll_SwampSludger_RtD", "Ragdoll_EikthyrSpirit_RtD",
			"Ragdoll_BlackForestGolem_RtD", "Ragdoll_MeadowsGolem_RtD", "Ragdoll_MountainBoss_RtD", "Ragdoll_MountainUndead_RtD", "Ragdoll_PlainsBoss_RtD", "Ragdoll_PlainsSizzler_RtD", "Ragdoll_SpiderQueen_RtD", "Ragdoll_TrollKing_RtD", "Ragdoll_SwampBoss_RtD", "BlackForestMeeleC1_RtD",
			"BlackForestMeleeC2_RtD", "BlackForestSpellC1_RtD", "BlackForestSummonC1_RtD", "MeadowsMeleeC1_RtD", "MeadowsMeleeC2_RtD", "MeadowsSpellC1_RtD", "MeadowsSummonC1_RtD", "MistlandsMeleeC1_RtD", "MistlandsMeleeC2_RtD", "MistlandsSpellC1_RtD",
			"MistlandsSpellC2_RtD", "MistlandsSpellC3_RtD", "MistlandsSpellC4_RtD", "MistlandsSummonC1_RtD", "MistlandsSummonC2_RtD", "MistlandsSummonC3_RtD", "MistlandsSummonC4_RtD", "MountainMeleeC1_RtD", "MountainMeleeC2_RtD", "MountainSpell_RtD",
			"MountainSummon_RtD", "PlainsMeleeC1_RtD", "PlainsMeleeC2_RtD", "PlainsMeleeC3_RtD", "PlainsSpellC1_RtD", "PlainsSpellC2_RtD", "PlainsSpellC3_RtD", "PlainsSpellC4_RtD", "SwampMeleeC1_RtD", "SwampMeleeC2_RtD",
			"SwampSpellC1_RtD", "SwampSummonC1_RtD", "BlackForestGolemMelee1_RtD", "BlackForestGolemMelee2_RtD", "BlackForestGolemSpell_RtD", "BlackForestGolemSummon_RtD", "MeadowsGolemMelee1_RtD", "MeadowsGolemMelee2_RtD", "MeadowsGolemSpell_RtD", "MeadowsGolemSummon_RtD",
			"MountainUndeadMelee_RtD", "MountainUndeadSpell_RtD", "PlainsSizzlerAttack1_RtD", "PlainsSizzlerAttack2_RtD", "PlainsSizzlerSpell_RtD", "PlainsSizzlerSummon_RtD", "EikthyrSpiritAttack1_RtD", "EikthyrSpiritAttack2_RtD", "EikthyrSpiritAttack3_RtD", "EikthyrSpiritAttack4_RtD",
			"EikthyrSpiritSpell_RtD", "EikthyrSpiritSummon_RtD", "MountainBossAttack1_RtD", "MountainBossAttack2_RtD", "MountainBossAttack3_RtD", "MountainBossAttack4_RtD", "MountainBossSpell_RtD", "MountainBossSummon_RtD", "PlainsBossMelee1_RtD", "PlainsBossMelee2_RtD",
			"PlainsBossMelee3_RtD", "PlainsBossSpell1_RtD", "PlainsBossSpell2_RtD", "PlainsBossSummon_RtD", "SpiderQueenMelee1_RtD", "SpiderQueenMelee2_RtD", "SpiderQueenMelee3_RtD", "SpiderQueenMelee4_RtD", "SpiderQueenMelee5_RtD", "SpiderQueenMelee6_RtD",
			"SpiderQueenSpell_RtD", "SpiderQueenSummon_RtD", "SwampBossMelee1_RtD", "SwampBossMelee2_RtD", "SwampBossMelee3_RtD", "SwampBossMelee4_RtD", "SwampBossSpell_RtD", "SwampBossSummon_RtD", "LighteningExplosionLarge_RtD", "troll_groundslam_aoe_RtD",
			"troll_melee1_RtD", "troll_melee2_RtD", "troll_melee3_RtD", "troll_melee4_RtD", "troll_spell_RtD", "troll_summon_RtD", "trollkingprojectile1_RtD", "trollkingprojectile2_RtD", "trollstorm_RtD", "ArcaneExplosionSmall1_RtD",
			"EarthExplosionLarge1_RtD", "EarthExplosionSmall1_RtD", "EggExplosion_RtD", "FireExplosionSmall1_RtD", "FrostExplosionLarge1_RtD", "FrostExplosionSmall1_RtD", "LightningExplosionSmall1_RtD", "SpikyExplosionSmall1_RtD", "StormExplosionSmall1_RtD", "vfx_bloodsplat_death_RtD",
			"vfx_bloodsplat_hit_RtD", "VFX_IceSpray_RtD", "VoidExplosionSmall1_RtD", "FX_Armor_RtD", "FX_Frosted_RtD", "FX_Shocked_RtD", "FX_Weakened_RtD", "vfx_troll_attack_hit_RtD", "vfx_troll_death_RtD", "vfx_troll_footstep_RtD",
			"vfx_troll_footstep_water_RtD", "vfx_troll_groundslam_RtD", "vfx_troll_log_hitground_RtD", "vfx_troll_rock_destroyed_RtD", "vfx_offeringS_RtD", "Spawner_PlainsChomper1_RtD", "Spawner_PlainsChomper2_RtD", "Spawner_PlainsChomper3_RtD", "Spawner_PlainsChomper4_RtD", "Spawner_BlackForestGolem_RtD",
			"Spawner_MeadowsGolem_RtD", "Spawner_Locmur_RtD", "Spawner_MountainUndead_RtD", "Spawner_PlainsSizzler_RtD", "Spawner_SwampSludger_RtD", "Spawner_MeadowsSnade_RtD", "Spawner_MistlandsSpider1_RtD", "Spawner_MistlandsSpider2_RtD", "Spawner_MistlandsSpider3_RtD", "Spawner_MistlandsSpider4_RtD",
			"Spawner_MountainWatcher_RtD"
		};

		public string[] ItemsList = new string[30]
		{
			"SpiritEssense_RtD", "BlackForestCore_RtD", "MeadowsCore_RtD", "MistlandsCore_RtD", "MountainCore_RtD", "PlainsCore_RtD", "SwampCore_RtD", "BlackForestToken_RtD", "MeadowsToken_RtD", "MistlandsToken_RtD",
			"MountainToken_RtD", "PlainsToken_RtD", "SwampToken_RtD", "FelmetalBar_RtD", "FelmetalOre_RtD", "Item_BloodironBar_RtD", "Item_BloodironOre_RtD", "Item_BrassBar_RtD", "Item_BrightsteelBar_RtD", "Item_CelestialBronzeBar_RtD",
			"Item_GoldBar_RtD", "Item_GoldOre_RtD", "Item_MoonironBar_RtD", "Item_MoonironOre_RtD", "Item_NetheriteBar_RtD", "Item_OrichalcumBar_RtD", "Item_OrichalcumOre_RtD", "Item_QuicksilverBar_RtD", "Item_ZincBar_RtD", "Item_ZincOre_RtD"
		};

		public string[] CustomStatusEffectList = new string[4] { "SE_Shocked_RtD", "SE_Weakened_RtD", "SE_Frosted_RtD", "SE_ArmorWeakness_RtD" };

		public string[] SFXList = new string[100]
		{
			"sfx_spiderqueen_attack_RtD", "sfx_spiderqueen_death_RtD", "sfx_spiderqueen_hit_RtD", "sfx_spiderqueenranged_RtD", "sfx_meadowsboss_alerted_RtD", "sfx_meadowsboss_attack_RtD", "sfx_meadowsboss_death_RtD", "sfx_meadowsboss_hit_RtD", "sfx_meadowsboss_idle_RtD", "sfx_meadowsboss_ranged_RtD",
			"sfx_mountainboss_alerted_RtD", "sfx_mountainboss_attack_RtD", "sfx_mountainboss_death_RtD", "sfx_mountainboss_hit_RtD", "sfx_mountainboss_idle_RtD", "sfx_mountainboss_ranged_RtD", "sfx_plainsboss_alerted_RtD", "sfx_plainsboss_attack_RtD", "sfx_plainsboss_death_RtD", "sfx_plainsboss_hit_RtD",
			"sfx_plainsboss_idle_RtD", "sfx_plainsboss_ranged_RtD", "sfx_swampboss_death_RtD", "sfx_swampboss_alerted_RtD", "sfx_swampboss_idle_RtD", "sfx_troll_alerted_RtD", "sfx_troll_attack_hit_RtD", "sfx_troll_attacking_RtD", "sfx_troll_death_RtD", "sfx_troll_footstep_RtD",
			"sfx_troll_footstep_water_RtD", "sfx_troll_hit_RtD", "sfx_troll_idle_RtD", "sfx_chomper_alerted_RtD", "sfx_chomper_attack_RtD", "sfx_chomper_death_RtD", "sfx_chomper_hit_RtD", "sfx_chomper_idle_RtD", "sfx_chomper_ranged_RtD", "sfx_locmur_alerted_RtD",
			"sfx_locmur_attack_RtD", "sfx_locmur_death_RtD", "sfx_locmur_hit_RtD", "sfx_locmur_idle_RtD", "sfx_locmur_ranged_RtD", "sfx_summon_attack_RtD", "sfx_frozenundead_alerted_RtD", "sfx_frozenundead_attack_RtD", "sfx_frozenundead_death", "sfx_frozenundead_hit_RtD",
			"sfx_frozenundead_idle_RtD", "sfx_frozenundead_ranged_RtD", "sfx_sizzler_alerted_RtD", "sfx_sizzler_attack_RtD", "sfx_sizzler_death_RtD", "sfx_sizzler_hit_RtD", "sfx_sizzler_idle_RtD", "sfx_sizzler_ranged_RtD", "sfx_sludger_alerted_RtD", "sfx_sludger_attack_RtD",
			"sfx_sludger_death", "sfx_sludger_hit_RtD", "sfx_sludger_idle_RtD", "sfx_sludger_ranged_RtD", "sfx_snade_alerted_RtD", "sfx_snade_attack_RtD", "sfx_snade_death_RtD", "sfx_snade_hit_RtD", "sfx_snade_idle_RtD", "sfx_snade_ranged_RtD",
			"sfx_snade_RtD", "sfx_arachnid_alerted_RtD", "sfx_arachnid_attack_RtD", "sfx_arachnid_death", "sfx_arachnid_hit_RtD", "sfx_arachnid_idle_RtD", "sfx_arachnid_ranged_RtD", "sfx_watcher_alerted_RtD", "sfx_watcher_attack_RtD", "sfx_watcher_death_RtD",
			"sfx_watcher_hit_RtD", "sfx_watcher_idle_RtD", "sfx_watcher_ranged_RtD", "fx_footstep_jog_RtD", "fx_footstep_run_RtD", "fx_footstep_water_RtD", "sfx_offeringS_RtD", "sfx_golem_alerted_RtD", "sfx_golem_attack_RtD", "sfx_golem_death_RtD",
			"sfx_golem_hit_RtD", "sfx_golem_idle_RtD", "sfx_golem_ranged_RtD", "fx_Queen_Run_RtD", "fx_Queen_Walk_RtD", "sfx_queenalerted_RtD", "sfx_mutant3_attack_RtD1", "sfx_mutantranged3_RtD1", "sfx_swampboss_hit_RtD", "sfx_queenranged_RtD"
		};

		public string[] StaticList1 = new string[2] { "MeadowsSnade_RtD", "MeadowsGolem_RtD" };

		public string[] StaticList2 = new string[2] { "BlackForestGolem_RtD", "BlackForestLocMur_RtD" };

		public string[] StaticList3 = new string[1] { "SwampSludger_RtD" };

		public string[] StaticList4 = new string[2] { "MountainUndead_RtD", "MountainWatcher_RtD" };

		public string[] StaticList5 = new string[5] { "PlainsChomper1_RtD", "PlainsChomper2_RtD", "PlainsChomper3_RtD", "PlainsChomper4_RtD", "PlainsSizzler_RtD" };

		public string[] StaticList6 = new string[4] { "MistlandsSpider1_RtD", "MistlandsSpider2_RtD", "MistlandsSpider3_RtD", "MistlandsSpider4_RtD" };

		public string[] BossList = new string[6] { "EikthyrSpirit_RtD", "MountainBoss_RtD", "PlainsBoss_RtD", "SpiderQueen_RtD", "SwampBoss_RtD", "TrollKing_RtD" };

		public static SpawnConfig[] MeadowsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 240f,
				SpawnChance = 15f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 500f,
				Biome = (Biome)1
			}
		};

		public static SpawnConfig[] BlackForestSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 240f,
				SpawnChance = 15f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 500f,
				Biome = (Biome)8
			}
		};

		public static SpawnConfig[] SwampSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 240f,
				SpawnChance = 15f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 500f,
				Biome = (Biome)2
			}
		};

		public static SpawnConfig[] MountainSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 240f,
				SpawnChance = 15f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 1000f,
				Biome = (Biome)4
			}
		};

		public static SpawnConfig[] PlainsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 240f,
				SpawnChance = 15f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 500f,
				Biome = (Biome)16
			}
		};

		public static SpawnConfig[] MistlandsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 240f,
				SpawnChance = 15f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 1000f,
				Biome = (Biome)512
			}
		};

		public string[] StaticList = new string[1] { "MeadowsZinc_RtD" };

		public string[] MeadowsList = new string[1] { "MeadowsFlint_RtD" };

		public string[] BlackForestList = new string[1] { "BlackForestGold_RtD" };

		public string[] SwampList = new string[1] { "SwampMooniron_RtD" };

		public string[] MountainList = new string[1] { "MountainOrichalcum_RtD" };

		public string[] PlainsList = new string[2] { "PlainsBloodiron_RtD", "PlainsBlackMetal_RtD" };

		public string[] MistlandsList = new string[1] { "MistlandsFelOre_RtD" };

		public static VegetationConfig StaticValues = new VegetationConfig
		{
			Min = 1f,
			Max = 2f,
			ScaleMin = 0.75f,
			ScaleMax = 1.25f,
			MinAltitude = 1f,
			Biome = (Biome)0,
			MaxTilt = 90f,
			MaxTerrainDelta = 10f,
			GroupSizeMin = 1,
			GroupSizeMax = 2
		};

		public static VegetationConfig MeadowsValues = new VegetationConfig
		{
			Min = 1f,
			Max = 2f,
			ScaleMin = 0.75f,
			ScaleMax = 1.25f,
			MinAltitude = 1f,
			Biome = (Biome)1,
			MaxTilt = 90f,
			MaxTerrainDelta = 10f,
			GroupSizeMin = 1,
			GroupSizeMax = 2
		};

		public static VegetationConfig BlackForestValues = new VegetationConfig
		{
			Min = 1f,
			Max = 2f,
			ScaleMin = 0.75f,
			ScaleMax = 1.25f,
			MinAltitude = 1f,
			Biome = (Biome)8,
			MaxTilt = 90f,
			MaxTerrainDelta = 10f,
			GroupSizeMin = 1,
			GroupSizeMax = 2
		};

		public static VegetationConfig SwampValues = new VegetationConfig
		{
			Min = 1f,
			Max = 2f,
			ScaleMin = 0.75f,
			ScaleMax = 1.25f,
			MinAltitude = 1f,
			Biome = (Biome)2,
			MaxTilt = 90f,
			MaxTerrainDelta = 10f,
			GroupSizeMin = 1,
			GroupSizeMax = 2
		};

		public static VegetationConfig MountainValues = new VegetationConfig
		{
			Min = 1f,
			Max = 2f,
			ScaleMin = 0.75f,
			ScaleMax = 1.25f,
			MinAltitude = 1f,
			Biome = (Biome)4,
			MaxTilt = 90f,
			MaxTerrainDelta = 10f,
			GroupSizeMin = 1,
			GroupSizeMax = 2
		};

		public static VegetationConfig PlainsValues = new VegetationConfig
		{
			Min = 1f,
			Max = 2f,
			ScaleMin = 0.75f,
			ScaleMax = 1.25f,
			MinAltitude = 1f,
			Biome = (Biome)16,
			MaxTilt = 90f,
			MaxTerrainDelta = 10f,
			GroupSizeMin = 1,
			GroupSizeMax = 2
		};

		public static VegetationConfig MistlandsValues = new VegetationConfig
		{
			Min = 1f,
			Max = 2f,
			ScaleMin = 0.75f,
			ScaleMax = 1.25f,
			MinAltitude = 1f,
			Biome = (Biome)512,
			MaxTilt = 90f,
			MaxTerrainDelta = 10f,
			GroupSizeMin = 1,
			GroupSizeMax = 2
		};

		public static CreatureConfig MeadowsCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)2,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = MeadowsSpawnConfig
		};

		public static CreatureConfig BlackForestCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)2,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = BlackForestSpawnConfig
		};

		public static CreatureConfig SwampCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)3,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = SwampSpawnConfig
		};

		public static CreatureConfig MountainCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)5,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = MountainSpawnConfig
		};

		public static CreatureConfig PlainsCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)7,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = PlainsSpawnConfig
		};

		public static CreatureConfig MistlandsCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)9,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = MistlandsSpawnConfig
		};

		private void Awake()
		{
			LoadBundle();
			CreateConfigurationValues();
			AddSFX();
			AddPrefabs();
			MeadowsSpawner();
			BlackForestSpawner();
			SwampSpawner();
			MountainSpawner();
			PlainsSpawner();
			MistlandsSpawner();
			Bosses();
			Altars();
			AddItems();
			StatusEffects();
			Addlocalizations();
			MeadowsVegetation();
			BlackForestVegetation();
			SwampVegetation();
			MountainVegetation();
			PlainsVegetation();
			MistlandsVegetation();
			StaticVegetation();
			ItemConversions();
			PrefabManager.OnPrefabsRegistered += FixSFX;
			Log = ((BaseUnityPlugin)this).Logger;
		}

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

		public void CreateConfigurationValues()
		{
			//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_003d: Expected O, but got Unknown
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
				LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", false, new ConfigDescription("Admin only, Enables logging. Disabled by default.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true
				} }));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}");
			}
		}

		private void ItemConversions()
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Expected O, but got Unknown
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Expected O, but got Unknown
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Expected O, but got Unknown
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Expected O, but got Unknown
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: 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
			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Expected O, but got Unknown
			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Expected O, but got Unknown
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Expected O, but got Unknown
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0109: Expected O, but got Unknown
			//IL_0113: Unknown result type (might be due to invalid IL or missing references)
			//IL_011d: Expected O, but got Unknown
			//IL_0127: Unknown result type (might be due to invalid IL or missing references)
			//IL_0131: Expected O, but got Unknown
			//IL_0138: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Expected O, but got Unknown
			//IL_0143: Unknown result type (might be due to invalid IL or missing references)
			//IL_0149: Expected O, but got Unknown
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0174: Expected O, but got Unknown
			//IL_017e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0188: Expected O, but got Unknown
			//IL_0192: Unknown result type (might be due to invalid IL or missing references)
			//IL_019c: Expected O, but got Unknown
			//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ad: Expected O, but got Unknown
			//IL_01ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Expected O, but got Unknown
			//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e3: Expected O, but got Unknown
			//IL_01ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f8: Expected O, but got Unknown
			//IL_0203: Unknown result type (might be due to invalid IL or missing references)
			//IL_020d: Expected O, but got Unknown
			//IL_0215: Unknown result type (might be due to invalid IL or missing references)
			//IL_021f: Expected O, but got Unknown
			//IL_0220: Unknown result type (might be due to invalid IL or missing references)
			//IL_0227: Expected O, but got Unknown
			//IL_0255: Unknown result type (might be due to invalid IL or missing references)
			//IL_025f: Expected O, but got Unknown
			//IL_0260: Unknown result type (might be due to invalid IL or missing references)
			//IL_0267: Expected O, but got Unknown
			//IL_0295: Unknown result type (might be due to invalid IL or missing references)
			//IL_029f: Expected O, but got Unknown
			//IL_02a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a7: Expected O, but got Unknown
			//IL_02d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02df: Expected O, but got Unknown
			//IL_02e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e7: Expected O, but got Unknown
			//IL_0315: Unknown result type (might be due to invalid IL or missing references)
			//IL_031f: Expected O, but got Unknown
			//IL_0320: Unknown result type (might be due to invalid IL or missing references)
			//IL_0327: Expected O, but got Unknown
			//IL_0355: Unknown result type (might be due to invalid IL or missing references)
			//IL_035f: Expected O, but got Unknown
			//IL_0360: Unknown result type (might be due to invalid IL or missing references)
			//IL_0367: Expected O, but got Unknown
			//IL_0395: Unknown result type (might be due to invalid IL or missing references)
			//IL_039f: Expected O, but got Unknown
			try
			{
				RecipeConfig val = new RecipeConfig();
				val.Item = "Item_QuicksilverBar_RtD";
				val.CraftingStation = CraftingStations.Forge;
				val.AddRequirement(new RequirementConfig("Obsidian", 1, 0, false));
				val.AddRequirement(new RequirementConfig("Silver", 1, 0, false));
				val.AddRequirement(new RequirementConfig("Item_OrichalcumBar_RtD", 1, 0, false));
				ItemManager.Instance.AddRecipe(new CustomRecipe(val));
				RecipeConfig val2 = new RecipeConfig();
				val2.Item = "Item_BrassBar_RtD";
				val2.CraftingStation = CraftingStations.Forge;
				val2.AddRequirement(new RequirementConfig("Copper", 1, 0, false));
				val2.AddRequirement(new RequirementConfig("Item_ZincBar_RtD", 1, 0, false));
				val2.AddRequirement(new RequirementConfig("Flint", 1, 0, false));
				ItemManager.Instance.AddRecipe(new CustomRecipe(val2));
				RecipeConfig val3 = new RecipeConfig();
				val3.Item = "Item_BrightsteelBar_RtD";
				val3.CraftingStation = CraftingStations.Forge;
				val3.AddRequirement(new RequirementConfig("Guck", 1, 0, false));
				val3.AddRequirement(new RequirementConfig("Iron", 1, 0, false));
				val3.AddRequirement(new RequirementConfig("Item_MoonironBar_RtD", 1, 0, false));
				ItemManager.Instance.AddRecipe(new CustomRecipe(val3));
				RecipeConfig val4 = new RecipeConfig();
				val4.Item = "Item_CelestialBronzeBar_RtD";
				val4.CraftingStation = CraftingStations.Forge;
				val4.AddRequirement(new RequirementConfig("Item_GoldBar_RtD", 1, 0, false));
				val4.AddRequirement(new RequirementConfig("Copper", 1, 0, false));
				val4.AddRequirement(new RequirementConfig("Tin", 1, 0, false));
				ItemManager.Instance.AddRecipe(new CustomRecipe(val4));
				RecipeConfig val5 = new RecipeConfig();
				val5.Item = "Item_NetheriteBar_RtD";
				val5.CraftingStation = CraftingStations.Forge;
				val5.AddRequirement(new RequirementConfig("Tar", 1, 0, false));
				val5.AddRequirement(new RequirementConfig("BlackMetal", 1, 0, false));
				val5.AddRequirement(new RequirementConfig("Item_BloodironBar_RtD", 1, 0, false));
				ItemManager.Instance.AddRecipe(new CustomRecipe(val5));
				SmelterConversionConfig val6 = new SmelterConversionConfig();
				((ConversionConfig)val6).Station = Smelters.BlastFurnace;
				((ConversionConfig)val6).FromItem = "Item_BloodironOre_RtD";
				((ConversionConfig)val6).ToItem = "Item_BloodironBar_RtD";
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val6));
				SmelterConversionConfig val7 = new SmelterConversionConfig();
				((ConversionConfig)val7).Station = Smelters.Smelter;
				((ConversionConfig)val7).FromItem = "Item_GoldOre_RtD";
				((ConversionConfig)val7).ToItem = "Item_GoldBar_RtD";
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val7));
				SmelterConversionConfig val8 = new SmelterConversionConfig();
				((ConversionConfig)val8).Station = Smelters.Smelter;
				((ConversionConfig)val8).FromItem = "Item_MoonironOre_RtD";
				((ConversionConfig)val8).ToItem = "Item_MoonironBar_RtD";
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val8));
				SmelterConversionConfig val9 = new SmelterConversionConfig();
				((ConversionConfig)val9).Station = Smelters.Smelter;
				((ConversionConfig)val9).FromItem = "Item_OrichalcumOre_RtD";
				((ConversionConfig)val9).ToItem = "Item_OrichalcumBar_RtD";
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val9));
				SmelterConversionConfig val10 = new SmelterConversionConfig();
				((ConversionConfig)val10).Station = Smelters.BlastFurnace;
				((ConversionConfig)val10).FromItem = "FelmetalOre_RtD";
				((ConversionConfig)val10).ToItem = "FelmetalBar_RtD";
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val10));
				SmelterConversionConfig val11 = new SmelterConversionConfig();
				((ConversionConfig)val11).Station = Smelters.Smelter;
				((ConversionConfig)val11).FromItem = "Item_ZincOre_RtD";
				((ConversionConfig)val11).ToItem = "Item_ZincBar_RtD";
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val11));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding monsters: {arg}");
			}
		}

		private void StaticVegetation()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						ZoneManager.Instance.AddCustomVegetation(new CustomVegetation(val, true, StaticValues));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Vegetation: " + 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 MeadowsVegetation()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] meadowsList = MeadowsList;
				foreach (string text in meadowsList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						ZoneManager.Instance.AddCustomVegetation(new CustomVegetation(val, true, MeadowsValues));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Vegetation: " + 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 BlackForestVegetation()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] blackForestList = BlackForestList;
				foreach (string text in blackForestList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						ZoneManager.Instance.AddCustomVegetation(new CustomVegetation(val, true, BlackForestValues));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Vegetation: " + 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 SwampVegetation()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] swampList = SwampList;
				foreach (string text in swampList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						ZoneManager.Instance.AddCustomVegetation(new CustomVegetation(val, true, SwampValues));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Vegetation: " + 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 MountainVegetation()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] mountainList = MountainList;
				foreach (string text in mountainList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						ZoneManager.Instance.AddCustomVegetation(new CustomVegetation(val, true, MountainValues));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Vegetation: " + 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 PlainsVegetation()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] plainsList = PlainsList;
				foreach (string text in plainsList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						ZoneManager.Instance.AddCustomVegetation(new CustomVegetation(val, true, PlainsValues));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Vegetation: " + 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 MistlandsVegetation()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] mistlandsList = MistlandsList;
				foreach (string text in mistlandsList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						ZoneManager.Instance.AddCustomVegetation(new CustomVegetation(val, true, MistlandsValues));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Vegetation: " + 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 Addlocalizations()
		{
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization = Localization;
			string text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "BlackForestGold_RtD", "Gold" },
				{ "MeadowsFlint_RtD", "Flint" },
				{ "MeadowsZinc_RtD", "Zinc" },
				{ "PlainsBlackMetal_RtD", "BlackMetal" },
				{ "MistlandsFelOre_RtD", "FelOre" },
				{ "MountainOrichalcum_RtD", "Orichalcum" },
				{ "PlainsBloodiron_RtD", "BloodIron" },
				{ "SwampMooniron_RtD", "MoonIron" },
				{ "Item_BloodironBar_RtD", "BloodIron" },
				{ "Item_BloodironBar_desc_RtD", "Its shiny." },
				{ "Item_BloodironOre_RtD", "BloodIron Ore" },
				{ "Item_BloodironOre_desc_RtD", "Its shiny." },
				{ "Item_GoldBar_RtD", "Gold" },
				{ "Item_GoldBar_desc_RtD", "Its shiny." },
				{ "Item_GoldOre_RtD", "Gold Ore" },
				{ "Item_GoldOre_desc_RtD", "Its shiny." },
				{ "Item_MoonironBar_RtD", "MoonIron" },
				{ "Item_MoonironBar_desc_RtD", "Its shiny." },
				{ "Item_MoonironOre_RtD", "MoonIron Ore" },
				{ "Item_MoonironOre_desc_RtD", "Its shiny." },
				{ "Item_OrichalcumBar_RtD", "Orichalcum" },
				{ "Item_OrichalcumBar_desc_RtD", "Its shiny." },
				{ "Item_OrichalcumOre_RtD", "Orichalcum Ore" },
				{ "Item_OrichalcumOre_desc_RtD", "Its shiny." },
				{ "Item_ZincBar_RtD", "Zinc" },
				{ "Item_ZincBar_desc_RtD", "Its shiny." },
				{ "Item_ZincOre_RtD", "Zinc Ore" },
				{ "Item_ZincOre_desc_RtD", "Its shiny." },
				{ "Item_BrassBar_RtD", "Brass." },
				{ "Item_BrassBar_desc_RtD", "Its shiny." },
				{ "Item_BrightsteelBar_RtD", "BrightSteel." },
				{ "Item_BrightsteelBar_desc_RtD", "Its shiny.." },
				{ "Item_CelestialBronzeBar_RtD", "Celestial Bronze." },
				{ "Item_CelestialBronzeBar_desc_RtD", "Its shiny.." },
				{ "Item_NetheriteBar_RtD", "Netherite." },
				{ "Item_NetheriteBar_desc_RtD", "Its shiny.." },
				{ "Item_QuicksilverBar_RtD", "QuickSilver." },
				{ "Item_QuicksilverBar_desc_RtD", "Its shiny.." },
				{ "FelmetalBar_RtD", "Felmetal" },
				{ "FelmetalBar_desc_RtD", "Its shiny.." },
				{ "FelmetalOre_RtD", "Felmetal Ore" },
				{ "FelmetalOre_desc_RtD", "Its cold to the touch." },
				{ "SpiritEssense_RtD", "Spirit Essense" },
				{ "SpiritEssense_desc_RtD", "Used for food recipes & weapons." },
				{ "se_armorweakness_name", "Physical Weakness" },
				{ "se_armorweakness_tooltip", "Physical Weakness" },
				{ "se_armorweakness_start", "Physical Weakness" },
				{ "se_frosted_name", "Frost Weakness" },
				{ "se_frosted_tooltip", "Frost Weakness" },
				{ "se_frosted_start", "Frost Weakness" },
				{ "se_shocked_name", "Electric Weakness" },
				{ "se_shocked_tooltip", "Electric Weakness" },
				{ "se_shocked_start", "Electric Weakness" },
				{ "se_weakened_name", "Poison Weakness" },
				{ "se_weakened_tooltip", "Poison Weakness" },
				{ "se_weakened_start", "Poison Weakness" },
				{ "EikthyrSpirit_RtD", "Eikthyr's Spirit" },
				{ "MountainBoss_RtD", "Mountain Lord" },
				{ "PlainsBoss_RtD", "Plains Commander" },
				{ "SpiderQueen_RtD", "Spider Queen" },
				{ "SwampBoss_RtD", "Undead Lord" },
				{ "TrollKing_RtD", "Troll King" },
				{ "PlainsChomper1_RtD", "Chomper" },
				{ "PlainsChomper2_RtD", "Chomper" },
				{ "PlainsChomper3_RtD", "Chomper" },
				{ "PlainsChomper4_RtD", "Chomper" },
				{ "BlackForestGolem_RtD", "Forest Golem" },
				{ "MeadowsGolem_RtD", "Forest Golem" },
				{ "BlackForestLocMur_RtD", "Locmur" },
				{ "MountainUndead_RtD", "Frozen Undead" },
				{ "PlainsSizzler_RtD", "Sizzler" },
				{ "SwampSludger_RtD", "Sludger" },
				{ "MeadowsSnade_RtD", "Snade" },
				{ "MistlandsSpider1_RtD", "Arachnid" },
				{ "MistlandsSpider2_RtD", "Arachnid" },
				{ "MistlandsSpider3_RtD", "Arachnid" },
				{ "MistlandsSpider4_RtD", "Arachnid" },
				{ "MountainWatcher_RtD", "Watcher" },
				{ "BlackForestCore_RtD", "BlackForest Core" },
				{ "BlackForestCore_desc_RtD", "Used for powerful weapons" },
				{ "MeadowsCore_RtD", "Meadows Core" },
				{ "MeadowsCore_desc_RtD", "Used for powerful weapons" },
				{ "MistlandsCore_RtD", "Mistlands Core" },
				{ "MistlandsCore_desc_RtD", "Used for powerful weapons" },
				{ "MountainCore_RtD", "Mountain Core" },
				{ "MountainCore_desc_RtD", "Used for powerful weapons" },
				{ "PlainsCore_RtD", "Plains Core" },
				{ "PlainsCore_desc_RtD", "Used for powerful weapons" },
				{ "SwampCore_RtD", "Swamp Core" },
				{ "SwampCore_desc_RtD", "Used for powerful weapons" },
				{ "BlackForestToken_RtD", "BlackForest Token" },
				{ "BlackForestToken_desc_RtD", "Used for weapons, and to summon a boss." },
				{ "MeadowsToken_RtD", "Meadows Token" },
				{ "MeadowsToken_desc_RtD", "Used for weapons, and to summon a boss." },
				{ "MistlandsToken_RtD", "Mistlands Token" },
				{ "MistlandsToken_desc_RtD", "Used for weapons, and to summon a boss." },
				{ "MountainToken_RtD", "Mountain Token" },
				{ "MountainToken_desc_RtD", "Used for weapons, and to summon a boss." },
				{ "PlainsToken_RtD", "Plains Token" },
				{ "PlainsToken_desc_RtD", "Used for weapons, and to summon a boss." },
				{ "SwampToken_RtD", "Swamp Token" },
				{ "SwampToken_desc_RtD", "Used for weapons, and to summon a boss." },
				{ "Vegvisir_RtD", "Vegvisir" },
				{ "BlackForestAltar_RtD", "Troll King" },
				{ "MeadowsAltar_RtD", "Eikthyr Spirit" },
				{ "MistlandsAltar_RtD", "Spider Queen" },
				{ "MountainAltar_RtD", "Fenrir King" },
				{ "PlainsAltar_RtD", "Plains Commander" },
				{ "SwampAltar_RtD", "Swamp Lord" }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization2 = Localization;
			text = "Russian";
			localization2.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "MeadowsGolem_RtD", "Лесной голем" },
				{ "BlackForestGolem_RtD", "Черный голем" },
				{ "MountainUndead_RtD", "Нежить" },
				{ "PlainsSizzler_RtD", "Шептун" },
				{ "AshLandsCrawler_RtD", "Ползун" },
				{ "BlackForestLocMur_RtD", "Черный мурлок" },
				{ "DeepNorthDemon1_RtD", "Демон" },
				{ "DeepNorthDemon2_RtD", "Демон" },
				{ "DeepNorthDemon3_RtD", "Демон" },
				{ "DeepNorthDemon4_RtD", "Демон" },
				{ "MeadowsSnade_RtD", "Сатир" },
				{ "MistlandsSpider1_RtD", "Туманный паук" },
				{ "MistlandsSpider2_RtD", "Туманный паук" },
				{ "MistlandsSpider3_RtD", "Туманный паук" },
				{ "MistlandsSpider4_RtD", "Туманный паук" },
				{ "MountainWatcher_RtD", "Смотритель" },
				{ "PlainsChomper1_RtD", "Зубастик" },
				{ "PlainsChomper2_RtD", "Зубастик" },
				{ "PlainsChomper3_RtD", "Зубастик" },
				{ "PlainsChomper4_RtD", "Зубастик" },
				{ "SwampSludger_RtD", "Душнила" },
				{ "SpiritEssense_RtD", "Душа" },
				{ "SpiritEssense_desc_RtD", "Сосуд, содержащий душу" },
				{ "BlackForestCore_RtD", "Ядро черного леса" },
				{ "BlackForestCore_desc_RtD", "Ядро из самого черного леса" },
				{ "MeadowsCore_RtD", "Ядро зеленого леса" },
				{ "MeadowsCore_desc_RtD", "Ядро из дружелюбного леса" },
				{ "MistlandsCore_RtD", "Туманное ядро" },
				{ "MistlandsCore_desc_RtD", "Ядро пропитанное туманом" },
				{ "MountainCore_RtD", "Горное ядро" },
				{ "MountainCore_desc_RtD", "Ядро из горной местности" },
				{ "PlainsCore_RtD", "Ядро равнины" },
				{ "PlainsCore_desc_RtD", "Ядро, найденное в траве равнин" },
				{ "SwampCore_RtD", "Болотное ядро" },
				{ "SwampCore_desc_RtD", "Мерзкое и липкое ядро из болот" },
				{ "BlackForestToken_RtD", "Ключ черного леса" },
				{ "BlackForestToken_desc_RtD", "Ключ от святилища черного леса" },
				{ "MeadowsToken_RtD", "Ключ зеленого леса" },
				{ "MeadowsToken_desc_RtD", "Ключ от святилища зеленого леса" },
				{ "MistlandsToken_RtD", "Ключ туманных земель" },
				{ "MistlandsToken_desc_RtD", "Ключ от святилища туманных земель" },
				{ "MountainToken_RtD", "Ключ горы" },
				{ "MountainToken_desc_RtD", "Ключ от святилища в горах" },
				{ "PlainsToken_RtD", "Ключ с равнины" },
				{ "PlainsToken_desc_RtD", "Ключ от святилища в равнинах" },
				{ "SwampToken_RtD", "Ключ с болот" },
				{ "SwampToken_desc_RtD", "Ключ от святилища болот" },
				{ "EikthyrSpirit_RtD", "Дух эйктюра" },
				{ "MountainBoss_RtD", "Фенрир Кинг" },
				{ "PlainsBoss_RtD", "Король равнин" },
				{ "SpiderQueen_RtD", "Паучья королева" },
				{ "SwampBoss_RtD", "Болотный король" },
				{ "TrollKing_RtD", "Король троллей" }
			});
		}

		public void StatusEffects()
		{
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Expected O, but got Unknown
			try
			{
				string[] customStatusEffectList = CustomStatusEffectList;
				foreach (string text in customStatusEffectList)
				{
					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);
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}");
			}
		}

		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[] itemsList = ItemsList;
				foreach (string text in itemsList)
				{
					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 MeadowsSpawner()
		{
			//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, MeadowsCreatureConfig));
						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 BlackForestSpawner()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList2;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, BlackForestCreatureConfig));
						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 SwampSpawner()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList3;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, SwampCreatureConfig));
						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 MountainSpawner()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList4;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, MountainCreatureConfig));
						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 PlainsSpawner()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList5;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, PlainsCreatureConfig));
						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 MistlandsSpawner()
		{
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList6;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, MistlandsCreatureConfig));
						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 AddPrefabs()
		{
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: 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)
					{
						GameObject prefab = Cache.GetPrefab<GameObject>(text);
						if ((Object)(object)prefab == (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 AddSFX()
		{
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Expected O, but got Unknown
			try
			{
				string[] sFXList = SFXList;
				foreach (string text in sFXList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						GameObject prefab = Cache.GetPrefab<GameObject>(text);
						if ((Object)(object)prefab == (Object)null)
						{
							CustomPrefab val2 = new CustomPrefab(val, false);
							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 sfx prefabs: {arg}");
			}
		}

		private void FixSFX()
		{
			try
			{
				AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit");
				string[] sFXList = SFXList;
				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 -= FixSFX;
			}
		}

		private void Bosses()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] bossList = BossList;
				foreach (string text in bossList)
				{
					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 Altars()
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Expected O, but got Unknown
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Expected O, but got Unknown
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e0: Expected O, but got Unknown
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0178: Unknown result type (might be due to invalid IL or missing references)
			//IL_017e: Expected O, but got Unknown
			//IL_019f: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a6: Expected O, but got Unknown
			//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_023e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0245: Expected O, but got Unknown
			//IL_0267: Unknown result type (might be due to invalid IL or missing references)
			//IL_026e: Expected O, but got Unknown
			//IL_027a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0306: Unknown result type (might be due to invalid IL or missing references)
			//IL_030d: Expected O, but got Unknown
			//IL_032f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0336: Expected O, but got Unknown
			//IL_0343: Unknown result type (might be due to invalid IL or missing references)
			//IL_03cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d6: Expected O, but got Unknown
			//IL_03f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ff: Expected O, but got Unknown
			//IL_040f: Unknown result type (might be due to invalid IL or missing references)
			//IL_049b: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a2: Expected O, but got Unknown
			//IL_04c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04cb: Expected O, but got Unknown
			//IL_04d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0557: Unknown result type (might be due to invalid IL or missing references)
			//IL_055e: Expected O, but got Unknown
			//IL_0580: Unknown result type (might be due to invalid IL or missing references)
			//IL_0587: Expected O, but got Unknown
			//IL_0593: Unknown result type (might be due to invalid IL or missing references)
			//IL_0613: Unknown result type (might be due to invalid IL or missing references)
			//IL_061a: Expected O, but got Unknown
			//IL_063c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0643: Expected O, but got Unknown
			//IL_064f: Unknown result type (might be due to invalid IL or missing references)
			//IL_06cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d6: Expected O, but got Unknown
			//IL_06f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ff: Expected O, but got Unknown
			//IL_070b: Unknown result type (might be due to invalid IL or missing references)
			//IL_078b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0792: Expected O, but got Unknown
			//IL_07b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_07bb: Expected O, but got Unknown
			//IL_07c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0848: Unknown result type (might be due to invalid IL or missing references)
			//IL_084f: Expected O, but got Unknown
			//IL_0871: Unknown result type (might be due to invalid IL or missing references)
			//IL_0878: Expected O, but got Unknown
			//IL_0888: Unknown result type (might be due to invalid IL or missing references)
			//IL_0908: Unknown result type (might be due to invalid IL or missing references)
			//IL_090f: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("MeadowsAltar_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)1 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 10f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("BlackForestAltar_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)8 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 10f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val5 = new CustomLocation(val4, true, val2);
				ZoneManager.Instance.AddCustomLocation(val5);
				GameObject val6 = MyAssets.LoadAsset<GameObject>("SwampAltar_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)2 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 10f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 10f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val7 = new CustomLocation(val6, true, val2);
				ZoneManager.Instance.AddCustomLocation(val7);
				GameObject val8 = MyAssets.LoadAsset<GameObject>("MountainAltar_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)4 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 10f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val9 = new CustomLocation(val8, true, val2);
				ZoneManager.Instance.AddCustomLocation(val9);
				GameObject val10 = MyAssets.LoadAsset<GameObject>("PlainsAltar_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)16 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 10f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val11 = new CustomLocation(val10, true, val2);
				ZoneManager.Instance.AddCustomLocation(val11);
				GameObject val12 = MyAssets.LoadAsset<GameObject>("MistlandsAltar_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)512 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 10f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val13 = new CustomLocation(val12, true, val2);
				ZoneManager.Instance.AddCustomLocation(val13);
				GameObject val14 = MyAssets.LoadAsset<GameObject>("VegvisirMeadows_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)1 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 24;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val15 = new CustomLocation(val14, true, val2);
				ZoneManager.Instance.AddCustomLocation(val15);
				GameObject val16 = MyAssets.LoadAsset<GameObject>("VegvisirBlackForest_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)8 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 24;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val17 = new CustomLocation(val16, true, val2);
				ZoneManager.Instance.AddCustomLocation(val17);
				GameObject val18 = MyAssets.LoadAsset<GameObject>("VegvisirSwamp_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)2 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 24;
				val2.MaxTerrainDelta = 10f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val19 = new CustomLocation(val18, true, val2);
				ZoneManager.Instance.AddCustomLocation(val19);
				GameObject val20 = MyAssets.LoadAsset<GameObject>("VegvisirMountain_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)4 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 24;
				val2.MaxTerrainDelta = 10f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val21 = new CustomLocation(val20, true, val2);
				ZoneManager.Instance.AddCustomLocation(val21);
				GameObject val22 = MyAssets.LoadAsset<GameObject>("VegvisirPlains_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)16 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 24;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val23 = new CustomLocation(val22, true, val2);
				ZoneManager.Instance.AddCustomLocation(val23);
				GameObject val24 = MyAssets.LoadAsset<GameObject>("VegvisirMistlands_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)512 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 24;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val25 = new CustomLocation(val24, true, val2);
				ZoneManager.Instance.AddCustomLocation(val25);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}
	}
}