Decompiled source of RtDLegends v1.4.3

plugins/RtDLegends.dll

Decompiled 5 days ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
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: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("RtDLegends")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+ae1123379b14eddbc8529fe6a600c13ecd62c04c")]
[assembly: AssemblyProduct("RtDLegends")]
[assembly: AssemblyTitle("RtDLegends")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[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 RtDLegends
{
	[BepInPlugin("soloredis.rtdlegends", "RtDLegends", "1.4.3")]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInIncompatibility("blacks7ar.SeedBed")]
	internal class RtDLegends : BaseUnityPlugin
	{
		private const string ModGuid = "soloredis.rtdlegends";

		private const string ModName = "RtDLegends";

		private const string ModVersion = "1.4.3";

		private AssetBundle _myAssets;

		private static readonly string[] DungeonPropList = new string[245]
		{
			"Prop_FoodBarrel1_BlackForest_RtD", "Prop_FoodBarrel1_RtD", "Prop_FoodBarrel2_BlackForest_RtD", "Prop_FoodBarrel2_RtD", "Prop_FoodCrate1_BlackForest_RtD", "Prop_FoodCrate1_RtD", "Props_Skeleton__Full_Headless_RtD", "Props_Skeleton__Full_RtD", "Props_Skeleton__Full_Sitting_RtD", "Props_Skeleton_Clavicle_RtD",
			"Props_Skeleton_Femur_RtD", "Props_Skeleton_Fibula_RtD", "Props_Skeleton_Foot_RtD", "Props_Skeleton_Hand_RtD", "Props_Skeleton_Humerus_RtD", "Props_Skeleton_Pelvis_RtD", "Props_Skeleton_Radius_RtD", "Props_Skeleton_RibCage_RtD", "Props_Skeleton_Skull_RtD", "Props_Skeleton_Spine_RtD",
			"Props_Skeleton_Tibia_RtD", "Props_Skeleton_Ulna_RtD", "crypt_PlainsHorror01_chest", "crypt_PlainsHorror_chest", "Spawner_PlainsHorror01_rise", "Spawner_PlainsHorror_rise", "crypt_SwampHorror01_chest", "crypt_SwampHorror_chest", "Spawner_SwampChaser_rise", "Spawner_SwampHorror01_rise",
			"crypt_BlackForestHorror01_chest", "crypt_BlackForestHorror_chest", "Spawner_BlackForestHorror01_rise", "Spawner_BlackForestHorror_rise", "AmphoraGroup00_RtD", "BookOld_00_RtD", "BookOld_01_RtD", "BookOld_02_RtD", "BookOld_03_RtD", "BookOld_04_RtD",
			"BookOld_05_RtD", "BookOld_06_RtD", "BookOld_07_RtD", "CobWebs_RtD", "HangingVines_RtD", "ChainForged00_RtD", "ChainForged01_RtD", "ForgedDragon_00_RtD", "ForgedDragon_01_RtD", "ForgedDragon_02_RtD",
			"ForgedDragon_03_RtD", "GrilleDeco_00_RtD", "GrilleDeco_01_RtD", "GrilleDeco_02_RtD", "GrilleDeco_03_RtD", "Pole00_RtD", "Pole01_RtD", "Pole02_RtD", "Props_CageHanging_RtD", "Props_ChainHanging1_RtD",
			"Props_ChainHanging2_RtD", "Props_ChainHangingGround_RtD", "Props_ChainStraight_RtD", "VaneDeco_00_RtD", "VaneDeco_01_RtD", "VaneDeco_02_RtD", "VaneDeco_03_RtD", "VaneDeco_04_RtD", "VaneDeco_05_RtD", "VaneDeco_06_RtD",
			"VaneDeco_07_RtD", "WindRose00_RtD", "Exterior_DungeonLighting_RtD", "CandleHolder03_LGT_RtD", "Prefab_Brazier_01_on_RtD", "Prefab_Forged_torch_complete_01_on_RtD", "Prefab_Forged_torch_complete_02_off_RtD", "Prop_TempleBrazier_RtD", "TorchWall00_LGT_RtD", "Prop_BlackForestGold_RtD",
			"Prop_MeadowsFlint_RtD", "Prop_MistlandsFelOre_RtD", "Prop_MountainOrichalcum_RtD", "Prop_PlainsBloodiron_RtD", "Prop_SwampMooniron_RtD", "Prop_ArcaneMine_RtD", "Prop_FlametalMine_RtD", "Pickable_Mushroom_Blue1_RtD", "Pickable_Mushroom_Blue2_RtD", "Pickable_Mushroom_Blue3_RtD",
			"Pickable_Mushroom_Brown1_RtD", "Pickable_Mushroom_Brown2_RtD", "Pickable_Mushroom_Brown3_RtD", "Pickable_Mushroom_Green1_RtD", "Pickable_Mushroom_Green2_RtD", "Pickable_Mushroom_Green3_RtD", "Pickable_Mushroom_Green_C1_RtD", "Pickable_Mushroom_Green_C2_RtD", "Pickable_Mushroom_Green_C3_RtD", "Pickable_Mushroom_Ice1_RtD",
			"Pickable_Mushroom_Ice2_RtD", "Pickable_Mushroom_Ice3_RtD", "Pickable_Mushroom_Jade1_RTD", "Pickable_Mushroom_Jade2_RtD", "Pickable_Mushroom_Jade3_RtD", "Pickable_Mushroom_Jottun1_RtD", "Pickable_Mushroom_Jottun2_RtD", "Pickable_Mushroom_Jottun3_RtD", "Pickable_Mushroom_Red1_RtD", "Pickable_Mushroom_Red2_RtD",
			"Pickable_Mushroom_Red3_RtD", "Pickable_Mushroom_Smoke1_RtD", "Pickable_Mushroom_Smoke2_RtD", "Pickable_Mushroom_Smoke3_RtD", "Pickable_Mushroom_Yellow1_RtD", "Pickable_Mushroom_Yellow2_RtD", "Pickable_Mushroom_Yellow3_RtD", "Pickable_Crystal_RtD", "Pickable_BlackMetal_RtD", "BigBricksBlock00_RtD",
			"BigBricksBlock01_RtD", "RoofTileCeramic_Pannel00_RtD", "RoofTileCeramicOld00_RtD", "RoofTileCeramicOld01_RtD", "RoofTileCeramicOld02_RtD", "RoofTileCeramicOld03_RtD", "RoofTileCeramicOld04_RtD", "RoofTileCeramicOld05_RtD", "RoofTileCeramicOldLine00_RtD", "RoofTileCeramicOldLine01_RtD",
			"RoofTiledOld00_RtD", "RoofTiledOld01_RtD", "RoofTiledOld02_RtD", "RoofTiledOld03_RtD", "RoofTiledOld04_RtD", "RoofTiledOld05_RtD", "RoofTiledOld06_RtD", "RoofTiledOld07_RtD", "RoofTiledOld08_RtD", "RoofTiledOld09_RtD",
			"StoneArc00_RtD", "StoneArc01_RtD", "StoneArc02_RtD", "StoneArc04_RtD", "StoneArc04b_RtD", "StoneBlock00_RtD", "StoneBlock01_RtD", "StoneBlock02_RtD", "StoneBlock03_RtD", "StoneBlock04_RtD",
			"StoneBlock05_RtD", "StoneBlock06_RtD", "StoneBlock07_RtD", "StoneBlock08_RtD", "StoneBlock09_RtD", "StoneBlock10_RtD", "StoneBlock11_RtD", "StoneBlock12_RtD", "StoneBlock13_RtD", "StoneBlock14_RtD",
			"StoneBlock15_RtD", "StoneBlock16_RtD", "StoneBlockSupport00_RtD", "BenchTrunk00_RtD", "ChairWooden00_RtD", "Prop_RubblePile1_RtD", "Prop_RubblePile2_RtD", "Prop_RubblePile3_RtD", "StairsWooden00_RtD", "StairsWooden00b_RtD",
			"StairsWooden00c_RtD", "Table00_RtD", "TableWooden00_RtD", "WindowFrameShade00_RtD", "WindowFrameShade01_RtD", "WindowFrameShade02_RtD", "WindowFrameShade03_RtD", "WindowFrameShade04_RtD", "WindowFrameShade05_RtD", "WindowFrameShade06_RtD",
			"WindowFrameShade07_RtD", "WindowFrameShade08_RtD", "WindowFrameShade09_RtD", "WoodPlanksBoard00b_RtD", "WoodPlanksBoard01b_RtD", "WoodPlatform00_RtD", "WoodPlatform00b_RtD", "WoodPlatform00c_RtD", "WoodPlatform01_RtD", "WoodPlatform01b_RtD",
			"WoodPlatform01c_RtD", "WoodShelving00_RtD", "WoodShelving00b_RtD", "WoodShelving01_RtD", "WoodShelving01b_RtD", "WoodShelving01c_RtD", "WoodWallBoard00_RtD", "WoodWallBoard00b_RtD", "WoodWallBoard01_RtD", "WoodWallBoard01b_RtD",
			"WoodWallBoard01c_RtD", "WoodWallBoard02_RtD", "WoodWallBoard02b_RtD", "DG_Shrine_AshLands_RtD", "DG_Spawner_Assassin_RtD", "DG_Spawner_CursedKnight_RtD", "DG_Spawner_FallenCrusader_RtD", "DG_Shrine_BlackForest_RtD", "DG_Spawner_BlackForestHorror01_RtD", "DG_Spawner_BlackForestHorror_RtD",
			"DG_Shrine_DeepNorth_RtD", "DG_Spawner_Befouler_RtD", "DG_Spawner_Davil_RtD", "DG_Spawner_Executioner_RtD", "DG_Spawner_NorthernTroll_RtD", "DG_Shrine_Meadows_RtD", "DG_Spawner_MeadowsGolem_RtD", "DG_Spawner_MeadowsSnade_RtD", "DG_Shrine_Mistlands_RtD", "DG_Shrine_Mountain_RtD",
			"DG_Spawner_MistlandsSpider1_RtD", "DG_Spawner_MistlandsSpider2_RtD", "DG_Spawner_MistlandsSpider3_RtD", "DG_Spawner_MistlandsSpider4_RtD", "DG_Spawner_MountainHorror01_RtD", "DG_Spawner_MountainHorror_RtD", "DG_Spawner_MountainUndead_RtD", "DG_Spawner_MountainWatcher_RtD", "DG_Spawner_PlainsHorror01_RtD", "DG_Spawner_PlainsHorror_RtD",
			"DG_Spawner_PlainsSizzler_RtD", "DG_Shrine_Plains_RtD", "DG_Shrine_Swamp_RtD", "DG_Spawner_SwampHorror01_RtD", "DG_Spawner_SwampHorror_RtD", "DG_Spawner_SwampSludger01_RtD", "DG_Spawner_SwampSludger_RtD", "Chest_Wood_RtD", "Chest_Stone_RtD", "Chest_Steel_RtD",
			"Chest_Iron_RtD", "Chest_Gold_RtD", "Chest_Frometal_RtD", "Chest_Flametal_RtD", "Chest_Fel_RtD"
		};

		public string[] SoundEffectListMonsters = new string[224]
		{
			"SpiritAOESFX_RtD", "SpiritExplosionSFX_RtD", "MountainBossAOESFX_RtD", "MountainBossExplosionSFX_RtD", "PlainsBossAOESFX1_RtD", "PlainsBossAOESFX2_RtD", "PlainsBossExplosionSFX_RtD", "SpiderQueenEggExplosionSFX_RtD", "SpiderQueenExplosionSFX_RtD", "SwampBossAOESFX_RtD",
			"SwampBossExplosionSFX_RtD", "trollkingexplosionSFX_RtD", "FrostEnchantmentAOELichKingSFX_RtD", "ThorAOESFX_RtD", "ThorExplosionLargeSFX_RtD", "ThorExplosionMediumSFX_RtD", "ThorExplosionSmallSFX_RtD", "SFX_Armor_RtD", "SFX_Frosted_RtD", "SFX_Shocked_RtD",
			"SFX_Weakened_RtD", "sfx_undead_attack1_RtD", "sfx_undead_attack2_RtD", "sfx_undead_attack3_RtD", "sfx_undead_attack4_RtD", "sfx_undead_death_RtD", "sfx_undead_hit_RtD", "sfx_undead_idle1_RtD", "sfx_undead_idle2_RtD", "sfx_undead_idle3_RtD",
			"sfx_wraith_attack1_RtD", "sfx_wraith_attack2_RtD", "sfx_wraith_attack3_RtD", "sfx_wraith_attack4_RtD", "sfx_wraith_death_RtD", "sfx_wraith_hit_RtD", "sfx_wraith_idle1_RtD", "sfx_wraith_idle2_RtD", "sfx_wraith_idle3_RtD", "sfx_alerted_large_RtD",
			"sfx_lich_attack1_RtD", "sfx_lich_attack2_RtD", "sfx_lich_attack3_RtD", "sfx_lich_attack4_RtD", "sfx_lich_death_RtD", "sfx_lich_hit_RtD", "sfx_lich_idle1_RtD", "sfx_lich_idle2_RtD", "sfx_lich_idle3_RtD", "sfx_alerted_small_RtD",
			"sfx_demon_attack1_RtD", "sfx_demon_attack2_RtD", "sfx_demon_attack3_RtD", "sfx_demon_attack4_RtD", "sfx_demon_death_RtD", "sfx_demon_hit_RtD", "sfx_demon_idle1_RtD", "sfx_demon_idle2_RtD", "sfx_demon_idle3_RtD", "sfx_thor_attack1_RtD",
			"sfx_thor_attack2_RtD", "sfx_thor_attack3_RtD", "sfx_thor_attack4_RtD", "sfx_thor_death_RtD", "sfx_thor_hit_RtD", "sfx_thor_idle1_RtD", "sfx_thor_idle2_RtD", "sfx_thor_idle3_RtD", "sfx_arcanemonster_RtD", "sfx_earthcastmonster_RtD",
			"sfx_firecastmonster_RtD", "sfx_icecastmonster_RtD", "sfx_lifecastmonster_RtD", "sfx_lightcastmonster_RtD", "sfx_lighteningcastmonster_RtD", "sfx_naturecasttmonster_RtD", "sfx_stormcastmonster_RtD", "sfx_voidcastmonster_RtD", "sfx_watercastmonster_RtD", "sfx_elfalerted_RtD",
			"sfx_ElfAttackF_RtD", "sfx_ElfAttackM_RtD", "sfx_ElfDeathF_RtD", "sfx_ElfDeathM_RtD", "sfx_ElfHitF_RtD", "sfx_ElfHitM_RtD", "sfx_elfidle_RtD", "sfx_fairy_alerted_RtD", "sfx_fairy_attack_RtD", "sfx_fairy_cast_RtD",
			"sfx_fairy_death_RtD", "sfx_fairy_idle_RtD", "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_RtD", "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", "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", "sfx_queenalerted_RtD", "sfx_mutant3_attack_RtD1", "sfx_mutantranged3_RtD1", "sfx_swampboss_hit_RtD", "sfx_queenranged_RtD", "sfx_Goblin_Orc_death_Dragonide_RtD", "sfx_Goblin_Orc_Dragonide_alerted_RtD", "sfx_Goblin_Orc_Dragonide_attack_RtD",
			"sfx_Goblin_Orc_Dragonide_hit_RtD", "sfx_Goblin_Orc_Dragonide_idle_RtD", "sfx_spider_alerted_RtD", "sfx_spider_attack_RtD", "sfx_spider_death_RtD", "sfx_spider_hit_RtD", "sfx_spider_idle_RtD", "sfx_spider_ranged_RtD", "sfx_Harpy_Griffin_alerted_RtD", "sfx_Harpy_Griffin_attack_RtD",
			"sfx_Harpy_Griffin_death_RtD", "sfx_Harpy_Griffin_hit_RtD", "sfx_Harpy_Griffin_idle_RtD", "sfx_manticora_chimera_alerted_RtD", "sfx_manticora_chimera_attack_RtD", "sfx_manticora_chimera_death_RtD", "sfx_manticora_chimera_hit_RtD", "sfx_manticora_chimera_idle_RtD", "sfx_hydra_wyvern_alerted_RtD", "sfx_hydra_wyvern_attack_RtD",
			"sfx_hydra_wyvern_death_RtD", "sfx_hydra_wyvern_hit_RtD", "sfx_hydra_wyvern_idle_RtD", "sfx_rat_alerted_idle_RtD", "sfx_rat_attack_RtD", "sfx_rat_hit_death_RtD", "FireArrowNovaSFX_RtD", "LightningArrowNovaSFX_RtD", "ArcaneArrowNovaSFX_RtD", "StormArrowNovaSFX_RtD",
			"MistlandsArrowNovaSFX_RtD", "FrostArrowNovaSFX_RtD", "VoidArrowNovaSFX_RtD", "SwampArrowNovaSFX_RtD"
		};

		public static string[] DungeonDoorList = Array.Empty<string>();

		public static string[] DungeonEndcapMeadowsList = new string[1] { "MeadowsEndCap_RtD" };

		public static string[] DungeonSpacerMeadowsList = Array.Empty<string>();

		public static string[] DungeonCorridorMeadowsList = new string[2] { "MeadowsCorridor1_RtD", "MeadowsCorridor2_RtD" };

		public static string[] DungeonCornerMeadowsList = new string[2] { "MeadowsCornerL_RtD", "MeadowsCornerR_RtD" };

		public static string[] DungeonRoomMeadowsList = new string[2] { "MeadowsRoom1_RtD", "MeadowsRoom2_RtD" };

		public static string[] DungeonStairsMeadowsList = Array.Empty<string>();

		public static string[] DungeonEndcapBlackForestList = new string[1] { "BlackForestEndCap_RtD" };

		public static string[] DungeonSpacerBlackForestList = Array.Empty<string>();

		public static string[] DungeonCorridorBlackForestList = new string[3] { "BlackForestCorridor1_RtD", "BlackForestCorridor2_RtD", "BlackForestStairsHall_RtD" };

		public static string[] DungeonCornerBlackForestList = new string[2] { "BlackForestCornerL_RtD", "BlackForestCornerR_RtD" };

		public static string[] DungeonRoomBlackForestList = new string[2] { "BlackForestRoom1_RtD", "BlackForestRoom2_RtD" };

		public static string[] DungeonStairsBlackForestList = new string[2] { "BlackForestStairsL_RtD", "BlackForestStairsR_RtD" };

		public static string[] DungeonEndcapSwampList = new string[1] { "SwampEndCap_RtD" };

		public static string[] DungeonSpacerSwampList = Array.Empty<string>();

		public static string[] DungeonCorridorSwampList = new string[2] { "SwampCorridor1_RtD", "SwampCorridor2_RtD" };

		public static string[] DungeonCornerSwampList = new string[2] { "SwampCornerL_RtD", "SwampCornerR_RtD" };

		public static string[] DungeonRoomSwampList = new string[2] { "SwampRoom1_RtD", "SwampRoom2_RtD" };

		public static string[] DungeonStairsSwampList = new string[2] { "SwampStairsL_RtD", "SwampStairsR_RtD" };

		public static string[] DungeonEndcapMountainList = new string[1] { "MountainEndCap_RtD" };

		public static string[] DungeonSpacerMountainList = Array.Empty<string>();

		public static string[] DungeonCorridorMountainList = new string[2] { "MountainCorridor1_RtD", "MountainCorridor2_RtD" };

		public static string[] DungeonCornerMountainList = new string[2] { "MountainCornerL_RtD", "MountainCornerR_RtD" };

		public static string[] DungeonRoomMountainList = new string[2] { "MountainRoom1_RtD", "MountainRoom2_RtD" };

		public static string[] DungeonStairsMountainList = new string[3] { "MountainStairsL_RtD", "MountainStairsR_RtD", "MountainHallStairs_RtD" };

		public static string[] DungeonEndcapPlainsList = new string[1] { "PlainsEndCap_RtD" };

		public static string[] DungeonSpacerPlainsList = Array.Empty<string>();

		public static string[] DungeonCorridorPlainsList = new string[2] { "PlainsCorridor1_RtD", "PlainsCorridor2_RtD" };

		public static string[] DungeonCornerPlainsList = new string[2] { "PlainsCornerL_RtD", "PlainsCornerR_RtD" };

		public static string[] DungeonRoomPlainsList = new string[2] { "PlainsRoom1_RtD", "PlainsRoom2_RtD" };

		public static string[] DungeonStairsPlainsList = new string[2] { "PlainsStairsL_RtD", "PlainsStairsR_RtD" };

		public static string[] DungeonEndcapMistlandsList = new string[1] { "MistlandsEndCap_RtD" };

		public static string[] DungeonSpacerMistlandsList = Array.Empty<string>();

		public static string[] DungeonCorridorMistlandsList = new string[2] { "MistlandsCorridor1_RtD", "MistlandsCorridor2_RtD" };

		public static string[] DungeonCornerMistlandsList = new string[2] { "MistlandsCornerL_RtD", "MistlandsCornerR_RtD" };

		public static string[] DungeonRoomMistlandsList = new string[2] { "MistlandsRoom1_RtD", "MistlandsRoom2_RtD" };

		public static string[] DungeonStairsMistlandsList = new string[2] { "MistlandsStairsL_RtD", "MistlandsStairsR_RtD" };

		public static string[] DungeonEndcapAshLandsList = new string[1] { "AshLandsEndCap_RtD" };

		public static string[] DungeonSpacerAshLandsList = Array.Empty<string>();

		public static string[] DungeonCorridorAshLandsList = new string[3] { "AshLandsCorridor1_RtD", "AshLandsCorridor2_RtD", "AshLandsStairsHall_RtD" };

		public static string[] DungeonCornerAshLandsList = new string[2] { "AshLandsCornerL_RtD", "AshLandsCornerR_RtD" };

		public static string[] DungeonRoomAshLandsList = new string[2] { "AshLandsRoom1_RtD", "AshLandsRoom2_RtD" };

		public static string[] DungeonStairsAshLandsList = new string[3] { "AshLandsStairsL_RtD", "AshLandsStairsR_RtD", "AshLandsStairs1_RtD" };

		public static string[] DungeonEndcapDeepNorthList = new string[1] { "DeepNorthEndCap_RtD" };

		public static string[] DungeonSpacerDeepNorthList = Array.Empty<string>();

		public static string[] DungeonCorridorDeepNorthList = new string[2] { "DeepNorthCorridor1_RtD", "DeepNorthCorridor2_RtD" };

		public static string[] DungeonCornerDeepNorthList = new string[2] { "DeepNorthCornerL_RtD", "DeepNorthCornerR_RtD" };

		public static string[] DungeonRoomDeepNorthList = new string[2] { "DeepNorthRoom1_RtD", "DeepNorthRoom2_RtD" };

		public static string[] DungeonStairsDeepNorthList = new string[1] { "DeepNorthStairs1_RtD" };

		private static readonly string ThemeMeadowsDungeon = "MeadowsDungeonTheme_RtD";

		private static readonly string ThemeBlackForestDungeon = "BlackForestDungeonTheme_RtD";

		private static readonly string ThemeSwampDungeon = "SwampDungeonTheme_RtD";

		private static readonly string ThemeMountainDungeon = "MountainDungeonTheme_RtD";

		private static readonly string ThemePlainsDungeon = "PlainsDungeonTheme_RtD";

		private static readonly string ThemeMistlandsDungeon = "MistlandsDungeonTheme_RtD";

		private static readonly string ThemeAshLandsDungeon = "AshLandsDungeonTheme_RtD";

		private static readonly string ThemeDeepNorthDungeon = "DeepNorthDungeonTheme_RtD";

		private static readonly LocationConfig MeadowsDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)1,
			BiomeArea = (BiomeArea)3,
			ForestTresholdMin = 0f,
			Quantity = 50,
			MinDistance = 128f,
			MinDistanceFromSimilar = 100f,
			Priotized = true,
			MinAltitude = 10f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly LocationConfig BlackForestDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)8,
			BiomeArea = (BiomeArea)3,
			MinDistanceFromSimilar = 128f,
			Quantity = 140,
			Priotized = true,
			MinAltitude = 10f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly LocationConfig SwampDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)2,
			BiomeArea = (BiomeArea)3,
			MinDistanceFromSimilar = 128f,
			Quantity = 115,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly LocationConfig MountainDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)4,
			BiomeArea = (BiomeArea)3,
			MinDistanceFromSimilar = 56f,
			Quantity = 90,
			Priotized = true,
			MinAltitude = 65f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly LocationConfig PlainsDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)16,
			BiomeArea = (BiomeArea)3,
			MinDistanceFromSimilar = 128f,
			Quantity = 110,
			Priotized = true,
			MinAltitude = 10f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly LocationConfig MistlandsDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)512,
			BiomeArea = (BiomeArea)3,
			MinDistanceFromSimilar = 70f,
			Quantity = 115,
			Priotized = true,
			MinAltitude = 5f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly LocationConfig AshLandsDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)32,
			BiomeArea = (BiomeArea)3,
			MinDistanceFromSimilar = 128f,
			Quantity = 110,
			Priotized = true,
			MinAltitude = 10f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly LocationConfig DeepNorthDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)64,
			BiomeArea = (BiomeArea)3,
			MinDistanceFromSimilar = 95f,
			Quantity = 110,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly RoomConfig EntranceMeadowsConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMeadowsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EndcapMeadowsConfig = new RoomConfig
		{
			Enabled = true,
			Endcap = true,
			EndcapPrio = 0,
			ThemeName = ThemeMeadowsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CorridorMeadowsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMeadowsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CornerMeadowsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMeadowsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig StairsMeadowsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMeadowsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig RoomMeadowsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 1,
			ThemeName = ThemeMeadowsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig SpacerMeadowsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMeadowsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EntranceBlackForestConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeBlackForestDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EndcapBlackForestConfig = new RoomConfig
		{
			Enabled = true,
			Endcap = true,
			EndcapPrio = 0,
			ThemeName = ThemeBlackForestDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CorridorBlackForestConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeBlackForestDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CornerBlackForestConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeBlackForestDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig StairsBlackForestConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeBlackForestDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig RoomBlackForestConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 1,
			ThemeName = ThemeBlackForestDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig SpacerBlackForestConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeBlackForestDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EntranceSwampConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeSwampDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EndcapSwampConfig = new RoomConfig
		{
			Enabled = true,
			Endcap = true,
			EndcapPrio = 0,
			ThemeName = ThemeSwampDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CorridorSwampConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeSwampDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CornerSwampConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeSwampDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig StairsSwampConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeSwampDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig RoomSwampConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 1,
			ThemeName = ThemeSwampDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig SpacerSwampConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeSwampDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EntranceMountainConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMountainDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EndcapMountainConfig = new RoomConfig
		{
			Enabled = true,
			Endcap = true,
			EndcapPrio = 0,
			ThemeName = ThemeMountainDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CorridorMountainConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMountainDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CornerMountainConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMountainDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig StairsMountainConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMountainDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig RoomMountainConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 1,
			ThemeName = ThemeMountainDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig SpacerMountainConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMountainDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EntrancePlainsConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = ThemePlainsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EndcapPlainsConfig = new RoomConfig
		{
			Enabled = true,
			Endcap = true,
			EndcapPrio = 0,
			ThemeName = ThemePlainsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CorridorPlainsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemePlainsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CornerPlainsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemePlainsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig StairsPlainsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemePlainsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig RoomPlainsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 1,
			ThemeName = ThemePlainsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig SpacerPlainsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemePlainsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EntranceMistlandsConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMistlandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EndcapMistlandsConfig = new RoomConfig
		{
			Enabled = true,
			Endcap = true,
			EndcapPrio = 0,
			ThemeName = ThemeMistlandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CorridorMistlandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMistlandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CornerMistlandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMistlandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig StairsMistlandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMistlandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig RoomMistlandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 1,
			ThemeName = ThemeMistlandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig SpacerMistlandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeMistlandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EntranceAshLandsConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeAshLandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EndcapAshLandsConfig = new RoomConfig
		{
			Enabled = true,
			Endcap = true,
			EndcapPrio = 0,
			ThemeName = ThemeAshLandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CorridorAshLandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeAshLandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CornerAshLandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeAshLandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig StairsAshLandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeAshLandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig RoomAshLandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 1,
			ThemeName = ThemeAshLandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig SpacerAshLandsConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeAshLandsDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EntranceDeepNorthConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeDeepNorthDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig EndcapDeepNorthConfig = new RoomConfig
		{
			Enabled = true,
			Endcap = true,
			EndcapPrio = 0,
			ThemeName = ThemeDeepNorthDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CorridorDeepNorthConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeDeepNorthDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig CornerDeepNorthConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeDeepNorthDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig StairsDeepNorthConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeDeepNorthDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig RoomDeepNorthConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 1,
			ThemeName = ThemeDeepNorthDungeon,
			Weight = 1f
		};

		private static readonly RoomConfig SpacerDeepNorthConfig = new RoomConfig
		{
			Enabled = true,
			MinPlaceOrder = 0,
			ThemeName = ThemeDeepNorthDungeon,
			Weight = 1f
		};

		private CustomLocalization Localization;

		private static readonly string[] ArmorPrefabList = new string[81]
		{
			"BlackForestArcherChest_RtD", "BlackForestArcherHelmet_RtD", "BlackForestArcherLegs_RtD", "BlackForestMonkChest_RtD", "BlackForestMonkHelmet_RtD", "BlackForestMonkLegs_RtD", "BlackForestMonkCape_RtD", "BlackForestHardLeatherCape_RtD", "SwampAssassinChest_RtD", "SwampAssassinHelmet_RtD",
			"SwampAssassinLegs_RtD", "SwampMonkChest_RtD", "SwampMonkHelmet_RtD", "SwampMonkLegs_RtD", "SwampMonkCape_RtD", "SwampAssassinCape_RtD", "MountainArcherChest_RtD", "MountainArcherHelmet_RtD", "MountainArcherLegs_RtD", "MountainAssassinChest_RtD",
			"MountainAssassinHelmet_RtD", "MountainAssassinLegs_RtD", "MountainMonkChest_RtD", "MountainMonkHelmet_RtD", "MountainMonkLegs_RtD", "MountainMonkCape_RtD", "MountainHybridCape_RtD", "PlainsArcherChest_RtD", "PlainsArcherHelmet_RtD", "PlainsArcherLegs_RtD",
			"PlainsAssassinChest_RtD", "PlainsAssassinHelmet_RtD", "PlainsAssassinLegs_RtD", "PlainsMonkChest_RtD", "PlainsMonkHelmet_RtD", "PlainsMonkLegs_RtD", "PlainsMonkCape_RtD", "PlainsArcherCape_RtD", "PlainsAssassinCape_RtD", "MistlandsArcherChest_RtD",
			"MistlandsArcherHelmet_RtD", "MistlandsArcherLegs_RtD", "MistlandsAssassinChest_RtD", "MistlandsAssassinHelmet_RtD", "MistlandsAssassinLegs_RtD", "MistlandsMonkChest_RtD", "MistlandsMonkHelmet_RtD", "MistlandsMonkLegs_RtD", "MistlandsMonkCape_RtD", "MistlandsArcherCape_RtD",
			"MistlandsAssassinCape_RtD", "AshLandsArcherChest_RtD", "AshLandsArcherHelmet_RtD", "AshLandsArcherLegs_RtD", "AshLandsAssassinChest_RtD", "AshLandsAssassinHelmet_RtD", "AshLandsAssassinLegs_RtD", "AshLandsMonkChest_RtD", "AshLandsMonkHelmet_RtD", "AshLandsMonkLegs_RtD",
			"AshLandsMonkCape_RtD", "AshLandsArcherCape_RtD", "AshLandsAssassinCape_RtD", "AshLandsHybridCape_RtD", "AshLandsWarriorChest_RtD", "AshLandsWarriorHelmet_RtD", "AshLandsWarriorLegs_RtD", "DeepNorthArcherHelmet_RtD", "DeepNorthArcherLegs_RtD", "DeepNorthAssassinChest_RtD",
			"DeepNorthAssassinHelmet_RtD", "DeepNorthAssassinLegs_RtD", "DeepNorthMonkChest_RtD", "DeepNorthMonkHelmet_RtD", "DeepNorthMonkLegs_RtD", "DeepNorthMonkCape_RtD", "DeepNorthHybridCape_RtD", "DeepNorthWarriorChest_RtD", "DeepNorthWarriorHelmet_RtD", "DeepNorthWarriorLegs_RtD",
			"DeepNorthArcherChest_RtD"
		};

		private static readonly string[] ArmorBiomeList = new string[81]
		{
			"BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "Swamp", "Swamp",
			"Swamp", "Swamp", "Swamp", "Swamp", "Swamp", "Swamp", "Mountain", "Mountain", "Mountain", "Mountain",
			"Mountain", "Mountain", "Mountain", "Mountain", "Mountain", "Mountain", "Mountain", "Plains", "Plains", "Plains",
			"Plains", "Plains", "Plains", "Plains", "Plains", "Plains", "Plains", "Plains", "Plains", "Mistlands",
			"Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands",
			"Mistlands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands",
			"AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "DeepNorth", "DeepNorth", "DeepNorth",
			"DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth",
			"DeepNorth"
		};

		private static readonly string[] ArmorStationList = new string[81]
		{
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge
		};

		private static readonly string[][] ArmorReqItems = new string[81][]
		{
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "ArmorTrollLeatherChest" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "HelmetTrollLeather" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "ArmorTrollLeatherLegs" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestMonkChest_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestMonkHelmet_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestMonkLegs_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestMonkCape_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "CapeTrollHide" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "ArmorRootChest" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "HelmetRoot" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "ArmorRootLegs" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampAssassinChest_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampAssassinHelmet_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampAssassinLegs_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampMonkChest_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampMonkHelmet_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampMonkLegs_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampMonkCape_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "TrophyBonemass" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainArcherChest_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainArcherHelmet_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainArcherLegs_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainAssassinChest_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainAssassinHelmet_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainAssassinLegs_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainMonkChest_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainMonkHelmet_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainMonkLegs_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainMonkCape_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "TrophyDragonQueen" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "TrophyDragonQueen" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsArcherChest_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsArcherHelmet_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsArcherLegs_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsAssassinChest_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsAssassinHelmet_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsAssassinLegs_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsMonkChest_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsMonkHelmet_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsMonkLegs_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsMonkCape_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsArcherCape_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsAssassinCape_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsArcherChest_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsArcherHelmet_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsArcherLegs_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsAssassinChest_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsAssassinHelmet_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsAssassinLegs_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsMonkChest_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsMonkHelmet_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsMonkLegs_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsMonkCape_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsArcherCape_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsAssassinCape_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "QueenDrop" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "ArmorCarapaceChest" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "HelmetCarapace" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "ArmorCarapaceLegs" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsArcherHelmet_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsArcherLegs_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsAssassinChest_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsAssassinHelmet_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsAssassinLegs_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsMonkChest_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsMonkHelmet_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsMonkLegs_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsMonkCape_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsHybridCape_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsWarriorChest_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsWarriorHelmet_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsWarriorLegs_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsArcherChest_RtD" }
		};

		private static readonly int[][] ArmorReqAmounts = new int[81][]
		{
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 }
		};

		private static readonly int[][] ArmorReqLevels = new int[81][]
		{
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 }
		};

		private ConfigEntry<bool>[] ArmorEnabledConfigs;

		private ConfigEntry<string>[][] ArmorReqItemConfigs;

		private ConfigEntry<int>[][] ArmorReqAmountConfigs;

		private readonly List<Action> monsterConfigAppliers = new List<Action>();

		public string[] AshLandsMonsterList = new string[7] { "Assassin_RtD", "Berserker_RtD", "Demon_RtD", "DragonBoar_RtD", "FallenCrusader_RtD", "CursedKnight_RtD", "Wizard_RtD" };

		public string[] DeepNorthMonsterList = new string[11]
		{
			"Befouler_RtD", "Davil_RtD", "Executioner_RtD", "NorthernTroll_RtD", "FaeWolfIce_RtD", "FaeWolfLightening_RtD", "ElfHunterF_RtD", "ElfHunterM_RtD", "ElfPriestM_RtD", "ElfWarriorF_RtD",
			"ElfWarriorM_RtD"
		};

		public static SpawnConfig[] AshLandsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 450f,
				SpawnChance = 5f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxGroupSize = 1,
				MaxSpawned = 1,
				MaxLevel = 2,
				MaxAltitude = 500f,
				Biome = (Biome)32,
				MinAltitude = 2f
			}
		};

		public static SpawnConfig[] DeepNorthSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 450f,
				SpawnChance = 5f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxGroupSize = 1,
				MaxSpawned = 1,
				MaxLevel = 2,
				MaxAltitude = 500f,
				Biome = (Biome)64,
				MinAltitude = 2f
			}
		};

		public static CreatureConfig AshLandsCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)4,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = AshLandsSpawnConfig
		};

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

		public string[] CustomSEShieldList = new string[1] { "SE_FairyShield_RtD" };

		public string[] CustomSEList = new string[32]
		{
			"SE_FairyHeal_RtD", "SE_ArcherAshLands_RtD", "SE_AssassinAshLands_RtD", "SE_MonkArmorAshLands_RtD", "SE_WarriorArmorAshLands_RtD", "SE_ArcherBlackForest_RtD", "SE_AssassinBlackForest_RtD", "SE_MonkArmorBlackForest_RtD", "SE_WarriorArmorBlacKForest_RtD", "SE_ArcherDeepNorth_RtD",
			"SE_AssassinDeepNorth_RtD", "SE_MonkArmorDeepNorth_RtD", "SE_WarriorArmorDeepNorth_RtD", "SE_ArcherMistlands_RtD", "SE_AssassinMistlands_RtD", "SE_MonkArmorMistlands_RtD", "SE_WarriorArmorMistlands_RtD", "SE_ArcherMountain_RtD", "SE_AssassinMountain_RtD", "SE_MonkArmorMountain_RtD",
			"SE_WarriorArmorMountain_RtD", "SE_ArcherPlains_RtD", "SE_AssassinPlains_RtD", "SE_MonkArmorPlains_RtD", "SE_WarriorArmorPlains_RtD", "SE_ArcherSwamp_RtD", "SE_AssassinSwamp_RtD", "SE_MonkArmorSwamp_RtD", "SE_WarriorArmorSwamp_RtD", "SE_OdinsFists_RtD",
			"SE_DeerHideMeadows_RtD", "SlowFall_RtD"
		};

		public string[] ItemsListMonsters = new string[8] { "CookedDragonBoarMeat_RtD", "DragonBoarMeat_RtD", "CookedFaeWolfMeat_RtD", "FaeWolfMeat_RtD", "SpiritHeart_RtD", "FroMetalOre_RtD", "FroMetalBar_RtD", "ThorHammer_RtD" };

		public string[] PrefabsListMonsters = new string[170]
		{
			"Ragdoll_SO_Thor_RtD", "projectile_thorhammer_RtD", "elextricvfx_RtD", "fx_eikthyr_stomp_RtD", "fx_fae_death_RtD", "fx_fae_hit_RtD", "fx_fairyprotect_RtD", "vfx_dragon_firebreath_RtD", "vfx_elementalgolem_death_RtD", "vfx_elementalgolem_hurt_RtD",
			"vfx_FairyShield_RtD", "vfx_fireball_dragonlaunch_RtD", "fx_flameexplosion_death_rtd", "fx_FaeSpiritShieldBreak_RtD", "fx_FaeSpiritShieldHit_RtD", "Ragdoll_Necromander_RtD", "bow_projectile_frost_RtD", "bow_projectile_poison_RtD", "ElfSpearProjectile_RtD", "FairyHealAOE_RtD",
			"vfx_ArcaneSlashHitM_RtD", "vfx_EarthSlashHitM_RtD", "vfx_FireSlashHitM_RtD", "vfx_FrostSlashHitM_RtD", "vfx_LightningSlashHitM_RtD", "vfx_LightSlashHitM_RtD", "vfx_ShadowSlashHitM_RtD", "vfx_StormSlashHitM_RtD", "vfx_WaterSlashHitM_RtD", "AssassinAttack1_RtD",
			"AssassinAttack2_RtD", "AssassinAttack3_RtD", "BerserkerAttack1_RtD", "BerserkerAttack2_RtD", "BerserkerAttack3_RtD", "BerserkerAttack4_RtD", "BerserkerAttack5_RtD", "BoarAttck1_RtD", "BoarAttck2_RtD", "CrusaderAttack1_RtD",
			"CrusaderAttack2_RtD", "CrusaderAttack3_RtD", "DemonClawAttack_RtD", "DemonHornAttack_RtD", "DemonProjectileAttack_RtD", "dragon_bite1_RtD", "dragon_claw_left1_RtD", "dragon_claw_right1_RtD", "dragon_firebreath1_RtD", "dragon_spit_shotgun1_RtD",
			"dragon_taunt1_RtD", "NecromancerMelee1_RtD", "NecromancerMelee2_RtD", "NecromancerSpell1_RtD", "NecromancerSpell2_RtD", "NecromancerSpell3_RtD", "NecromancerSpell4_RtD", "NecromancerSpell5_RtD", "NecromancerSpell6_RtD", "PigletAttck1_RtD",
			"PigletAttck2_RtD", "WizardAttack1_RtD", "WizardAttack2_RtD", "ElfWarriorAttackF1_RtD", "ElfWarriorAttackF2_RtD", "ElfWarriorAttackF3_RtD", "ElfWarriorAttackF4_RtD", "ElfWarriorAttackM1_RtD", "ElfWarriorAttackM2_RtD", "ElfWarriorAttackM3_RtD",
			"ElfWarriorAttackM4_RtD", "HunterBowAttack1_RtD", "HunterBowAttack2_RtD", "HunterMBomb_RtD", "HunterMelee1_RtD", "HunterMelee2_RtD", "HunterMelee3_RtD", "HunterMKick_RtD", "HunterSpear4_RtD", "PriestMelee1_RtD",
			"PriestSpell3_RtD", "PriestSpell4_RtD", "SpiritAOEAttack2_RtD", "SpiritAttackDoubleHand1_RtD", "SpiritAttackDoubleHand2_RtD", "SpiritAttackMelee1_RtD", "SpiritHealAttack1_RtD", "SpiritHealIceAttack2_RtD", "SpiritHealLighteningAttack3_RtD", "Wolf_Attack1_RtD",
			"Wolf_Attack2_RtD", "Wolf_Attack3frost_RtD", "Wolf_Attack3lightening_RtD", "CursedKnightMelee1_RtD", "CursedKnightMelee2_RtD", "CursedKnightMelee3_RtD", "CursedKnightSpell_RtD", "Ragdoll_Assassin_RtD", "Ragdoll_CursedKnight_RtD", "Ragdoll_Berserker_RtD",
			"Ragdoll_Demon_RtD", "Ragdoll_DragonBoar_RtD", "Ragdoll_FallenCrusader_RtD", "Ragdoll_ElfHunterF_RtD", "Ragdoll_ElfHunterM_RtD", "Ragdoll_ElfPriestM_RtD", "Ragdoll_ElfWarriorF_RtD", "Ragdoll_ElfWarriorM_RtD", "ThorAOEattack1_RtD", "ThorAOEattack2_RtD",
			"ThorMelee1_RtD", "ThorMelee2_RtD", "ThorSpell1_RtD", "ThorSpell2_RtD", "ThorSpell3_RtD", "ThorSummon1_RtD", "ThorProjectile1_RtD", "ThorProjectile2_RtD", "ThorProjectile3_RtD", "ThorExplosionSmall_RtD",
			"ThorExplosionMedium_RtD", "ThorExplosionLarge_RtD", "ThorHammerAOE_RtD", "ThorSpellAOE_RtD", "Spawner_Assassin_RtD", "Spawner_Berserker_RtD", "Spawner_Demon_RtD", "Spawner_DragonBoar_RtD", "Spawner_FallenCrusader_RtD", "Spawner_Wizard_RtD",
			"Spawner_ElfHunterM_RtD", "Spawner_ElfHunterF_RtD", "Spawner_ElfPriest_RtD", "Spawner_ElfWarriorM_RtD", "Spawner_ElfWarriorF_RtD", "Spawner_FaeWolfIce_RtD", "Spawner_FaeWolfLightning_RtD", "LichKingAOE_RtD", "LichKingMelee1_RtD", "LichKingMelee2_RtD",
			"LichKingMelee3_RtD", "LichKingSpell1_RtD", "LichKingSpell2_RtD", "LichKingSummon_RtD", "Ragdoll_LichKing_RtD", "BefoulerMelee1_RtD", "BefoulerMelee2_RtD", "BefoulerMelee3_RtD", "BefoulerSpell_RtD", "Ragdoll_Befouler_RtD",
			"DavilMeele_RtD", "DavilSpell1_RtD", "DavilSpell2_RtD", "DavilSpell3_RtD", "Ragdoll_Davil_RtD", "ExecutionerMelee1_RtD", "ExecutionerMelee2_RtD", "ExecutionerMelee3_RtD", "ExecutionerSpell_RtD", "Ragdoll_Exectutioner_RtD",
			"NorthernMelee1_RtD", "NorthernMelee2_RtD", "NorthernMelee3_RtD", "NorthernSpell_RtD", "Ragdoll_Northern_RtD", "Vegvisir_Necromancer_Altar_RtD", "Vegvisir_SpiritAltar_RtD", "Vegvisir_ThorAltar_RtD", "DemonWhipAttack_RtD", "Ragdoll_Wizard_RtD"
		};

		public string[] MonsterList = new string[9] { "LichKing_RtD", "DragonBoarTamed_RtD", "FaeWolfLighteningCub_RtD", "FaeWolfIceCub_RtD", "FaeWolfIceTamed_RtD", "FaeWolfLighteningTamed_RtD", "Necromancer_RtD", "DragonPiglet_RtD", "SO_Thor_RtD" };

		public ConfigEntry<bool> LoggingEnable;

		public string[] PrefabListMonstrum = new string[229]
		{
			"SpiritAOE_RtD", "SpiritExplosion_RtD", "SpiritProjectile_RtD", "MountainBossAOE_RtD", "MountainBossExplosion_RtD", "MountainBossProjectile1_RtD", "MountainBossProjectile2_RtD", "Spawn_AOE_MountainBoss_RtD", "PlainsBossAOE1_RtD", "PlainsBossAOE2_RtD",
			"PlainsBossExplosion_RtD", "PlainsBossProjectile1_RtD", "PlainsBossProjectile2_RtD", "SpiderQueenEggExplosion_RtD", "SpiderQueenEggProjectile_RtD", "SpiderQueenExplosion_RtD", "SpiderQueenProjectile_RtD", "SwampBossAOE_RtD", "SwampBossExplosion_RtD", "SwampBossProjectile_RtD",
			"trollkingexplosion_RtD", "FrostEnchantmentAOELichKing_RtD", "fx_Queen_Run_RtD", "fx_Queen_Walk_RtD", "fx_footstep_jog_RtD", "fx_footstep_run_RtD", "fx_footstep_water_RtD", "EarthExplosionSludger_RtD", "spawn_earthstorm_RtD", "vfx_stonegolem_hurt_RtD",
			"vfx_stonegolem_death_RtD", "Ragdoll_MistlandsSpider1_RtD", "Ragdoll_PlainsChomper1_RtD", "Ragdoll_EikthyrSpirit_RtD", "Ragdoll_BlackForestGolem_RtD", "Ragdoll_MountainBoss_RtD", "Ragdoll_PlainsBoss_RtD", "Ragdoll_SpiderQueen_RtD", "Ragdoll_TrollKing_RtD", "Ragdoll_SwampBoss_RtD",
			"MistlandsMeleeC1_RtD", "MistlandsMeleeC2_RtD", "PlainsMeleeC1_RtD", "PlainsMeleeC2_RtD", "PlainsMeleeC3_RtD", "BlackForestGolemMelee1_RtD", "BlackForestGolemMelee2_RtD", "BlackForestGolemSpell_RtD", "BlackForestGolemSummon_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", "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", "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_BlackForestGolem_RtD", "Spawner_MistlandsSpider1_RtD", "VegvisirBlackForest_Altar_RtD", "VegvisirMeadows_Altar_RtD", "VegvisirMistlands_Altar_RtD", "VegvisirMountain_Altar_RtD",
			"VegvisirPlains_Altar_RtD", "VegvisirSwamp_Altar_RtD", "MistlandsAltar_Interior_RtD", "MountainAltar_Interior_RtD", "BlackForestMeleeTE1_RtD", "BlackForestMeleeTE2_RtD", "BlackForestMeleeTE3_RtD", "Ragdoll_TreeEnt_RtD", "Spawner_TreeEnt_RtD", "BlackForestMeleeTR1_RtD",
			"BlackForestMeleeTR2_RtD", "BlackForestMeleeTR3_RtD", "Ragdoll_Troll_RtD", "Spawner_Troll_RtD", "BlackForestUndeadMelee1_RtD", "BlackForestUndeadMelee2_RtD", "Ragdoll_BlackForestUndead_RtD", "Spawner_BlackForestUndead_RtD", "MeadowsMeleeHG1_RtD", "MeadowsMeleeHG2_RtD",
			"Ragdoll_MeadowsHobgoblin_RtD", "Spawner_MeadowsHobgoblin_RtD", "MeadowsMeleeSP1_RtD", "MeadowsMeleeSP2_RtD", "Ragdoll_MeadowsSpider_RtD", "Spawner_MeadowsSpider_RtD", "MistlandsMeleeHP1_RtD", "MistlandsMeleeHP2_RtD", "MistlandsMeleeHP3_RtD", "Ragdoll_MistlandsHarpy_RtD",
			"Spawner_MistlandsHarpy_RtD", "MistlandsMeleeWF1_RtD", "MistlandsMeleeWF2_RtD", "MistlandsMeleeWF3_RtD", "Ragdoll_MistlandsWolf_RtD", "Spawner_MistlandsWolf_RtD", "MountainMeleeGF1_RtD", "MountainMeleeGF2_RtD", "MountainMeleeGF3_RtD", "Ragdoll_MountainGriffin_RtD",
			"Spawner_MountainGriffin_RtD", "MountainMeleeWF1_RtD", "MountainMeleeWF2_RtD", "MountainMeleeWF3_RtD", "Ragdoll_MountainWerewolf_RtD", "Spawner_MountainWerewolf_RtD", "PlainsChimeraAttack1_RtD", "PlainsChimeraAttack2_RtD", "PlainsChimeraAttack3_RtD", "Ragdoll_PlainsChimera_RtD",
			"Spawner_PlainsChimera_RtD", "PlainsDragonideAttack1_RtD", "PlainsDragonideAttack2_RtD", "PlainsDragonideAttack3_RtD", "Ragdoll_PlainsDragonide_RtD", "Spawner_PlainsDragonide_RtD", "PlainsOrcAttack1_RtD", "PlainsOrcAttack2_RtD", "PlainsOrcAttack3_RtD", "Ragdoll_PlainsOrc_RtD",
			"Spawner_PlainsOrc_RtD", "Ragdoll_SwampGhoul_RtD", "Spawner_SwampGhoul_RtD", "SwampGhoulMelee1_RtD", "SwampGhoulMelee2_RtD", "SwampGhoulMelee3_RtD", "Ragdoll_SwampMummy_RtD", "Spawner_SwampMummy_RtD", "SwampMummyMelee1_RtD", "SwampMummyMelee2_RtD",
			"SwampMummyMelee3_RtD", "Ragdoll_SwampRat_RtD", "Spawner_SwampRat_RtD", "SwampRatMelee1_RtD", "Ragdoll_SwampVampire_RtD", "Spawner_SwampVampire_RtD", "SwampVampireMelee1_RtD", "SwampVampireMelee2_RtD", "SwampVampireMelee3_RtD", "MeadowsKobaldMelee1_RtD",
			"MeadowsKobaldMelee2_RtD", "Ragdoll_MeadowsKobald_RtD", "Spawner_MeadowsKobald_RtD", "MountainUndeadMelee_RtD", "MountainUndeadSpell_RtD", "Ragdoll_MountainUndead_RtD", "Spawner_MountainUndead_RtD", "Ragdoll_SwampSludger_RtD", "Spawner_SwampSludger_RtD", "SwampMeleeC1_RtD",
			"SwampMeleeC2_RtD", "SwampSpellC1_RtD", "SwampSummonC1_RtD", "digg_v3_RtD", "vfx_Place_digg_RtD", "vfx_ArcaneSlashHit_RtD", "vfx_EarthSlashHit_RtD", "vfx_FireSlashHit_RtD", "vfx_LightningSlashHit_RtD", "vfx_LightSlashHit_RtD",
			"vfx_ShadowSlashHit_RtD", "vfx_StormSlashHit_RtD", "vfx_WaterSlashHit_RtD", "AshLandsSpearProjectile_RtD", "BlackForestSpearProjectile_RtD", "DeepNorthSpearProjectile_RtD", "MeadowsSpearProjectile_RtD", "MistlandsSpearProjectile_RtD", "MountainSpearProjectile_RtD", "PlainsSpearProjectile_RtD",
			"SwampSpearProjectile_RtD", "FireArrowNova_RtD", "LightningArrowNova_RtD", "ArcaneArrowNova_RtD", "StormArrowNova_RtD", "MistlandsArrowNova_RtD", "FrostArrowNova_RtD", "VoidArrowNova_RtD", "SwampArrowNova_RtD"
		};

		public string[] ItemsListMonstrum = new string[33]
		{
			"BlackForestCore_RtD", "MeadowsCore_RtD", "MistlandsCore_RtD", "AshLandsCore_RtD", "DeepNorthCore_RtD", "AshLandsToken_RtD", "DeepNorthToken_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_Armor_Weakness_LEGENDS", "SE_Frosted_LEGENDS", "SE_Shocked_LEGENDS", "SE_Weakened_LEGENDS" };

		public string[] StaticList1 = new string[3] { "MeadowsHobgoblin_RtD", "MeadowsKobald_RtD", "MeadowsSpider_RtD" };

		public string[] StaticList2 = new string[4] { "BlackForestGolem_RtD", "BlacKForestTreeEnt_RtD", "BlacKForestTroll_RtD", "BlackForestUndead_RtD" };

		public string[] StaticList3 = new string[4] { "SwampGhoul_RtD", "SwampMummy_RtD", "SwampRat_RtD", "SwampVampire_RtD" };

		public string[] StaticList4 = new string[3] { "MountainGriffin_RtD", "MountainUndead_RtD", "MountainWerewolf_RtD" };

		public string[] StaticList5 = new string[4] { "PlainsChomper1_RtD", "PlainsChimera_RtD", "PlainsDragonide_RtD", "PlainsOrc_RtD" };

		public string[] StaticList6 = new string[3] { "MistlandsSpider1_RtD", "MistlandsHarpy_RtD", "MistlandsWolf_RtD" };

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

		public static SpawnConfig[] MeadowsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 350f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 1,
				MaxLevel = 2,
				MaxGroupSize = 1,
				Biome = (Biome)1,
				MinAltitude = 2f
			}
		};

		public static SpawnConfig[] BlackForestSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 350f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 1,
				MaxLevel = 2,
				MaxGroupSize = 1,
				Biome = (Biome)8,
				MinAltitude = 2f
			}
		};

		public static SpawnConfig[] SwampSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 350f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 1,
				MaxLevel = 2,
				MaxGroupSize = 1,
				Biome = (Biome)2,
				MinAltitude = 1f
			}
		};

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

		public static SpawnConfig[] PlainsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 350f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 1,
				MaxLevel = 2,
				MaxGroupSize = 1,
				Biome = (Biome)16,
				MinAltitude = 2f
			}
		};

		public static SpawnConfig[] MistlandsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 350f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 1,
				MaxLevel = 2,
				MaxGroupSize = 1,
				Biome = (Biome)512,
				MinAltitude = 2f
			}
		};

		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 static readonly string MountainBossTheme = "MountainBossTheme_RtD";

		private static readonly string MistlandsBossTheme = "MistlandsBossTheme_RtD";

		private static readonly RoomConfig EntranceMountainBossConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = MountainBossTheme,
			Weight = 1f
		};

		private static readonly RoomConfig EntranceMistlandsBossConfig = new RoomConfig
		{
			Enabled = true,
			Entrance = true,
			MinPlaceOrder = 0,
			ThemeName = MistlandsBossTheme,
			Weight = 1f
		};

		private static readonly LocationConfig MountainBossDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)4,
			MinDistanceFromSimilar = 90f,
			Quantity = 16,
			Priotized = true,
			MinAltitude = 60f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly LocationConfig MistlandsBossDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)512,
			MinDistanceFromSimilar = 100f,
			Quantity = 16,
			Priotized = true,
			MinAltitude = 10f,
			ClearArea = true,
			ExteriorRadius = 15f
		};

		private static readonly string[] WeaponPrefabList = new string[104]
		{
			"MeadowsAtgeir_RtD", "MeadowsAxe1H_RtD", "MeadowsAxe2H_RtD", "MeadowsBow_RtD", "MeadowsClub_RtD", "MeadowsDagger_RtD", "MeadowsDefender_RtD", "MeadowsSpear_RtD", "MeadowsSword1H_RtD", "MeadowsSword2H_RtD",
			"MeadowsShield_RtD", "BlackForestAtgeir_RtD", "BlackForestAxe1H_RtD", "BlackForestAxe2H_RtD", "BlackForestBow_RtD", "BlackForestClub_RtD", "BlackForestDagger_RtD", "BlackForestDefender_RtD", "BlackForestSpear_RtD", "BlackForestSledge_RtD",
			"BlackForestSword1H_RtD", "BlackForestSword2H_RtD", "BlackForestShield_RtD", "SwampAtgeir_RtD", "SwampAxe1H_RtD", "SwampAxe2H_RtD", "SwampBow_RtD", "SwampClub_RtD", "SwampDagger_RtD", "SwampDefender_RtD",
			"SwampSledge_RtD", "SwampSpear_RtD", "SwampSword1H_RtD", "SwampSword2H_RtD", "SwampShield_RtD", "MountainAtgeir_RtD", "MountainAxe1H_RtD", "MountainAxe2H_RtD", "MountainBow_RtD", "MountainClub_RtD",
			"MountainDagger_RtD", "MountainDefender_RtD", "MountainSledge_RtD", "MountainSpear_RtD", "MountainSword1H_RtD", "MountainSword2H_RtD", "MountainShield_RtD", "PlainsAtgeir_RtD", "PlainsAxe1H_RtD", "PlainsAxe2H_RtD",
			"PlainsBow_RtD", "PlainsClub_RtD", "PlainsDagger_RtD", "PlainsDefender_RtD", "PlainsSledge_RtD", "PlainsSpear_RtD", "PlainsSword1H_RtD", "PlainsSword2H_RtD", "PlainsShield_RtD", "MistlandsAtgeir_RtD",
			"MistlandsAxe1H_RtD", "MistlandsAxe2H_RtD", "MistlandsBow_RtD", "MistlandsClub_RtD", "MistlandsDagger_RtD", "MistlandsDefender_RtD", "MistlandsSledge_RtD", "MistlandsSpear_RtD", "MistlandsSword1H_RtD", "MistlandsSword2H_RtD",
			"MistlandsShield_RtD", "AshLandsAtgeir_RtD", "AshLandsAxe1H_RtD", "AshLandsAxe2H_RtD", "AshLandsBow_RtD", "AshLandsClub_RtD", "AshLandsDagger_RtD", "AshLandsDefender_RtD", "AshLandsSledge_RtD", "AshLandsSpear_RtD",
			"AshLandsSword1H_RtD", "AshLandsSword2H_RtD", "AshLandsShieldBow_RtD", "AshLandsShield_RtD", "DeepNorthAtgeir_RtD", "DeepNorthAxe1H1_RtD", "DeepNorthAxe2H1_RtD", "DeepNorthBow_RtD", "DeepNorthClub_RtD", "DeepNorthDagger_RtD",
			"DeepNorthDefender_RtD", "DeepNorthSledge1_RtD", "DeepNorthSledge2_RtD", "DeepNorthSpear_RtD", "DeepNorthSword1H1_RtD", "DeepNorthShieldBow_RtD", "DeepNorthSword2H1_RtD", "DeepNorthSword2H2_RtD", "DeepNorthShield_RtD", "DeepNorthAxe2H2_RtD",
			"AxeFlametal_RtD", "PickAxeFlametal_RtD", "OdinsFist_RtD", "OdinsDefender_RtD"
		};

		private static readonly string[] WeaponBiomeList = new string[104]
		{
			"Meadows", "Meadows", "Meadows", "Meadows", "Meadows", "Meadows", "Meadows", "Meadows", "Meadows", "Meadows",
			"Meadows", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest", "BlackForest",
			"BlackForest", "BlackForest", "BlackForest", "Swamp", "Swamp", "Swamp", "Swamp", "Swamp", "Swamp", "Swamp",
			"Swamp", "Swamp", "Swamp", "Swamp", "Swamp", "Mountain", "Mountain", "Mountain", "Mountain", "Mountain",
			"Mountain", "Mountain", "Mountain", "Mountain", "Mountain", "Mountain", "Mountain", "Plains", "Plains", "Plains",
			"Plains", "Plains", "Plains", "Plains", "Plains", "Plains", "Plains", "Plains", "Plains", "Mistlands",
			"Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands", "Mistlands",
			"Mistlands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands", "AshLands",
			"AshLands", "AshLands", "AshLands", "AshLands", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth",
			"DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth", "DeepNorth",
			"Special", "Special", "Special", "Special"
		};

		private static readonly string[] WeaponStationList = new string[104]
		{
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Workbench,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.Forge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.BlackForge,
			CraftingStations.Forge,
			CraftingStations.Forge
		};

		private static readonly string[][] WeaponReqItems = new string[104][]
		{
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Wood", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Flint", "MeadowsCore_RtD" },
			new string[3] { "MeadowsToken_RtD", "Wood", "MeadowsCore_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsAtgeir_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsAxe1H_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsAxe2H_RtD" },
			new string[4] { "BlackForestToken_RtD", "FineWood", "BlackForestCore_RtD", "MeadowsBow_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsClub_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsDagger_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsDefender_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsSpear_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "TrophyTheElder" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsSword1H_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsSword2H_RtD" },
			new string[4] { "BlackForestToken_RtD", "Item_CelestialBronzeBar_RtD", "BlackForestCore_RtD", "MeadowsShield_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestAtgeir_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestAxe1H_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestAxe2H_RtD" },
			new string[4] { "SwampToken_RtD", "ElderBark", "SwampCore_RtD", "BlackForestBow_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestClub_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestDagger_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestDefender_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestSledge_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestSpear_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestSword1H_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestSword2H_RtD" },
			new string[4] { "SwampToken_RtD", "Item_BrightsteelBar_RtD", "SwampCore_RtD", "BlackForestShield_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampAtgeir_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampAxe1H_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampAxe2H_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampBow_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampClub_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampDagger_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampDefender_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampSledge_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampSpear_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampSword1H_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampSword2H_RtD" },
			new string[4] { "MountainToken_RtD", "Item_QuicksilverBar_RtD", "MountainCore_RtD", "SwampShield_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainAtgeir_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainAxe1H_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainAxe2H_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainBow_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainClub_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainDagger_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainDefender_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainSledge_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainSpear_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainSword1H_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainSword2H_RtD" },
			new string[4] { "PlainsToken_RtD", "Item_NetheriteBar_RtD", "PlainsCore_RtD", "MountainShield_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsAtgeir_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsAxe1H_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsAxe2H_RtD" },
			new string[4] { "MistlandsToken_RtD", "YggdrasilWood", "MistlandsCore_RtD", "PlainsBow_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsClub_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsDagger_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsDefender_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsSledge_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsSpear_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsSword1H_RtD" },
			new string[4] { "MistlandsToken_RtD", "FelmetalBar_RtD", "MistlandsCore_RtD", "PlainsSword2H_RtD" },
			new string[4] { "MistlandsToken_RtD", "Item_NetheriteBar_RtD", "MistlandsCore_RtD", "PlainsShield_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsAtgeir_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsAxe1H_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsAxe2H_RtD" },
			new string[4] { "AshLandsToken_RtD", "Blackwood", "AshLandsCore_RtD", "MistlandsBow_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsClub_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsDagger_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsDefender_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsSledge_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsSpear_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsSword1H_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsSword2H_RtD" },
			new string[4] { "AshLandsToken_RtD", "Blackwood", "AshLandsCore_RtD", "MistlandsBow_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "AshLandsCore_RtD", "MistlandsShield_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsAtgeir_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsAxe1H_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsAxe2H_RtD" },
			new string[4] { "DeepNorthToken_RtD", "Blackwood", "DeepNorthCore_RtD", "AshLandsBow_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsClub_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsDagger_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsDefender_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsSledge_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsSledge_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsSpear_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsSword1H_RtD" },
			new string[4] { "DeepNorthToken_RtD", "Blackwood", "DeepNorthCore_RtD", "AshLandsShieldBow_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsSword2H_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsSword2H_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsShield_RtD" },
			new string[4] { "DeepNorthToken_RtD", "FroMetalBar_RtD", "DeepNorthCore_RtD", "AshLandsAxe2H_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "Blackwood", "AshLandsCore_RtD" },
			new string[4] { "AshLandsToken_RtD", "Flametal", "Blackwood", "AshLandsCore_RtD" },
			new string[4] { "BlackForestToken_RtD", "Iron", "MeadowsCore_RtD", "TrophyEikthyr" },
			new string[4] { "BlackForestToken_RtD", "Iron", "MeadowsCore_RtD", "TrophyEikthyr" }
		};

		private static readonly int[][] WeaponReqAmounts = new int[104][]
		{
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 45, 1 },
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 15, 1 },
			new int[3] { 3, 45, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 35, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 35, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 35, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 35, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 35, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 50, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 50, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 2, 1 },
			new int[4] { 3, 15, 2, 1 },
			new int[4] { 3, 15, 1, 1 },
			new int[4] { 3, 15, 1, 1 }
		};

		private static readonly int[][] WeaponReqLevels = new int[104][]
		{
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[3] { 3, 2, 1 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 1, 0 },
			new int[4] { 3, 2, 0, 1 },
			new int[4] { 3, 2, 0, 1 },
			new int[4] { 3, 10, 1, 0 },
			new int[4] { 3, 10, 1, 0 }
		};

		private ConfigEntry<bool>[] WeaponEnabledConfigs;

		private ConfigEntry<string>[][] WeaponReqItemConfigs;

		private ConfigEntry<int>[][] WeaponReqAmountConfigs;

		private void Awake()
		{
			LoadBundle();
			CreateConfigs();
			Addlocalizations();
			JSONSupport();
			AddSoundEffects();
			AddPrefabsMonstrum();
			AddPrefabs();
			Locations();
			AddItemsMonsters();
			AddItemsMonstrum();
			ItemConversions();
			AddShieldEffect();
			StatusEffects();
			CreateRecipes();
			Bosses();
			RegisterMonsters();
			MeadowsSpawner();
			BlackForestSpawner();
			SwampSpawner();
			MountainSpawner();
			PlainsSpawner();
			MistlandsSpawner();
			AshLandsSpawners();
			DeepNorthSpawners();
			CreateMonsterConfigs();
			Altars();
			AddSEStatusEffect();
			ZoneManager.OnVanillaLocationsAvailable += AdjustVanillaDungeons;
			PrefabManager.OnVanillaPrefabsAvailable += AddTempleDungeonProps;
			PrefabManager.OnVanillaPrefabsAvailable += ModifyItems;
			ZoneManager.OnVanillaLocationsAvailable += OnVanillaLocationsAvailable;
			ZoneManager.OnVanillaLocationsAvailable += OnVanillaLocationsAvailableMonstrum;
			DungeonManager.OnVanillaRoomsAvailable += OnVanillaRoomsAvailable;
			DungeonManager.OnVanillaRoomsAvailable += OnVanillaRoomsAvailableMonstrum;
			PrefabManager.OnPrefabsRegistered += FixSFX;
			if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)"Logging is enabled in the config.");
			}
		}

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

		private 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
			try
			{
				((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
				LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", false, new ConfigDescription("Enable or Disable Logging.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 15
				} }));
				CreateWeaponAndShieldConfigs();
				CreateArmorConfigs();
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}");
			}
		}

		public void AddSoundEffects()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] soundEffectListMonsters = SoundEffectListMonsters;
				foreach (string text in soundEffectListMonsters)
				{
					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 AddTempleDungeonProps()
		{
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Expected O, but got Unknown
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Expected O, but got Unknown
			try
			{
				string[] dungeonPropList = DungeonPropList;
				foreach (string text in dungeonPropList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if (Object.op_Implicit((Object)(object)val))
					{
						CustomPrefab val2 = new CustomPrefab(val, true);
						PrefabManager.Instance.AddPrefab(val2);
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Prefab database"));
					}
				}
				string[] dungeonDoorList = DungeonDoorList;
				foreach (string text2 in dungeonDoorList)
				{
					GameObject val3 = _myAssets.LoadAsset<GameObject>(text2);
					if (Object.op_Implicit((Object)(object)val3))
					{
						CustomPrefab val4 = new CustomPrefab(val3, true);
						PrefabManager.Instance.AddPrefab(val4);
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text2 + " to the Prefab database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Pieces: {arg}");
			}
			finally
			{
				PrefabManager.OnVanillaPrefabsAvailable -= AddTempleDungeonProps;
			}
		}

		private void OnVanillaLocationsAvailable()
		{
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Expected O, but got Unknown
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Expected O, but got Unknown
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d8: Expected O, but got Unknown
			//IL_0116: Unknown result type