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")] [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", "1.1.85")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInIncompatibility("CookieMilk.MagicalMounts")] [BepInIncompatibility("CookieMilk.MajesticChickens")] [BepInIncompatibility("CookieMilk.BuildPieces")] [BepInIncompatibility("CookieMilk.CarryMeMaster")] [BepInIncompatibility("CookieMilk.UltimateServerControl")] [BepInIncompatibility("CookieMilk.DiscordControl")] [BepInIncompatibility("blacks7ar.MagicPlugin")] [BepInIncompatibility("blacks7ar.SeedBed")] [BepInIncompatibility("blacks7ar.OreMines")] [BepInIncompatibility("randyknapp.mods.epicloot")] [HarmonyPatch] public class RtDDungeons : BaseUnityPlugin { private const string ModGuid = "Soloredis.RtDDungeons"; private const string ModName = "RtDDungeons"; private const string ModVersion = "1.1.85"; private AssetBundle _myAssets; private static Harmony _harmony; private static readonly string[] DungeonPropList = new string[275] { "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", "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", "DG_Shrine_Plains_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 = new string[1] { "If_else_statement_prefab_RtD" }; public static string[] DungeonDoorList = Array.Empty(); public static string[] DungeonEndcapMeadowsList = new string[1] { "MeadowsEndCap_RtD" }; public static string[] DungeonSpacerMeadowsList = Array.Empty(); 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(); public static string[] DungeonEndcapBlackForestList = new string[1] { "BlackForestEndCap_RtD" }; public static string[] DungeonSpacerBlackForestList = Array.Empty(); 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(); 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(); 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(); 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(); 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(); 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[3] { "AshLandsStairsL_RtD", "AshLandsStairsR_RtD", "AshLandsStairs1_RtD" }; public static string[] DungeonEndcapDeepNorthList = new string[1] { "DeepNorthEndCap_RtD" }; public static string[] DungeonSpacerDeepNorthList = Array.Empty(); 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, ForestTresholdMin = 0f, Quantity = 50, MinDistance = 100f, Priotized = true, MinAltitude = 10f, ClearArea = true, ExteriorRadius = 15f }; private static readonly LocationConfig BlackForestDungeonLocConfig = new LocationConfig { Biome = (Biome)8, MinDistanceFromSimilar = 128f, Quantity = 80, Priotized = true, MinAltitude = 10f, ClearArea = true, ExteriorRadius = 15f }; private static readonly LocationConfig SwampDungeonLocConfig = new LocationConfig { Biome = (Biome)2, MinDistanceFromSimilar = 128f, Quantity = 80, Priotized = true, MinAltitude = 1f, ClearArea = true, ExteriorRadius = 15f }; private static readonly LocationConfig MountainDungeonLocConfig = new LocationConfig { Biome = (Biome)4, MinDistanceFromSimilar = 60f, Quantity = 80, Priotized = true, MinAltitude = 60f, ClearArea = true, ExteriorRadius = 15f }; private static readonly LocationConfig PlainsDungeonLocConfig = new LocationConfig { Biome = (Biome)16, MinDistanceFromSimilar = 128f, Quantity = 80, Priotized = true, MinAltitude = 10f, ClearArea = true, ExteriorRadius = 15f }; private static readonly LocationConfig MistlandsDungeonLocConfig = new LocationConfig { Biome = (Biome)512, MinDistanceFromSimilar = 70f, Quantity = 80, Priotized = true, MinAltitude = 10f, ClearArea = true, ExteriorRadius = 15f }; private static readonly LocationConfig AshLandsDungeonLocConfig = new LocationConfig { Biome = (Biome)32, MinDistanceFromSimilar = 128f, Quantity = 80, Priotized = true, MinAltitude = 10f, ClearArea = true, ExteriorRadius = 15f }; private static readonly LocationConfig DeepNorthDungeonLocConfig = new LocationConfig { Biome = (Biome)64, MinDistanceFromSimilar = 100f, Quantity = 80, Priotized = true, MinAltitude = 5f, 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 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; ZoneManager.OnVanillaLocationsAvailable += ModifyDungeons; ZoneManager.OnVanillaLocationsAvailable += ModifyCaves; } private void ModifyDungeons() { try { float chance = 0.5f; AddVegvisirDungeon("BlackForest_DG_RtD", "VegvisirBlackForest_Altar_RtD", chance); AddVegvisirDungeon("Swamp_DG_RtD", "VegvisirSwamp_Altar_RtD", chance); AddVegvisirDungeon("Plains_DG_RtD", "VegvisirPlains_Altar_RtD", chance); AddVegvisirDungeon("AshLands_DG_RtD", "Vegvisir_Necromancer_Altar_RtD", chance); AddVegvisirDungeon("DeepNorth_DG_RtD", "Vegvisir_SpiritAltar_RtD", chance); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Error modifying locations: {arg}"); } } private void AddVegvisirDungeon(string locationName, string vegvisirName, float chance) { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) ZoneLocation zoneLocation = ZoneManager.Instance.GetZoneLocation(locationName); if (zoneLocation == null) { ((BaseUnityPlugin)this).Logger.LogWarning((object)("Missing location: " + locationName)); } else { if (Random.value > chance) { return; } zoneLocation.m_prefab.Load(); GameObject asset = zoneLocation.m_prefab.Asset; if (!((Object)(object)asset == (Object)null)) { GameObject prefab = ZNetScene.instance.GetPrefab(vegvisirName); if ((Object)(object)prefab == (Object)null) { ((BaseUnityPlugin)this).Logger.LogWarning((object)("Missing vegvisir: " + vegvisirName)); } else if (!((Object)(object)asset.transform.Find(vegvisirName) != (Object)null)) { GameObject val = Object.Instantiate(prefab); val.transform.parent = asset.transform; val.transform.localPosition = new Vector3(4f, 0f, -7.5f); val.transform.localRotation = Quaternion.identity; } } } } private void ModifyCaves() { try { float chance = 0.5f; AddVegvisirCave("Meadows_DG_RtD", "VegvisirMeadows_Altar_RtD", chance); AddVegvisirCave("Mountain_DG_RtD", "VegvisirMountain_Altar_RtD", chance); AddVegvisirCave("Mistlands_DG_RtD", "VegvisirMistlands_Altar_RtD", chance); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Error modifying locations: {arg}"); } } private void AddVegvisirCave(string locationName, string vegvisirName, float chance) { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) ZoneLocation zoneLocation = ZoneManager.Instance.GetZoneLocation(locationName); if (zoneLocation == null) { ((BaseUnityPlugin)this).Logger.LogWarning((object)("Missing location: " + locationName)); } else { if (Random.value > chance) { return; } zoneLocation.m_prefab.Load(); GameObject asset = zoneLocation.m_prefab.Asset; if (!((Object)(object)asset == (Object)null)) { GameObject prefab = ZNetScene.instance.GetPrefab(vegvisirName); if ((Object)(object)prefab == (Object)null) { ((BaseUnityPlugin)this).Logger.LogWarning((object)("Missing vegvisir: " + vegvisirName)); } else if (!((Object)(object)asset.transform.Find(vegvisirName) != (Object)null)) { GameObject val = Object.Instantiate(prefab); val.transform.parent = asset.transform; val.transform.localPosition = new Vector3(-3f, 0f, -5.5f); val.transform.localRotation = Quaternion.identity; } } } } private void OnDestroy() { ZoneManager.OnVanillaLocationsAvailable -= ModifyDungeons; ZoneManager.OnVanillaLocationsAvailable -= ModifyCaves; } 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(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}"); } } 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(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(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("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("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("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("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("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("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("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("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("MeadowsEntrance_RtD"); if ((Object)(object)val != (Object)null) { DungeonManager.Instance.AddCustomRoom(new CustomRoom(val, true, EntranceMeadowsConfig)); } GameObject val2 = _myAssets.LoadAsset("BlackForestEntrance_RtD"); if ((Object)(object)val2 != (Object)null) { DungeonManager.Instance.AddCustomRoom(new CustomRoom(val2, true, EntranceBlackForestConfig)); } GameObject val3 = _myAssets.LoadAsset("SwampEntrance_RtD"); if ((Object)(object)val3 != (Object)null) { DungeonManager.Instance.AddCustomRoom(new CustomRoom(val3, true, EntranceSwampConfig)); } GameObject val4 = _myAssets.LoadAsset("MountainEntrance_RtD"); if ((Object)(object)val4 != (Object)null) { DungeonManager.Instance.AddCustomRoom(new CustomRoom(val4, true, EntranceMountainConfig)); } GameObject val5 = _myAssets.LoadAsset("PlainsEntrance_RtD"); if ((Object)(object)val5 != (Object)null) { DungeonManager.Instance.AddCustomRoom(new CustomRoom(val5, true, EntrancePlainsConfig)); } GameObject val6 = _myAssets.LoadAsset("MistlandsEntrance_RtD"); if ((Object)(object)val6 != (Object)null) { DungeonManager.Instance.AddCustomRoom(new CustomRoom(val6, true, EntranceMistlandsConfig)); } GameObject val7 = _myAssets.LoadAsset("AshLandsEntrance_RtD"); if ((Object)(object)val7 != (Object)null) { DungeonManager.Instance.AddCustomRoom(new CustomRoom(val7, true, EntranceAshLandsConfig)); } GameObject val8 = _myAssets.LoadAsset("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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(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}"); } } } }