Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Do Or Die NPC v1.0.3
DoDNPC.dll
Decompiled 2 years agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HoremvoreAssembly; using Jotunn; using Jotunn.Configs; using Jotunn.Entities; using Jotunn.Managers; using Jotunn.Utils; using SpawnThat.Spawners; using SpawnThat.Spawners.WorldSpawner; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("DoDNPC")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DoDNPC")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("f93045b5-4de6-4bb4-87af-d1f851dc0256")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace DoDNPC; [BepInPlugin("horemvore.DoDNPC", "Do or Die NPC's", "1.0.3")] [BepInIncompatibility("Azumatt.AzuDevMod")] [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.*/)] internal class dodNPCBundle : BaseUnityPlugin { public const string PluginGUID = "horemvore.DoDNPC"; public const string PluginName = "Do or Die NPC's"; public const string PluginVersion = "1.0.3"; public static bool isModded = true; public AssetBundle npcAssets; public CustomLocalization LocalNPC; public ConfigEntry<bool> ModEnable; public ConfigEntry<bool> LoggingEnable; public ConfigEntry<bool> SpawnsEnable; public LocationConfig meadowsBoss = new LocationConfig { Biome = (Biome)1, Quantity = 1, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig blackForestBoss = new LocationConfig { Biome = (Biome)8, Quantity = 1, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig swampBoss = new LocationConfig { Biome = (Biome)2, Quantity = 1, Priotized = true, ExteriorRadius = 9f, MinAltitude = 0.1f, MaxAltitude = 1f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig mountainsBoss = new LocationConfig { Biome = (Biome)4, Quantity = 1, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig plainsBoss = new LocationConfig { Biome = (Biome)16, Quantity = 1, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig mistlandsBoss = new LocationConfig { Biome = (Biome)512, Quantity = 1, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig ashLandsBoss = new LocationConfig { Biome = (Biome)32, Quantity = 1, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig deepNorthBoss = new LocationConfig { Biome = (Biome)64, Quantity = 1, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig meadowsVegvisir = new LocationConfig { Biome = (Biome)1, Quantity = 10, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig blackForestVegvisir = new LocationConfig { Biome = (Biome)8, Quantity = 10, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig swampVegvisir = new LocationConfig { Biome = (Biome)2, Quantity = 10, Priotized = true, ExteriorRadius = 9f, MinAltitude = 0.1f, MaxAltitude = 1f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig mountainsVegvisir = new LocationConfig { Biome = (Biome)4, Quantity = 10, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig plainsVegvisir = new LocationConfig { Biome = (Biome)16, Quantity = 10, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig mistlandsVegvisir = new LocationConfig { Biome = (Biome)512, Quantity = 10, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig ashLandsVegvisir = new LocationConfig { Biome = (Biome)32, Quantity = 10, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public LocationConfig deepNorthVegvisir = new LocationConfig { Biome = (Biome)64, Quantity = 10, Priotized = true, ExteriorRadius = 9f, MinAltitude = 5f, ClearArea = true, MinDistance = 1000f, MinDistanceFromSimilar = 1000f }; public string[] npcList = new string[38] { "EinherjarPlains_DoD", "NjordMountains_DoD", "VidarMistlands_DoD", "YounglingEinherjar_DoD", "YounglingNjord_DoD", "YounglingVidar_DoD", "NomadAshLands_DoD", "NomadBlackForest_DoD", "NomadDeepNorth_DoD", "NomadMeadows_DoD", "NomadMistlands_DoD", "NomadMountains_DoD", "NomadPlains_DoD", "NomadSwamp_DoD", "UpirGrim_DoD", "ZaineEvilian_DoD", "GrailThornheart_DoD", "LazarusAutumn_DoD", "CrisenthShadowsoul_DoD", "JaydenShadowmend_DoD", "FirionWinter_DoD", "LuxFrost_DoD", "EchoBlack_DoD", "MathianSerphent_DoD", "LazarusDeamonne_DoD", "SceledrusShadowend_DoD", "AshVexx_DoD", "CinderMortem_DoD", "DravenNox_DoD", "LincolnHunt_DoD", "SkuggaBlackForest_DoD", "SkuggaSwamp_DoD", "SkuggaMountains_DoD", "SkuggaPlains_DoD", "SkuggaMistlands_DoD", "SkuggaAshLands_DoD", "SkuggaDeepNorth_DoD", "SkuggaMeadows_DoD" }; public string[] prefabList = new string[25] { "Bush_Temple_1_DoD", "Bush_Temple_2_DoD", "Temple_StonePile_5_DoD", "Temple_StonePile_6_DoD", "SS_TempleCliff_1_DoD", "SS_Column_1_DoD", "SS_Column_2_DoD", "SS_PillarGroup_1_DoD", "SS_PillarGroup_2_DoD", "SS_PillarGroup_3_DoD", "SS_PillarGroup_4_DoD", "AoE_NomadAura_DoD", "AoE_Skugga_Heal_AL_DoD", "AoE_Skugga_Heal_BF_DoD", "AoE_Skugga_Heal_DN_DoD", "AoE_Skugga_Heal_Meadows_DoD", "AoE_Skugga_Heal_Mistlands_DoD", "AoE_Skugga_Heal_Mountains_DoD", "AoE_Skugga_Heal_Plains_DoD", "AoE_Skugga_Heal_Swamp_DoD", "NPC_Projectile_Fireball_Crimson_DoD", "NPC_Projectile_Fireball_Holy_DoD", "NPC_Projectile_Fireball_Poison_DoD", "NPC_Projectile_Fireball_Shadow_DoD", "Projectile_RangerBow_DoD" }; public string[] itemList = new string[277] { "KnifeYoungling_DoD", "YounglingLegs_DoD", "NPC_ArmorNomadChest_DoD", "NPC_ArmorNomadLegs_DoD", "NPC_BeltNomad_DoD", "NPC_CapeNomad_DoD", "NPC_HelmetNomad_DoD", "ArmorSkuggaChest_Plain_DoD", "ArmorSkuggaLegs_Plain_DoD", "CapeSkugga_Plain_AH", "HelmetSkugga_Plain_DoD", "NPC_Fireball_Nomad_AL_DoD", "NPC_Fireball_Nomad_BF_DoD", "NPC_Fireball_Nomad_DN_DoD", "NPC_Fireball_Nomad_Meadows_DoD", "NPC_Fireball_Nomad_Mistlands_DoD", "NPC_Fireball_Nomad_Mountains_DoD", "NPC_Fireball_Nomad_Plains_DoD", "NPC_Fireball_Nomad_Swamp_DoD", "NPC_NomadAura_Meadows_DoD", "NPC_NomadAura_BF_DoD", "NPC_NomadAura_Swamp_DoD", "NPC_NomadAura_Mountains_DoD", "NPC_NomadAura_Plains_DoD", "NPC_NomadAura_Mistlands_DoD", "NPC_NomadAura_AL_DoD", "NPC_NomadAura_DN_DoD", "NPC_Fireball_Cleric_Meadows_DoD", "NPC_Fireball_Druid_Meadows_DoD", "NPC_Fireball_Wizard_Meadows_DoD", "NPC_Firebolt_Cleric_Meadows_DoD", "NPC_Firebolt_Druid_Meadows_DoD", "NPC_Firebolt_Wizard_Meadows_DoD", "NPC_Fireball_Cleric_BF_DoD", "NPC_Fireball_Druid_BF_DoD", "NPC_Fireball_Wizard_BF_DoD", "NPC_Firebolt_Cleric_BF_DoD", "NPC_Firebolt_Druid_BF_DoD", "NPC_Firebolt_Wizard_BF_DoD", "NPC_Fireball_Cleric_Swamp_DoD", "NPC_Fireball_Druid_Swamp_DoD", "NPC_Fireball_Wizard_Swamp_DoD", "NPC_Firebolt_Cleric_Swamp_DoD", "NPC_Firebolt_Druid_Swamp_DoD", "NPC_Firebolt_Wizard_Swamp_DoD", "NPC_Fireball_Cleric_Mountains_DoD", "NPC_Fireball_Druid_Mountains_DoD", "NPC_Fireball_Wizard_Mountains_DoD", "NPC_Firebolt_Cleric_Mountains_DoD", "NPC_Firebolt_Druid_Mountains_DoD", "NPC_Firebolt_Wizard_Mountains_DoD", "NPC_Fireball_Cleric_Plains_DoD", "NPC_Fireball_Druid_Plains_DoD", "NPC_Fireball_Wizard_Plains_DoD", "NPC_Firebolt_Cleric_Plains_DoD", "NPC_Firebolt_Druid_Plains_DoD", "NPC_Firebolt_Wizard_Plains_DoD", "NPC_Fireball_Cleric_Mistlands_DoD", "NPC_Fireball_Druid_Mistlands_DoD", "NPC_Fireball_Wizard_Mistlands_DoD", "NPC_Firebolt_Cleric_Mistlands_DoD", "NPC_Firebolt_Druid_Mistlands_DoD", "NPC_Firebolt_Wizard_Mistlands_DoD", "NPC_Fireball_Cleric_AL_DoD", "NPC_Fireball_Druid_AL_DoD", "NPC_Fireball_Wizard_AL_DoD", "NPC_Firebolt_Cleric_AL_DoD", "NPC_Firebolt_Druid_AL_DoD", "NPC_Firebolt_Wizard_AL_DoD", "NPC_Fireball_Cleric_DN_DoD", "NPC_Fireball_Druid_DN_DoD", "NPC_Fireball_Wizard_DN_DoD", "NPC_Firebolt_Cleric_DN_DoD", "NPC_Firebolt_Druid_DN_DoD", "NPC_Firebolt_Wizard_DN_DoD", "NPC_BarbarianSecondary_Meadows_DoD", "NPC_ClericStaffSecondary_Meadows_DoD", "NPC_ClericSecondary_Meadows_DoD", "NPC_DruidSecondary_Meadows_DoD", "NPC_PaladinSecondary_Meadows_DoD", "NPC_RangerSecondary_Meadows_DoD", "NPC_RogueSecondary_Meadows_DoD", "NPC_WizardSecondary_Meadows_DoD", "NPC_WarriorSecondary_Meadows_DoD", "NPC_BarbarianSecondary_BF_DoD", "NPC_ClericStaffSecondary_BF_DoD", "NPC_ClericSecondary_BF_DoD", "NPC_DruidSecondary_BF_DoD", "NPC_PaladinSecondary_BF_DoD", "NPC_RangerSecondary_BF_DoD", "NPC_RogueSecondary_BF_DoD", "NPC_WizardSecondary_BF_DoD", "NPC_WarriorSecondary_BF_DoD", "NPC_BarbarianSecondary_Swamp_DoD", "NPC_ClericStaffSecondary_Swamp_DoD", "NPC_ClericSecondary_Swamp_DoD", "NPC_DruidSecondary_Swamp_DoD", "NPC_PaladinSecondary_Swamp_DoD", "NPC_RangerSecondary_Swamp_DoD", "NPC_RogueSecondary_Swamp_DoD", "NPC_WizardSecondary_Swamp_DoD", "NPC_WarriorSecondary_Swamp_DoD", "NPC_BarbarianSecondary_Mountains_DoD", "NPC_ClericStaffSecondary_Mountains_DoD", "NPC_ClericSecondary_Mountains_DoD", "NPC_DruidSecondary_Mountains_DoD", "NPC_PaladinSecondary_Mountains_DoD", "NPC_RangerSecondary_Mountains_DoD", "NPC_RogueSecondary_Mountains_DoD", "NPC_WizardSecondary_Mountains_DoD", "NPC_WarriorSecondary_Mountains_DoD", "NPC_BarbarianSecondary_Plains_DoD", "NPC_ClericStaffSecondary_Plains_DoD", "NPC_ClericSecondary_Plains_DoD", "NPC_DruidSecondary_Plains_DoD", "NPC_PaladinSecondary_Plains_DoD", "NPC_RangerSecondary_Plains_DoD", "NPC_RogueSecondary_Plains_DoD", "NPC_WizardSecondary_Plains_DoD", "NPC_WarriorSecondary_Plains_DoD", "NPC_BarbarianSecondary_Mistlands_DoD", "NPC_ClericStaffSecondary_Mistlands_DoD", "NPC_ClericSecondary_Mistlands_DoD", "NPC_DruidSecondary_Mistlands_DoD", "NPC_PaladinSecondary_Mistlands_DoD", "NPC_RangerSecondary_Mistlands_DoD", "NPC_RogueSecondary_Mistlands_DoD", "NPC_WizardSecondary_Mistlands_DoD", "NPC_WarriorSecondary_Mistlands_DoD", "NPC_BarbarianSecondary_AL_DoD", "NPC_ClericStaffSecondary_AL_DoD", "NPC_ClericSecondary_AL_DoD", "NPC_DruidSecondary_AL_DoD", "NPC_PaladinSecondary_AL_DoD", "NPC_RangerSecondary_AL_DoD", "NPC_RogueSecondary_AL_DoD", "NPC_WizardSecondary_AL_DoD", "NPC_WarriorSecondary_AL_DoD", "NPC_BarbarianSecondary_DN_DoD", "NPC_ClericStaffSecondary_DN_DoD", "NPC_ClericSecondary_DN_DoD", "NPC_DruidSecondary_DN_DoD", "NPC_PaladinSecondary_DN_DoD", "NPC_RangerSecondary_DN_DoD", "NPC_RogueSecondary_DN_DoD", "NPC_WizardSecondary_DN_DoD", "NPC_WarriorSecondary_DN_DoD", "NPC_SkuggaShield_AL_DoD", "NPC_SkuggaShield_BF_DoD", "NPC_SkuggaShield_DN_DoD", "NPC_SkuggaShield_Meadows_DoD", "NPC_SkuggaShield_Mistlands_DoD", "NPC_SkuggaShield_Mountains_DoD", "NPC_SkuggaShield_Plains_DoD", "NPC_SkuggaShield_Swamp_DoD", "NPC_SkuggaHeal_AL_DoD", "NPC_SkuggaHeal_BF_DoD", "NPC_SkuggaHeal_DN_DoD", "NPC_SkuggaHeal_Meadows_DoD", "NPC_SkuggaHeal_Mistlands_DoD", "NPC_SkuggaHeal_Mountains_DoD", "NPC_SkuggaHeal_Plains_DoD", "NPC_SkuggaHeal_Swamp_DoD", "NPC_HelmetDruid_DoD", "NPC_ArmorDruidLegs_DoD", "NPC_ArmorDruidChest_DoD", "NPC_CapeDruid_DoD", "NPC_RingDruid_DoD", "NPC_CapeRogue_DoD", "NPC_HelmetRogue_DoD", "NPC_ArmorRogueChest_DoD", "NPC_ArmorRogueLegs_DoD", "NPC_BeltRogue_DoD", "NPC_CapeWizard_DoD", "NPC_RingWizard_DoD", "NPC_HelmetWizard_DoD", "NPC_ArmorWizardChest_DoD", "NPC_ArmorWizardLegs_DoD", "NPC_CapePaladin_DoD", "NPC_HelmetPaladin_DoD", "NPC_ArmorPaladinChest_DoD", "NPC_ArmorPaladinLegs_DoD", "NPC_BeltPaladin_DoD", "NPC_RingPaladin_DoD", "NPC_CapeWarrior_DoD", "NPC_HelmetWarrior_DoD", "NPC_ArmorWarriorChest_DoD", "NPC_ArmorWarriorLegs_DoD", "NPC_ShieldWarrior_DoD", "NPC_CapeBarbarian_DoD", "NPC_HelmetBarbarian_DoD", "NPC_ArmorBarbarianChest_DoD", "NPC_ArmorBarbarianLegs_DoD", "NPC_RingBarbarian_DoD", "NPC_RingRanger_DoD", "NPC_CapeRanger_DoD", "NPC_HelmetRanger_DoD", "NPC_ArmorRangerChest_DoD", "NPC_ArmorRangerLegs_DoD", "NPC_CapeCleric_DoD", "NPC_HelmetCleric_DoD", "NPC_ArmorClericChest_DoD", "NPC_ArmorClericLegs_DoD", "NPC_ShieldCleric_DoD", "NPC_RingCleric_DoD", "NPC_BattleaxeBarbarian_DN_DoD", "NPC_BowRanger_DN_DoD", "NPC_HammerCleric_DN_DoD", "NPC_HammerWarrior_DN_DoD", "NPC_SkollRogue_DN_DoD", "NPC_StaffCleric_DN_DoD", "NPC_StaffDruid_DN_DoD", "NPC_StaffWizard_DN_DoD", "NPC_SwordPaladin_DN_DoD", "NPC_BattleaxeBarbarian_AL_DoD", "NPC_BowRanger_AL_DoD", "NPC_HammerCleric_AL_DoD", "NPC_HammerWarrior_AL_DoD", "NPC_SkollRogue_AL_DoD", "NPC_StaffCleric_AL_DoD", "NPC_StaffDruid_AL_DoD", "NPC_StaffWizard_AL_DoD", "NPC_SwordPaladin_AL_DoD", "NPC_BattleaxeBarbarian_Mistlands_DoD", "NPC_BowRanger_Mistlands_DoD", "NPC_HammerCleric_Mistlands_DoD", "NPC_HammerWarrior_Mistlands_DoD", "NPC_SkollRogue_Mistlands_DoD", "NPC_StaffCleric_Mistlands_DoD", "NPC_StaffDruid_Mistlands_DoD", "NPC_StaffWizard_Mistlands_DoD", "NPC_SwordPaladin_Mistlands_DoD", "NPC_BattleaxeBarbarian_Plains_DoD", "NPC_BowRanger_Plains_DoD", "NPC_HammerCleric_Plains_DoD", "NPC_HammerWarrior_Plains_DoD", "NPC_SkollRogue_Plains_DoD", "NPC_StaffCleric_Plains_DoD", "NPC_StaffDruid_Plains_DoD", "NPC_StaffWizard_Plains_DoD", "NPC_SwordPaladin_Plains_DoD", "NPC_BattleaxeBarbarian_Mountains_DoD", "NPC_BowRanger_Mountains_DoD", "NPC_HammerCleric_Mountains_DoD", "NPC_HammerWarrior_Mountains_DoD", "NPC_SkollRogue_Mountains_DoD", "NPC_StaffCleric_Mountains_DoD", "NPC_StaffDruid_Mountains_DoD", "NPC_StaffWizard_Mountains_DoD", "NPC_SwordPaladin_Mountains_DoD", "NPC_BattleaxeBarbarian_Swamp_DoD", "NPC_BowRanger_Swamp_DoD", "NPC_HammerCleric_Swamp_DoD", "NPC_HammerWarrior_Swamp_DoD", "NPC_SkollRogue_Swamp_DoD", "NPC_StaffCleric_Swamp_DoD", "NPC_StaffDruid_Swamp_DoD", "NPC_StaffWizard_Swamp_DoD", "NPC_SwordPaladin_Swamp_DoD", "NPC_BattleaxeBarbarian_BF_DoD", "NPC_BowRanger_BF_DoD", "NPC_HammerCleric_BF_DoD", "NPC_HammerWarrior_BF_DoD", "NPC_SkollRogue_BF_DoD", "NPC_StaffCleric_BF_DoD", "NPC_StaffDruid_BF_DoD", "NPC_StaffWizard_BF_DoD", "NPC_SwordPaladin_BF_DoD", "NPC_BattleaxeBarbarian_Meadows_DoD", "NPC_BowRanger_Meadows_DoD", "NPC_HammerCleric_Meadows_DoD", "NPC_HammerWarrior_Meadows_DoD", "NPC_SkollRogue_Meadows_DoD", "NPC_StaffCleric_Meadows_DoD", "NPC_StaffDruid_Meadows_DoD", "NPC_StaffWizard_Meadows_DoD", "NPC_SwordPaladin_Meadows_DoD" }; public string[] fxList = new string[4] { "FX_Fireball_Crimson_Hit_DoD", "FX_Fireball_Holy_Hit_DoD", "FX_Fireball_Poison_Hit_DoD", "FX_Fireball_Shadow_Hit_DoD" }; public string[] sePassiveList = new string[1] { "SE_NomadCurse_DoD" }; public string[] seHoTList = new string[8] { "SE_SkuggaHeal_AL_DoD", "SE_SkuggaHeal_BF_DoD", "SE_SkuggaHeal_DN_DoD", "SE_SkuggaHeal_Meadows_DoD", "SE_SkuggaHeal_Mistlands_DoD", "SE_SkuggaHeal_Mountains_DoD", "SE_SkuggaHeal_Plains_DoD", "SE_SkuggaHeal_Swamp_DoD" }; public string[] seShieldList = new string[8] { "SE_SkuggaShield_AL_DoD", "SE_SkuggaShield_BF_DoD", "SE_SkuggaShield_DN_DoD", "SE_SkuggaShield_Meadows_DoD", "SE_SkuggaShield_Mistlands_DoD", "SE_SkuggaShield_Mountains_DoD", "SE_SkuggaShield_Plains_DoD", "SE_SkuggaShield_Swamp_DoD" }; public string[] spawnerList = new string[24] { "Spawner_UpirGrim_DoD", "Spawner_ZaineEvilian_DoD", "Spawner_GrailThornheart_DoD", "Spawner_LazarusAutumn_DoD", "Spawner_CrisenthShadowsoul_DoD", "Spawner_JaydenShadowmend_DoD", "Spawner_FirionWinter_DoD", "Spawner_LuxFrost_DoD", "Spawner_EchoBlack_DoD", "Spawner_MathianSerphent_DoD", "Spawner_LazarusDeamonne_DoD", "Spawner_SceledrusShadowend_DoD", "Spawner_AshVexx_DoD", "Spawner_CinderMortem_DoD", "Spawner_DravenNox_DoD", "Spawner_LincolnHunt_DoD", "Spawner_SkuggaBlackForest_DoD", "Spawner_SkuggaSwamp_DoD", "Spawner_SkuggaMountains_DoD", "Spawner_SkuggaPlains_DoD", "Spawner_SkuggaMistlands_DoD", "Spawner_SkuggaAshLands_DoD", "Spawner_SkuggaDeepNorth_DoD", "Spawner_SkuggaMeadows_DoD" }; internal static ManualLogSource Log; private static readonly HashSet<string> dungeonTempleList = new HashSet<string> { "", "" }; private static readonly Dictionary<string, HashSet<string>> AllDungeons = new Dictionary<string, HashSet<string>> { { "DG_DungeonTemple_DoD", dungeonTempleList } }; public void CreateConfigurationValues() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Expected O, but got Unknown //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Expected O, but got Unknown //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Expected O, but got Unknown //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Expected O, but got Unknown //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Expected O, but got Unknown try { ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; ModEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("0 Do or Die NPCs", "Enable", true, new ConfigDescription("Admin only, Enables this mod", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); SpawnsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1 Spawning", "Enable", true, new ConfigDescription("Enables default spawning of Skugga. Set to false if you want to setup your own spawns via a 3rd party mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("99 Logging", "Enable", false, new ConfigDescription("Admin only, Enables logging", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes { IsAdminOnly = true } })); SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr) { if (attr.InitialSynchronization) { Logger.LogMessage((object)"Initial Config sync event received for Do or Die NPC"); } else { Logger.LogMessage((object)"Config sync event received for Do or Die NPC"); } }; } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}"); } } private void Awake() { CreateConfigurationValues(); Log = ((BaseUnityPlugin)this).Logger; if (ModEnable.Value) { if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogWarning((object)"Logging is enabled in the config."); } AddLocalization(); LoadBundle(); AddFX(); AddPassiveEffects(); AddHoTEffects(); AddShieldEffects(); AddPrefabs(); AddItems(); AddSkugga(); AddLocalSpawners(); ZoneManager.OnVanillaLocationsAvailable += AddVegvisirLocations; ZoneManager.OnVanillaLocationsAvailable += AddBossLocations; PrefabManager.OnPrefabsRegistered += FixFX; if (SpawnsEnable.Value) { SpawnerConfigurationManager.OnConfigure += ConfigureWorldSpawners; } } } public void LoadBundle() { try { npcAssets = AssetUtils.LoadAssetBundleFromResources("dodnpc", Assembly.GetExecutingAssembly()); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading bundles: {arg}"); } } public void AddLocalization() { try { LocalNPC = LocalizationManager.Instance.GetLocalization(); CustomLocalization localNPC = LocalNPC; string text = "English"; localNPC.AddTranslation(ref text, new Dictionary<string, string> { { "effect_nomadcurse_dod", "Nomad Curse" }, { "prop_rylanaltar_dod", "Rylan's Altar" }, { "prop_rylanaltar_text_dod", "Requires 10 Grey Pearls" }, { "boss_laughingrylan_dod", "Laughing Rylan" }, { "npc_mistlands_vidar_dod", "Vidar" }, { "npc_plains_einherjar_dod", "Einherjar" }, { "npc_mountains_njord_dod", "Njord" }, { "npc_vidar_young_dod", "Youngling" }, { "npc_einherjar_young_dod", "Youngling" }, { "npc_njord_young_dod", "Youngling" }, { "boss_deepnorth_lincolnhunt_dod", "Lincoln Hunt" }, { "boss_deepnorth_dravennox_dod", "Draven Nox" }, { "boss_ashlands_ashvexx_dod", "Ash Vexx" }, { "boss_ashlands_cindermortem_dod", "Cinder Mortem" }, { "boss_mistlands_lazarusdeamonne_dod", "Lazarus Deamonne" }, { "boss_mistlands_sceledrusshadowend_dod", "Sceledrus Shadowend" }, { "boss_plains_mathianserphent_dod", "Mathian Serphent" }, { "boss_plains_echoblack_dod", "Echo Black" }, { "boss_mountain_firionwinter_dod", "Firion Winter" }, { "boss_mountain_luxfrost_dod", "Lux Frost" }, { "boss_swamp_jaydenshadowmend_dod", "Jayden Shadowmend" }, { "boss_swamp_crisenthshadowsoul_dod", "Crisenth Shadowsoul" }, { "boss_blackforest_lazarusautumn_dod", "Lazarus Autumn" }, { "boss_blackforest_grailthornheart_dod", "Grail Thornheart" }, { "boss_meadows_zaineevilian_dod", "Zaine Evilian" }, { "boss_meadows_upirgrim_dod", "Upir Grim" }, { "enemy_nomad_dn_dod", "Nomad" }, { "enemy_nomad_al_dod", "Nomad" }, { "enemy_nomad_mist_dod", "Nomad" }, { "enemy_nomad_plains_dod", "Nomad" }, { "enemy_nomad_mount_dod", "Nomad" }, { "enemy_nomad_swamp_dod", "Nomad" }, { "enemy_nomad_bf_dod", "Nomad" }, { "enemy_nomad_dod", "Nomad" }, { "enemy_skugga_dn_dod", "Skugga" }, { "enemy_skugga_al_dod", "Skugga" }, { "enemy_skugga_mist_dod", "Skugga" }, { "enemy_skugga_plains_dod", "Skugga" }, { "enemy_skugga_mount_dod", "Skugga" }, { "enemy_skugga_swamp_dod", "Skugga" }, { "enemy_skugga_bf_dod", "Skugga" }, { "enemy_skugga_dod", "Skugga" } }); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)"English localization added."); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Localication: {arg}"); } } public void AddPassiveEffects() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = sePassiveList; foreach (string text in array) { SE_Passive_HS val = npcAssets.LoadAsset<SE_Passive_HS>(text); if ((Object)(object)val != (Object)null) { CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true); ItemManager.Instance.AddStatusEffect(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Status Effect database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Status Effect database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Passive Effects: {arg}"); } } public void AddHoTEffects() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = seHoTList; foreach (string text in array) { SE_HoT_HS val = npcAssets.LoadAsset<SE_HoT_HS>(text); if ((Object)(object)val != (Object)null) { CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true); ItemManager.Instance.AddStatusEffect(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Status Effect database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Status Effect database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding HoT Effects: {arg}"); } } public void AddShieldEffects() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = seShieldList; foreach (string text in array) { SE_Shield val = npcAssets.LoadAsset<SE_Shield>(text); if ((Object)(object)val != (Object)null) { CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true); ItemManager.Instance.AddStatusEffect(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Status Effect database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Status Effect database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Shield Effects: {arg}"); } } private void AddPrefabs() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = prefabList; foreach (string text in array) { GameObject val = npcAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomPrefab val2 = new CustomPrefab(val, true); PrefabManager.Instance.AddPrefab(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}"); } } private void AddItems() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = itemList; foreach (string text in array) { GameObject val = npcAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomItem val2 = new CustomItem(val, true); ItemManager.Instance.AddItem(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the item database")); } } 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 item prefabs: {arg}"); } } private void AddSkugga() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = npcList; foreach (string text in array) { GameObject val = npcAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomCreature val2 = new CustomCreature(val, true); CreatureManager.Instance.AddCreature(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Skugga: " + text)); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Skugga: {arg}"); } } private void AddLocalSpawners() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = spawnerList; foreach (string text in array) { GameObject val = npcAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomPrefab val2 = new CustomPrefab(val, true); PrefabManager.Instance.AddPrefab(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Local Spawners: {arg}"); } } private void AddVegvisirLocations() { //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Expected O, but got Unknown //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Expected O, but got Unknown //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Expected O, but got Unknown //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Expected O, but got Unknown //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_0232: Expected O, but got Unknown //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Expected O, but got Unknown //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_0312: Expected O, but got Unknown //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Expected O, but got Unknown //IL_03e8: Unknown result type (might be due to invalid IL or missing references) //IL_03f2: Expected O, but got Unknown //IL_0458: Unknown result type (might be due to invalid IL or missing references) //IL_0462: Expected O, but got Unknown //IL_04c8: Unknown result type (might be due to invalid IL or missing references) //IL_04d2: Expected O, but got Unknown //IL_0538: Unknown result type (might be due to invalid IL or missing references) //IL_0542: Expected O, but got Unknown //IL_05a8: Unknown result type (might be due to invalid IL or missing references) //IL_05b2: Expected O, but got Unknown //IL_0618: Unknown result type (might be due to invalid IL or missing references) //IL_0622: Expected O, but got Unknown //IL_0688: Unknown result type (might be due to invalid IL or missing references) //IL_0692: Expected O, but got Unknown //IL_06f8: Unknown result type (might be due to invalid IL or missing references) //IL_0702: Expected O, but got Unknown try { AudioSource prefab = Cache.GetPrefab<AudioSource>("Music_FulingCamp"); GameObject val = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_UpirGrim_DoD"); if ((Object)(object)val != (Object)null) { GameObject val2 = ZoneManager.Instance.CreateLocationContainer(val); AudioSource componentInChildren = val2.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val2, true, meadowsVegvisir)); } GameObject val3 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_ZaineEvilian_DoD"); if ((Object)(object)val3 != (Object)null) { GameObject val4 = ZoneManager.Instance.CreateLocationContainer(val3); AudioSource componentInChildren2 = val4.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren2 != (Object)null) { componentInChildren2.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val4, true, meadowsVegvisir)); } GameObject val5 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_GrailThornheart_DoD"); if ((Object)(object)val5 != (Object)null) { GameObject val6 = ZoneManager.Instance.CreateLocationContainer(val5); AudioSource componentInChildren3 = val6.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren3 != (Object)null) { componentInChildren3.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val6, true, blackForestVegvisir)); } GameObject val7 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_LazarusAutumn_DoD"); if ((Object)(object)val7 != (Object)null) { GameObject val8 = ZoneManager.Instance.CreateLocationContainer(val7); AudioSource componentInChildren4 = val8.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren4 != (Object)null) { componentInChildren4.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val8, true, blackForestVegvisir)); } GameObject val9 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_CrisenthShadowsoul_DoD"); if ((Object)(object)val9 != (Object)null) { GameObject val10 = ZoneManager.Instance.CreateLocationContainer(val9); AudioSource componentInChildren5 = val10.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren5 != (Object)null) { componentInChildren5.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val10, true, swampVegvisir)); } GameObject val11 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_JaydenShadowmend_DoD"); if ((Object)(object)val11 != (Object)null) { GameObject val12 = ZoneManager.Instance.CreateLocationContainer(val11); AudioSource componentInChildren6 = val12.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren6 != (Object)null) { componentInChildren6.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val12, true, swampVegvisir)); } GameObject val13 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_FirionWinter_DoD"); if ((Object)(object)val13 != (Object)null) { GameObject val14 = ZoneManager.Instance.CreateLocationContainer(val13); AudioSource componentInChildren7 = val14.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren7 != (Object)null) { componentInChildren7.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val14, true, mountainsVegvisir)); } GameObject val15 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_LuxFrost_DoD"); if ((Object)(object)val15 != (Object)null) { GameObject val16 = ZoneManager.Instance.CreateLocationContainer(val15); AudioSource componentInChildren8 = val16.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren8 != (Object)null) { componentInChildren8.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val16, true, mountainsVegvisir)); } GameObject val17 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_EchoBlack_DoD"); if ((Object)(object)val17 != (Object)null) { GameObject val18 = ZoneManager.Instance.CreateLocationContainer(val17); AudioSource componentInChildren9 = val18.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren9 != (Object)null) { componentInChildren9.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val18, true, plainsVegvisir)); } GameObject val19 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_MathianSerphent_DoD"); if ((Object)(object)val19 != (Object)null) { GameObject val20 = ZoneManager.Instance.CreateLocationContainer(val19); AudioSource componentInChildren10 = val20.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren10 != (Object)null) { componentInChildren10.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val20, true, plainsVegvisir)); } GameObject val21 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_LazarusDeamonne_DoD"); if ((Object)(object)val21 != (Object)null) { GameObject val22 = ZoneManager.Instance.CreateLocationContainer(val21); AudioSource componentInChildren11 = val22.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren11 != (Object)null) { componentInChildren11.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val22, true, mistlandsVegvisir)); } GameObject val23 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_SceledrusShadowend_DoD"); if ((Object)(object)val23 != (Object)null) { GameObject val24 = ZoneManager.Instance.CreateLocationContainer(val23); AudioSource componentInChildren12 = val24.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren12 != (Object)null) { componentInChildren12.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val24, true, mistlandsVegvisir)); } GameObject val25 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_AshVexx_DoD"); if ((Object)(object)val25 != (Object)null) { GameObject val26 = ZoneManager.Instance.CreateLocationContainer(val25); AudioSource componentInChildren13 = val26.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren13 != (Object)null) { componentInChildren13.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val26, true, ashLandsVegvisir)); } GameObject val27 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_CinderMortem_DoD"); if ((Object)(object)val27 != (Object)null) { GameObject val28 = ZoneManager.Instance.CreateLocationContainer(val27); AudioSource componentInChildren14 = val28.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren14 != (Object)null) { componentInChildren14.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val28, true, ashLandsVegvisir)); } GameObject val29 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_DravenNox_DoD"); if ((Object)(object)val29 != (Object)null) { GameObject val30 = ZoneManager.Instance.CreateLocationContainer(val29); AudioSource componentInChildren15 = val30.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren15 != (Object)null) { componentInChildren15.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val30, true, deepNorthVegvisir)); } GameObject val31 = npcAssets.LoadAsset<GameObject>("Loc_Vegvisir_LincolnHunt_DoD"); if ((Object)(object)val31 != (Object)null) { GameObject val32 = ZoneManager.Instance.CreateLocationContainer(val31); AudioSource componentInChildren16 = val32.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren16 != (Object)null) { componentInChildren16.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val32, true, deepNorthVegvisir)); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Locations: {arg}"); } finally { ZoneManager.OnVanillaLocationsAvailable -= AddVegvisirLocations; } } private void AddBossLocations() { //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Expected O, but got Unknown //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Expected O, but got Unknown //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Expected O, but got Unknown //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Expected O, but got Unknown //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_0232: Expected O, but got Unknown //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Expected O, but got Unknown //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_0312: Expected O, but got Unknown //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Expected O, but got Unknown //IL_03e8: Unknown result type (might be due to invalid IL or missing references) //IL_03f2: Expected O, but got Unknown //IL_0458: Unknown result type (might be due to invalid IL or missing references) //IL_0462: Expected O, but got Unknown //IL_04c8: Unknown result type (might be due to invalid IL or missing references) //IL_04d2: Expected O, but got Unknown //IL_0538: Unknown result type (might be due to invalid IL or missing references) //IL_0542: Expected O, but got Unknown //IL_05a8: Unknown result type (might be due to invalid IL or missing references) //IL_05b2: Expected O, but got Unknown //IL_0618: Unknown result type (might be due to invalid IL or missing references) //IL_0622: Expected O, but got Unknown //IL_0688: Unknown result type (might be due to invalid IL or missing references) //IL_0692: Expected O, but got Unknown //IL_06f8: Unknown result type (might be due to invalid IL or missing references) //IL_0702: Expected O, but got Unknown try { AudioSource prefab = Cache.GetPrefab<AudioSource>("Music_FulingCamp"); GameObject val = npcAssets.LoadAsset<GameObject>("Loc_UpirGrim_DoD"); if ((Object)(object)val != (Object)null) { GameObject val2 = ZoneManager.Instance.CreateLocationContainer(val); AudioSource componentInChildren = val2.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val2, true, meadowsBoss)); } GameObject val3 = npcAssets.LoadAsset<GameObject>("Loc_ZaineEvilian_DoD"); if ((Object)(object)val3 != (Object)null) { GameObject val4 = ZoneManager.Instance.CreateLocationContainer(val3); AudioSource componentInChildren2 = val4.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren2 != (Object)null) { componentInChildren2.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val4, true, meadowsBoss)); } GameObject val5 = npcAssets.LoadAsset<GameObject>("Loc_GrailThornheart_DoD"); if ((Object)(object)val5 != (Object)null) { GameObject val6 = ZoneManager.Instance.CreateLocationContainer(val5); AudioSource componentInChildren3 = val6.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren3 != (Object)null) { componentInChildren3.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val6, true, blackForestBoss)); } GameObject val7 = npcAssets.LoadAsset<GameObject>("Loc_LazarusAutumn_DoD"); if ((Object)(object)val7 != (Object)null) { GameObject val8 = ZoneManager.Instance.CreateLocationContainer(val7); AudioSource componentInChildren4 = val8.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren4 != (Object)null) { componentInChildren4.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val8, true, blackForestBoss)); } GameObject val9 = npcAssets.LoadAsset<GameObject>("Loc_CrisenthShadowsoul_DoD"); if ((Object)(object)val9 != (Object)null) { GameObject val10 = ZoneManager.Instance.CreateLocationContainer(val9); AudioSource componentInChildren5 = val10.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren5 != (Object)null) { componentInChildren5.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val10, true, swampBoss)); } GameObject val11 = npcAssets.LoadAsset<GameObject>("Loc_JaydenShadowmend_DoD"); if ((Object)(object)val11 != (Object)null) { GameObject val12 = ZoneManager.Instance.CreateLocationContainer(val11); AudioSource componentInChildren6 = val12.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren6 != (Object)null) { componentInChildren6.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val12, true, swampBoss)); } GameObject val13 = npcAssets.LoadAsset<GameObject>("Loc_FirionWinter_DoD"); if ((Object)(object)val13 != (Object)null) { GameObject val14 = ZoneManager.Instance.CreateLocationContainer(val13); AudioSource componentInChildren7 = val14.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren7 != (Object)null) { componentInChildren7.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val14, true, mountainsBoss)); } GameObject val15 = npcAssets.LoadAsset<GameObject>("Loc_LuxFrost_DoD"); if ((Object)(object)val15 != (Object)null) { GameObject val16 = ZoneManager.Instance.CreateLocationContainer(val15); AudioSource componentInChildren8 = val16.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren8 != (Object)null) { componentInChildren8.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val16, true, mountainsBoss)); } GameObject val17 = npcAssets.LoadAsset<GameObject>("Loc_EchoBlack_DoD"); if ((Object)(object)val17 != (Object)null) { GameObject val18 = ZoneManager.Instance.CreateLocationContainer(val17); AudioSource componentInChildren9 = val18.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren9 != (Object)null) { componentInChildren9.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val18, true, plainsBoss)); } GameObject val19 = npcAssets.LoadAsset<GameObject>("Loc_MathianSerphent_DoD"); if ((Object)(object)val19 != (Object)null) { GameObject val20 = ZoneManager.Instance.CreateLocationContainer(val19); AudioSource componentInChildren10 = val20.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren10 != (Object)null) { componentInChildren10.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val20, true, plainsBoss)); } GameObject val21 = npcAssets.LoadAsset<GameObject>("Loc_LazarusDeamonne_DoD"); if ((Object)(object)val21 != (Object)null) { GameObject val22 = ZoneManager.Instance.CreateLocationContainer(val21); AudioSource componentInChildren11 = val22.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren11 != (Object)null) { componentInChildren11.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val22, true, mistlandsBoss)); } GameObject val23 = npcAssets.LoadAsset<GameObject>("Loc_SceledrusShadowend_DoD"); if ((Object)(object)val23 != (Object)null) { GameObject val24 = ZoneManager.Instance.CreateLocationContainer(val23); AudioSource componentInChildren12 = val24.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren12 != (Object)null) { componentInChildren12.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val24, true, mistlandsBoss)); } GameObject val25 = npcAssets.LoadAsset<GameObject>("Loc_AshVexx_DoD"); if ((Object)(object)val25 != (Object)null) { GameObject val26 = ZoneManager.Instance.CreateLocationContainer(val25); AudioSource componentInChildren13 = val26.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren13 != (Object)null) { componentInChildren13.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val26, true, ashLandsBoss)); } GameObject val27 = npcAssets.LoadAsset<GameObject>("Loc_CinderMortem_DoD"); if ((Object)(object)val27 != (Object)null) { GameObject val28 = ZoneManager.Instance.CreateLocationContainer(val27); AudioSource componentInChildren14 = val28.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren14 != (Object)null) { componentInChildren14.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val28, true, ashLandsBoss)); } GameObject val29 = npcAssets.LoadAsset<GameObject>("Loc_DravenNox_DoD"); if ((Object)(object)val29 != (Object)null) { GameObject val30 = ZoneManager.Instance.CreateLocationContainer(val29); AudioSource componentInChildren15 = val30.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren15 != (Object)null) { componentInChildren15.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val30, true, deepNorthBoss)); } GameObject val31 = npcAssets.LoadAsset<GameObject>("Loc_LincolnHunt_DoD"); if ((Object)(object)val31 != (Object)null) { GameObject val32 = ZoneManager.Instance.CreateLocationContainer(val31); AudioSource componentInChildren16 = val32.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren16 != (Object)null) { componentInChildren16.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } ZoneManager.Instance.AddCustomLocation(new CustomLocation(val32, true, deepNorthBoss)); } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Locations: {arg}"); } finally { ZoneManager.OnVanillaLocationsAvailable -= AddBossLocations; npcAssets.Unload(false); } } public void AddFX() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected O, but got Unknown try { string[] array = fxList; foreach (string text in array) { GameObject val = npcAssets.LoadAsset<GameObject>(text); if ((Object)(object)val != (Object)null) { CustomPrefab val2 = new CustomPrefab(val, false); PrefabManager.Instance.AddPrefab(val2); if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database")); } } else { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the Object database")); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding FX: {arg}"); } } private void FixFX() { try { AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit"); string[] array = fxList; foreach (string text in array) { GameObject prefab2 = Cache.GetPrefab<GameObject>(text); AudioSource componentInChildren = prefab2.GetComponentInChildren<AudioSource>(); if ((Object)(object)componentInChildren != (Object)null) { componentInChildren.outputAudioMixerGroup = prefab.outputAudioMixerGroup; } if (LoggingEnable.Value) { ((BaseUnityPlugin)this).Logger.LogMessage((object)("Audio Mixer set on: " + text)); } } } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while fixing custom audio: {arg}"); } finally { PrefabManager.OnPrefabsRegistered -= FixFX; } } private static void ConfigureWorldSpawners(ISpawnerConfigurationCollection config) { try { IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22726u).SetPrefabName("SkuggaDeepNorth_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)64 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_lincolnhunt"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22725u).SetPrefabName("SkuggaAshLands_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)32 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_cindermortem"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22724u).SetPrefabName("SkuggaMistlands_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)512 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_sceledrusshadowend"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22723u).SetPrefabName("SkuggaPlains_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)16 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_mathianserphent"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22722u).SetPrefabName("SkuggaMountains_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)4 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_luxfrost"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22721u).SetPrefabName("SkuggaSwamp_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)2 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_jaydenshadowmend"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22720u).SetPrefabName("SkuggaBlackForest_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)8 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_lazarusautumn"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22719u).SetPrefabName("SkuggaMeadows_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)1 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_zaineevilian"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22718u).SetPrefabName("SkuggaDeepNorth_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)64 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_dravennox"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22717u).SetPrefabName("SkuggaAshLands_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)32 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_ashvexx"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22716u).SetPrefabName("SkuggaMistlands_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)512 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_lazarusdeamonne"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22715u).SetPrefabName("SkuggaPlains_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)16 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_echoblack"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22714u).SetPrefabName("SkuggaMountains_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)4 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_firionwinter"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22713u).SetPrefabName("SkuggaSwamp_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)2 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_crisenthshadowsoul"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22712u).SetPrefabName("SkuggaBlackForest_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)8 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("discover_grailthornheart"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22711u).SetPrefabName("SkuggaMeadows_DoD").SetTemplateName("Skugga") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)1 }) .SetSpawnChance(10f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f) .SetConditionRequiredGlobalKey("defeated_upirgrim"); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22710u).SetPrefabName("VidarMistlands_DoD").SetTemplateName("Vidar") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)512 }) .SetSpawnChance(16f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)1000.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22709u).SetPrefabName("EinherjarPlains_DoD").SetTemplateName("Einherjar") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)16 }) .SetSpawnChance(16f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)1000.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f); IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22708u).SetPrefabName("NjordMountains_DoD").SetTemplateName("Njord") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)4 }) .SetSpawnChance(16f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u) .SetSpawnAtDistanceToPlayerMin(45f) .SetSpawnAtDistanceToPlayerMax(65f), (double?)1000.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f); IWorldSpawnBuilderConditionExtensions.SetConditionNearbyPlayersCarryItem(IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22707u).SetPrefabName("NomadDeepNorth_DoD").SetTemplateName("Nomad") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)64 }) .SetSpawnChance(60f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f), 15, new string[1] { "SkullToken_DoD" }).SetModifierHuntPlayer(true); IWorldSpawnBuilderConditionExtensions.SetConditionNearbyPlayersCarryItem(IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22706u).SetPrefabName("NomadAshLands_DoD").SetTemplateName("Nomad") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)32 }) .SetSpawnChance(55f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f), 15, new string[1] { "SkullToken_DoD" }).SetModifierHuntPlayer(true); IWorldSpawnBuilderConditionExtensions.SetConditionNearbyPlayersCarryItem(IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22705u).SetPrefabName("NomadMistlands_DoD").SetTemplateName("Nomad") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)512 }) .SetSpawnChance(50f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f), 15, new string[1] { "SkullToken_DoD" }).SetModifierHuntPlayer(true); IWorldSpawnBuilderConditionExtensions.SetConditionNearbyPlayersCarryItem(IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22704u).SetPrefabName("NomadPlains_DoD").SetTemplateName("Nomad") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)16 }) .SetSpawnChance(45f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f), 15, new string[1] { "SkullToken_DoD" }).SetModifierHuntPlayer(true); IWorldSpawnBuilderConditionExtensions.SetConditionNearbyPlayersCarryItem(IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22703u).SetPrefabName("NomadMountains_DoD").SetTemplateName("Nomad") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)4 }) .SetSpawnChance(40f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f), 15, new string[1] { "SkullToken_DoD" }).SetModifierHuntPlayer(true); IWorldSpawnBuilderConditionExtensions.SetConditionNearbyPlayersCarryItem(IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22702u).SetPrefabName("NomadSwamp_DoD").SetTemplateName("Nomad") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)2 }) .SetSpawnChance(35f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f), 15, new string[1] { "SkullToken_DoD" }).SetModifierHuntPlayer(true); IWorldSpawnBuilderConditionExtensions.SetConditionNearbyPlayersCarryItem(IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22701u).SetPrefabName("NomadBlackForest_DoD").SetTemplateName("Nomad") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)8 }) .SetSpawnChance(30f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f), 15, new string[1] { "SkullToken_DoD" }).SetModifierHuntPlayer(true); IWorldSpawnBuilderConditionExtensions.SetConditionNearbyPlayersCarryItem(IWorldSpawnBuilderConditionExtensions.SetConditionDistanceToCenter(ISpawnerConfigurationCollectionWorldSpawnerExtensions.ConfigureWorldSpawner(config, 22700u).SetPrefabName("NomadMeadows_DoD").SetTemplateName("Nomad") .SetConditionBiomes((Biome[])(object)new Biome[1] { (Biome)1 }) .SetSpawnChance(25f) .SetSpawnInterval(TimeSpan.FromSeconds(360.0)) .SetPackSizeMin(1u) .SetPackSizeMax(2u) .SetMaxSpawned(1u), (double?)750.0, (double?)null).SetMinDistanceToOther(75f).SetConditionAltitudeMin(0.1f), 15, new string[1] { "SkullToken_DoD" }).SetModifierHuntPlayer(true); } catch (Exception ex) { Log.LogError((object)ex); } } }