Decompiled source of RtDMonsters v1.4.3

RtDMonsters.dll

Decompiled a day ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("RtDMonsters")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RtDMonsters")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("dfc92a04-5c3f-4439-a3c2-7286e71d6625")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

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

		public const string PluginName = "RtDMonsters";

		public const string PluginVersion = "1.4.3";

		internal static ManualLogSource Log;

		public static AssetBundle MyAssets;

		public ConfigEntry<bool> DragonBoarStoneEnable;

		public ConfigEntry<bool> DragonKingAltarEnable;

		public ConfigEntry<bool> DrakeNestEnable;

		public ConfigEntry<bool> GothicRuinsEnable;

		public ConfigEntry<bool> FaeRuinsEnable;

		public ConfigEntry<bool> FaeSpawnerEnable;

		public ConfigEntry<bool> SpiritShrineEnable;

		public ConfigEntry<bool> FaeTreeEnable;

		public ConfigEntry<bool> DemonEnable;

		public ConfigEntry<bool> AssassinEnable;

		public ConfigEntry<bool> BerserkerEnable;

		public ConfigEntry<bool> FallenCrusaderEnable;

		public ConfigEntry<bool> WizardEnable;

		public ConfigEntry<bool> DragonBoarEnable;

		public ConfigEntry<bool> FairiesEnable;

		public ConfigEntry<bool> GolemEnable;

		public ConfigEntry<bool> FaeWolfsEnable;

		public ConfigEntry<bool> ElfsEnable;

		public ConfigEntry<bool> ModEnable;

		public ConfigEntry<bool> LoggingEnable;

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

		public string[] CustomSEList = new string[1] { "SE_FairyHeal_RtD" };

		public string[] ItemsList = new string[19]
		{
			"BurningGland_RtD", "CookedDragonBoarMeat_RtD", "DemonHide_RtD", "DemonHorn_RtD", "DragonBoarMeat_RtD", "DragonCore_RtD", "DragonEgg_RtD", "TrophyDragonKing_RtD", "TrophyHatchling_RtD", "CookedFaeWolfMeat_RtD",
			"FaeNectar_RtD", "FaeSeed_RtD", "FaeTrophyWolf_RtD", "FaeWolfFang_RtD", "FaeWolfMeat_RtD", "FaeWolfPelt_RtD", "FairySilk_RtD", "SpiritHeart_RtD", "TrophySpirit_RtD"
		};

		public string[] PrefabsList = new string[169]
		{
			"elextricvfx_RtD", "fx_eikthyr_stomp_RtD", "fx_fae_death_RtD", "fx_fae_hit_RtD", "fx_fairyprotect_RtD", "vfx_dragon_firebreath_RtD", "vfx_elementalgolem_death_RtD", "vfx_elementalgolem_hurt_RtD", "vfx_FairyShield_RtD", "vfx_fireball_dragonlaunch_RtD",
			"fx_flameexplosion_death_rtd", "AirTornadoMeadowsAOEMonster_RtD", "ArcaneLargeAOEMonster_RtD", "ArcaneMediumAOEMonster_RtD", "ArcaneSmallAOEMonster_RtD", "EarthQuakeMistLandsAOEMonster_RtD", "EarthShieldSwampAOEMonster_RrtD", "FireLargeAOEMonster_RtD", "FireMediumAOEMonster_RtD", "FireRingBlackForestAOEMonster_RtD",
			"FireSmallAOEMonster_RtD", "FrostEnchantmentMountainAOEMonster_RtD", "LightDamgeAOEMonster_RtD", "LighteningRainBlackForestAOEMonster_RtD", "VoidAOEMonster_RtD", "WaterAOEMonster_RtD", "AirProjectileMonsterS_RtD", "arbalest_projectile_bone_RtD", "ArcaneProjectileLargeMonsterS_RtD", "ArcaneProjectileLargeSecondaryMonsterS_RtD",
			"ArcaneProjectileMediumMonsterS_RtD", "ArcaneProjectileSmallMonsterS_RtD", "bow_projectile_frost_RtD", "bow_projectile_poison_RtD", "EarthProjectileMonsterS_RtD", "EarthProjectileQuakeMonsterS_RtD", "ElfSpearProjectile_RtD", "FairyHealAOE_RtD", "FairyProtectAOE_RtD", "FireProjectileLargeMonsterS_RtD",
			"FireProjectileLargeSecondaryMonsterS_RtD", "FireProjectileMediumMonsterS_RtD", "FireProjectileMonsterS_RtD", "FrostProjectileLargeMonsterS_RtD", "FrostProjectileMonsterS_RtD", "LighteningProjectileMonsterS_RtD", "LightProjectileMonsterS_RtD", "LightProjectileMonsterspawnS_RtD", "spawn_meteorselementalgolem1_RtD", "spawn_meteorselementalgolem2_RtD",
			"spawn_meteorsIarcane_RtD", "spawn_meteorslightening_RtD", "spawn_meteorsnecromancer1_RtD", "spawn_meteorsnecromancer2_RtD", "VoidProjectileMonsterS_RtD", "VoidProjectileMonsterSpawn_RtD", "WaterProjectileMonsterS_RtD", "ArcaneExplosionLargeMonsterS_RtD", "ArcaneExplosionMediumMonsterS_RtD", "ArcaneExplosionSmallMonsterS_RtD",
			"EarthExplosionLargeMonsterS_RtD", "EarthExplosionSmallMonsterS_RtD", "FireExplosionLargeMonsterS_RtD", "FireExplosionMediumMonsterS_RtD", "FireExplosionSmallMonsterS_RtD", "FrostExplosionLargeMonsterS_RtD", "FrostExplosionSmallMonsterS_RtD", "LightExplosionSmallMonsterS_RtD", "LightningExplosionSmallMonsterS_RtD", "StormExplosionSmallMonsterS_RtD",
			"VoidExplosionSmallMonsterS_RtD", "WaterExplosionMonsterS_RtD", "vfx_ArcaneSlashHitM_RtD", "vfx_EarthSlashHitM_RtD", "vfx_FireSlashHitM_RtD", "vfx_FrostSlashHitM_RtD", "vfx_LightningSlashHitM_RtD", "vfx_LightSlashHitM_RtD", "vfx_ShadowSlashHitM_RtD", "vfx_StormSlashHitM_RtD",
			"vfx_WaterSlashHitM_RtD", "AssassinAttack1_RtD", "AssassinAttack2_RtD", "AssassinAttack3_RtD", "BerserkerAttack1_RtD", "BerserkerAttack2_RtD", "BerserkerAttack3_RtD", "BerserkerAttack4_RtD", "BerserkerAttack5_RtD", "BoarAttck1_RtD",
			"BoarAttck2_RtD", "CrusaderAttack1_RtD", "CrusaderAttack2_RtD", "CrusaderAttack3_RtD", "DemonClawAttack_RtD", "DemonHornAttack_RtD", "DemonProjectileAttack_RtD", "dragon_bite1_RtD", "dragon_claw_left1_RtD", "dragon_claw_right1_RtD",
			"dragon_firebreath1_RtD", "dragon_spit_shotgun1_RtD", "dragon_taunt1_RtD", "NecromancerMelee1_RtD", "NecromancerMelee2_RtD", "NecromancerSpell1_RtD", "NecromancerSpell2_RtD", "NecromancerSpell3_RtD", "NecromancerSpell4_RtD", "NecromancerSpell5_RtD",
			"NecromancerSpell6_RtD", "PigletAttck1_RtD", "PigletAttck2_RtD", "WizardAttack1_RtD", "WizardAttack2_RtD", "WizardAttack3_RtD", "ElementalAttack1_RtD", "ElementalAttack2_RtD", "ElemetalRanged2_RtD", "ElemetalRanged3_RtD",
			"ElfWarriorAttackF1_RtD", "ElfWarriorAttackF2_RtD", "ElfWarriorAttackF3_RtD", "ElfWarriorAttackF4_RtD", "ElfWarriorAttackM1_RtD", "ElfWarriorAttackM2_RtD", "ElfWarriorAttackM3_RtD", "ElfWarriorAttackM4_RtD", "FairyAttack3_RtD", "FairyAttackAOE_RtD",
			"FairyAttackFire1_RtD", "FairyAttackIce1_RtD", "FairyHealAttack_RtD", "FairyIceAOE_RtD", "FairyProtect1_RtD", "FairyProtect2_RtD", "HunterBowAttack1_RtD", "HunterBowAttack2_RtD", "HunterMBomb_RtD", "HunterMelee1_RtD",
			"HunterMelee2_RtD", "HunterMelee3_RtD", "HunterMKick_RtD", "HunterSpear4_RtD", "PriestMelee1_RtD", "PriestSpell2_RtD", "PriestSpell3_RtD", "PriestSpell4_RtD", "SpiritAOEAttack2_RtD", "SpiritAttackDoubleHand1_RtD",
			"SpiritAttackDoubleHand2_RtD", "SpiritAttackMelee1_RtD", "SpiritHealAttack1_RtD", "SpiritHealIceAttack2_RtD", "SpiritHealLighteningAttack3_RtD", "Wolf_Attack1_RtD", "Wolf_Attack2_RtD", "Wolf_Attack3frost_RtD", "Wolf_Attack3lightening_RtD", "Ragdoll_Assassin_RtD",
			"Ragdoll_Berserker_RtD", "Ragdoll_Demon_RtD", "Ragdoll_DragonBoar_RtD", "Ragdoll_FallenCrusader_RtD", "Ragdoll_ElfHunterF_RtD", "Ragdoll_ElfHunterM_RtD", "Ragdoll_ElfPriestM_RtD", "Ragdoll_ElfWarriorF_RtD", "Ragdoll_ElfWarriorM_RtD"
		};

		public string[] SoundEffectList = new string[24]
		{
			"sfx_arcanemonster_RtD", "sfx_earthcastmonster_RtD", "sfx_firecastmonster_RtD", "sfx_icecastmonster_RtD", "sfx_lifecastmonster_RtD", "sfx_lightcastmonster_RtD", "sfx_lighteningcastmonster_RtD", "sfx_naturecasttmonster_RtD", "sfx_stormcastmonster_RtD", "sfx_voidcastmonster_RtD",
			"sfx_watercastmonster_RtD", "sfx_elfalerted_RtD", "sfx_ElfAttackF_RtD", "sfx_ElfAttackM_RtD", "sfx_ElfDeathF_RtD", "sfx_ElfDeathM_RtD", "sfx_ElfHitF_RtD", "sfx_ElfHitM_RtD", "sfx_elfidle_RtD", "sfx_fae_alerted_RtD",
			"sfx_fae_attack_RtD", "sfx_fae_cast_RtD", "sfx_fae_death_RtD", "sfx_fae_idle_RtD"
		};

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

		private CustomLocalization Localization;

		private void Awake()
		{
			CreateConfigs();
			Log = ((BaseUnityPlugin)this).Logger;
			if (ModEnable.Value)
			{
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogWarning((object)"Logging is enabled in the config.");
				}
				LoadBundle();
				AddItemConversions();
				AddlocalizationsEnglish();
				TranslationsJson();
				AddShieldEffect();
				AddSEStatusEffect();
				AddItems();
				AddPrefabs();
				RegisterMonsters();
				AddSoundEffects();
				PrefabManager.OnPrefabsRegistered += FixSoundEffects;
				if (DragonBoarEnable.Value)
				{
					DragonBoarStone();
				}
				if (DragonKingAltarEnable.Value)
				{
					DragonKingAltar();
				}
				if (DrakeNestEnable.Value)
				{
					DrakeNest();
				}
				if (GothicRuinsEnable.Value)
				{
					GothicRuins();
				}
				if (FaeRuinsEnable.Value)
				{
					FaeRuins();
				}
				if (FaeSpawnerEnable.Value)
				{
					FaeSpawner();
				}
				if (FaeTreeEnable.Value)
				{
					FaeTree();
				}
				if (SpiritShrineEnable.Value)
				{
					SpiritShrine();
				}
				if (DemonEnable.Value)
				{
					Demon();
				}
				if (AssassinEnable.Value)
				{
					Assassin();
				}
				if (BerserkerEnable.Value)
				{
					Berserker();
				}
				if (FallenCrusaderEnable.Value)
				{
					FallenCrusader();
				}
				if (WizardEnable.Value)
				{
					Wizard();
				}
				if (DragonBoarEnable.Value)
				{
					DragonBoars();
				}
				if (FairiesEnable.Value)
				{
					Fairies();
				}
				if (GolemEnable.Value)
				{
					Golem();
				}
				if (FaeWolfsEnable.Value)
				{
					FaeWolfs();
				}
				if (ElfsEnable.Value)
				{
					Elfs();
				}
			}
		}

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

		public void CreateConfigs()
		{
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_004a: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Expected O, but got Unknown
			//IL_0079: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Expected O, but got Unknown
			//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Expected O, but got Unknown
			//IL_00de: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e8: Expected O, but got Unknown
			//IL_010d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			//IL_011a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0128: Expected O, but got Unknown
			//IL_0128: Unknown result type (might be due to invalid IL or missing references)
			//IL_0132: Expected O, but got Unknown
			//IL_0157: Unknown result type (might be due to invalid IL or missing references)
			//IL_015c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0164: Unknown result type (might be due to invalid IL or missing references)
			//IL_0172: Expected O, but got Unknown
			//IL_0172: Unknown result type (might be due to invalid IL or missing references)
			//IL_017c: Expected O, but got Unknown
			//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bc: Expected O, but got Unknown
			//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c6: Expected O, but got Unknown
			//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0206: Expected O, but got Unknown
			//IL_0206: Unknown result type (might be due to invalid IL or missing references)
			//IL_0210: Expected O, but got Unknown
			//IL_0235: Unknown result type (might be due to invalid IL or missing references)
			//IL_023a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0242: Unknown result type (might be due to invalid IL or missing references)
			//IL_0250: Expected O, but got Unknown
			//IL_0250: Unknown result type (might be due to invalid IL or missing references)
			//IL_025a: Expected O, but got Unknown
			//IL_027f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0284: Unknown result type (might be due to invalid IL or missing references)
			//IL_028c: Unknown result type (might be due to invalid IL or missing references)
			//IL_029a: Expected O, but got Unknown
			//IL_029a: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a4: Expected O, but got Unknown
			//IL_02c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e4: Expected O, but got Unknown
			//IL_02e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ee: Expected O, but got Unknown
			//IL_0313: Unknown result type (might be due to invalid IL or missing references)
			//IL_0318: Unknown result type (might be due to invalid IL or missing references)
			//IL_0320: Unknown result type (might be due to invalid IL or missing references)
			//IL_032e: Expected O, but got Unknown
			//IL_032e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0338: Expected O, but got Unknown
			//IL_035d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0362: Unknown result type (might be due to invalid IL or missing references)
			//IL_036a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0378: 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_03a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c2: Expected O, but got Unknown
			//IL_03c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_03cc: Expected O, but got Unknown
			//IL_03f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_040c: Expected O, but got Unknown
			//IL_040c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0416: Expected O, but got Unknown
			//IL_043b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0440: Unknown result type (might be due to invalid IL or missing references)
			//IL_0448: Unknown result type (might be due to invalid IL or missing references)
			//IL_0456: Expected O, but got Unknown
			//IL_0456: Unknown result type (might be due to invalid IL or missing references)
			//IL_0460: Expected O, but got Unknown
			//IL_0485: Unknown result type (might be due to invalid IL or missing references)
			//IL_048a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0492: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a0: Expected O, but got Unknown
			//IL_04a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04aa: Expected O, but got Unknown
			//IL_04cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ea: Expected O, but got Unknown
			//IL_04ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f4: Expected O, but got Unknown
			//IL_0519: Unknown result type (might be due to invalid IL or missing references)
			//IL_051e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0526: Unknown result type (might be due to invalid IL or missing references)
			//IL_0534: Expected O, but got Unknown
			//IL_0534: Unknown result type (might be due to invalid IL or missing references)
			//IL_053e: Expected O, but got Unknown
			//IL_0563: Unknown result type (might be due to invalid IL or missing references)
			//IL_0568: Unknown result type (might be due to invalid IL or missing references)
			//IL_0570: Unknown result type (might be due to invalid IL or missing references)
			//IL_057e: Expected O, but got Unknown
			//IL_057e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0588: Expected O, but got Unknown
			//IL_05ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c8: Expected O, but got Unknown
			//IL_05c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d2: Expected O, but got Unknown
			try
			{
				((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
				DragonBoarStoneEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Dragon Boar Stone", "Enable", true, new ConfigDescription("Enable or Disable the AshLands Dragon Boar Stone (Spawns Tameable Dragon Boars)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 100
				} }));
				DragonKingAltarEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Necromancer & DragonKing Altar", "Enable", true, new ConfigDescription("Enable or Disable the AshLands Necromancer & DragonKing Altar (Required for RtDItems)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 95
				} }));
				DrakeNestEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Wizard Nest", "Enable", true, new ConfigDescription("Enable or Disable the Ashlands charred DrakeNest (Required to summon AshLands Boss.)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 90
				} }));
				GothicRuinsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Gothic Ruins", "Enable", true, new ConfigDescription("Enable or Disable the Ashlands Gothic Ruins (Required to summon AshLands Boss.)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 85
				} }));
				FaeRuinsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Fae Ruins", "Enable", true, new ConfigDescription("Enable or Disable the DeepNorth Ruins (Spawns Tameable Elfs)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 80
				} }));
				FaeSpawnerEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Fae Nest", "Enable", true, new ConfigDescription("Enable or Disable the DeepNorth Fae Nests (Spawns Tameable Fae Wolfs)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 75
				} }));
				FaeTreeEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Fae Tree", "Enable", true, new ConfigDescription("Enable or Disable the DeepNorth Fae Tree (Spawns Fairies)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 70
				} }));
				SpiritShrineEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Spirit Shrine", "Enable", true, new ConfigDescription("Enable or Disable the DeepNorth Spirit Shrine (Boss Altar: Required to unlock special items)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 65
				} }));
				DemonEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Demon", "Enable", true, new ConfigDescription("Enable or Disable the AshLands Demon (Boss Altar: Required to unlock special items)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 60
				} }));
				AssassinEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Asassin", "Enable", true, new ConfigDescription("Enable or Disable the AshLands Assassin", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 55
				} }));
				BerserkerEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Flesh Eater", "Enable", true, new ConfigDescription("Enable or Disable the AshLands Eater of Flesh", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 50
				} }));
				FallenCrusaderEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Fallen Crusader", "Enable", true, new ConfigDescription("Enable or Disable the AshLands Fallen Crusader", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 45
				} }));
				WizardEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Wizard", "Enable", true, new ConfigDescription("Enable or Disable the AshLands Wizard", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 40
				} }));
				DragonBoarEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("DragonBoar", "Enable", true, new ConfigDescription("Enable or Disable the AshLands DragonBoars (Tameable)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 35
				} }));
				FairiesEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Fairies", "Enable", true, new ConfigDescription("Enable or Disable the DeepNorth Fairies (3 variants.)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 30
				} }));
				GolemEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Goelm", "Enable", true, new ConfigDescription("Enable or Disable the DeepNorth Golem (What's taters precious?!)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 25
				} }));
				FaeWolfsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Fae Wolfs", "Enable", true, new ConfigDescription("Enable or Disable the DeepNorth Fae Wolf (2 Variants. Tameable)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 20
				} }));
				ElfsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Elves", "Enable", true, new ConfigDescription("Enable or Disable the DeepNorth Elves (4 Variants. Tameable)", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 20
				} }));
				LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", true, new ConfigDescription("Enable or Disable Logging.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 15
				} }));
				ModEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("RtDMonsters Enable", "Enable", true, new ConfigDescription("Enable or Disable the entire mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 10
				} }));
				SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr)
				{
					if (attr.InitialSynchronization)
					{
						Logger.LogMessage((object)"Initial Config sync event received for RtDMonsters");
					}
					else
					{
						Logger.LogMessage((object)"Config sync event received for RtDMonsters");
					}
				};
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}");
			}
		}

		public void AddShieldEffect()
		{
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Expected O, but got Unknown
			try
			{
				string[] customSEShieldList = CustomSEShieldList;
				foreach (string text in customSEShieldList)
				{
					SE_Shield val = MyAssets.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: " + ((object)val)?.ToString() + " to the Object database"));
						}
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}");
			}
		}

		public void AddSEStatusEffect()
		{
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Expected O, but got Unknown
			try
			{
				string[] customSEList = CustomSEList;
				foreach (string text in customSEList)
				{
					SE_Stats val = MyAssets.LoadAsset<SE_Stats>(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: " + ((object)val)?.ToString() + " to the Object database"));
						}
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}");
			}
		}

		private void AddItems()
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Expected O, but got Unknown
			try
			{
				string[] itemsList = ItemsList;
				foreach (string text in itemsList)
				{
					GameObject val = MyAssets.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 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 AddPrefabs()
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Expected O, but got Unknown
			try
			{
				string[] prefabsList = PrefabsList;
				foreach (string text in prefabsList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomPrefab val2 = new CustomPrefab(val, true);
						PrefabManager.Instance.AddPrefab(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void RegisterMonsters()
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Expected O, but got Unknown
			try
			{
				string[] monsterList = MonsterList;
				foreach (string text in monsterList)
				{
					GameObject val = MyAssets.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: " + 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 AddSoundEffects()
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0039: Expected O, but got Unknown
			try
			{
				string[] soundEffectList = SoundEffectList;
				foreach (string text in soundEffectList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomPrefab val2 = new CustomPrefab(val, true);
						PrefabManager.Instance.AddPrefab(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void FixSoundEffects()
		{
			try
			{
				AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit");
				string[] soundEffectList = SoundEffectList;
				foreach (string text in soundEffectList)
				{
					GameObject prefab2 = Cache.GetPrefab<GameObject>(text);
					prefab2.GetComponentInChildren<AudioSource>().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 -= FixSoundEffects;
			}
		}

		private void AddlocalizationsEnglish()
		{
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization = Localization;
			string text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "BurningGland_RtD", "Soul Essence" },
				{ "BurningGland_desc_RtD", "Used to summon a very powerful Necromancer" },
				{ "Fader_RtD", "Fader" },
				{ "DragonCore_RtD", "Burning Gland" },
				{ "DragonCore_desc_RtD", "Used to create a special Forge" },
				{ "DragonEgg_RtD", "Searing Dragon Egg" },
				{ "DragonEgg_desc_RtD", "These eggs were once frigid. As the lands began to burn the eggs became filled with a burning contempt for all life." },
				{ "TrophyDragonKing_RtD", "Dragon King Trophy" },
				{ "TrophyDragonKing_desc_RtD", "The head from the King of Dragons & Father of all fury." },
				{ "TrophyHatchling_RtD", "Hatchling Trophy" },
				{ "TrophyHatchling_desc_RtD", "Will be for future use, or your imagination." },
				{ "ArtisanTable_RtD", "Artisan Forge" },
				{ "Assassin_RtD", "Undead Assassin" },
				{ "Berserker_RtD", "Flesh Eater" },
				{ "FallenCrusader_RtD", "Fallen Crusader" },
				{ "Wizard_RtD", "Undead Wizard" },
				{ "Necromancer_RtD", "Necromancer Lord" },
				{ "Demon_RtD", "Demon" },
				{ "DragonBoar_RtD", "Dragon Boar" },
				{ "DragonBoar_RtD1", "Dragon Boar" },
				{ "DragonPiglet_RtD", "Dragon Piglet" },
				{ "DragonBoarMeat_RtD", "Raw Dragon Boar Meat" },
				{ "CookedDragonBoarMeat_RtD", "Cooked Dragon Boar Meat" },
				{ "DemonHide_RtD", "Demon Hide" },
				{ "DemonHide_desc_RtD", "A very tough hide that can be used for strong armors" },
				{ "CookedFaeWolfMeat_RtD", "Fae Wolf Meat" },
				{ "CookedFaeWolfMeat_desc_RtD", "A delicious meal" },
				{ "FaeWolfMeat_RtD", "Raw FaeWolf Meat" },
				{ "FaeWolfMeat_desc_RtD", "A delicious meal if prepared right" },
				{ "FaeNectar_RtD", "Fae Nectar" },
				{ "FaeNectar_desc_RtD", "A magical aora emits from the Fae Nectar" },
				{ "FaeSeed_RtD", "FaeSeed" },
				{ "FaeSeed_desc_RtD", "The seed is cold to the touch" },
				{ "FaeTrophyWolf_RtD", "FaeWolf Trophy" },
				{ "FaeTrophyWolf_desc_RtD", "A trophy from a powerful Foe" },
				{ "FaeWolfFang_RtD", "FaeWolf Fang" },
				{ "FaeWolfFang_desc_RtD", "A very sharp Fang" },
				{ "FaeWolfPelt_RtD", "FaeWolf Pelt" },
				{ "FaeWolfPelt_desc_RtD", "A very thick fur hide" },
				{ "FairySilk_RtD", "Fae Silk" },
				{ "FairySilk_desc_RtD", "A very fine silk" },
				{ "ElfHunterF_RtD", "Elf Hunter" },
				{ "ElfPriestM_RtD", "Elf Priest" },
				{ "ElfWarriorF_RtD", "Elf Warrior" },
				{ "ElfWarriorM_RtD", "Elf Warrior" },
				{ "FaeWolfIce_RtD", "FaeWolf" },
				{ "FaeWolfIce_RtD1", "FaeWolf" },
				{ "FaeWolfIceCub_RtD", "FaeWolf Cub" },
				{ "FaeWolfLightening_RtD", "FaeWolf" },
				{ "FaeWolfLightening_RtD1", "FaeWolf" },
				{ "FaeWolfLighteningCub_RtD", "FaeWolf Cub" },
				{ "Fairy1_RtD", "Fairy" },
				{ "Fairy2_RtD", "Fairy" },
				{ "Fairy3_RtD", "Fairy" },
				{ "Golem_RtD", "Elemental Golem" },
				{ "FaeTree_RtD", "Magical Fae Tree" },
				{ "Spirit_RtD", "Spirit of the Wood" },
				{ "TrophySpirit_RtD", "Spirit Trophy" },
				{ "TrophySpirit_desc_RtD", "Spirit of the Wood Trophy" },
				{ "SpiritHeart_RtD", "Spirit Heart" },
				{ "SpiritHeart_desc_RtD", "Used to craft Thors Hammer." },
				{ "FaeSpawner_RtD", "Fae Spawner" },
				{ "Vegvisir_Spirit_RtD", "Vegvisir" },
				{ "Vegvisir_Spirit_register_RtD", "Forest Spirit" },
				{ "SpiritShrineMap_RtD", "Spirit Shrine" },
				{ "Vegvisir_Fader_RtD", "Vegvisir" },
				{ "Vegvisir_Necromancer_RtD", "Vegvisir" },
				{ "Vegvisir_Fader_register_RtD", "King of Dragons" },
				{ "Vegvisir_Necromancer_register_RtD", "Necromancer Lord" },
				{ "DragonKingAltarMap_RtD", "Dragon King" },
				{ "NecromancerAltarMap_RtD", "Necromancer" }
			});
		}

		private void TranslationsJson()
		{
			try
			{
				Localization = LocalizationManager.Instance.GetLocalization();
				string[] files = Directory.GetFiles(Path.Combine(Paths.ConfigPath, "Soloredis/RtDMonsters/Translations"), "*.json", SearchOption.AllDirectories);
				foreach (string text in files)
				{
					Localization.AddJsonFile(Path.GetFileNameWithoutExtension(text), AssetUtils.LoadText(text));
					if (LoggingEnable.Value)
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Translation from: " + text));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding translations from json files: {arg}");
			}
		}

		private void DragonBoarStone()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Expected O, but got Unknown
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ad: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("DragonBoarRuinStone_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)32 });
				val2.BiomeArea = (BiomeArea)1;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 3f;
				val2.Quantity = 125;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 50f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void DragonKingAltar()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Expected O, but got Unknown
			//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00df: Expected O, but got Unknown
			//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0178: Unknown result type (might be due to invalid IL or missing references)
			//IL_017e: Expected O, but got Unknown
			//IL_019e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a5: Expected O, but got Unknown
			//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_023f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0246: Expected O, but got Unknown
			//IL_0267: Unknown result type (might be due to invalid IL or missing references)
			//IL_026e: Expected O, but got Unknown
			//IL_027b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0308: Unknown result type (might be due to invalid IL or missing references)
			//IL_030f: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("DragonKingAltar_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)32 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 25f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ExteriorRadius = 12f;
				val2.ClearArea = true;
				val2.Priotized = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("NecromancerAltar_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)32 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 25f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ExteriorRadius = 35f;
				val2.ClearArea = true;
				val2.Priotized = true;
				CustomLocation val5 = new CustomLocation(val4, true, val2);
				ZoneManager.Instance.AddCustomLocation(val5);
				GameObject val6 = MyAssets.LoadAsset<GameObject>("Vegvisir_Fader_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)32 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 20f;
				val2.Quantity = 12;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val7 = new CustomLocation(val6, true, val2);
				ZoneManager.Instance.AddCustomLocation(val7);
				GameObject val8 = MyAssets.LoadAsset<GameObject>("Vegvisir_Necromancer_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)32 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 20f;
				val2.Quantity = 12;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val9 = new CustomLocation(val8, true, val2);
				ZoneManager.Instance.AddCustomLocation(val9);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void DrakeNest()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Expected O, but got Unknown
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("DrakeNest_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)32 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 150;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ExteriorRadius = 5f;
				val2.ClearArea = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void GothicRuins()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Expected O, but got Unknown
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e0: Expected O, but got Unknown
			//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_017a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0180: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("GothicRuin1_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)32 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 20f;
				val2.Quantity = 100;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("GothicRuin2_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)32 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.ExteriorRadius = 20f;
				val2.Quantity = 100;
				val2.MaxTerrainDelta = 3f;
				val2.ForestTresholdMin = 1f;
				val2.ForestTrasholdMax = 99f;
				val2.MinDistanceFromSimilar = 256f;
				val2.ClearArea = true;
				val2.SlopeRotation = true;
				CustomLocation val5 = new CustomLocation(val4, true, val2);
				ZoneManager.Instance.AddCustomLocation(val5);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void FaeRuins()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Expected O, but got Unknown
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Expected O, but got Unknown
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_0129: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("FaeRuins1_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)64 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 5f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 85;
				val2.ExteriorRadius = 24f;
				val2.MaxTerrainDelta = 3f;
				val2.ClearArea = true;
				val2.Priotized = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("FaeRuins2_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)64 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 5f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 120;
				val2.ExteriorRadius = 15f;
				val2.MinDistanceFromSimilar = 60f;
				val2.ClearArea = true;
				CustomLocation val5 = new CustomLocation(val4, true, val2);
				ZoneManager.Instance.AddCustomLocation(val5);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void FaeSpawner()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Expected O, but got Unknown
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("FaeSpawner_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)64 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 5f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 150;
				val2.ExteriorRadius = 10f;
				val2.ClearArea = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void SpiritShrine()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Expected O, but got Unknown
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Expected O, but got Unknown
			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0115: Unknown result type (might be due to invalid IL or missing references)
			//IL_011b: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("SpiritShrine_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)64 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 25f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 6;
				val2.MaxTerrainDelta = 2f;
				val2.ExteriorRadius = 15f;
				val2.ClearArea = true;
				val2.Priotized = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("Vegvisir_Spirit_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)64 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 5f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 12;
				val2.ExteriorRadius = 5f;
				val2.ClearArea = true;
				CustomLocation val5 = new CustomLocation(val4, true, val2);
				ZoneManager.Instance.AddCustomLocation(val5);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void FaeTree()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001a: Expected O, but got Unknown
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("FaeTree_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)64 });
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = 3f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 400;
				val2.MaxTerrainDelta = 2f;
				val2.MinDistanceFromSimilar = 50f;
				val2.ExteriorRadius = 10f;
				val2.ClearArea = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void Demon()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("Demon_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)4;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 900f,
					SpawnChance = 8f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)32
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void Assassin()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Expected O, but got Unknown
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("Assassin_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)4;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)32
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void Berserker()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("Berserker_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)4;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)32
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void FallenCrusader()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Expected O, but got Unknown
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("FallenCrusader_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)4;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)32
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void Wizard()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Expected O, but got Unknown
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("Wizard_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)4;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)32
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void DragonBoars()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("DragonBoar_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)4;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 450f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)32
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void Fairies()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Expected O, but got Unknown
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0088: Expected O, but got Unknown
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Expected O, but got Unknown
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fc: Expected O, but got Unknown
			//IL_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Expected O, but got Unknown
			//IL_0121: Unknown result type (might be due to invalid IL or missing references)
			//IL_0128: Expected O, but got Unknown
			//IL_0141: Unknown result type (might be due to invalid IL or missing references)
			//IL_0146: Unknown result type (might be due to invalid IL or missing references)
			//IL_0152: Unknown result type (might be due to invalid IL or missing references)
			//IL_015e: Unknown result type (might be due to invalid IL or missing references)
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0172: Unknown result type (might be due to invalid IL or missing references)
			//IL_017a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0188: Expected O, but got Unknown
			//IL_0193: Unknown result type (might be due to invalid IL or missing references)
			//IL_019d: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("Fairy1_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)5;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 1250f,
					SpawnChance = 1f,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
				GameObject val3 = MyAssets.LoadAsset<GameObject>("Fairy2_RtD");
				CreatureConfig val4 = new CreatureConfig();
				val4.Faction = (Faction)5;
				val4.UseCumulativeLevelEffects = true;
				val4.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 1250f,
					SpawnChance = 1f,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val3, true, val4));
				GameObject val5 = MyAssets.LoadAsset<GameObject>("Fairy3_RtD");
				CreatureConfig val6 = new CreatureConfig();
				val6.Faction = (Faction)5;
				val6.UseCumulativeLevelEffects = true;
				val6.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 1250f,
					SpawnChance = 1f,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val5, true, val6));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void Golem()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("Golem_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)8;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 900f,
					SpawnChance = 8f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void FaeWolfs()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Expected O, but got Unknown
			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_011c: Expected O, but got Unknown
			//IL_0125: Unknown result type (might be due to invalid IL or missing references)
			//IL_012f: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("FaeWolfIce_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)5;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
				GameObject val3 = MyAssets.LoadAsset<GameObject>("FaeWolfLightening_RtD");
				CreatureConfig val4 = new CreatureConfig();
				val4.Faction = (Faction)5;
				val4.UseCumulativeLevelEffects = true;
				val4.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val3, true, val4));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void Elfs()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Expected O, but got Unknown
			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_011c: Expected O, but got Unknown
			//IL_0125: Unknown result type (might be due to invalid IL or missing references)
			//IL_012f: Expected O, but got Unknown
			//IL_0141: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Expected O, but got Unknown
			//IL_0161: Unknown result type (might be due to invalid IL or missing references)
			//IL_0166: Unknown result type (might be due to invalid IL or missing references)
			//IL_0172: Unknown result type (might be due to invalid IL or missing references)
			//IL_017e: Unknown result type (might be due to invalid IL or missing references)
			//IL_018a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0192: Unknown result type (might be due to invalid IL or missing references)
			//IL_019a: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b8: Expected O, but got Unknown
			//IL_01c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cd: Expected O, but got Unknown
			//IL_01df: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e6: Expected O, but got Unknown
			//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0204: Unknown result type (might be due to invalid IL or missing references)
			//IL_0210: Unknown result type (might be due to invalid IL or missing references)
			//IL_021c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0228: Unknown result type (might be due to invalid IL or missing references)
			//IL_0230: Unknown result type (might be due to invalid IL or missing references)
			//IL_0238: Unknown result type (might be due to invalid IL or missing references)
			//IL_0240: Unknown result type (might be due to invalid IL or missing references)
			//IL_0248: Unknown result type (might be due to invalid IL or missing references)
			//IL_0256: Expected O, but got Unknown
			//IL_0261: Unknown result type (might be due to invalid IL or missing references)
			//IL_026b: Expected O, but got Unknown
			//IL_027d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0284: Expected O, but got Unknown
			//IL_029d: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02de: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f4: Expected O, but got Unknown
			//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0309: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("ElfHunterF_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)5;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
				GameObject val3 = MyAssets.LoadAsset<GameObject>("ElfPriestM_RtD");
				CreatureConfig val4 = new CreatureConfig();
				val4.Faction = (Faction)5;
				val4.UseCumulativeLevelEffects = true;
				val4.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val3, true, val4));
				GameObject val5 = MyAssets.LoadAsset<GameObject>("ElfWarriorF_RtD");
				CreatureConfig val6 = new CreatureConfig();
				val6.Faction = (Faction)5;
				val6.UseCumulativeLevelEffects = true;
				val6.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val5, true, val6));
				GameObject val7 = MyAssets.LoadAsset<GameObject>("ElfWarriorM_RtD");
				CreatureConfig val8 = new CreatureConfig();
				val8.Faction = (Faction)5;
				val8.UseCumulativeLevelEffects = true;
				val8.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val7, true, val8));
				GameObject val9 = MyAssets.LoadAsset<GameObject>("ElfHunterM_RtD");
				CreatureConfig val10 = new CreatureConfig();
				val10.Faction = (Faction)5;
				val10.UseCumulativeLevelEffects = true;
				val10.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					SpawnAtNight = true,
					SpawnAtDay = true,
					MaxSpawned = 1,
					MaxLevel = 5,
					Biome = (Biome)64
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val9, true, val10));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void AddItemConversions()
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Expected O, but got Unknown
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Expected O, but got Unknown
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Expected O, but got Unknown
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_008f: Expected O, but got Unknown
			try
			{
				CookingConversionConfig val = new CookingConversionConfig();
				((ConversionConfig)val).FromItem = "DragonBoarMeat_RtD";
				((ConversionConfig)val).ToItem = "CookedDragonBoarMeat_RtD";
				((ConversionConfig)val).Station = CookingStations.IronCookingStation;
				val.CookTime = 20f;
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val));
				CookingConversionConfig val2 = new CookingConversionConfig();
				((ConversionConfig)val2).FromItem = "FaeWolfMeat_RtD";
				((ConversionConfig)val2).ToItem = "CookedFaeWolfMeat_RtD";
				((ConversionConfig)val2).Station = CookingStations.IronCookingStation;
				val2.CookTime = 20f;
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom Item: {arg}");
			}
		}
	}
}