Decompiled source of RtDDungeons v0.2.1

RtDDungeons.dll

Decompiled a day ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
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("RtDDungeons")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+eb4257baced375983b5c0ca245b5823f2455efac")]
[assembly: AssemblyProduct("RtDDungeons")]
[assembly: AssemblyTitle("RtDDungeons")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

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

		private const string ModName = "RtDDungeons";

		private const string ModVersion = "0.2.1";

		private AssetBundle _myAssets;

		private static Harmony _harmony;

		private static readonly string[] DungeonPropList = new string[274]
		{
			"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", "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_PlainsBlackMetal_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", "root1_RtD",
			"root2_RtD", "root3_RtD", "root4_RtD", "root5_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", "AshLands_OutsideAssassin_RtD", "AshLands_OutsideCrusader_RtD", "AshLands_OutsideKnight_RtD", "DG_Shrine_BlackForest_RtD", "DG_Spawner_BlackForestHorror01_RtD", "DG_Spawner_BlackForestHorror_RtD", "BlackForest_OutsideHorror1_RtD", "BlackForest_OutsideHorror2_RtD",
			"DeepNorth_Outside_Befouler_RtD", "DeepNorth_Outside_Davil_RtD", "DeepNorth_Outside_Executioner_RtD", "DeepNorth_OutsideNorthernTroll_RtD", "DG_Shrine_DeepNorth_RtD", "DG_Spawner_Befouler_RtD", "DG_Spawner_Davil_RtD", "DG_Spawner_Executioner_RtD", "DG_Spawner_NorthernTroll_RtD", "Outside_MeadowsGolem_RtD",
			"Outside_MeadowsSnade_RtD", "DG_Shrine_Meadows_RtD", "DG_Spawner_MeadowsGolem_RtD", "DG_Spawner_MeadowsNeck_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", "Mistlands_OutsideSpider1_RtD", "Mistlands_OutsideSpider2_RtD", "Mistlands_OutsideSpider3_RtD", "Mistlands_OutsideSpider4_RtD", "Mountain_OutsideHorror1_RtD", "Mountain_OutsideHorror2_RtD", "Mountain_OutsideWatcher_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", "Plains_OutsideHorror1_RtD", "Plains_OutsideHorror2_RtD", "Plains_OutsidePlainsSizzler_RtD", "Swamp_OutsideHorror1_RtD", "Swamp_OutsideHorror2_RtD",
			"Swamp_OutsideSludger_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 static string[] ItemList = Array.Empty<string>();

		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[1] { "BlackForestCorridor1_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[2] { "MountainStairsL_RtD", "MountainStairsR_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[2] { "AshLandsCorridor1_RtD", "AshLandsCorridor2_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[2] { "AshLandsStairsL_RtD", "AshLandsStairsR_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,
			MinDistanceFromSimilar = 70f,
			Quantity = 80,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true
		};

		private static readonly LocationConfig BlackForestDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)8,
			MinDistanceFromSimilar = 128f,
			Quantity = 80,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true
		};

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

		private static readonly LocationConfig MountainDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)4,
			MinDistanceFromSimilar = 128f,
			Quantity = 80,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true
		};

		private static readonly LocationConfig PlainsDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)16,
			MinDistanceFromSimilar = 128f,
			Quantity = 80,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true
		};

		private static readonly LocationConfig MistlandsDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)512,
			MinDistanceFromSimilar = 128f,
			Quantity = 80,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true
		};

		private static readonly LocationConfig AshLandsDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)32,
			MinDistanceFromSimilar = 128f,
			Quantity = 80,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true
		};

		private static readonly LocationConfig DeepNorthDungeonLocConfig = new LocationConfig
		{
			Biome = (Biome)64,
			MinDistanceFromSimilar = 128f,
			Quantity = 80,
			Priotized = true,
			MinAltitude = 1f,
			ClearArea = true
		};

		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 void Awake()
		{
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			_myAssets = AssetUtils.LoadAssetBundleFromResources("rtd_dungeons");
			_harmony = new Harmony("Soloredis.RtDDungeons");
			_harmony.PatchAll();
			AddItems();
			AddTempleDungeonProps();
			ZoneManager.OnVanillaLocationsAvailable += OnVanillaLocationsAvailable;
			DungeonManager.OnVanillaRoomsAvailable += OnVanillaRoomsAvailable;
		}

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

		public 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}");
			}
		}

		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 (might be due to invalid IL or missing references)
			//IL_0120: Expected O, but got Unknown
			//IL_0162: Unknown result type (might be due to invalid IL or missing references)
			//IL_016c: Expected O, but got Unknown
			//IL_01ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b8: Expected O, but got Unknown
			//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0204: Expected O, but got Unknown
			//IL_0246: Unknown result type (might be due to invalid IL or missing references)
			//IL_0250: Expected O, but got Unknown
			try
			{
				GameObject val = _myAssets.LoadAsset<GameObject>("Meadows_DG_RtD");
				if ((Object)(object)val != (Object)null)
				{
					DungeonManager.Instance.RegisterDungeonTheme(val, ThemeMeadowsDungeon);
					ZoneManager.Instance.AddCustomLocation(new CustomLocation(val, true, MeadowsDungeonLocConfig));
				}
				GameObject val2 = _myAssets.LoadAsset<GameObject>("BlackForest_DG_RtD");
				if ((Object)(object)val2 != (Object)null)
				{
					DungeonManager.Instance.RegisterDungeonTheme(val2, ThemeBlackForestDungeon);
					ZoneManager.Instance.AddCustomLocation(new CustomLocation(val2, true, BlackForestDungeonLocConfig));
				}
				GameObject val3 = _myAssets.LoadAsset<GameObject>("Swamp_DG_RtD");
				if ((Object)(object)val3 != (Object)null)
				{
					DungeonManager.Instance.RegisterDungeonTheme(val3, ThemeSwampDungeon);
					ZoneManager.Instance.AddCustomLocation(new CustomLocation(val3, true, SwampDungeonLocConfig));
				}
				GameObject val4 = _myAssets.LoadAsset<GameObject>("Mountain_DG_RtD");
				if ((Object)(object)val4 != (Object)null)
				{
					DungeonManager.Instance.RegisterDungeonTheme(val4, ThemeMountainDungeon);
					ZoneManager.Instance.AddCustomLocation(new CustomLocation(val4, true, MountainDungeonLocConfig));
				}
				GameObject val5 = _myAssets.LoadAsset<GameObject>("Plains_DG_RtD");
				if ((Object)(object)val5 != (Object)null)
				{
					DungeonManager.Instance.RegisterDungeonTheme(val5, ThemePlainsDungeon);
					ZoneManager.Instance.AddCustomLocation(new CustomLocation(val5, true, PlainsDungeonLocConfig));
				}
				GameObject val6 = _myAssets.LoadAsset<GameObject>("Mistlands_DG_RtD");
				if ((Object)(object)val6 != (Object)null)
				{
					DungeonManager.Instance.RegisterDungeonTheme(val6, ThemeMistlandsDungeon);
					ZoneManager.Instance.AddCustomLocation(new CustomLocation(val6, true, MistlandsDungeonLocConfig));
				}
				GameObject val7 = _myAssets.LoadAsset<GameObject>("AshLands_DG_RtD");
				if ((Object)(object)val7 != (Object)null)
				{
					DungeonManager.Instance.RegisterDungeonTheme(val7, ThemeAshLandsDungeon);
					ZoneManager.Instance.AddCustomLocation(new CustomLocation(val7, true, AshLandsDungeonLocConfig));
				}
				GameObject val8 = _myAssets.LoadAsset<GameObject>("DeepNorth_DG_RtD");
				if ((Object)(object)val8 != (Object)null)
				{
					DungeonManager.Instance.RegisterDungeonTheme(val8, ThemeDeepNorthDungeon);
					ZoneManager.Instance.AddCustomLocation(new CustomLocation(val8, true, DeepNorthDungeonLocConfig));
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon locations: {arg}");
			}
		}

		private void OnVanillaRoomsAvailable()
		{
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Expected O, but got Unknown
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_006e: Expected O, but got Unknown
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Expected O, but got Unknown
			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dc: Expected O, but got Unknown
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0116: Expected O, but got Unknown
			//IL_0146: Unknown result type (might be due to invalid IL or missing references)
			//IL_0150: Expected O, but got Unknown
			//IL_0180: Unknown result type (might be due to invalid IL or missing references)
			//IL_018a: Expected O, but got Unknown
			//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c4: Expected O, but got Unknown
			try
			{
				GameObject val = _myAssets.LoadAsset<GameObject>("MeadowsEntrance_RtD");
				if ((Object)(object)val != (Object)null)
				{
					DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EntranceMeadowsConfig));
				}
				GameObject val2 = _myAssets.LoadAsset<GameObject>("BlackForestEntrance_RtD");
				if ((Object)(object)val2 != (Object)null)
				{
					DungeonManager.Instance.AddCustomRoom(new CustomRoom(val2, true, EntranceBlackForestConfig));
				}
				GameObject val3 = _myAssets.LoadAsset<GameObject>("SwampEntrance_RtD");
				if ((Object)(object)val3 != (Object)null)
				{
					DungeonManager.Instance.AddCustomRoom(new CustomRoom(val3, true, EntranceSwampConfig));
				}
				GameObject val4 = _myAssets.LoadAsset<GameObject>("MountainEntrance_RtD");
				if ((Object)(object)val4 != (Object)null)
				{
					DungeonManager.Instance.AddCustomRoom(new CustomRoom(val4, true, EntranceMountainConfig));
				}
				GameObject val5 = _myAssets.LoadAsset<GameObject>("PlainsEntrance_RtD");
				if ((Object)(object)val5 != (Object)null)
				{
					DungeonManager.Instance.AddCustomRoom(new CustomRoom(val5, true, EntrancePlainsConfig));
				}
				GameObject val6 = _myAssets.LoadAsset<GameObject>("MistlandsEntrance_RtD");
				if ((Object)(object)val6 != (Object)null)
				{
					DungeonManager.Instance.AddCustomRoom(new CustomRoom(val6, true, EntranceMistlandsConfig));
				}
				GameObject val7 = _myAssets.LoadAsset<GameObject>("AshLandsEntrance_RtD");
				if ((Object)(object)val7 != (Object)null)
				{
					DungeonManager.Instance.AddCustomRoom(new CustomRoom(val7, true, EntranceAshLandsConfig));
				}
				GameObject val8 = _myAssets.LoadAsset<GameObject>("DeepNorthEntrance_RtD");
				if ((Object)(object)val8 != (Object)null)
				{
					DungeonManager.Instance.AddCustomRoom(new CustomRoom(val8, true, EntranceDeepNorthConfig));
				}
				AddMeadowsDungeonCorridors();
				AddMeadowsDungeonStairs();
				AddMeadowsDungeonCorners();
				AddMeadowsDungeonRooms();
				AddMeadowsDungeonEncaps();
				AddMeadowsDungeonSpacer();
				AddBlackForestDungeonCorridors();
				AddBlackForestDungeonStairs();
				AddBlackForestDungeonCorners();
				AddBlackForestDungeonRooms();
				AddBlackForestDungeonEncaps();
				AddBlackForestDungeonSpacer();
				AddSwampDungeonCorridors();
				AddSwampDungeonStairs();
				AddSwampDungeonCorners();
				AddSwampDungeonRooms();
				AddSwampDungeonEncaps();
				AddSwampDungeonSpacer();
				AddMountainDungeonCorridors();
				AddMountainDungeonStairs();
				AddMountainDungeonCorners();
				AddMountainDungeonRooms();
				AddMountainDungeonEncaps();
				AddMountainDungeonSpacer();
				AddPlainsDungeonCorridors();
				AddPlainsDungeonStairs();
				AddPlainsDungeonCorners();
				AddPlainsDungeonRooms();
				AddPlainsDungeonEncaps();
				AddPlainsDungeonSpacer();
				AddMistlandsDungeonCorridors();
				AddMistlandsDungeonStairs();
				AddMistlandsDungeonCorners();
				AddMistlandsDungeonRooms();
				AddMistlandsDungeonEncaps();
				AddMistlandsDungeonSpacer();
				AddAshLandsDungeonCorridors();
				AddAshLandsDungeonStairs();
				AddAshLandsDungeonCorners();
				AddAshLandsDungeonRooms();
				AddAshLandsDungeonEncaps();
				AddAshLandsDungeonSpacer();
				AddDeepNorthDungeonCorridors();
				AddDeepNorthDungeonStairs();
				AddDeepNorthDungeonCorners();
				AddDeepNorthDungeonRooms();
				AddDeepNorthDungeonEncaps();
				AddDeepNorthDungeonSpacer();
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeons: {arg}");
			}
		}

		private void AddMeadowsDungeonCorridors()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCorridorMeadowsList = DungeonCorridorMeadowsList;
				foreach (string text in dungeonCorridorMeadowsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CorridorMeadowsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMeadowsDungeonStairs()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonStairsMeadowsList = DungeonStairsMeadowsList;
				foreach (string text in dungeonStairsMeadowsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, StairsMeadowsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMeadowsDungeonCorners()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCornerMeadowsList = DungeonCornerMeadowsList;
				foreach (string text in dungeonCornerMeadowsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CornerMeadowsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMeadowsDungeonRooms()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonRoomMeadowsList = DungeonRoomMeadowsList;
				foreach (string text in dungeonRoomMeadowsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, RoomMeadowsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMeadowsDungeonEncaps()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonEndcapMeadowsList = DungeonEndcapMeadowsList;
				foreach (string text in dungeonEndcapMeadowsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EndcapMeadowsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMeadowsDungeonSpacer()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonSpacerMeadowsList = DungeonSpacerMeadowsList;
				foreach (string text in dungeonSpacerMeadowsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, SpacerMeadowsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddBlackForestDungeonCorridors()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCorridorBlackForestList = DungeonCorridorBlackForestList;
				foreach (string text in dungeonCorridorBlackForestList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CorridorBlackForestConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddBlackForestDungeonStairs()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonStairsBlackForestList = DungeonStairsBlackForestList;
				foreach (string text in dungeonStairsBlackForestList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, StairsBlackForestConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddBlackForestDungeonCorners()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCornerBlackForestList = DungeonCornerBlackForestList;
				foreach (string text in dungeonCornerBlackForestList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CornerBlackForestConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddBlackForestDungeonRooms()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonRoomBlackForestList = DungeonRoomBlackForestList;
				foreach (string text in dungeonRoomBlackForestList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, RoomBlackForestConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddBlackForestDungeonEncaps()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonEndcapBlackForestList = DungeonEndcapBlackForestList;
				foreach (string text in dungeonEndcapBlackForestList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EndcapBlackForestConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddBlackForestDungeonSpacer()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonSpacerBlackForestList = DungeonSpacerBlackForestList;
				foreach (string text in dungeonSpacerBlackForestList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, SpacerBlackForestConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddSwampDungeonCorridors()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCorridorSwampList = DungeonCorridorSwampList;
				foreach (string text in dungeonCorridorSwampList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CorridorSwampConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddSwampDungeonStairs()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonStairsSwampList = DungeonStairsSwampList;
				foreach (string text in dungeonStairsSwampList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, StairsSwampConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddSwampDungeonCorners()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCornerSwampList = DungeonCornerSwampList;
				foreach (string text in dungeonCornerSwampList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CornerSwampConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddSwampDungeonRooms()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonRoomSwampList = DungeonRoomSwampList;
				foreach (string text in dungeonRoomSwampList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, RoomSwampConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddSwampDungeonEncaps()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonEndcapSwampList = DungeonEndcapSwampList;
				foreach (string text in dungeonEndcapSwampList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EndcapSwampConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddSwampDungeonSpacer()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonSpacerSwampList = DungeonSpacerSwampList;
				foreach (string text in dungeonSpacerSwampList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, SpacerSwampConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMountainDungeonCorridors()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCorridorMountainList = DungeonCorridorMountainList;
				foreach (string text in dungeonCorridorMountainList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CorridorMountainConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMountainDungeonStairs()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonStairsMountainList = DungeonStairsMountainList;
				foreach (string text in dungeonStairsMountainList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, StairsMountainConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMountainDungeonCorners()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCornerMountainList = DungeonCornerMountainList;
				foreach (string text in dungeonCornerMountainList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CornerMountainConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMountainDungeonRooms()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonRoomMountainList = DungeonRoomMountainList;
				foreach (string text in dungeonRoomMountainList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, RoomMountainConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMountainDungeonEncaps()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonEndcapMountainList = DungeonEndcapMountainList;
				foreach (string text in dungeonEndcapMountainList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EndcapMountainConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMountainDungeonSpacer()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonSpacerMountainList = DungeonSpacerMountainList;
				foreach (string text in dungeonSpacerMountainList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, SpacerMountainConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddPlainsDungeonCorridors()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCorridorPlainsList = DungeonCorridorPlainsList;
				foreach (string text in dungeonCorridorPlainsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CorridorPlainsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddPlainsDungeonStairs()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonStairsPlainsList = DungeonStairsPlainsList;
				foreach (string text in dungeonStairsPlainsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, StairsPlainsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddPlainsDungeonCorners()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCornerPlainsList = DungeonCornerPlainsList;
				foreach (string text in dungeonCornerPlainsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CornerPlainsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddPlainsDungeonRooms()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonRoomPlainsList = DungeonRoomPlainsList;
				foreach (string text in dungeonRoomPlainsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, RoomPlainsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddPlainsDungeonEncaps()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonEndcapPlainsList = DungeonEndcapPlainsList;
				foreach (string text in dungeonEndcapPlainsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EndcapPlainsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddPlainsDungeonSpacer()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonSpacerPlainsList = DungeonSpacerPlainsList;
				foreach (string text in dungeonSpacerPlainsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, SpacerPlainsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMistlandsDungeonCorridors()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCorridorMistlandsList = DungeonCorridorMistlandsList;
				foreach (string text in dungeonCorridorMistlandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CorridorMistlandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMistlandsDungeonStairs()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonStairsMistlandsList = DungeonStairsMistlandsList;
				foreach (string text in dungeonStairsMistlandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, StairsMistlandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMistlandsDungeonCorners()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCornerMistlandsList = DungeonCornerMistlandsList;
				foreach (string text in dungeonCornerMistlandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CornerMistlandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMistlandsDungeonRooms()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonRoomMistlandsList = DungeonRoomMistlandsList;
				foreach (string text in dungeonRoomMistlandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, RoomMistlandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMistlandsDungeonEncaps()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonEndcapMistlandsList = DungeonEndcapMistlandsList;
				foreach (string text in dungeonEndcapMistlandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EndcapMistlandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddMistlandsDungeonSpacer()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonSpacerMistlandsList = DungeonSpacerMistlandsList;
				foreach (string text in dungeonSpacerMistlandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, SpacerMistlandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddAshLandsDungeonCorridors()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCorridorAshLandsList = DungeonCorridorAshLandsList;
				foreach (string text in dungeonCorridorAshLandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CorridorAshLandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddAshLandsDungeonStairs()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonStairsAshLandsList = DungeonStairsAshLandsList;
				foreach (string text in dungeonStairsAshLandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, StairsAshLandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddAshLandsDungeonCorners()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCornerAshLandsList = DungeonCornerAshLandsList;
				foreach (string text in dungeonCornerAshLandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CornerAshLandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddAshLandsDungeonRooms()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonRoomAshLandsList = DungeonRoomAshLandsList;
				foreach (string text in dungeonRoomAshLandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, RoomAshLandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddAshLandsDungeonEncaps()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonEndcapAshLandsList = DungeonEndcapAshLandsList;
				foreach (string text in dungeonEndcapAshLandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EndcapAshLandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddAshLandsDungeonSpacer()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonSpacerAshLandsList = DungeonSpacerAshLandsList;
				foreach (string text in dungeonSpacerAshLandsList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, SpacerAshLandsConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddDeepNorthDungeonCorridors()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCorridorDeepNorthList = DungeonCorridorDeepNorthList;
				foreach (string text in dungeonCorridorDeepNorthList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CorridorDeepNorthConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddDeepNorthDungeonStairs()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonStairsDeepNorthList = DungeonStairsDeepNorthList;
				foreach (string text in dungeonStairsDeepNorthList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, StairsDeepNorthConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddDeepNorthDungeonCorners()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonCornerDeepNorthList = DungeonCornerDeepNorthList;
				foreach (string text in dungeonCornerDeepNorthList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, CornerDeepNorthConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddDeepNorthDungeonRooms()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonRoomDeepNorthList = DungeonRoomDeepNorthList;
				foreach (string text in dungeonRoomDeepNorthList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, RoomDeepNorthConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddDeepNorthDungeonEncaps()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonEndcapDeepNorthList = DungeonEndcapDeepNorthList;
				foreach (string text in dungeonEndcapDeepNorthList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EndcapDeepNorthConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}

		private void AddDeepNorthDungeonSpacer()
		{
			//IL_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Expected O, but got Unknown
			try
			{
				string[] dungeonSpacerDeepNorthList = DungeonSpacerDeepNorthList;
				foreach (string text in dungeonSpacerDeepNorthList)
				{
					GameObject val = _myAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, SpacerDeepNorthConfig));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding dungeon corridor rooms: {arg}");
			}
		}
	}
}