Decompiled source of RtDFairyTale v0.0.1

RtDFairyTale.dll

Decompiled 5 hours ago
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 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("RtDFairyTale")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RtDFairyTale")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c4b0ca41-0c98-4e1a-aaf0-4da01fb84bba")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

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

		public const string PluginName = "RtDFairyTale";

		public const string PluginVersion = "0.0.1";

		internal static ManualLogSource Log;

		public static AssetBundle MyAssets;

		public ConfigEntry<bool> LoggingEnable;

		private CustomLocalization Localization;

		public string[] CustomSEShieldList = new string[16]
		{
			"SE_AshLandsShield_RtD", "SE_BlackForestShield_RtD", "SE_DeepNorthShield_RtD", "SE_MeadowsShield_RtD", "SE_MistlandsShield_RtD", "SE_MountainShield_RtD", "SE_PlainsShield_RtD", "SE_SwampShield_RtD", "SE_AshLandsShield_Player_RtD", "SE_BlackForestShield_Player_RtD",
			"SE_DeepNorthShield_Player_RtD", "SE_MeadowsShield_Player_RtD", "SE_MistlandsShield_Player_RtD", "SE_MountainShield_Player_RtD", "SE_PlainsShield_Player_RtD", "SE_SwampShield_Player_RtD"
		};

		public string[] CustomSEList = new string[8] { "SE_AshLandsHeal_RtD", "SE_BlackForestHeal_RtD", "SE_DeepNorthHeal_RtD", "SE_MeadowsHeal_RtD", "SE_MistlandsHeal_RtD", "SE_MountainHeal_RtD", "SE_PlainsHeal_RtD", "SE_SwampHeal_RtD" };

		public string[] ItemsList = new string[8] { "MeadowsCrystal_RtD", "BlackForestCrystal_RtD", "SwampCrystal_RtD", "MountainCrystal_RtD", "PlainsCrystal_RtD", "MistlandsCrystal_RtD", "AshLandsCrystal_RtD", "DeepNorthCrystal_RtD" };

		public string[] PrefabsList = new string[151]
		{
			"ArcaneExplosionAshLandsFairy_RtD", "FaeHealAOEAshLands_RtD", "FaeHealSpellAshLands_RtD", "FaeMeleeAshLands_RtD", "FaeProtectAOEAshLands_RtD", "FaeProtectSpellAshLands_RtD", "FaeSpellAshLands_RtD", "FireExplosionFairy_RtD", "FireProjectileFairy_RtD", "ArcaneExplosionAshlandsPixie_RtD",
			"PixieExplosionAshLands_RtD", "PixieHealAOEAshLands_RtD", "PixieHealSpellAshLands_RtD", "PixieMeleeAshLands_RtD", "PixieProjectileAshLands_RtD", "PixieProtectAOEAshLands_RtD", "PixieProtectSpellAshLands_RtD", "PixieSpellAshLands_RtD", "ArcaneExplosionBlackForestFairy_RtD", "FaeHealAOEBlackForest_RtD",
			"FaeHealSpellBlackForest_RtD", "FaeMeleeBlackForest_RtD", "FaeProtectAOEBlackForest_RtD", "FaeProtectSpellBlackForest_RtD", "FaeSpellBlackForest_RtD", "LightningExplosionBlackForest_RtD", "LightningProjectileBlackForest_RtD", "ArcaneExplosionBlackForestPixie_RtD", "LightningExplosionPixie_RtD", "LightningProjectilePixie_RtD",
			"PixieHealAOEBlackForest_RtD", "PixieHealSpellBlackForest_RtD", "PixieMeleeBlackForest_RtD", "PixieProtectAOEBlackForest_RtD", "PixieProtectSpellBlackForest_RtD", "PixieSpellBlackForest_RtD", "ArcaneExplosionDeepNorthFairy_RtD", "ArcaneExplosionDeepNorthFairyDeath_RtD", "ArcaneProjectileDeepNorthFairy_RtD", "FaeHealAOEDeepNorth_RtD",
			"FaeHealSpellDeepNorth_RtD", "FaeMeleeDeepNorth_RtD", "FaeProtectAOEDeepNorth_RtD", "FaeProtectSpellDeepNorth_RtD", "FaeSpellDeepNorth_RtD", "ArcaneExplosionDeepNorthPixieDeath_RtD", "ArcaneProfjectileDeepNorthPixie_RtD", "ArecaneExplosionDeepNorthPixie_RtD", "PixieHealAOEDeepNorth_RtD", "PixieHealSpellDeepNorth_RtD",
			"PixieMeleeDeepNorth1_RtD", "PixieMeleeDeepNorth2_RtD", "PixieMeleeDeepNorth3_RtD", "PixieProtectAOEDeepNorth_RtD", "PixieProtectSpellDeepNorth_RtD", "PixieSpellDeepNorth_RtD", "AirExplosionFairy_RtD", "AirProjectileFairy_RtD", "ArcaneExplosionMeadowsFairy_RtD", "FaeHealAOEMeadows_RtD",
			"FaeHealSpellMeadows_RtD", "FaeMeleeMeadows_RtD", "FaeProtectAOEMeadows_RtD", "FaeProtectSpellMeadows_RtD", "FaeSpellMeadows_RtD", "AirExplosionPixie_RtD", "AirProjectilePixie_RtD", "ArcaneExplosionMeadowsPixie_RtD", "PixieHealAOEMeadows_RtD", "PixieHealSpellMeadows_RtD",
			"PixieMeleeMeadows_RtD", "PixieProtectAOEMeadows_RtD", "PixieProtectSpellMeadows_RtD", "PixieSpellMeadows_RtD", "ArcaneExplosionMistlandsFairy_RtD", "FaeHealAOEMistlands_RtD", "FaeHealSpellMistlands_RtD", "FaeMeleeMistlands_RtD", "FaeProtectAOEMistlands_RtD", "FaeProtectSpellMistlands_RtD",
			"FaeSpellMistlands_RtD", "LightExplosionFairy_RtD", "LightProjectileFairy_RtD", "ArcaneExplosionMistlandsPixie_RtD", "LightExplosionPixie_RtD", "LightProjectilePixie_RtD", "PixieHealAOEMistlands_RtD", "PixieHealSpellMistlands_RtD", "PixieMeleeMistlands_RtD", "PixieProtectAOEMistlands_RtD",
			"PixieProtectSpellMistlands_RtD", "PixieSpellMistlands_RtD", "ArcaneExplosionMountainFairy_RtD", "FaeHealAOEMountain_RtD", "FaeHealSpellMountain_RtD", "FaeMeleeMountain_RtD", "FaeProtectAOEProtectMountain_RtD", "FaeProtectSpellProtectMountain_RtD", "FaeSpellMountain_RtD", "IceExplosionMountain_RtD",
			"IceProjectileMountain_RtD", "ArcaneExplosionMountainPixie_RtD", "IceExplosionPixie_RtD", "IceProjectilePixie_RtD", "PixeHealSpellMountain_RtD", "PixieHealAOEMountain_RtD", "PixieMeleeMountain_RtD", "PixieProtectAOEMountain_RtD", "PixieProtectSpellMountain_RtD", "PixieSpellMountain_RtD",
			"ArcaneExplosionPlainsFairy_RtD", "FaeHealAOEPlains_RtD", "FaeHealSpellPlains_RtD", "FaeMeleePlains_RtD", "FaeProtectAOEPlains_RtD", "FaeProtectSpellPlains_RtD", "FaeSpellPlains_RtD", "VoidExplosionPlainsFairy_RtD", "VoidProjectilePlainsFairy_RtD", "ArcaneExplosionPlainsPixie_RtD",
			"PixieHealAOEPlains_RtD", "PixieHealSpellPlains_RtD", "PixieMeleePlains_RtD", "PixieProtectAOEPlains_RtD", "PixieProtectSpellPlains_RtD", "PixieSpellPlains_RtD", "VoidExplosionPlainsPixie_RtD", "VoidProjectilePlainsPixie_RtD", "ArcaneExplosionSwampFairy_RtD", "EarthExlosionFairy_RtD",
			"EarthProjectileFairy_RtD", "FaeHealAOESwamp_RtD", "FaeHealSpellSwamp_RtD", "FaeMeleeSwamp_RtD", "FaeProtectAOESpellSwamp_RtD", "FaeProtectSpellSwamp_RtD", "FaeSpellSwamp_RtD", "ArcaneExplosionSwampPixie_RtD", "EarthExplosionPixie_RtD", "EarthProjectilePixie_RtD",
			"PixieHealAOESwamp_RtD", "PixieHealSpellSwamp_RtD", "PixieMeleeSwamp_RtD", "PixieProtectAOESwamp_RtD", "PixieProtectSpellSwamp_RtD", "PixieSpellSwamp_RtD", "fx_faehit_RtD", "fx_fae_protect_RtD", "vfx_FaeShield_RtD", "fx_faedeath_RtD",
			"vfx_FaeShield_Player_RtD"
		};

		public string[] SoundEffectList = new string[8] { "sfx_fae_alerted_RtD", "sfx_fae_death_RtD", "sfx_fae_attack_RtD", "sfx_fae_idle_RtD", "sfx_fae_heal_RtD", "sfx_fae_shield_RtD", "sfx_fae_spell_RtD", "sfx_flapping_RtD" };

		public string[] StaticList1 = new string[2] { "MeadowsFairy_RtD", "MeadowsPixie_RtD" };

		public string[] StaticList2 = new string[2] { "BlackForestFairy_RtD", "BlackForestPixie_RtD" };

		public string[] StaticList3 = new string[2] { "SwampFairy_RtD", "SwampPixie_RtD" };

		public string[] StaticList4 = new string[2] { "MountainFairy_RtD", "MountainPixie_RtD" };

		public string[] StaticList5 = new string[2] { "PlainsFairy_RtD", "PlainsPixie_RtD" };

		public string[] StaticList6 = new string[2] { "MistlandsFairy_RtD", "MistlandsPixie_RtD" };

		public string[] StaticList7 = new string[2] { "AshLandsFairy_RtD", "AshLandsPixie_RtD" };

		public string[] StaticList8 = new string[4] { "DeepNorthFairy_RtD", "DeepNorthPixie1_RtD", "DeepNorthPixie2_RtD", "DeepNorthPixie3_RtD" };

		public static SpawnConfig[] MeadowsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 640f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 500f,
				MaxGroupSize = 2,
				Biome = (Biome)1
			}
		};

		public static SpawnConfig[] BlackForestSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 640f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 500f,
				MaxGroupSize = 2,
				Biome = (Biome)8
			}
		};

		public static SpawnConfig[] SwampSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 640f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 500f,
				MaxGroupSize = 2,
				Biome = (Biome)2
			}
		};

		public static SpawnConfig[] MountainSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 640f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 1000f,
				MaxGroupSize = 2,
				Biome = (Biome)4
			}
		};

		public static SpawnConfig[] PlainsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 640f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 500f,
				MaxGroupSize = 2,
				Biome = (Biome)16
			}
		};

		public static SpawnConfig[] MistlandsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 640f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 1000f,
				MaxGroupSize = 2,
				Biome = (Biome)512
			}
		};

		public static SpawnConfig[] AshLandsSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 640f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 1000f,
				MaxGroupSize = 2,
				Biome = (Biome)32
			}
		};

		public static SpawnConfig[] DeepNorthSpawnConfig = (SpawnConfig[])(object)new SpawnConfig[1]
		{
			new SpawnConfig
			{
				SpawnDistance = 100f,
				SpawnInterval = 640f,
				SpawnChance = 10f,
				SpawnAtNight = true,
				SpawnAtDay = true,
				MaxSpawned = 2,
				MaxLevel = 2,
				MaxAltitude = 1000f,
				MaxGroupSize = 2,
				Biome = (Biome)64
			}
		};

		public static CreatureConfig MeadowsCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)2,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = MeadowsSpawnConfig
		};

		public static CreatureConfig BlackForestCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)2,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = BlackForestSpawnConfig
		};

		public static CreatureConfig SwampCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)3,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = SwampSpawnConfig
		};

		public static CreatureConfig MountainCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)5,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = MountainSpawnConfig
		};

		public static CreatureConfig PlainsCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)7,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = PlainsSpawnConfig
		};

		public static CreatureConfig MistlandsCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)9,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = MistlandsSpawnConfig
		};

		public static CreatureConfig AshLandsCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)4,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = AshLandsSpawnConfig
		};

		public static CreatureConfig DeepNorthCreatureConfig = new CreatureConfig
		{
			Faction = (Faction)5,
			UseCumulativeLevelEffects = true,
			SpawnConfigs = DeepNorthSpawnConfig
		};

		private void Awake()
		{
			CreateConfigs();
			LoadBundle();
			Addlocalizations();
			AddShieldEffect();
			AddSEStatusEffect();
			AddItems();
			AddPrefabs();
			AddPieces();
			MeadowsSpawner();
			BlackForestSpawner();
			SwampSpawner();
			MountainSpawner();
			PlainsSpawner();
			MistlandsSpawner();
			AshLandsSpawner();
			DeepNorthSpawner();
			AddSoundEffects();
			Locations();
			PrefabManager.OnPrefabsRegistered += FixSoundEffects;
			if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)"Logging is enabled in the config.");
			}
		}

		private void LoadBundle()
		{
			try
			{
				MyAssets = AssetUtils.LoadAssetBundleFromResources("rtdfaeheim", 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
			try
			{
				((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
				LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", false, new ConfigDescription("Enable or Disable Logging.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 15
				} }));
			}
			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 MeadowsSpawner()
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList1;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, MeadowsCreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + 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 monsters: {arg}");
			}
		}

		private void BlackForestSpawner()
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList2;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, BlackForestCreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + 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 monsters: {arg}");
			}
		}

		private void SwampSpawner()
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList3;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, SwampCreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + 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 monsters: {arg}");
			}
		}

		private void MountainSpawner()
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList4;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, MountainCreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + 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 monsters: {arg}");
			}
		}

		private void PlainsSpawner()
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList5;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, PlainsCreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + 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 monsters: {arg}");
			}
		}

		private void MistlandsSpawner()
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList6;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, MistlandsCreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + 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 monsters: {arg}");
			}
		}

		private void AshLandsSpawner()
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList7;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, AshLandsCreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + 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 monsters: {arg}");
			}
		}

		private void DeepNorthSpawner()
		{
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Expected O, but got Unknown
			try
			{
				string[] staticList = StaticList8;
				foreach (string text in staticList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CreatureManager.Instance.AddCreature(new CustomCreature(val, true, DeepNorthCreatureConfig));
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added monster: " + 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 monsters: {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 Addlocalizations()
		{
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization = Localization;
			string text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Fire Fairy" },
				{ "$AshLandsPixie_RtD", "Fire Pixie" },
				{ "$BlackForestFairy_RtD", "Lightning Fairy" },
				{ "$BlackForestPixie_RtD", "Lightning Pixie" },
				{ "$DeepNorthFairy_RtD", "Arcane Fairy" },
				{ "$DeepNorthPixie_RtD", "Arcane Pixie" },
				{ "$MeadowsFairy_RtD", "Air Fairy" },
				{ "$MeadowsPixie_RtD", "Air Pixie" },
				{ "$MistlandsFairy_RtD", "Light Pixie" },
				{ "$MistlandsPixie_RtD", "Light Pixie" },
				{ "$MountainFairy_RtD", "Frost Fairy" },
				{ "$MountainPixie_RtD", "Frost Pixie" },
				{ "$PlainsFairy_RtD", "Void Fairy" },
				{ "$PlainsPixie_RtD", "Void Pixie" },
				{ "$SwampFairy_RtD", "Earth Fairy" },
				{ "$SwampPixie_RtD", "Earth Pixie" },
				{ "$AshLandsCrystal_RtD", "Fire Crystal" },
				{ "$AshLandsCrystal_desc_RtD", "Used to build an Fire Fairy Totem" },
				{ "$BlackForestCrystal_RtD", "Lightning Crystal" },
				{ "$BlackForestCrystal_desc_RtD", "Used to build an Lightning Fairy Totem" },
				{ "$DeepNorthCrystal_RtD", "Arcane Crystal" },
				{ "$DeepNorthCrystal_desc_RtD", "Used to build an Arcane Fairy Totem" },
				{ "$MeadowsCrystal_RtD", "Air Crystal" },
				{ "$MeadowsCrystal_desc_RtD", "Used to build an Air Fairy Totem" },
				{ "$MistlandsCrystal_RtD", "Light Crystal" },
				{ "$MistlandsCrystal_desc_RtD", "Used to build an Light Fairy Totem" },
				{ "$MountainCrystal_RtD", "Ice Crystal" },
				{ "$MountainCrystal_desc_RtD", "Used to build an Ice Fairy Totem" },
				{ "$PlainsCrystal_RtD", "Void Crystal" },
				{ "$PlainsCrystal_desc_RtD", "Used to build an Void Fairy Totem" },
				{ "$SwampCrystal_RtD", "Earth Crystal" },
				{ "$SwampCrystal_desc_RtD", "Used to build an Earth Fairy Totem" },
				{ "$AshLandsFairyTotem_RtD", "Fire Totem" },
				{ "$AshLandsFairyTotem_desc_RtD", "Use 5 Fire Crystals to summon a friendly Fairy for base defense." },
				{ "$BlackForestFairyTotem_RtD", "Lighting Totem" },
				{ "$BlackForestFairyTotem_desc_RtD", "Use 5 Fire Crystals to summon a friendly Fairy for base defense." },
				{ "$DeepNorthFairyTotem_RtD", "Arcane Totem" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Use 5 Fire Crystals to summon a friendly Fairy for base defense." },
				{ "$MeadowsFairyTotem_RtD", "Air Totem" },
				{ "$MeadowsFairyTotem_desc_RtD", "Use 5 Fire Crystals to summon a friendly Fairy for base defense." },
				{ "$MistlandsFairyTotem_RtD", "Light Totem" },
				{ "$MistlandsFairyTotem_desc_RtD", "Use 5 Fire Crystals to summon a friendly Fairy for base defense." },
				{ "$MountainFairyTotem_RtD", "Ice Totem" },
				{ "$MountainFairyTotem_desc_RtD", "Use 5 Fire Crystals to summon a friendly Fairy for base defense." },
				{ "$PlainsFairyTotem_RtD", "Void Totem" },
				{ "$PlainsFairyTotem_desc_RtD", "Use 5 Fire Crystals to summon a friendly Fairy for base defense." },
				{ "$SwampFairyTotem_RtD", "Earth Totem" },
				{ "$SwampFairyTotem_desc_RtD", "Use 5 Fire Crystals to summon a friendly Fairy for base defense." }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization2 = Localization;
			text = "Portuguese";
			localization2.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Fada de Fogo" },
				{ "$AshLandsPixie_RtD", "Pixie de Fogo" },
				{ "$BlackForestFairy_RtD", "Fada de Relâmpago" },
				{ "$BlackForestPixie_RtD", "Pixie de Relâmpago" },
				{ "$DeepNorthFairy_RtD", "Fada Arcana" },
				{ "$DeepNorthPixie_RtD", "Pixie Arcana" },
				{ "$MeadowsFairy_RtD", "Fada do Ar" },
				{ "$MeadowsPixie_RtD", "Pixie do Ar" },
				{ "$MistlandsFairy_RtD", "Pixie da Luz" },
				{ "$MistlandsPixie_RtD", "Pixie da Luz" },
				{ "$MountainFairy_RtD", "Fada de Gelo" },
				{ "$MountainPixie_RtD", "Pixie de Gelo" },
				{ "$PlainsFairy_RtD", "Fada do Vazio" },
				{ "$PlainsPixie_RtD", "Pixie do Vazio" },
				{ "$SwampFairy_RtD", "Fada da Terra" },
				{ "$SwampPixie_RtD", "Pixie da Terra" },
				{ "$AshLandsCrystal_RtD", "Cristal de Fogo" },
				{ "$AshLandsCrystal_desc_RtD", "Usado para construir um Totem de Fada de Fogo" },
				{ "$BlackForestCrystal_RtD", "Cristal de Relâmpago" },
				{ "$BlackForestCrystal_desc_RtD", "Usado para construir um Totem de Fada de Relâmpago" },
				{ "$DeepNorthCrystal_RtD", "Cristal Arcano" },
				{ "$DeepNorthCrystal_desc_RtD", "Usado para construir um Totem de Fada Arcana" },
				{ "$MeadowsCrystal_RtD", "Cristal de Ar" },
				{ "$MeadowsCrystal_desc_RtD", "Usado para construir um Totem de Fada do Ar" },
				{ "$MistlandsCrystal_RtD", "Cristal de Luz" },
				{ "$MistlandsCrystal_desc_RtD", "Usado para construir um Totem de Fada da Luz" },
				{ "$MountainCrystal_RtD", "Cristal de Gelo" },
				{ "$MountainCrystal_desc_RtD", "Usado para construir um Totem de Fada de Gelo" },
				{ "$PlainsCrystal_RtD", "Cristal do Vazio" },
				{ "$PlainsCrystal_desc_RtD", "Usado para construir um Totem de Fada do Vazio" },
				{ "$SwampCrystal_RtD", "Cristal da Terra" },
				{ "$SwampCrystal_desc_RtD", "Usado para construir um Totem de Fada da Terra" },
				{ "$AshLandsFairyTotem_RtD", "Totem de Fogo" },
				{ "$AshLandsFairyTotem_desc_RtD", "Use 5 Cristais de Fogo para invocar uma Fada amigável para defesa da base." },
				{ "$BlackForestFairyTotem_RtD", "Totem de Relâmpago" },
				{ "$BlackForestFairyTotem_desc_RtD", "Use 5 Cristais de Relâmpago para invocar uma Fada amigável para defesa da base." },
				{ "$DeepNorthFairyTotem_RtD", "Totem Arcano" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Use 5 Cristais Arcanos para invocar uma Fada amigável para defesa da base." },
				{ "$MeadowsFairyTotem_RtD", "Totem do Ar" },
				{ "$MeadowsFairyTotem_desc_RtD", "Use 5 Cristais de Ar para invocar uma Fada amigável para defesa da base." },
				{ "$MistlandsFairyTotem_RtD", "Totem de Luz" },
				{ "$MistlandsFairyTotem_desc_RtD", "Use 5 Cristais de Luz para invocar uma Fada amigável para defesa da base." },
				{ "$MountainFairyTotem_RtD", "Totem de Gelo" },
				{ "$MountainFairyTotem_desc_RtD", "Use 5 Cristais de Gelo para invocar uma Fada amigável para defesa da base." },
				{ "$PlainsFairyTotem_RtD", "Totem do Vazio" },
				{ "$PlainsFairyTotem_desc_RtD", "Use 5 Cristais do Vazio para invocar uma Fada amigável para defesa da base." },
				{ "$SwampFairyTotem_RtD", "Totem da Terra" },
				{ "$SwampFairyTotem_desc_RtD", "Use 5 Cristais da Terra para invocar uma Fada amigável para defesa da base." }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization3 = Localization;
			text = "Spanish";
			localization3.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Hada de Fuego" },
				{ "$AshLandsPixie_RtD", "Duende de Fuego" },
				{ "$BlackForestFairy_RtD", "Hada de Rayo" },
				{ "$BlackForestPixie_RtD", "Duende de Rayo" },
				{ "$DeepNorthFairy_RtD", "Hada Arcana" },
				{ "$DeepNorthPixie_RtD", "Duende Arcano" },
				{ "$MeadowsFairy_RtD", "Hada de Aire" },
				{ "$MeadowsPixie_RtD", "Duende de Aire" },
				{ "$MistlandsFairy_RtD", "Hada de Luz" },
				{ "$MistlandsPixie_RtD", "Duende de Luz" },
				{ "$MountainFairy_RtD", "Hada de Escarcha" },
				{ "$MountainPixie_RtD", "Duende de Escarcha" },
				{ "$PlainsFairy_RtD", "Hada del Vacío" },
				{ "$PlainsPixie_RtD", "Duende del Vacío" },
				{ "$SwampFairy_RtD", "Hada de Tierra" },
				{ "$SwampPixie_RtD", "Duende de Tierra" },
				{ "$AshLandsCrystal_RtD", "Cristal de Fuego" },
				{ "$AshLandsCrystal_desc_RtD", "Usado para construir un Tótem de Hada de Fuego" },
				{ "$BlackForestCrystal_RtD", "Cristal de Rayo" },
				{ "$BlackForestCrystal_desc_RtD", "Usado para construir un Tótem de Hada de Rayo" },
				{ "$DeepNorthCrystal_RtD", "Cristal Arcano" },
				{ "$DeepNorthCrystal_desc_RtD", "Usado para construir un Tótem de Hada Arcana" },
				{ "$MeadowsCrystal_RtD", "Cristal de Aire" },
				{ "$MeadowsCrystal_desc_RtD", "Usado para construir un Tótem de Hada de Aire" },
				{ "$MistlandsCrystal_RtD", "Cristal de Luz" },
				{ "$MistlandsCrystal_desc_RtD", "Usado para construir un Tótem de Hada de Luz" },
				{ "$MountainCrystal_RtD", "Cristal de Hielo" },
				{ "$MountainCrystal_desc_RtD", "Usado para construir un Tótem de Hada de Escarcha" },
				{ "$PlainsCrystal_RtD", "Cristal del Vacío" },
				{ "$PlainsCrystal_desc_RtD", "Usado para construir un Tótem de Hada del Vacío" },
				{ "$SwampCrystal_RtD", "Cristal de Tierra" },
				{ "$SwampCrystal_desc_RtD", "Usado para construir un Tótem de Hada de Tierra" },
				{ "$AshLandsFairyTotem_RtD", "Tótem de Fuego" },
				{ "$AshLandsFairyTotem_desc_RtD", "Usa 5 Cristales de Fuego para invocar un hada amigable para la defensa de la base." },
				{ "$BlackForestFairyTotem_RtD", "Tótem de Rayo" },
				{ "$BlackForestFairyTotem_desc_RtD", "Usa 5 Cristales de Fuego para invocar un hada amigable para la defensa de la base." },
				{ "$DeepNorthFairyTotem_RtD", "Tótem Arcano" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Usa 5 Cristales de Fuego para invocar un hada amigable para la defensa de la base." },
				{ "$MeadowsFairyTotem_RtD", "Tótem de Aire" },
				{ "$MeadowsFairyTotem_desc_RtD", "Usa 5 Cristales de Fuego para invocar un hada amigable para la defensa de la base." },
				{ "$MistlandsFairyTotem_RtD", "Tótem de Luz" },
				{ "$MistlandsFairyTotem_desc_RtD", "Usa 5 Cristales de Fuego para invocar un hada amigable para la defensa de la base." },
				{ "$MountainFairyTotem_RtD", "Tótem de Hielo" },
				{ "$MountainFairyTotem_desc_RtD", "Usa 5 Cristales de Fuego para invocar un hada amigable para la defensa de la base." },
				{ "$PlainsFairyTotem_RtD", "Tótem del Vacío" },
				{ "$PlainsFairyTotem_desc_RtD", "Usa 5 Cristales de Fuego para invocar un hada amigable para la defensa de la base." },
				{ "$SwampFairyTotem_RtD", "Tótem de Tierra" },
				{ "$SwampFairyTotem_desc_RtD", "Usa 5 Cristales de Fuego para invocar un hada amigable para la defensa de la base." }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization4 = Localization;
			text = "Hindi";
			localization4.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "अग\u094dन\u093f पर\u0940" },
				{ "$AshLandsPixie_RtD", "अग\u094dन\u093f प\u093fक\u094dस\u0940" },
				{ "$BlackForestFairy_RtD", "ब\u093fजल\u0940 पर\u0940" },
				{ "$BlackForestPixie_RtD", "ब\u093fजल\u0940 प\u093fक\u094dस\u0940" },
				{ "$DeepNorthFairy_RtD", "ज\u093eद\u0941ई पर\u0940" },
				{ "$DeepNorthPixie_RtD", "ज\u093eद\u0941ई प\u093fक\u094dस\u0940" },
				{ "$MeadowsFairy_RtD", "व\u093eय\u0941 पर\u0940" },
				{ "$MeadowsPixie_RtD", "व\u093eय\u0941 प\u093fक\u094dस\u0940" },
				{ "$MistlandsFairy_RtD", "प\u094dरक\u093eश पर\u0940" },
				{ "$MistlandsPixie_RtD", "प\u094dरक\u093eश प\u093fक\u094dस\u0940" },
				{ "$MountainFairy_RtD", "त\u0941ष\u093eर पर\u0940" },
				{ "$MountainPixie_RtD", "त\u0941ष\u093eर प\u093fक\u094dस\u0940" },
				{ "$PlainsFairy_RtD", "श\u0942न\u094dय पर\u0940" },
				{ "$PlainsPixie_RtD", "श\u0942न\u094dय प\u093fक\u094dस\u0940" },
				{ "$SwampFairy_RtD", "प\u0943थ\u094dव\u0940 पर\u0940" },
				{ "$SwampPixie_RtD", "प\u0943थ\u094dव\u0940 प\u093fक\u094dस\u0940" },
				{ "$AshLandsCrystal_RtD", "अग\u094dन\u093f क\u094dर\u093fस\u094dटल" },
				{ "$AshLandsCrystal_desc_RtD", "अग\u094dन\u093f पर\u0940 ट\u094bट\u0947म बन\u093eन\u0947 क\u0947 ल\u093fए उपय\u094bग क\u093fय\u093e ज\u093eत\u093e ह\u0948" },
				{ "$BlackForestCrystal_RtD", "ब\u093fजल\u0940 क\u094dर\u093fस\u094dटल" },
				{ "$BlackForestCrystal_desc_RtD", "ब\u093fजल\u0940 पर\u0940 ट\u094bट\u0947म बन\u093eन\u0947 क\u0947 ल\u093fए उपय\u094bग क\u093fय\u093e ज\u093eत\u093e ह\u0948" },
				{ "$DeepNorthCrystal_RtD", "ज\u093eद\u0941ई क\u094dर\u093fस\u094dटल" },
				{ "$DeepNorthCrystal_desc_RtD", "ज\u093eद\u0941ई पर\u0940 ट\u094bट\u0947म बन\u093eन\u0947 क\u0947 ल\u093fए उपय\u094bग क\u093fय\u093e ज\u093eत\u093e ह\u0948" },
				{ "$MeadowsCrystal_RtD", "व\u093eय\u0941 क\u094dर\u093fस\u094dटल" },
				{ "$MeadowsCrystal_desc_RtD", "व\u093eय\u0941 पर\u0940 ट\u094bट\u0947म बन\u093eन\u0947 क\u0947 ल\u093fए उपय\u094bग क\u093fय\u093e ज\u093eत\u093e ह\u0948" },
				{ "$MistlandsCrystal_RtD", "प\u094dरक\u093eश क\u094dर\u093fस\u094dटल" },
				{ "$MistlandsCrystal_desc_RtD", "प\u094dरक\u093eश पर\u0940 ट\u094bट\u0947म बन\u093eन\u0947 क\u0947 ल\u093fए उपय\u094bग क\u093fय\u093e ज\u093eत\u093e ह\u0948" },
				{ "$MountainCrystal_RtD", "ह\u093fम क\u094dर\u093fस\u094dटल" },
				{ "$MountainCrystal_desc_RtD", "ह\u093fम पर\u0940 ट\u094bट\u0947म बन\u093eन\u0947 क\u0947 ल\u093fए उपय\u094bग क\u093fय\u093e ज\u093eत\u093e ह\u0948" },
				{ "$PlainsCrystal_RtD", "श\u0942न\u094dय क\u094dर\u093fस\u094dटल" },
				{ "$PlainsCrystal_desc_RtD", "श\u0942न\u094dय पर\u0940 ट\u094bट\u0947म बन\u093eन\u0947 क\u0947 ल\u093fए उपय\u094bग क\u093fय\u093e ज\u093eत\u093e ह\u0948" },
				{ "$SwampCrystal_RtD", "प\u0943थ\u094dव\u0940 क\u094dर\u093fस\u094dटल" },
				{ "$SwampCrystal_desc_RtD", "प\u0943थ\u094dव\u0940 पर\u0940 ट\u094bट\u0947म बन\u093eन\u0947 क\u0947 ल\u093fए उपय\u094bग क\u093fय\u093e ज\u093eत\u093e ह\u0948" },
				{ "$AshLandsFairyTotem_RtD", "अग\u094dन\u093f ट\u094bट\u0947म" },
				{ "$AshLandsFairyTotem_desc_RtD", "एक म\u093fत\u094dरवत पर\u0940 क\u094b आध\u093eर रक\u094dष\u093e क\u0947 ल\u093fए ब\u0941ल\u093eन\u0947 क\u0947 ल\u093fए 5 अग\u094dन\u093f क\u094dर\u093fस\u094dटल क\u093e उपय\u094bग कर\u0947\u0902।" },
				{ "$BlackForestFairyTotem_RtD", "ब\u093fजल\u0940 ट\u094bट\u0947म" },
				{ "$BlackForestFairyTotem_desc_RtD", "एक म\u093fत\u094dरवत पर\u0940 क\u094b आध\u093eर रक\u094dष\u093e क\u0947 ल\u093fए ब\u0941ल\u093eन\u0947 क\u0947 ल\u093fए 5 ब\u093fजल\u0940 क\u094dर\u093fस\u094dटल क\u093e उपय\u094bग कर\u0947\u0902।" },
				{ "$DeepNorthFairyTotem_RtD", "ज\u093eद\u0941ई ट\u094bट\u0947म" },
				{ "$DeepNorthFairyTotem_desc_RtD", "एक म\u093fत\u094dरवत पर\u0940 क\u094b आध\u093eर रक\u094dष\u093e क\u0947 ल\u093fए ब\u0941ल\u093eन\u0947 क\u0947 ल\u093fए 5 ज\u093eद\u0941ई क\u094dर\u093fस\u094dटल क\u093e उपय\u094bग कर\u0947\u0902।" },
				{ "$MeadowsFairyTotem_RtD", "व\u093eय\u0941 ट\u094bट\u0947म" },
				{ "$MeadowsFairyTotem_desc_RtD", "एक म\u093fत\u094dरवत पर\u0940 क\u094b आध\u093eर रक\u094dष\u093e क\u0947 ल\u093fए ब\u0941ल\u093eन\u0947 क\u0947 ल\u093fए 5 व\u093eय\u0941 क\u094dर\u093fस\u094dटल क\u093e उपय\u094bग कर\u0947\u0902।" },
				{ "$MistlandsFairyTotem_RtD", "प\u094dरक\u093eश ट\u094bट\u0947म" },
				{ "$MistlandsFairyTotem_desc_RtD", "एक म\u093fत\u094dरवत पर\u0940 क\u094b आध\u093eर रक\u094dष\u093e क\u0947 ल\u093fए ब\u0941ल\u093eन\u0947 क\u0947 ल\u093fए 5 प\u094dरक\u093eश क\u094dर\u093fस\u094dटल क\u093e उपय\u094bग कर\u0947\u0902।" },
				{ "$MountainFairyTotem_RtD", "ह\u093fम ट\u094bट\u0947म" },
				{ "$MountainFairyTotem_desc_RtD", "एक म\u093fत\u094dरवत पर\u0940 क\u094b आध\u093eर रक\u094dष\u093e क\u0947 ल\u093fए ब\u0941ल\u093eन\u0947 क\u0947 ल\u093fए 5 ह\u093fम क\u094dर\u093fस\u094dटल क\u093e उपय\u094bग कर\u0947\u0902।" },
				{ "$PlainsFairyTotem_RtD", "श\u0942न\u094dय ट\u094bट\u0947म" },
				{ "$PlainsFairyTotem_desc_RtD", "एक म\u093fत\u094dरवत पर\u0940 क\u094b आध\u093eर रक\u094dष\u093e क\u0947 ल\u093fए ब\u0941ल\u093eन\u0947 क\u0947 ल\u093fए 5 श\u0942न\u094dय क\u094dर\u093fस\u094dटल क\u093e उपय\u094bग कर\u0947\u0902।" },
				{ "$SwampFairyTotem_RtD", "प\u0943थ\u094dव\u0940 ट\u094bट\u0947म" },
				{ "$SwampFairyTotem_desc_RtD", "एक म\u093fत\u094dरवत पर\u0940 क\u094b आध\u093eर रक\u094dष\u093e क\u0947 ल\u093fए ब\u0941ल\u093eन\u0947 क\u0947 ल\u093fए 5 प\u0943थ\u094dव\u0940 क\u094dर\u093fस\u094dटल क\u093e उपय\u094bग कर\u0947\u0902।" }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization5 = Localization;
			text = "Swedish";
			localization5.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Eldälva" },
				{ "$AshLandsPixie_RtD", "Eldpixie" },
				{ "$BlackForestFairy_RtD", "Blixtälva" },
				{ "$BlackForestPixie_RtD", "Blixtpixie" },
				{ "$DeepNorthFairy_RtD", "Arkan älva" },
				{ "$DeepNorthPixie_RtD", "Arkan pixie" },
				{ "$MeadowsFairy_RtD", "Luftälva" },
				{ "$MeadowsPixie_RtD", "Luftpixie" },
				{ "$MistlandsFairy_RtD", "Ljusälva" },
				{ "$MistlandsPixie_RtD", "Ljuspixie" },
				{ "$MountainFairy_RtD", "Frostälva" },
				{ "$MountainPixie_RtD", "Frostpixie" },
				{ "$PlainsFairy_RtD", "Tomrumsälva" },
				{ "$PlainsPixie_RtD", "Tomrumspixie" },
				{ "$SwampFairy_RtD", "Jordälva" },
				{ "$SwampPixie_RtD", "Jordpixie" },
				{ "$AshLandsCrystal_RtD", "Eldkristall" },
				{ "$AshLandsCrystal_desc_RtD", "Används för att bygga en Eldälva-totem" },
				{ "$BlackForestCrystal_RtD", "Blixtkristall" },
				{ "$BlackForestCrystal_desc_RtD", "Används för att bygga en Blixtälva-totem" },
				{ "$DeepNorthCrystal_RtD", "Arkan kristall" },
				{ "$DeepNorthCrystal_desc_RtD", "Används för att bygga en Arkan älva-totem" },
				{ "$MeadowsCrystal_RtD", "Luftkristall" },
				{ "$MeadowsCrystal_desc_RtD", "Används för att bygga en Luftälva-totem" },
				{ "$MistlandsCrystal_RtD", "Ljuskristall" },
				{ "$MistlandsCrystal_desc_RtD", "Används för att bygga en Ljusälva-totem" },
				{ "$MountainCrystal_RtD", "Iskristall" },
				{ "$MountainCrystal_desc_RtD", "Används för att bygga en Frostälva-totem" },
				{ "$PlainsCrystal_RtD", "Tomrumskristall" },
				{ "$PlainsCrystal_desc_RtD", "Används för att bygga en Tomrumsälva-totem" },
				{ "$SwampCrystal_RtD", "Jordkristall" },
				{ "$SwampCrystal_desc_RtD", "Används för att bygga en Jordälva-totem" },
				{ "$AshLandsFairyTotem_RtD", "Eldtotem" },
				{ "$AshLandsFairyTotem_desc_RtD", "Använd 5 Eldkristaller för att kalla på en vänlig älva för basförsvar." },
				{ "$BlackForestFairyTotem_RtD", "Blixttotem" },
				{ "$BlackForestFairyTotem_desc_RtD", "Använd 5 Eldkristaller för att kalla på en vänlig älva för basförsvar." },
				{ "$DeepNorthFairyTotem_RtD", "Arkansk totem" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Använd 5 Eldkristaller för att kalla på en vänlig älva för basförsvar." },
				{ "$MeadowsFairyTotem_RtD", "Lufttotem" },
				{ "$MeadowsFairyTotem_desc_RtD", "Använd 5 Eldkristaller för att kalla på en vänlig älva för basförsvar." },
				{ "$MistlandsFairyTotem_RtD", "Ljustotem" },
				{ "$MistlandsFairyTotem_desc_RtD", "Använd 5 Eldkristaller för att kalla på en vänlig älva för basförsvar." },
				{ "$MountainFairyTotem_RtD", "Istotem" },
				{ "$MountainFairyTotem_desc_RtD", "Använd 5 Eldkristaller för att kalla på en vänlig älva för basförsvar." },
				{ "$PlainsFairyTotem_RtD", "Tomrumstotem" },
				{ "$PlainsFairyTotem_desc_RtD", "Använd 5 Eldkristaller för att kalla på en vänlig älva för basförsvar." },
				{ "$SwampFairyTotem_RtD", "Jordtotem" },
				{ "$SwampFairyTotem_desc_RtD", "Använd 5 Eldkristaller för att kalla på en vänlig älva för basförsvar." }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization6 = Localization;
			text = "Dutch";
			localization6.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Vuurelf" },
				{ "$AshLandsPixie_RtD", "Vuurpixie" },
				{ "$BlackForestFairy_RtD", "Bliksemsprookje" },
				{ "$BlackForestPixie_RtD", "Bliksempixie" },
				{ "$DeepNorthFairy_RtD", "Magische Elf" },
				{ "$DeepNorthPixie_RtD", "Magische Pixie" },
				{ "$MeadowsFairy_RtD", "Luchtelf" },
				{ "$MeadowsPixie_RtD", "Luchtpixie" },
				{ "$MistlandsFairy_RtD", "Lichtelf" },
				{ "$MistlandsPixie_RtD", "Lichtpixie" },
				{ "$MountainFairy_RtD", "Vorstelf" },
				{ "$MountainPixie_RtD", "Vorstpixie" },
				{ "$PlainsFairy_RtD", "Leegte-elf" },
				{ "$PlainsPixie_RtD", "Leegte-pixie" },
				{ "$SwampFairy_RtD", "Aarde-elf" },
				{ "$SwampPixie_RtD", "Aarde-pixie" },
				{ "$AshLandsCrystal_RtD", "Vuurkristal" },
				{ "$AshLandsCrystal_desc_RtD", "Gebruikt om een Vuurelf-totem te bouwen" },
				{ "$BlackForestCrystal_RtD", "Bliksemkristal" },
				{ "$BlackForestCrystal_desc_RtD", "Gebruikt om een Bliksemsprookje-totem te bouwen" },
				{ "$DeepNorthCrystal_RtD", "Magisch Kristal" },
				{ "$DeepNorthCrystal_desc_RtD", "Gebruikt om een Magische Elf-totem te bouwen" },
				{ "$MeadowsCrystal_RtD", "Luchtkristal" },
				{ "$MeadowsCrystal_desc_RtD", "Gebruikt om een Luchtelf-totem te bouwen" },
				{ "$MistlandsCrystal_RtD", "Lichtkristal" },
				{ "$MistlandsCrystal_desc_RtD", "Gebruikt om een Lichtelf-totem te bouwen" },
				{ "$MountainCrystal_RtD", "IJskristal" },
				{ "$MountainCrystal_desc_RtD", "Gebruikt om een Vorstelf-totem te bouwen" },
				{ "$PlainsCrystal_RtD", "Leegtekristal" },
				{ "$PlainsCrystal_desc_RtD", "Gebruikt om een Leegte-elf-totem te bouwen" },
				{ "$SwampCrystal_RtD", "Aardkristal" },
				{ "$SwampCrystal_desc_RtD", "Gebruikt om een Aarde-elf-totem te bouwen" },
				{ "$AshLandsFairyTotem_RtD", "Vuurtotem" },
				{ "$AshLandsFairyTotem_desc_RtD", "Gebruik 5 Vuurkristallen om een vriendelijke elf voor basisondersteuning op te roepen." },
				{ "$BlackForestFairyTotem_RtD", "Bliksemtotem" },
				{ "$BlackForestFairyTotem_desc_RtD", "Gebruik 5 Vuurkristallen om een vriendelijke elf voor basisondersteuning op te roepen." },
				{ "$DeepNorthFairyTotem_RtD", "Magische Totem" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Gebruik 5 Vuurkristallen om een vriendelijke elf voor basisondersteuning op te roepen." },
				{ "$MeadowsFairyTotem_RtD", "Luchttotem" },
				{ "$MeadowsFairyTotem_desc_RtD", "Gebruik 5 Vuurkristallen om een vriendelijke elf voor basisondersteuning op te roepen." },
				{ "$MistlandsFairyTotem_RtD", "Lichttotem" },
				{ "$MistlandsFairyTotem_desc_RtD", "Gebruik 5 Vuurkristallen om een vriendelijke elf voor basisondersteuning op te roepen." },
				{ "$MountainFairyTotem_RtD", "IJstotem" },
				{ "$MountainFairyTotem_desc_RtD", "Gebruik 5 Vuurkristallen om een vriendelijke elf voor basisondersteuning op te roepen." },
				{ "$PlainsFairyTotem_RtD", "Leegtetotem" },
				{ "$PlainsFairyTotem_desc_RtD", "Gebruik 5 Vuurkristallen om een vriendelijke elf voor basisondersteuning op te roepen." },
				{ "$SwampFairyTotem_RtD", "Aardetotem" },
				{ "$SwampFairyTotem_desc_RtD", "Gebruik 5 Vuurkristallen om een vriendelijke elf voor basisondersteuning op te roepen." }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization7 = Localization;
			text = "Japanese";
			localization7.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "炎の妖精" },
				{ "$AshLandsPixie_RtD", "炎のピクシー" },
				{ "$BlackForestFairy_RtD", "雷の妖精" },
				{ "$BlackForestPixie_RtD", "雷のピクシー" },
				{ "$DeepNorthFairy_RtD", "秘術の妖精" },
				{ "$DeepNorthPixie_RtD", "秘術のピクシー" },
				{ "$MeadowsFairy_RtD", "風の妖精" },
				{ "$MeadowsPixie_RtD", "風のピクシー" },
				{ "$MistlandsFairy_RtD", "光の妖精" },
				{ "$MistlandsPixie_RtD", "光のピクシー" },
				{ "$MountainFairy_RtD", "氷の妖精" },
				{ "$MountainPixie_RtD", "氷のピクシー" },
				{ "$PlainsFairy_RtD", "虚無の妖精" },
				{ "$PlainsPixie_RtD", "虚無のピクシー" },
				{ "$SwampFairy_RtD", "地の妖精" },
				{ "$SwampPixie_RtD", "地のピクシー" },
				{ "$AshLandsCrystal_RtD", "炎のクリスタル" },
				{ "$AshLandsCrystal_desc_RtD", "炎の妖精トーテムを建設するために使用されます" },
				{ "$BlackForestCrystal_RtD", "雷のクリスタル" },
				{ "$BlackForestCrystal_desc_RtD", "雷の妖精トーテムを建設するために使用されます" },
				{ "$DeepNorthCrystal_RtD", "秘術のクリスタル" },
				{ "$DeepNorthCrystal_desc_RtD", "秘術の妖精トーテムを建設するために使用されます" },
				{ "$MeadowsCrystal_RtD", "風のクリスタル" },
				{ "$MeadowsCrystal_desc_RtD", "風の妖精トーテムを建設するために使用されます" },
				{ "$MistlandsCrystal_RtD", "光のクリスタル" },
				{ "$MistlandsCrystal_desc_RtD", "光の妖精トーテムを建設するために使用されます" },
				{ "$MountainCrystal_RtD", "氷のクリスタル" },
				{ "$MountainCrystal_desc_RtD", "氷の妖精トーテムを建設するために使用されます" },
				{ "$PlainsCrystal_RtD", "虚無のクリスタル" },
				{ "$PlainsCrystal_desc_RtD", "虚無の妖精トーテムを建設するために使用されます" },
				{ "$SwampCrystal_RtD", "地のクリスタル" },
				{ "$SwampCrystal_desc_RtD", "地の妖精トーテムを建設するために使用されます" },
				{ "$AshLandsFairyTotem_RtD", "炎のトーテム" },
				{ "$AshLandsFairyTotem_desc_RtD", "5個の炎のクリスタルを使用して、基地防衛のための友好的な妖精を召喚します。" },
				{ "$BlackForestFairyTotem_RtD", "雷のトーテム" },
				{ "$BlackForestFairyTotem_desc_RtD", "5個の炎のクリスタルを使用して、基地防衛のための友好的な妖精を召喚します。" },
				{ "$DeepNorthFairyTotem_RtD", "秘術のトーテム" },
				{ "$DeepNorthFairyTotem_desc_RtD", "5個の炎のクリスタルを使用して、基地防衛のための友好的な妖精を召喚します。" },
				{ "$MeadowsFairyTotem_RtD", "風のトーテム" },
				{ "$MeadowsFairyTotem_desc_RtD", "5個の炎のクリスタルを使用して、基地防衛のための友好的な妖精を召喚します。" },
				{ "$MistlandsFairyTotem_RtD", "光のトーテム" },
				{ "$MistlandsFairyTotem_desc_RtD", "5個の炎のクリスタルを使用して、基地防衛のための友好的な妖精を召喚します。" },
				{ "$MountainFairyTotem_RtD", "氷のトーテム" },
				{ "$MountainFairyTotem_desc_RtD", "5個の炎のクリスタルを使用して、基地防衛のための友好的な妖精を召喚します。" },
				{ "$PlainsFairyTotem_RtD", "虚無のトーテム" },
				{ "$PlainsFairyTotem_desc_RtD", "5個の炎のクリスタルを使用して、基地防衛のための友好的な妖精を召喚します。" },
				{ "$SwampFairyTotem_RtD", "地のトーテム" },
				{ "$SwampFairyTotem_desc_RtD", "5個の炎のクリスタルを使用して、基地防衛のための友好的な妖精を召喚します。" }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization8 = Localization;
			text = "Chinese";
			localization8.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "火焰仙女" },
				{ "$AshLandsPixie_RtD", "火焰精灵" },
				{ "$BlackForestFairy_RtD", "闪电仙女" },
				{ "$BlackForestPixie_RtD", "闪电精灵" },
				{ "$DeepNorthFairy_RtD", "奥术仙女" },
				{ "$DeepNorthPixie_RtD", "奥术精灵" },
				{ "$MeadowsFairy_RtD", "风之仙女" },
				{ "$MeadowsPixie_RtD", "风之精灵" },
				{ "$MistlandsFairy_RtD", "光之精灵" },
				{ "$MistlandsPixie_RtD", "光之精灵" },
				{ "$MountainFairy_RtD", "冰霜仙女" },
				{ "$MountainPixie_RtD", "冰霜精灵" },
				{ "$PlainsFairy_RtD", "虚空仙女" },
				{ "$PlainsPixie_RtD", "虚空精灵" },
				{ "$SwampFairy_RtD", "大地仙女" },
				{ "$SwampPixie_RtD", "大地精灵" },
				{ "$AshLandsCrystal_RtD", "火焰水晶" },
				{ "$AshLandsCrystal_desc_RtD", "用于建造火焰仙女图腾" },
				{ "$BlackForestCrystal_RtD", "闪电水晶" },
				{ "$BlackForestCrystal_desc_RtD", "用于建造闪电仙女图腾" },
				{ "$DeepNorthCrystal_RtD", "奥术水晶" },
				{ "$DeepNorthCrystal_desc_RtD", "用于建造奥术仙女图腾" },
				{ "$MeadowsCrystal_RtD", "风之水晶" },
				{ "$MeadowsCrystal_desc_RtD", "用于建造风之仙女图腾" },
				{ "$MistlandsCrystal_RtD", "光之水晶" },
				{ "$MistlandsCrystal_desc_RtD", "用于建造光之仙女图腾" },
				{ "$MountainCrystal_RtD", "冰霜水晶" },
				{ "$MountainCrystal_desc_RtD", "用于建造冰霜仙女图腾" },
				{ "$PlainsCrystal_RtD", "虚空水晶" },
				{ "$PlainsCrystal_desc_RtD", "用于建造虚空仙女图腾" },
				{ "$SwampCrystal_RtD", "大地水晶" },
				{ "$SwampCrystal_desc_RtD", "用于建造大地仙女图腾" },
				{ "$AshLandsFairyTotem_RtD", "火焰图腾" },
				{ "$AshLandsFairyTotem_desc_RtD", "使用5个火焰水晶召唤一个友好的仙女来保卫基地。" },
				{ "$BlackForestFairyTotem_RtD", "闪电图腾" },
				{ "$BlackForestFairyTotem_desc_RtD", "使用5个火焰水晶召唤一个友好的仙女来保卫基地。" },
				{ "$DeepNorthFairyTotem_RtD", "奥术图腾" },
				{ "$DeepNorthFairyTotem_desc_RtD", "使用5个火焰水晶召唤一个友好的仙女来保卫基地。" },
				{ "$MeadowsFairyTotem_RtD", "风之图腾" },
				{ "$MeadowsFairyTotem_desc_RtD", "使用5个火焰水晶召唤一个友好的仙女来保卫基地。" },
				{ "$MistlandsFairyTotem_RtD", "光之图腾" },
				{ "$MistlandsFairyTotem_desc_RtD", "使用5个火焰水晶召唤一个友好的仙女来保卫基地。" },
				{ "$MountainFairyTotem_RtD", "冰霜图腾" },
				{ "$MountainFairyTotem_desc_RtD", "使用5个火焰水晶召唤一个友好的仙女来保卫基地。" },
				{ "$PlainsFairyTotem_RtD", "虚空图腾" },
				{ "$PlainsFairyTotem_desc_RtD", "使用5个火焰水晶召唤一个友好的仙女来保卫基地。" },
				{ "$SwampFairyTotem_RtD", "大地图腾" },
				{ "$SwampFairyTotem_desc_RtD", "使用5个火焰水晶召唤一个友好的仙女来保卫基地。" }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization9 = Localization;
			text = "French";
			localization9.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Fée de Feu" },
				{ "$AshLandsPixie_RtD", "Pixie de Feu" },
				{ "$BlackForestFairy_RtD", "Fée de Foudre" },
				{ "$BlackForestPixie_RtD", "Pixie de Foudre" },
				{ "$DeepNorthFairy_RtD", "Fée Arcanique" },
				{ "$DeepNorthPixie_RtD", "Pixie Arcanique" },
				{ "$MeadowsFairy_RtD", "Fée d'Air" },
				{ "$MeadowsPixie_RtD", "Pixie d'Air" },
				{ "$MistlandsFairy_RtD", "Pixie de Lumière" },
				{ "$MistlandsPixie_RtD", "Pixie de Lumière" },
				{ "$MountainFairy_RtD", "Fée de Givre" },
				{ "$MountainPixie_RtD", "Pixie de Givre" },
				{ "$PlainsFairy_RtD", "Fée du Vide" },
				{ "$PlainsPixie_RtD", "Pixie du Vide" },
				{ "$SwampFairy_RtD", "Fée de Terre" },
				{ "$SwampPixie_RtD", "Pixie de Terre" },
				{ "$AshLandsCrystal_RtD", "Cristal de Feu" },
				{ "$AshLandsCrystal_desc_RtD", "Utilisé pour construire un Totem de Fée de Feu" },
				{ "$BlackForestCrystal_RtD", "Cristal de Foudre" },
				{ "$BlackForestCrystal_desc_RtD", "Utilisé pour construire un Totem de Fée de Foudre" },
				{ "$DeepNorthCrystal_RtD", "Cristal Arcanique" },
				{ "$DeepNorthCrystal_desc_RtD", "Utilisé pour construire un Totem de Fée Arcanique" },
				{ "$MeadowsCrystal_RtD", "Cristal d'Air" },
				{ "$MeadowsCrystal_desc_RtD", "Utilisé pour construire un Totem de Fée d'Air" },
				{ "$MistlandsCrystal_RtD", "Cristal de Lumière" },
				{ "$MistlandsCrystal_desc_RtD", "Utilisé pour construire un Totem de Fée de Lumière" },
				{ "$MountainCrystal_RtD", "Cristal de Glace" },
				{ "$MountainCrystal_desc_RtD", "Utilisé pour construire un Totem de Fée de Glace" },
				{ "$PlainsCrystal_RtD", "Cristal du Vide" },
				{ "$PlainsCrystal_desc_RtD", "Utilisé pour construire un Totem de Fée du Vide" },
				{ "$SwampCrystal_RtD", "Cristal de Terre" },
				{ "$SwampCrystal_desc_RtD", "Utilisé pour construire un Totem de Fée de Terre" },
				{ "$AshLandsFairyTotem_RtD", "Totem de Feu" },
				{ "$AshLandsFairyTotem_desc_RtD", "Utilisez 5 Cristaux de Feu pour invoquer une fée amicale pour défendre la base." },
				{ "$BlackForestFairyTotem_RtD", "Totem de Foudre" },
				{ "$BlackForestFairyTotem_desc_RtD", "Utilisez 5 Cristaux de Feu pour invoquer une fée amicale pour défendre la base." },
				{ "$DeepNorthFairyTotem_RtD", "Totem Arcanique" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Utilisez 5 Cristaux de Feu pour invoquer une fée amicale pour défendre la base." },
				{ "$MeadowsFairyTotem_RtD", "Totem d'Air" },
				{ "$MeadowsFairyTotem_desc_RtD", "Utilisez 5 Cristaux de Feu pour invoquer une fée amicale pour défendre la base." },
				{ "$MistlandsFairyTotem_RtD", "Totem de Lumière" },
				{ "$MistlandsFairyTotem_desc_RtD", "Utilisez 5 Cristaux de Feu pour invoquer une fée amicale pour défendre la base." },
				{ "$MountainFairyTotem_RtD", "Totem de Glace" },
				{ "$MountainFairyTotem_desc_RtD", "Utilisez 5 Cristaux de Feu pour invoquer une fée amicale pour défendre la base." },
				{ "$PlainsFairyTotem_RtD", "Totem du Vide" },
				{ "$PlainsFairyTotem_desc_RtD", "Utilisez 5 Cristaux de Feu pour invoquer une fée amicale pour défendre la base." },
				{ "$SwampFairyTotem_RtD", "Totem de Terre" },
				{ "$SwampFairyTotem_desc_RtD", "Utilisez 5 Cristaux de Feu pour invoquer une fée amicale pour défendre la base." }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization10 = Localization;
			text = "German";
			localization10.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Feuerfee" },
				{ "$AshLandsPixie_RtD", "Feuer-Pixie" },
				{ "$BlackForestFairy_RtD", "Blitzfee" },
				{ "$BlackForestPixie_RtD", "Blitz-Pixie" },
				{ "$DeepNorthFairy_RtD", "Arkane Fee" },
				{ "$DeepNorthPixie_RtD", "Arkane Pixie" },
				{ "$MeadowsFairy_RtD", "Luftfee" },
				{ "$MeadowsPixie_RtD", "Luft-Pixie" },
				{ "$MistlandsFairy_RtD", "Lichtfee" },
				{ "$MistlandsPixie_RtD", "Licht-Pixie" },
				{ "$MountainFairy_RtD", "Frostfee" },
				{ "$MountainPixie_RtD", "Frost-Pixie" },
				{ "$PlainsFairy_RtD", "Leerefee" },
				{ "$PlainsPixie_RtD", "Leere-Pixie" },
				{ "$SwampFairy_RtD", "Erdfee" },
				{ "$SwampPixie_RtD", "Erd-Pixie" },
				{ "$AshLandsCrystal_RtD", "Feuerkristall" },
				{ "$AshLandsCrystal_desc_RtD", "Wird zum Bau eines Feuerfee-Totems verwendet" },
				{ "$BlackForestCrystal_RtD", "Blitzkristall" },
				{ "$BlackForestCrystal_desc_RtD", "Wird zum Bau eines Blitzfee-Totems verwendet" },
				{ "$DeepNorthCrystal_RtD", "Arkaner Kristall" },
				{ "$DeepNorthCrystal_desc_RtD", "Wird zum Bau eines Arkanen Fee-Totems verwendet" },
				{ "$MeadowsCrystal_RtD", "Luftkristall" },
				{ "$MeadowsCrystal_desc_RtD", "Wird zum Bau eines Luftfee-Totems verwendet" },
				{ "$MistlandsCrystal_RtD", "Lichtkristall" },
				{ "$MistlandsCrystal_desc_RtD", "Wird zum Bau eines Lichtfee-Totems verwendet" },
				{ "$MountainCrystal_RtD", "Eiskristall" },
				{ "$MountainCrystal_desc_RtD", "Wird zum Bau eines Eisfee-Totems verwendet" },
				{ "$PlainsCrystal_RtD", "Leerekristall" },
				{ "$PlainsCrystal_desc_RtD", "Wird zum Bau eines Leerefee-Totems verwendet" },
				{ "$SwampCrystal_RtD", "Erdkristall" },
				{ "$SwampCrystal_desc_RtD", "Wird zum Bau eines Erdfee-Totems verwendet" },
				{ "$AshLandsFairyTotem_RtD", "Feuertotem" },
				{ "$AshLandsFairyTotem_desc_RtD", "Verwende 5 Feuerkristalle, um eine freundliche Fee zur Basisverteidigung zu beschwören." },
				{ "$BlackForestFairyTotem_RtD", "Blitztotem" },
				{ "$BlackForestFairyTotem_desc_RtD", "Verwende 5 Feuerkristalle, um eine freundliche Fee zur Basisverteidigung zu beschwören." },
				{ "$DeepNorthFairyTotem_RtD", "Arkanes Totem" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Verwende 5 Feuerkristalle, um eine freundliche Fee zur Basisverteidigung zu beschwören." },
				{ "$MeadowsFairyTotem_RtD", "Lufttotem" },
				{ "$MeadowsFairyTotem_desc_RtD", "Verwende 5 Feuerkristalle, um eine freundliche Fee zur Basisverteidigung zu beschwören." },
				{ "$MistlandsFairyTotem_RtD", "Lichttotem" },
				{ "$MistlandsFairyTotem_desc_RtD", "Verwende 5 Feuerkristalle, um eine freundliche Fee zur Basisverteidigung zu beschwören." },
				{ "$MountainFairyTotem_RtD", "Eistotem" },
				{ "$MountainFairyTotem_desc_RtD", "Verwende 5 Feuerkristalle, um eine freundliche Fee zur Basisverteidigung zu beschwören." },
				{ "$PlainsFairyTotem_RtD", "Leeretotem" },
				{ "$PlainsFairyTotem_desc_RtD", "Verwende 5 Feuerkristalle, um eine freundliche Fee zur Basisverteidigung zu beschwören." },
				{ "$SwampFairyTotem_RtD", "Erdetotem" },
				{ "$SwampFairyTotem_desc_RtD", "Verwende 5 Feuerkristalle, um eine freundliche Fee zur Basisverteidigung zu beschwören." }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization11 = Localization;
			text = "Ukrainian";
			localization11.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Вогняна фея" },
				{ "$AshLandsPixie_RtD", "Вогняна піксі" },
				{ "$BlackForestFairy_RtD", "Фея блискавки" },
				{ "$BlackForestPixie_RtD", "Піксі блискавки" },
				{ "$DeepNorthFairy_RtD", "Арканна фея" },
				{ "$DeepNorthPixie_RtD", "Арканна піксі" },
				{ "$MeadowsFairy_RtD", "Повітряна фея" },
				{ "$MeadowsPixie_RtD", "Повітряна піксі" },
				{ "$MistlandsFairy_RtD", "Світла фея" },
				{ "$MistlandsPixie_RtD", "Світла піксі" },
				{ "$MountainFairy_RtD", "Крижана фея" },
				{ "$MountainPixie_RtD", "Крижана піксі" },
				{ "$PlainsFairy_RtD", "Фея порожнечі" },
				{ "$PlainsPixie_RtD", "Піксі порожнечі" },
				{ "$SwampFairy_RtD", "Земляна фея" },
				{ "$SwampPixie_RtD", "Земляна піксі" },
				{ "$AshLandsCrystal_RtD", "Вогняний кристал" },
				{ "$AshLandsCrystal_desc_RtD", "Використовується для створення тотема Вогняної феї" },
				{ "$BlackForestCrystal_RtD", "Кристал блискавки" },
				{ "$BlackForestCrystal_desc_RtD", "Використовується для створення тотема Феї блискавки" },
				{ "$DeepNorthCrystal_RtD", "Арканний кристал" },
				{ "$DeepNorthCrystal_desc_RtD", "Використовується для створення тотема Арканної феї" },
				{ "$MeadowsCrystal_RtD", "Повітряний кристал" },
				{ "$MeadowsCrystal_desc_RtD", "Використовується для створення тотема Повітряної феї" },
				{ "$MistlandsCrystal_RtD", "Кристал світла" },
				{ "$MistlandsCrystal_desc_RtD", "Використовується для створення тотема Світлої феї" },
				{ "$MountainCrystal_RtD", "Крижаний кристал" },
				{ "$MountainCrystal_desc_RtD", "Використовується для створення тотема Крижаної феї" },
				{ "$PlainsCrystal_RtD", "Кристал порожнечі" },
				{ "$PlainsCrystal_desc_RtD", "Використовується для створення тотема Феї порожнечі" },
				{ "$SwampCrystal_RtD", "Земляний кристал" },
				{ "$SwampCrystal_desc_RtD", "Використовується для створення тотема Земляної феї" },
				{ "$AshLandsFairyTotem_RtD", "Вогняний тотем" },
				{ "$AshLandsFairyTotem_desc_RtD", "Використайте 5 Вогняних кристалів, щоб викликати дружню Фею для захисту бази." },
				{ "$BlackForestFairyTotem_RtD", "Тотем блискавки" },
				{ "$BlackForestFairyTotem_desc_RtD", "Використайте 5 Вогняних кристалів, щоб викликати дружню Фею для захисту бази." },
				{ "$DeepNorthFairyTotem_RtD", "Арканний тотем" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Використайте 5 Вогняних кристалів, щоб викликати дружню Фею для захисту бази." },
				{ "$MeadowsFairyTotem_RtD", "Повітряний тотем" },
				{ "$MeadowsFairyTotem_desc_RtD", "Використайте 5 Вогняних кристалів, щоб викликати дружню Фею для захисту бази." },
				{ "$MistlandsFairyTotem_RtD", "Світлий тотем" },
				{ "$MistlandsFairyTotem_desc_RtD", "Використайте 5 Вогняних кристалів, щоб викликати дружню Фею для захисту бази." },
				{ "$MountainFairyTotem_RtD", "Крижаний тотем" },
				{ "$MountainFairyTotem_desc_RtD", "Використайте 5 Вогняних кристалів, щоб викликати дружню Фею для захисту бази." },
				{ "$PlainsFairyTotem_RtD", "Тотем порожнечі" },
				{ "$PlainsFairyTotem_desc_RtD", "Використайте 5 Вогняних кристалів, щоб викликати дружню Фею для захисту бази." },
				{ "$SwampFairyTotem_RtD", "Земляний тотем" },
				{ "$SwampFairyTotem_desc_RtD", "Використайте 5 Вогняних кристалів, щоб викликати дружню Фею для захисту бази." }
			});
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization12 = Localization;
			text = "Russian";
			localization12.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "$AshLandsFairy_RtD", "Огненная фея" },
				{ "$AshLandsPixie_RtD", "Огненная пикси" },
				{ "$BlackForestFairy_RtD", "Фея молнии" },
				{ "$BlackForestPixie_RtD", "Пикси молнии" },
				{ "$DeepNorthFairy_RtD", "Арканная фея" },
				{ "$DeepNorthPixie_RtD", "Арканная пикси" },
				{ "$MeadowsFairy_RtD", "Воздушная фея" },
				{ "$MeadowsPixie_RtD", "Воздушная пикси" },
				{ "$MistlandsFairy_RtD", "Фея света" },
				{ "$MistlandsPixie_RtD", "Пикси света" },
				{ "$MountainFairy_RtD", "Ледяная фея" },
				{ "$MountainPixie_RtD", "Ледяная пикси" },
				{ "$PlainsFairy_RtD", "Фея пустоты" },
				{ "$PlainsPixie_RtD", "Пикси пустоты" },
				{ "$SwampFairy_RtD", "Земляная фея" },
				{ "$SwampPixie_RtD", "Земляная пикси" },
				{ "$AshLandsCrystal_RtD", "Огненный кристалл" },
				{ "$AshLandsCrystal_desc_RtD", "Используется для создания тотема Огненной феи" },
				{ "$BlackForestCrystal_RtD", "Кристалл молнии" },
				{ "$BlackForestCrystal_desc_RtD", "Используется для создания тотема Феи молнии" },
				{ "$DeepNorthCrystal_RtD", "Арканный кристалл" },
				{ "$DeepNorthCrystal_desc_RtD", "Используется для создания тотема Арканной феи" },
				{ "$MeadowsCrystal_RtD", "Воздушный кристалл" },
				{ "$MeadowsCrystal_desc_RtD", "Используется для создания тотема Воздушной феи" },
				{ "$MistlandsCrystal_RtD", "Кристалл света" },
				{ "$MistlandsCrystal_desc_RtD", "Используется для создания тотема Феи света" },
				{ "$MountainCrystal_RtD", "Ледяной кристалл" },
				{ "$MountainCrystal_desc_RtD", "Используется для создания тотема Ледяной феи" },
				{ "$PlainsCrystal_RtD", "Кристалл пустоты" },
				{ "$PlainsCrystal_desc_RtD", "Используется для создания тотема Феи пустоты" },
				{ "$SwampCrystal_RtD", "Земляной кристалл" },
				{ "$SwampCrystal_desc_RtD", "Используется для создания тотема Земляной феи" },
				{ "$AshLandsFairyTotem_RtD", "Огненный тотем" },
				{ "$AshLandsFairyTotem_desc_RtD", "Используйте 5 Огненных кристаллов, чтобы вызвать дружелюбную Фею для защиты базы." },
				{ "$BlackForestFairyTotem_RtD", "Тотем молнии" },
				{ "$BlackForestFairyTotem_desc_RtD", "Используйте 5 Огненных кристаллов, чтобы вызвать дружелюбную Фею для защиты базы." },
				{ "$DeepNorthFairyTotem_RtD", "Арканный тотем" },
				{ "$DeepNorthFairyTotem_desc_RtD", "Используйте 5 Огненных кристаллов, чтобы вызвать дружелюбную Фею для защиты базы." },
				{ "$MeadowsFairyTotem_RtD", "Воздушный тотем" },
				{ "$MeadowsFairyTotem_desc_RtD", "Используйте 5 Огненных кристаллов, чтобы вызвать дружелюбную Фею для защиты базы." },
				{ "$MistlandsFairyTotem_RtD", "Светлый тотем" },
				{ "$MistlandsFairyTotem_desc_RtD", "Используйте 5 Огненных кристаллов, чтобы вызвать дружелюбную Фею для защиты базы." },
				{ "$MountainFairyTotem_RtD", "Ледяной тотем" },
				{ "$MountainFairyTotem_desc_RtD", "Используйте 5 Огненных кристаллов, чтобы вызвать дружелюбную Фею для защиты базы." },
				{ "$PlainsFairyTotem_RtD", "Тотем пустоты" },
				{ "$PlainsFairyTotem_desc_RtD", "Используйте 5 Огненных кристаллов, чтобы вызвать дружелюбную Фею для защиты базы." },
				{ "$SwampFairyTotem_RtD", "Земляной тотем" },
				{ "$SwampFairyTotem_desc_RtD", "Используйте 5 Огненных кристаллов, чтобы вызвать дружелюбную Фею для защиты базы." }
			});
		}

		private void AddPieces()
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Expected O, but got Unknown
			//IL_001e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0028: Expected O, but got Unknown
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Expected O, but got Unknown
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Expected O, but got Unknown
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: 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
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Expected O, but got Unknown
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c9: Expected O, but got Unknown
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Expected O, but got Unknown
			//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f0: Expected O, but got Unknown
			//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0105: Expected O, but got Unknown
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_012d: Expected O, but got Unknown
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0134: Expected O, but got Unknown
			//IL_014a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0154: Expected O, but got Unknown
			//IL_015f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0169: Expected O, but got Unknown
			//IL_0187: Unknown result type (might be due to invalid IL or missing references)
			//IL_0191: Expected O, but got Unknown
			//IL_0192: Unknown result type (might be due to invalid IL or missing references)
			//IL_0199: Expected O, but got Unknown
			//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bb: Expected O, but got Unknown
			//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d1: Expected O, but got Unknown
			//IL_01f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fb: Expected O, but got Unknown
			//IL_01fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0203: Expected O, but got Unknown
			//IL_021b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0225: Expected O, but got Unknown
			//IL_0231: Unknown result type (might be due to invalid IL or missing references)
			//IL_023b: Expected O, but got Unknown
			//IL_025b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0265: Expected O, but got Unknown
			//IL_0266: Unknown result type (might be due to invalid IL or missing references)
			//IL_026d: Expected O, but got Unknown
			//IL_0285: Unknown result type (might be due to invalid IL or missing references)
			//IL_028f: Expected O, but got Unknown
			//IL_029b: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a5: Expected O, but got Unknown
			//IL_02c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cf: Expected O, but got Unknown
			//IL_02d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d7: Expected O, but got Unknown
			//IL_02ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f9: Expected O, but got Unknown
			//IL_0305: Unknown result type (might be due to invalid IL or missing references)
			//IL_030f: Expected O, but got Unknown
			//IL_032f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0339: Expected O, but got Unknown
			try
			{
				PieceConfig val = new PieceConfig();
				val.PieceTable = PieceTables.Hammer;
				val.AddRequirement(new RequirementConfig("MeadowsCrystal_RtD", 10, 0, true));
				val.AddRequirement(new RequirementConfig("Stone", 25, 0, true));
				val.Category = "Misc";
				PieceManager.Instance.AddPiece(new CustomPiece(MyAssets, "MeadowsFairyTotem_RtD", true, val));
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = PieceTables.Hammer;
				val2.AddRequirement(new RequirementConfig("BlackForestCrystal_RtD", 10, 0, true));
				val2.AddRequirement(new RequirementConfig("Stone", 25, 0, true));
				val2.Category = "Misc";
				PieceManager.Instance.AddPiece(new CustomPiece(MyAssets, "BlackForestFairyTotem_RtD", true, val2));
				PieceConfig val3 = new PieceConfig();
				val3.PieceTable = PieceTables.Hammer;
				val3.AddRequirement(new RequirementConfig("SwampCrystal_RtD", 10, 0, true));
				val3.AddRequirement(new RequirementConfig("Stone", 25, 0, true));
				val3.Category = "Misc";
				PieceManager.Instance.AddPiece(new CustomPiece(MyAssets, "SwampFairyTotem_RtD", true, val3));
				PieceConfig val4 = new PieceConfig();
				val4.PieceTable = PieceTables.Hammer;
				val4.AddRequirement(new RequirementConfig("MountainCrystal_RtD", 10, 0, true));
				val4.AddRequirement(new RequirementConfig("Stone", 25, 0, true));
				val4.Category = "Misc";
				PieceManager.Instance.AddPiece(new CustomPiece(MyAssets, "MountainFairyTotem_RtD", true, val4));
				PieceConfig val5 = new PieceConfig();
				val5.PieceTable = PieceTables.Hammer;
				val5.AddRequirement(new RequirementConfig("PlainsCrystal_RtD", 10, 0, true));
				val5.AddRequirement(new RequirementConfig("Stone", 25, 0, true));
				val5.Category = "Misc";
				PieceManager.Instance.AddPiece(new CustomPiece(MyAssets, "PlainsFairyTotem_RtD", true, val5));
				PieceConfig val6 = new PieceConfig();
				val6.PieceTable = PieceTables.Hammer;
				val6.AddRequirement(new RequirementConfig("MistlandsCrystal_RtD", 10, 0, true));
				val6.AddRequirement(new RequirementConfig("Stone", 25, 0, true));
				val6.Category = "Misc";
				PieceManager.Instance.AddPiece(new CustomPiece(MyAssets, "MistlandsFairyTotem_RtD", true, val6));
				PieceConfig val7 = new PieceConfig();
				val7.PieceTable = PieceTables.Hammer;
				val7.AddRequirement(new RequirementConfig("AshLandsCrystal_RtD", 10, 0, true));
				val7.AddRequirement(new RequirementConfig("Stone", 25, 0, true));
				val7.Category = "Misc";
				PieceManager.Instance.AddPiece(new CustomPiece(MyAssets, "AshLandsFairyTotem_RtD", true, val7));
				PieceConfig val8 = new PieceConfig();
				val8.PieceTable = PieceTables.Hammer;
				val8.AddRequirement(new RequirementConfig("DeepNorthCrystal_RtD", 10, 0, true));
				val8.AddRequirement(new RequirementConfig("Stone", 25, 0, true));
				val8.Category = "Misc";
				PieceManager.Instance.AddPiece(new CustomPiece(MyAssets, "DeepNorthFairyTotem_RtD", true, val8));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void Locations()
		{
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Expected O, but got Unknown
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_009a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Expected O, but got Unknown
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c5: Expected O, but got Unknown
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0144: Unknown result type (might be due to invalid IL or missing references)
			//IL_014a: Expected O, but got Unknown
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0171: Expected O, but got Unknown
			//IL_017d: 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_01f7: Expected O, but got Unknown
			//IL_0218: Unknown result type (might be due to invalid IL or missing references)
			//IL_021f: Expected O, but got Unknown
			//IL_022b: Unknown result type (might be due to invalid IL or missing references)
			//IL_029e: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a5: Expected O, but got Unknown
			//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cd: Expected O, but got Unknown
			//IL_02da: Unknown result type (might be due to invalid IL or missing references)
			//IL_034d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0354: Expected O, but got Unknown
			//IL_0375: Unknown result type (might be due to invalid IL or missing references)
			//IL_037c: Expected O, but got Unknown
			//IL_038c: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0406: Expected O, but got Unknown
			//IL_0427: Unknown result type (might be due to invalid IL or missing references)
			//IL_042e: Expected O, but got Unknown
			//IL_043b: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b5: Expected O, but got Unknown
			//IL_04d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_04dd: Expected O, but got Unknown
			//IL_04ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_055d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0564: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("PixieCamp_Meadows_RtD");
				LocationConfig val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)1 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 50;
				val2.ExteriorRadius = 10f;
				val2.MaxTerrainDelta = 3f;
				val2.MinDistanceFromSimilar = 128f;
				val2.ClearArea = true;
				val2.RandomRotation = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("PixieCamp_BlackForest_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)8 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 50;
				val2.ExteriorRadius = 10f;
				val2.MaxTerrainDelta = 3f;
				val2.MinDistanceFromSimilar = 128f;
				val2.ClearArea = true;
				val2.RandomRotation = true;
				CustomLocation val5 = new CustomLocation(val4, true, val2);
				ZoneManager.Instance.AddCustomLocation(val5);
				GameObject val6 = MyAssets.LoadAsset<GameObject>("PixieCamp_Swamp_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)2 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 50;
				val2.ExteriorRadius = 10f;
				val2.MaxTerrainDelta = 3f;
				val2.MinDistanceFromSimilar = 128f;
				val2.ClearArea = true;
				val2.RandomRotation = true;
				CustomLocation val7 = new CustomLocation(val6, true, val2);
				ZoneManager.Instance.AddCustomLocation(val7);
				GameObject val8 = MyAssets.LoadAsset<GameObject>("PixieCamp_Mountain_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)4 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 50;
				val2.ExteriorRadius = 10f;
				val2.MaxTerrainDelta = 3f;
				val2.MinDistanceFromSimilar = 128f;
				val2.ClearArea = true;
				val2.RandomRotation = true;
				CustomLocation val9 = new CustomLocation(val8, true, val2);
				ZoneManager.Instance.AddCustomLocation(val9);
				GameObject val10 = MyAssets.LoadAsset<GameObject>("PixieCamp_Plains_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)16 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 50;
				val2.ExteriorRadius = 10f;
				val2.MaxTerrainDelta = 3f;
				val2.MinDistanceFromSimilar = 128f;
				val2.ClearArea = true;
				val2.RandomRotation = true;
				CustomLocation val11 = new CustomLocation(val10, true, val2);
				ZoneManager.Instance.AddCustomLocation(val11);
				GameObject val12 = MyAssets.LoadAsset<GameObject>("PixieCamp_Mistlands_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)512 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 50;
				val2.ExteriorRadius = 10f;
				val2.MaxTerrainDelta = 3f;
				val2.MinDistanceFromSimilar = 128f;
				val2.ClearArea = true;
				val2.RandomRotation = true;
				CustomLocation val13 = new CustomLocation(val12, true, val2);
				ZoneManager.Instance.AddCustomLocation(val13);
				GameObject val14 = MyAssets.LoadAsset<GameObject>("PixieCamp_AshLands_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.Quantity = 50;
				val2.ExteriorRadius = 10f;
				val2.MaxTerrainDelta = 3f;
				val2.MinDistanceFromSimilar = 128f;
				val2.ClearArea = true;
				val2.RandomRotation = true;
				CustomLocation val15 = new CustomLocation(val14, true, val2);
				ZoneManager.Instance.AddCustomLocation(val15);
				GameObject val16 = MyAssets.LoadAsset<GameObject>("PixieCamp_DeepNorth_RtD");
				val2 = new LocationConfig();
				val2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)new Biome[1] { (Biome)64 });
				val2.BiomeArea = (BiomeArea)2;
				val2.MinAltitude = 1f;
				val2.MaxAltitude = 500f;
				val2.Quantity = 50;
				val2.ExteriorRadius = 10f;
				val2.MaxTerrainDelta = 3f;
				val2.MinDistanceFromSimilar = 128f;
				val2.ClearArea = true;
				val2.RandomRotation = true;
				CustomLocation val17 = new CustomLocation(val16, true, val2);
				ZoneManager.Instance.AddCustomLocation(val17);
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}
	}
}