using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using 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);
}
}
}