Decompiled source of Chests and Things v1.1.0

ChestsAndThings.dll

Decompiled 8 months 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 HoremvoreAssembly;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
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("ChestsAndThings")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ChestsAndThings")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("d6f33292-d1ee-4b4a-baf9-d1c1d6740382")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace ChestsAndThings;

[BepInPlugin("horemvore.ChestsAndThings", "Chests And Things", "1.0.2")]
[BepInIncompatibility("Azumatt.AzuDevMod")]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class MimicBundle : BaseUnityPlugin
{
	public const string PluginGUID = "horemvore.ChestsAndThings";

	public const string PluginName = "Chests And Things";

	public const string PluginVersion = "1.0.2";

	public static bool isModded = true;

	public AssetBundle MimicAssets;

	public ConfigEntry<bool> ModEnable;

	public ConfigEntry<bool> LoggingEnable;

	public ConfigEntry<bool> locationsEnable;

	public ConfigEntry<bool> CustomCategoryEnable;

	public string[] itemList = new string[37]
	{
		"Attack_Mimic_ExtraLarge_Low_AH", "Attack_Mimic_ExtraLarge_High_AH", "Attack_Mimic_SimpleLarge_Low_AH", "Attack_Mimic_SimpleLarge_High_AH", "Attack_Mimic_OrnateLarge_Low_AH", "Attack_Mimic_OrnateLarge_High_AH", "Attack_Mimic_IronLarge_Low_AH", "Attack_Mimic_IronLarge_High_AH", "Attack_Mimic_SimpleMedium_Low_AH", "Attack_Mimic_SimpleMedium_High_AH",
		"Attack_Mimic_OrnateMedium_Low_AH", "Attack_Mimic_OrnateMedium_High_AH", "Attack_Mimic_IronMedium_Low_AH", "Attack_Mimic_IronMedium_High_AH", "Attack_Mimic_SimpleSmall_Low_AH", "Attack_Mimic_SimpleSmall_High_AH", "Attack_Mimic_OrnateSmall_Low_AH", "Attack_Mimic_OrnateSmall_High_AH", "Attack_Mimic_IronSmall_Low_AH", "Attack_Mimic_IronSmall_High_AH",
		"Item_Schematic_SmallChest_AH", "Item_Schematic_MediumChest_AH", "Item_Schematic_LargeChest_AH", "Item_Schematic_ExtraLargeChest_AH", "Item_Amethyst_AH", "Item_Emerald_AH", "Item_Sapphire_AH", "Item_AmulateCeltic_AH", "Item_AmuletAmythest_AH", "Item_AmuletOnyx_AH",
		"Item_RingCopper_AH", "Item_RingGold_AH", "Item_RingSilver_AH", "Item_HeroSilverCoin_AH", "Item_HeroObsidianCoin_AH", "Item_HeroGoldCoin_AH", "Item_HeroCrystal_AH"
	};

	public string[] ragdollList = new string[9] { "Ragdoll_Mimic_IronLarge_AH", "Ragdoll_Mimic_OrnateLarge_AH", "Ragdoll_Mimic_SimpleLarge_AH", "Ragdoll_Mimic_IronMedium_AH", "Ragdoll_Mimic_OrnateMedium_AH", "Ragdoll_Mimic_SimpleMedium_AH", "Ragdoll_Mimic_IronSmall_AH", "Ragdoll_Mimic_OrnateSmall_AH", "Ragdoll_Mimic_SimpleSmall_AH" };

	public string[] sfxList = new string[9] { "SFX_MimicMetal_Alert_AH", "SFX_MimicMedium_Alert_AH", "SFX_Mimic_Idle_AH", "SFX_Mimic_Hit_AH", "SFX_Mimic_Footstep_AH", "SFX_Mimic_Death_AH", "SFX_Mimic_Cast_AH", "SFX_Mimic_Attack_AH", "SFX_Mimic_Alert_AH" };

	public string[] treasureChestList = new string[9] { "Chest_Treasure_IronSmall_AH", "Chest_Treasure_IronMedium_AH", "Chest_Treasure_IronLarge_AH", "Chest_Treasure_OrnateMedium_AH", "Chest_Treasure_OrnateLarge_AH", "Chest_Treasure_OrnateSmall_AH", "Chest_Treasure_SimpleSmall_AH", "Chest_Treasure_SimpleMedium_AH", "Chest_Treasure_SimpleLarge_AH" };

	public string[] spawnerList = new string[18]
	{
		"Spawner_Chest_SimpleSmall_AH", "Spawner_Chest_IronSmall_AH", "Spawner_Chest_OrnateSmall_AH", "Spawner_Chest_SimpleMedium_AH", "Spawner_Chest_IronMedium_AH", "Spawner_Chest_OrnateMedium_AH", "Spawner_Chest_SimpleLarge_AH", "Spawner_Chest_IronLarge_AH", "Spawner_Chest_OrnateLarge_AH", "Spawner_Mimic_SimpleSmall_AH",
		"Spawner_Mimic_IronSmall_AH", "Spawner_Mimic_OrnateSmall_AH", "Spawner_Mimic_SimpleMedium_AH", "Spawner_Mimic_IronMedium_AH", "Spawner_Mimic_OrnateMedium_AH", "Spawner_Mimic_SimpleLarge_AH", "Spawner_Mimic_IronLarge_AH", "Spawner_Mimic_OrnateLarge_AH"
	};

	public string[] dotEffectList = new string[3] { "SE_MimicBite_HS", "SE_MimicBiteLarge_HS", "SE_MimicBiteMedium_HS" };

	public CustomLocalization LocalMimic;

	private string pieceCategory;

	public void CreateConfigurationValues()
	{
		//IL_002f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Expected O, but got Unknown
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0047: Expected O, but got Unknown
		//IL_006c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Expected O, but got Unknown
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0084: Expected O, but got Unknown
		//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Expected O, but got Unknown
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c1: Expected O, but got Unknown
		//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: Expected O, but got Unknown
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fe: Expected O, but got Unknown
		try
		{
			((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
			ModEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("0 Chests and Things", "Enable", true, new ConfigDescription("Admin only, Enables this mod", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("1 Logging", "Enable", true, new ConfigDescription("Admin only, Enables logging", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			locationsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("2 New Locations", "Enable", true, new ConfigDescription("Admin only, Enable new Locations in the first 6 Biomes, requires the use of genloc console command on existing worlds.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			CustomCategoryEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("3 Custom Category", "Enable", false, new ConfigDescription("Admin only, Use a custom category for pieces added by this mod", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr)
			{
				if (attr.InitialSynchronization)
				{
					Logger.LogMessage((object)"Initial Config sync event received for Chests and Thing's");
				}
				else
				{
					Logger.LogMessage((object)"Config sync event received for Chests and Thing's");
				}
			};
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}");
		}
	}

	private void Awake()
	{
		CreateConfigurationValues();
		if (ModEnable.Value)
		{
			if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)"Logging is enabled in the config.");
			}
			AddLocalization();
			LoadBundle();
			AddDoTEffects();
			AddRagdolls();
			AddSFX();
			AddItems();
			AddPieces();
			AddTreasureChests();
			AddSmallMimicMonsters();
			AddMediumMimicMonsters();
			AddLargeMimicMonsters();
			AddMimicSpawners();
			AddSmallMimicLocations();
			AddMediumMimicLocations();
			AddLargeMimicLocations();
			AddSmallTreasureLocations();
			AddMediumTreasureLocations();
			AddLargeTreasureLocations();
			PrefabManager.OnVanillaPrefabsAvailable += FixSFX;
		}
	}

	public void LoadBundle()
	{
		try
		{
			MimicAssets = AssetUtils.LoadAssetBundleFromResources("mimic", Assembly.GetExecutingAssembly());
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading bundles: {arg}");
		}
	}

	public void AddLocalization()
	{
		try
		{
			LocalMimic = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localMimic = LocalMimic;
			string text = "English";
			localMimic.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "effect_mimicbite_tooltip_ah", "You are suffering periodic damage from an injury." },
				{ "effect_mimicbite_ah", "Mimic Bite" },
				{ "effect_mimicbitelarge_ah", "Mimic Bite" },
				{ "effect_mimicbitemedium_ah", "Mimic Bite" },
				{ "enemy_mimic_extralarge_ah", "Mimic" },
				{ "enemy_mimic_ornatelarge_ah", "Mimic" },
				{ "enemy_mimic_ironlarge_ah", "Mimic" },
				{ "enemy_mimic_simplelarge_ah", "Mimic" },
				{ "enemy_mimic_ornatemedium_ah", "Mimic" },
				{ "enemy_mimic_ironmedium_ah", "Mimic" },
				{ "enemy_mimic_simplemedium_ah", "Mimic" },
				{ "enemy_mimic_ornatesmall_ah", "Mimic" },
				{ "enemy_mimic_ironsmall_ah", "Mimic" },
				{ "enemy_mimic_simplesmall_ah", "Mimic" },
				{ "item_schematic_smallchest_ah", "Schematic: Small Chest" },
				{ "item_schematic_smallchest_desc_ah", "A Schematic to make a Small Chest" },
				{ "item_schematic_mediumchest_ah", "Schematic: Medium Chest" },
				{ "item_schematic_mediumchest_desc_ah", "A Schematic to make a Medium Chest" },
				{ "item_schematic_largechest_ah", "Schematic: Large Chest" },
				{ "item_schematic_largechest_desc_ah", "A Schematic to make a Large Chest" },
				{ "item_schematic_extralargechest_ah", "Schematic: Extra Large Chest" },
				{ "item_schematic_extralargechest_desc_ah", "A Schematic to make a Extra Large Chest" },
				{ "item_hero_silvercoin_ah", "Silver Dabloon" },
				{ "item_hero_silvercoin_desc_ah", "Merchant's covet this item, guard it with your life!" },
				{ "item_hero_obsidiancoin_ah", "Obsidian Dabloon" },
				{ "item_hero_obsidiancoin_desc_ah", "Merchant's covet this item, guard it with your life!" },
				{ "item_hero_goldcoin_ah", "Gold Dabloon" },
				{ "item_hero_goldcoin_desc_ah", "Merchant's covet this item, guard it with your life!" },
				{ "item_hero_crystal_ah", "Uncut Gemstone" },
				{ "item_hero_crystal_desc_ah", "Merchant's covet this item, guard it with your life!" },
				{ "item_emerald_ah", "Emerald" },
				{ "item_emerald_desc_ah", "A valuable gemstone" },
				{ "item_amethyst_ah", "Amethyst" },
				{ "item_amethyst_desc_ah", "A valuable gemstone" },
				{ "item_sapphire_ah", "Sapphire" },
				{ "item_sapphire_desc_ah", "A valuable gemstone" },
				{ "item_amuletceltic_ah", "Celetic Medallion" },
				{ "item_amuletceltic_desc_ah", "A piece of valuable Jewellery" },
				{ "item_amuletonyx_ah", "Onyx Medallion" },
				{ "item_amuletonyx_desc_ah", "A piece of valuable Jewellery" },
				{ "item_amuletamythest_ah", "Amethyst Medallion" },
				{ "item_amuletamythest_desc_ah", "A piece of valuable Jewellery" },
				{ "item_ringcopper_ah", "Copper Ring" },
				{ "item_ringcopper_desc_ah", "My Precious! O my Precious!" },
				{ "item_ringgold_ah", "Gold Ring" },
				{ "item_ringgold_desc_ah", "Precious, precious, precious!" },
				{ "item_ringsilver_ah", "Silver Ring" },
				{ "item_ringsilver_desc_ah", "My Precious!" },
				{ "piece_chest_extra_large_ah", "Extra Large Chest" },
				{ "piece_chest_large_ornate_ah", "Large Ornate Chest" },
				{ "piece_chest_large_iron_ah", "Large Strong Chest" },
				{ "piece_chest_large_simple_ah", "Large Chest" },
				{ "piece_chest_medium_ornate_ah", "Medium ornate Chest" },
				{ "piece_chest_medium_iron_ah", "Medium Strong Chest" },
				{ "piece_chest_medium_simple_ah", "Medium Chest" },
				{ "piece_chest_small_ornate_ah", "Small Ornate Chest" },
				{ "piece_chest_small_iron_ah", "Small Strong Chest" },
				{ "piece_chest_small_simple_ah", "Small Chest" },
				{ "piece_chest_treasure_extra_large_ah", "Extra Large Chest" },
				{ "piece_chest_treasure_large_ornate_ah", "Large Ornate Chest" },
				{ "piece_chest_treasure_large_iron_ah", "Large Strong Chest" },
				{ "piece_chest_treasure_large_simple_ah", "Large Chest" },
				{ "piece_chest_treasure_medium_ornate_ah", "Medium ornate Chest" },
				{ "piece_chest_treasure_medium_iron_ah", "Medium Strong Chest" },
				{ "piece_chest_treasure_medium_simple_ah", "Medium Chest" },
				{ "piece_chest_treasure_small_ornate_ah", "Small Ornate Chest" },
				{ "piece_chest_treasure_small_iron_ah", "Small Strong Chest" },
				{ "piece_chest_treasure_small_simple_ah", "Small Chest" }
			});
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Localication: {arg}");
		}
	}

	public void AddDoTEffects()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = dotEffectList;
			foreach (string text in array)
			{
				SE_DoT_HS val = MimicAssets.LoadAsset<SE_DoT_HS>(text);
				CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true);
				ItemManager.Instance.AddStatusEffect(val2);
				((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Status Effect database"));
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding DoT Effects: {arg}");
		}
	}

	private void AddItems()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = itemList;
			foreach (string text in array)
			{
				GameObject val = MimicAssets.LoadAsset<GameObject>(text);
				CustomItem val2 = new CustomItem(val, true);
				ItemManager.Instance.AddItem(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Item database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding item prefabs: {arg}");
		}
	}

	private void AddRagdolls()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = ragdollList;
			foreach (string text in array)
			{
				GameObject val = MimicAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Ragdolls: {arg}");
		}
	}

	private void AddSFX()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = sfxList;
			foreach (string text in array)
			{
				GameObject val = MimicAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, false);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding sfx prefabs: {arg}");
		}
	}

	private void AddTreasureChests()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = treasureChestList;
			foreach (string text in array)
			{
				GameObject val = MimicAssets.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Treasure Chests prefabs: {arg}");
		}
	}

	private void AddPieces()
	{
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Expected O, but got Unknown
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_008f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a0: Expected O, but got Unknown
		//IL_00a2: 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_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c5: Expected O, but got Unknown
		//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e9: Expected O, but got Unknown
		//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0105: Unknown result type (might be due to invalid IL or missing references)
		//IL_010e: Expected O, but got Unknown
		//IL_0116: Unknown result type (might be due to invalid IL or missing references)
		//IL_011d: Expected O, but got Unknown
		//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c1: Expected O, but got Unknown
		//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0208: Expected O, but got Unknown
		//IL_020a: Unknown result type (might be due to invalid IL or missing references)
		//IL_020f: Unknown result type (might be due to invalid IL or missing references)
		//IL_021b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0224: Unknown result type (might be due to invalid IL or missing references)
		//IL_022d: Expected O, but got Unknown
		//IL_022f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0234: 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_0251: Expected O, but got Unknown
		//IL_0253: Unknown result type (might be due to invalid IL or missing references)
		//IL_0258: Unknown result type (might be due to invalid IL or missing references)
		//IL_0264: Unknown result type (might be due to invalid IL or missing references)
		//IL_026d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0276: Expected O, but got Unknown
		//IL_027e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0285: Expected O, but got Unknown
		//IL_0322: Unknown result type (might be due to invalid IL or missing references)
		//IL_0329: Expected O, but got Unknown
		//IL_034e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0353: Unknown result type (might be due to invalid IL or missing references)
		//IL_035f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0367: Unknown result type (might be due to invalid IL or missing references)
		//IL_0370: Expected O, but got Unknown
		//IL_0372: Unknown result type (might be due to invalid IL or missing references)
		//IL_0377: Unknown result type (might be due to invalid IL or missing references)
		//IL_0383: Unknown result type (might be due to invalid IL or missing references)
		//IL_038c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0395: Expected O, but got Unknown
		//IL_0397: Unknown result type (might be due to invalid IL or missing references)
		//IL_039c: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ba: Expected O, but got Unknown
		//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03df: Expected O, but got Unknown
		//IL_03e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ee: Expected O, but got Unknown
		//IL_048b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0492: Expected O, but got Unknown
		//IL_04b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_04bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d9: Expected O, but got Unknown
		//IL_04db: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04fe: Expected O, but got Unknown
		//IL_0500: Unknown result type (might be due to invalid IL or missing references)
		//IL_0505: Unknown result type (might be due to invalid IL or missing references)
		//IL_0511: Unknown result type (might be due to invalid IL or missing references)
		//IL_051a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0523: Expected O, but got Unknown
		//IL_0525: Unknown result type (might be due to invalid IL or missing references)
		//IL_052a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0536: Unknown result type (might be due to invalid IL or missing references)
		//IL_053f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0548: Expected O, but got Unknown
		//IL_0550: Unknown result type (might be due to invalid IL or missing references)
		//IL_0557: Expected O, but got Unknown
		//IL_05f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05fe: Expected O, but got Unknown
		//IL_0623: Unknown result type (might be due to invalid IL or missing references)
		//IL_0628: Unknown result type (might be due to invalid IL or missing references)
		//IL_0634: Unknown result type (might be due to invalid IL or missing references)
		//IL_063c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0645: Expected O, but got Unknown
		//IL_0647: Unknown result type (might be due to invalid IL or missing references)
		//IL_064c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0658: Unknown result type (might be due to invalid IL or missing references)
		//IL_0661: Unknown result type (might be due to invalid IL or missing references)
		//IL_066a: Expected O, but got Unknown
		//IL_066c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0671: Unknown result type (might be due to invalid IL or missing references)
		//IL_067d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0686: Unknown result type (might be due to invalid IL or missing references)
		//IL_068f: Expected O, but got Unknown
		//IL_0691: Unknown result type (might be due to invalid IL or missing references)
		//IL_0696: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b4: Expected O, but got Unknown
		//IL_06bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_06c3: Expected O, but got Unknown
		//IL_0765: Unknown result type (might be due to invalid IL or missing references)
		//IL_076c: Expected O, but got Unknown
		//IL_0791: Unknown result type (might be due to invalid IL or missing references)
		//IL_0796: Unknown result type (might be due to invalid IL or missing references)
		//IL_07a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_07aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b3: Expected O, but got Unknown
		//IL_07b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_07ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_07cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_07d8: Expected O, but got Unknown
		//IL_07da: Unknown result type (might be due to invalid IL or missing references)
		//IL_07df: Unknown result type (might be due to invalid IL or missing references)
		//IL_07eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_07f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_07fd: Expected O, but got Unknown
		//IL_07ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0804: Unknown result type (might be due to invalid IL or missing references)
		//IL_0810: Unknown result type (might be due to invalid IL or missing references)
		//IL_0819: Unknown result type (might be due to invalid IL or missing references)
		//IL_0822: Expected O, but got Unknown
		//IL_082a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0831: Expected O, but got Unknown
		//IL_08d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_08da: Expected O, but got Unknown
		//IL_08ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0904: Unknown result type (might be due to invalid IL or missing references)
		//IL_0910: Unknown result type (might be due to invalid IL or missing references)
		//IL_0918: Unknown result type (might be due to invalid IL or missing references)
		//IL_0921: Expected O, but got Unknown
		//IL_0923: Unknown result type (might be due to invalid IL or missing references)
		//IL_0928: Unknown result type (might be due to invalid IL or missing references)
		//IL_0934: Unknown result type (might be due to invalid IL or missing references)
		//IL_093d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0946: Expected O, but got Unknown
		//IL_0948: Unknown result type (might be due to invalid IL or missing references)
		//IL_094d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0959: Unknown result type (might be due to invalid IL or missing references)
		//IL_0962: Unknown result type (might be due to invalid IL or missing references)
		//IL_096b: Expected O, but got Unknown
		//IL_096d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0972: Unknown result type (might be due to invalid IL or missing references)
		//IL_097e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0987: Unknown result type (might be due to invalid IL or missing references)
		//IL_0990: Expected O, but got Unknown
		//IL_0998: Unknown result type (might be due to invalid IL or missing references)
		//IL_099f: Expected O, but got Unknown
		//IL_0a41: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a48: Expected O, but got Unknown
		//IL_0a6d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a72: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a7e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a86: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a8f: Expected O, but got Unknown
		//IL_0a91: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a96: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aa2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aab: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab4: Expected O, but got Unknown
		//IL_0ab6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0abb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ac7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ad0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ad9: Expected O, but got Unknown
		//IL_0adb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ae0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aec: Unknown result type (might be due to invalid IL or missing references)
		//IL_0af5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0afe: Expected O, but got Unknown
		//IL_0b06: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b0d: Expected O, but got Unknown
		//IL_0baf: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bb6: Expected O, but got Unknown
		//IL_0bdb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0be0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bec: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bf4: Unknown result type (might be due to invalid IL or missing references)
		//IL_0bfd: Expected O, but got Unknown
		//IL_0bff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c04: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c10: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c19: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c22: Expected O, but got Unknown
		//IL_0c24: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c29: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c35: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c3e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c47: Expected O, but got Unknown
		//IL_0c49: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c4e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c5a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c63: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c6c: Expected O, but got Unknown
		//IL_0c74: Unknown result type (might be due to invalid IL or missing references)
		//IL_0c7b: Expected O, but got Unknown
		//IL_0d1d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d24: Expected O, but got Unknown
		//IL_0d49: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d4e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d5a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d62: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d6b: Expected O, but got Unknown
		//IL_0d6d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d72: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d7e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d87: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d90: Expected O, but got Unknown
		//IL_0d92: Unknown result type (might be due to invalid IL or missing references)
		//IL_0d97: Unknown result type (might be due to invalid IL or missing references)
		//IL_0da3: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dac: Unknown result type (might be due to invalid IL or missing references)
		//IL_0db5: Expected O, but got Unknown
		//IL_0db7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dbc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dc8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dd1: Unknown result type (might be due to invalid IL or missing references)
		//IL_0dda: Expected O, but got Unknown
		//IL_0de2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0de9: Expected O, but got Unknown
		try
		{
			if (CustomCategoryEnable.Value)
			{
				pieceCategory = "Mimic Chests";
			}
			else
			{
				pieceCategory = "Furniture";
			}
			GameObject val = MimicAssets.LoadAsset<GameObject>("Chest_SimpleSmall_AH");
			if (Object.op_Implicit((Object)(object)val))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_SmallChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Amount = 20,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Amount = 5,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "FineWood",
						Amount = 10,
						Recover = true
					}
				};
				CustomPiece val3 = new CustomPiece(val, true, val2);
				PieceManager.Instance.AddPiece(val3);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val).name + " to the Piece table"));
			}
			GameObject val4 = MimicAssets.LoadAsset<GameObject>("Chest_IronSmall_AH");
			if (Object.op_Implicit((Object)(object)val4))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_SmallChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Amount = 20,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Amount = 5,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Iron",
						Amount = 10,
						Recover = true
					}
				};
				CustomPiece val5 = new CustomPiece(val4, true, val2);
				PieceManager.Instance.AddPiece(val5);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val4).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val4).name + " to the Piece table"));
			}
			GameObject val6 = MimicAssets.LoadAsset<GameObject>("Chest_OrnateSmall_AH");
			if (Object.op_Implicit((Object)(object)val6))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_SmallChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroCrystal_AH",
						Amount = 20,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_Emerald_AH",
						Amount = 10,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Silver",
						Amount = 10,
						Recover = true
					}
				};
				CustomPiece val7 = new CustomPiece(val6, true, val2);
				PieceManager.Instance.AddPiece(val7);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val6).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val6).name + " to the Piece table"));
			}
			GameObject val8 = MimicAssets.LoadAsset<GameObject>("Chest_SimpleMedium_AH");
			if (Object.op_Implicit((Object)(object)val8))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_MediumChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Amount = 30,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Amount = 10,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "FineWood",
						Amount = 15,
						Recover = true
					}
				};
				CustomPiece val9 = new CustomPiece(val8, true, val2);
				PieceManager.Instance.AddPiece(val9);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val8).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val8).name + " to the Piece table"));
			}
			GameObject val10 = MimicAssets.LoadAsset<GameObject>("Chest_IronMedium_AH");
			if (Object.op_Implicit((Object)(object)val10))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_MediumChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Amount = 30,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Amount = 10,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Iron",
						Amount = 15,
						Recover = true
					}
				};
				CustomPiece val11 = new CustomPiece(val10, true, val2);
				PieceManager.Instance.AddPiece(val11);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val10).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val10).name + " to the Piece table"));
			}
			GameObject val12 = MimicAssets.LoadAsset<GameObject>("Chest_OrnateMedium_AH");
			if (Object.op_Implicit((Object)(object)val12))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_MediumChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroCrystal_AH",
						Amount = 30,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_Emerald_AH",
						Amount = 10,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Silver",
						Amount = 15,
						Recover = true
					}
				};
				CustomPiece val13 = new CustomPiece(val12, true, val2);
				PieceManager.Instance.AddPiece(val13);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val12).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val12).name + " to the Piece table"));
			}
			GameObject val14 = MimicAssets.LoadAsset<GameObject>("Chest_SimpleLarge_AH");
			if (Object.op_Implicit((Object)(object)val14))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_LargeChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Amount = 40,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Amount = 15,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "FineWood",
						Amount = 20,
						Recover = true
					}
				};
				CustomPiece val15 = new CustomPiece(val14, true, val2);
				PieceManager.Instance.AddPiece(val15);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val14).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val14).name + " to the Piece table"));
			}
			GameObject val16 = MimicAssets.LoadAsset<GameObject>("Chest_IronLarge_AH");
			if (Object.op_Implicit((Object)(object)val16))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_LargeChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Amount = 40,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Amount = 15,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Iron",
						Amount = 20,
						Recover = true
					}
				};
				CustomPiece val17 = new CustomPiece(val16, true, val2);
				PieceManager.Instance.AddPiece(val17);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val16).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val16).name + " to the Piece table"));
			}
			GameObject val18 = MimicAssets.LoadAsset<GameObject>("Chest_OrnateLarge_AH");
			if (Object.op_Implicit((Object)(object)val18))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_LargeChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroCrystal_AH",
						Amount = 35,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_Emerald_AH",
						Amount = 15,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Silver",
						Amount = 20,
						Recover = true
					}
				};
				CustomPiece val19 = new CustomPiece(val18, true, val2);
				PieceManager.Instance.AddPiece(val19);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val18).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val18).name + " to the Piece table"));
			}
			GameObject val20 = MimicAssets.LoadAsset<GameObject>("Chest_ExtraLarge_AH");
			if (Object.op_Implicit((Object)(object)val20))
			{
				PieceConfig val2 = new PieceConfig();
				val2.PieceTable = "_HammerPieceTable";
				val2.Category = pieceCategory;
				val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
				{
					new RequirementConfig
					{
						Item = "Item_Schematic_ExtraLargeChest_AH",
						Amount = 1,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_HeroCrystal_AH",
						Amount = 50,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Item_Emerald_AH",
						Amount = 25,
						Recover = true
					},
					new RequirementConfig
					{
						Item = "Silver",
						Amount = 25,
						Recover = true
					}
				};
				CustomPiece val21 = new CustomPiece(val20, true, val2);
				PieceManager.Instance.AddPiece(val21);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val20).name + " to the Piece table"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val20).name + " to the Piece table"));
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding chests: {arg}");
		}
	}

	private void AddSmallMimicMonsters()
	{
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Expected O, but got Unknown
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_006a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0073: Expected O, but got Unknown
		//IL_0075: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: 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_0092: 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_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: 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_00da: 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_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f3: Expected O, but got Unknown
		//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fa: 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_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_0122: Unknown result type (might be due to invalid IL or missing references)
		//IL_012a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0133: Expected O, but got Unknown
		//IL_0135: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: 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_015a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0162: 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_0173: Expected O, but got Unknown
		//IL_0175: 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_0186: 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_01b3: Expected O, but got Unknown
		//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01da: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f3: Expected O, but got Unknown
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0206: Unknown result type (might be due to invalid IL or missing references)
		//IL_0212: Unknown result type (might be due to invalid IL or missing references)
		//IL_021a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0222: Unknown result type (might be due to invalid IL or missing references)
		//IL_022a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0233: 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_0246: Unknown result type (might be due to invalid IL or missing references)
		//IL_0252: Unknown result type (might be due to invalid IL or missing references)
		//IL_025a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0262: Unknown result type (might be due to invalid IL or missing references)
		//IL_026a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0273: Expected O, but got Unknown
		//IL_0276: Unknown result type (might be due to invalid IL or missing references)
		//IL_027b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0287: Unknown result type (might be due to invalid IL or missing references)
		//IL_0293: Unknown result type (might be due to invalid IL or missing references)
		//IL_029b: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b5: Expected O, but got Unknown
		//IL_02b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f6: Expected O, but got Unknown
		//IL_02f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_030a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0316: Unknown result type (might be due to invalid IL or missing references)
		//IL_031e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0326: Unknown result type (might be due to invalid IL or missing references)
		//IL_032e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0337: Expected O, but got Unknown
		//IL_033a: Unknown result type (might be due to invalid IL or missing references)
		//IL_033f: Unknown result type (might be due to invalid IL or missing references)
		//IL_034b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0357: Unknown result type (might be due to invalid IL or missing references)
		//IL_035f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0367: Unknown result type (might be due to invalid IL or missing references)
		//IL_036f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0378: Expected O, but got Unknown
		//IL_037b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0380: Unknown result type (might be due to invalid IL or missing references)
		//IL_038c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0398: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b9: Expected O, but got Unknown
		//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fa: Expected O, but got Unknown
		//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0402: Unknown result type (might be due to invalid IL or missing references)
		//IL_040e: Unknown result type (might be due to invalid IL or missing references)
		//IL_041a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0422: Unknown result type (might be due to invalid IL or missing references)
		//IL_042a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0432: Unknown result type (might be due to invalid IL or missing references)
		//IL_043b: Expected O, but got Unknown
		//IL_043e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0443: Unknown result type (might be due to invalid IL or missing references)
		//IL_044f: Unknown result type (might be due to invalid IL or missing references)
		//IL_045b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0463: Unknown result type (might be due to invalid IL or missing references)
		//IL_046b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0473: Unknown result type (might be due to invalid IL or missing references)
		//IL_047c: Expected O, but got Unknown
		//IL_0483: Unknown result type (might be due to invalid IL or missing references)
		//IL_048a: Expected O, but got Unknown
		//IL_0527: Unknown result type (might be due to invalid IL or missing references)
		//IL_052e: Expected O, but got Unknown
		//IL_0538: Unknown result type (might be due to invalid IL or missing references)
		//IL_053d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0549: Unknown result type (might be due to invalid IL or missing references)
		//IL_0555: 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_0566: Unknown result type (might be due to invalid IL or missing references)
		//IL_056e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0577: Expected O, but got Unknown
		//IL_0579: Unknown result type (might be due to invalid IL or missing references)
		//IL_057e: Unknown result type (might be due to invalid IL or missing references)
		//IL_058a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0596: Unknown result type (might be due to invalid IL or missing references)
		//IL_059e: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b7: Expected O, but got Unknown
		//IL_05b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05be: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_05de: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f7: Expected O, but got Unknown
		//IL_05f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_060a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0616: Unknown result type (might be due to invalid IL or missing references)
		//IL_061e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0626: Unknown result type (might be due to invalid IL or missing references)
		//IL_062e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0637: Expected O, but got Unknown
		//IL_0639: Unknown result type (might be due to invalid IL or missing references)
		//IL_063e: Unknown result type (might be due to invalid IL or missing references)
		//IL_064a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0656: Unknown result type (might be due to invalid IL or missing references)
		//IL_065e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0666: Unknown result type (might be due to invalid IL or missing references)
		//IL_066e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0677: Expected O, but got Unknown
		//IL_0679: Unknown result type (might be due to invalid IL or missing references)
		//IL_067e: Unknown result type (might be due to invalid IL or missing references)
		//IL_068a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0696: Unknown result type (might be due to invalid IL or missing references)
		//IL_069e: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b7: Expected O, but got Unknown
		//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06be: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_06d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_06de: Unknown result type (might be due to invalid IL or missing references)
		//IL_06e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_06f7: Expected O, but got Unknown
		//IL_06f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_070a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0716: Unknown result type (might be due to invalid IL or missing references)
		//IL_071e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0726: Unknown result type (might be due to invalid IL or missing references)
		//IL_072e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0737: Expected O, but got Unknown
		//IL_073e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0745: Expected O, but got Unknown
		//IL_07e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e9: Expected O, but got Unknown
		//IL_07f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_07f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0805: Unknown result type (might be due to invalid IL or missing references)
		//IL_0811: Unknown result type (might be due to invalid IL or missing references)
		//IL_0819: Unknown result type (might be due to invalid IL or missing references)
		//IL_0822: Unknown result type (might be due to invalid IL or missing references)
		//IL_082a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0833: Expected O, but got Unknown
		//IL_0835: Unknown result type (might be due to invalid IL or missing references)
		//IL_083a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0846: Unknown result type (might be due to invalid IL or missing references)
		//IL_0852: Unknown result type (might be due to invalid IL or missing references)
		//IL_085a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0862: Unknown result type (might be due to invalid IL or missing references)
		//IL_086a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0873: Expected O, but got Unknown
		//IL_0875: Unknown result type (might be due to invalid IL or missing references)
		//IL_087a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0886: Unknown result type (might be due to invalid IL or missing references)
		//IL_0892: Unknown result type (might be due to invalid IL or missing references)
		//IL_089a: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_08aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_08b3: Expected O, but got Unknown
		//IL_08b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_08ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_08c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_08d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_08da: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_08ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_08f3: Expected O, but got Unknown
		//IL_08f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_08fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0906: Unknown result type (might be due to invalid IL or missing references)
		//IL_0912: Unknown result type (might be due to invalid IL or missing references)
		//IL_091a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0922: Unknown result type (might be due to invalid IL or missing references)
		//IL_092a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0933: Expected O, but got Unknown
		//IL_0935: Unknown result type (might be due to invalid IL or missing references)
		//IL_093a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0946: Unknown result type (might be due to invalid IL or missing references)
		//IL_0952: Unknown result type (might be due to invalid IL or missing references)
		//IL_095a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0962: Unknown result type (might be due to invalid IL or missing references)
		//IL_096a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0973: Expected O, but got Unknown
		//IL_0975: Unknown result type (might be due to invalid IL or missing references)
		//IL_097a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0986: Unknown result type (might be due to invalid IL or missing references)
		//IL_0992: Unknown result type (might be due to invalid IL or missing references)
		//IL_099a: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_09aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_09b3: Expected O, but got Unknown
		//IL_09b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_09ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_09d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_09da: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_09ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_09f3: Expected O, but got Unknown
		//IL_09f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_09fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a06: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a12: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a1a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a22: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a2a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a33: Expected O, but got Unknown
		//IL_0a3a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a41: Expected O, but got Unknown
		try
		{
			GameObject val = MimicAssets.LoadAsset<GameObject>("Mimic_SimpleSmall_AH");
			if (Object.op_Implicit((Object)(object)val))
			{
				CreatureConfig val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[17]
				{
					new DropConfig
					{
						Item = "Item_Amethyst_AH",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_Emerald_AH",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_Sapphire_AH",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_RingCopper_AH",
						Chance = 33f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_RingGold_AH",
						Chance = 33f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_RingSilver_AH",
						Chance = 33f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_AmulateCeltic_AH",
						Chance = 25f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_AmuletAmythest_AH",
						Chance = 25f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_AmuletOnyx_AH",
						Chance = 25f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Coins",
						Chance = 100f,
						MinAmount = 2,
						MaxAmount = 12,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Amber",
						Chance = 75f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "AmberPearl",
						Chance = 66f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Ruby",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "SilverNecklace",
						Chance = 33f,
						MinAmount = 1,
						MaxAmount = 1,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_Schematic_SmallChest_AH",
						Chance = 0.1f,
						MinAmount = 1,
						MaxAmount = 1,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Chance = 33f,
						MinAmount = 1,
						MaxAmount = 4,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val3 = new CustomCreature(val, true, val2);
				CreatureManager.Instance.AddCreature(val3);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val).name + " to the Object database"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val).name + " to the Object database"));
			}
			GameObject val4 = MimicAssets.LoadAsset<GameObject>("Mimic_IronSmall_AH");
			if (Object.op_Implicit((Object)(object)val4))
			{
				CreatureConfig val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[8]
				{
					new DropConfig
					{
						Item = "Coins",
						Chance = 100f,
						MinAmount = 2,
						MaxAmount = 12,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Amber",
						Chance = 75f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "AmberPearl",
						Chance = 66f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Ruby",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "SilverNecklace",
						Chance = 33f,
						MinAmount = 1,
						MaxAmount = 1,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_Schematic_SmallChest_AH",
						Chance = 15f,
						MinAmount = 1,
						MaxAmount = 1,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Chance = 33f,
						MinAmount = 2,
						MaxAmount = 4,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val5 = new CustomCreature(val4, true, val2);
				CreatureManager.Instance.AddCreature(val5);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val4).name + " to the Object database"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val4).name + " to the Object database"));
			}
			GameObject val6 = MimicAssets.LoadAsset<GameObject>("Mimic_OrnateSmall_AH");
			if (Object.op_Implicit((Object)(object)val6))
			{
				CreatureConfig val2 = new CreatureConfig();
				val2.DropConfigs = (DropConfig[])(object)new DropConfig[9]
				{
					new DropConfig
					{
						Item = "Coins",
						Chance = 100f,
						MinAmount = 2,
						MaxAmount = 12,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Amber",
						Chance = 75f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "AmberPearl",
						Chance = 66f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Ruby",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "SilverNecklace",
						Chance = 33f,
						MinAmount = 1,
						MaxAmount = 1,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_Schematic_SmallChest_AH",
						Chance = 0.2f,
						MinAmount = 1,
						MaxAmount = 1,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_HeroSilverCoin_AH",
						Chance = 50f,
						MinAmount = 1,
						MaxAmount = 2,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_HeroGoldCoin_AH",
						Chance = 33f,
						MinAmount = 2,
						MaxAmount = 4,
						OnePerPlayer = false,
						LevelMultiplier = false
					},
					new DropConfig
					{
						Item = "Item_HeroCrystal_AH",
						Chance = 33f,
						MinAmount = 2,
						MaxAmount = 5,
						OnePerPlayer = false,
						LevelMultiplier = false
					}
				};
				CustomCreature val7 = new CustomCreature(val6, true, val2);
				CreatureManager.Instance.AddCreature(val7);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((Object)val6).name + " to the Object database"));
				}
			}
			else if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)("Failed to Add: " + ((Object)val6).name + " to the Object database"));
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Mimic monsters: {arg}");
		}
	}

	private void AddMediumMimicMonsters()
	{
		//IL_0023: Unknown result type (might be due to invalid IL or missing references)
		//IL_002a: Expected O, but got Unknown
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_006a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0073: Expected O, but got Unknown
		//IL_0075: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: 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_0092: 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_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: 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_00da: 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_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f3: Expected O, but got Unknown
		//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fa: 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_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_0122: Unknown result type (might be due to invalid IL or missing references)
		//IL_012a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0133: Expected O, but got Unknown
		//IL_0135: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: 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_015a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0162: 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_0173: Expected O, but got Unknown
		//IL_0175: 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_0186: 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_01b3: Expected O, but got Unknown
		//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01da: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f3: Expected O, but got Unknown
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0206: Unknown result type (might be due to invalid IL or missing references)
		//IL_0212: Unknown result type (might be due to invalid IL or missing references)
		//IL_021a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0222: Unknown result type (might be due to invalid IL or missing references)
		//IL_022a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0233: 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_0246: Unknown result type (might be due to invalid IL or missing references)
		//IL_0252: Unknown result type (might be due to invalid IL or missing references)
		//IL_025a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0262: Unknown result type (might be due to invalid IL or missing references)
		//IL_026a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0273: Expected O, but got Unknown
		//IL_0276: Unknown result type (might be due to invalid IL or missing references)
		//IL_027b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0287: Unknown result type (might be due to invalid IL or missing references)
		//IL_0293: Unknown result type (might be due to invalid IL or missing references)
		//IL_029b: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b5: Expected O, but got Unknown
		//IL_02b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f6: Expected O, but got Unknown
		//IL_02f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_030a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0316: Unknown result type (might be due to invalid IL or missing references)
		//IL_031e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0326: Unknown result type (might be due to invalid IL or missing references)
		//IL_032e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0337: Expected O, but got Unknown
		//IL_033a: Unknown result type (might be due to invalid IL or missing references)
		//IL_033f: Unknown result type (might be due to invalid IL or missing references)
		//IL_034b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0357: Unknown result type (might be due to invalid IL or missing references)
		//IL_035f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0367: Unknown result type (might be due to invalid IL or missing references)
		//IL_036f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0378: Expected O, but got Unknown
		//IL_037b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0380: Unknown result type (might be due to invalid IL or missing references)
		//IL_038c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0398: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b9: Expected O, but got Unknown
		//IL_03bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fa: Expected O, but got Unknown
		//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0402: Unknown result type (might be due to invalid IL or missing references)
		//IL_040e: Unknown result type (might be due to invalid IL or missing references)
		//IL_041a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0422: Unknown result type (might be due to invalid IL or missing references)
		//IL_042a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0432: Unknown result type (might be due to invalid IL or missing references)
		//IL_043b: Expected O, but got Unknown
		//IL_043e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0443: Unknown result type (might be due to invalid IL or missing references)
		//IL_044f: Unknown result type (might be due to invalid IL or missing references)
		//IL_045b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0463: Unknown result type (might be due to invalid IL or missing references)
		//IL_046b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0473: Unknown result type (might be due to invalid IL or missing references)
		//IL_047c: Expected O, but got Unknown
		//IL_0483: Unknown result type (might be due to invalid IL or missing references)
		//IL_048a: Expected O, but got Unknown
		//IL_0527: Unknown result type (might be due to invalid IL or missing references)
		//IL_052e: Expected O, but got Unknown
		//IL_0539: Unknown result type (might be due to invalid IL or missing references)
		//IL_053e: Unknown result type (might be due to invalid IL or missing references)
		//IL_054a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0556: Unknown result type (might be due to invalid IL or missing references)
		//IL_055e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0566: Unknown result type (might be due to invalid IL or missing references)
		//IL_056e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0577: Expected O, but got Unknown
		//IL_0579: Unknown result type (might be due to invalid IL or missing references)
		//IL_057e: Unknown result type (might be due to invalid IL or missing references)
		//IL_058a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0596: Unknown result type (might be due to invalid IL or missing references)
		//IL_059e: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b7: Expected O, but got Unknown
		//IL_05b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05be: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_05de: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f7: Expected O, but got Unknown
		//IL_05f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_060a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0616: Unknown result type (might be due to invalid IL or missing references)
		//IL_061e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0626: Unknown result type (might be due to invalid IL or missing references)
		//IL_062e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0637: Expected O, but got Unknown
		//IL_0639: Unknown result type (might be due to invalid IL or missing references)
		//IL_063e: Unknown result type (might be due to invalid IL or missing references)
		//IL_064a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0656: Unknown result type (might be due to invalid IL or missing references)
		//IL_065e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0666: Unknown result type (might be due to invalid IL or missing references)
		//IL_066e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0677: Expected O, but got Unknown
		//IL_0679: Unknown result type (might be due to invalid IL or missing references)
		//IL_067e: Unknown result type (might be due to invalid IL or missing references)
		//IL_068a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0696: Unknown result type (might be due to invalid IL or missing references)
		//IL_069e: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_06b7: Expected O, but got Unknown
		//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06be: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_06d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_06de: Unknown result type (might be due to invalid IL or missing references)
		//IL_06e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_06ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_06f7: Expected O, but got Unknown
		//IL_06f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_06fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_070a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0716: Unknown result type (might be due to invalid IL or missing references)
		//IL_071e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0726: Unknown result type (might be due to invalid IL or missing references)
		//IL_072e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0737: Expected O, but got Unknown
		//IL_0739: Unknown result type (might be due to invalid IL or missing references)
		//IL_073e: Unknown result type (might be due to invalid IL or missing references)
		//IL_074a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0756: Unknown result type (might be due to invalid IL or missing references)
		//IL_075e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0766: Unknown result type (might be due to invalid IL or missing references)
		//IL_076e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0777: Expected O, but got Unknown
		//IL_077a: Unknown result type (might be due to invalid IL or missing references)
		//IL_077f: Unknown result type (might be due to invalid IL or missing references)
		//IL_078b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0797: Unknown result type (might be due to invalid IL or missing references)
		//IL_079f: Unknown result type (might be due to invalid IL or missing references)
		//IL_07a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b9: Expected O, but got Unknown
		//IL_07bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_07c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_07cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_07d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_07e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_07f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_07fa: Expected O, but got Unknown
		//IL_07fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0802: Unknown result type (might be due to invalid IL or missing references)
		//IL_080e: Unknown result type (might be due to invalid IL or missing references)
		//IL_081a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0822: Unknown result type (might be due to invalid IL or missing references)
		//IL_082a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0832: Unknown result type (might be due to invalid IL or missing references)
		//IL_083b: Expected O, but got Unknown
		//IL_083e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0843: Unknown result type (might be due to invalid IL or missing references)
		//IL_084f: Unknown result type (might be due to invalid IL or missing references)
		//IL_085b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0863: Unknown result type (might be due to invalid IL or missing references)
		//IL_086b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0873: Unknown result type (might be due to invalid IL or missing references)
		//IL_087c: Expected O, but got Unknown
		//IL_087f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0884: Unknown result type (might be due to invalid IL or missing references)
		//IL_0890: Unknown result type (might be due to invalid IL or missing references)
		//IL_089c: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_08ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_08b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_08bd: Expected O, but got Unknown
		//IL_08c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_08c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_08d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_08dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_08e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_08ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_08f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_08fe: Expected O, but got Unknown
		//IL_0901: Unknown result type (might be due to invalid IL or missing references)
		//IL_0906: Unknown result type (might be due to invalid IL or missing references)
		//IL_0912: Unknown result type (might be due to invalid IL or missing references)
		//IL_091e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0926: Unknown result type (might be due to invalid IL or missing references)
		//IL_092e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0936: Unknown result type (might be due to invalid IL or missing references)
		//IL_093f: Expected O, but got Unknown
		//IL_0942: Unknown result type (might be due to invalid IL or missing references)
		//IL_0947: Unknown result type (might be due to invalid IL or missing references)
		//IL_0953: Unknown result type (might be due to invalid IL or missing references)
		//IL_095f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0967: Unknown result type (might be due to invalid IL or missing references)
		//IL_096f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0977: Unknown result type (might be due to invalid IL or missing references)
		//IL_0980: Expected O, but got Unknown
		//IL_0987: Unknown result type (might be due to invalid IL or missing references)
		//IL_098e: Expected O, but got Unknown
		//IL_0a2b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a32: Expected O, but got Unknown
		//IL_0a3d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a42: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a4e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a5a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a62: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a6a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a72: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a7b: Expected O, but got Unknown
		//IL_0a7d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a82: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a8e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a9a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aa2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aaa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ab2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0abb: Expected O, but got Unknown
		//IL_0abd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ac2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ace: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ada: Unknown result type (might be due to invalid IL or missing references)
		//IL_0ae2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0aea: Unknown result type (might be due to invalid IL or missing references)
		//IL_0af2: Unknown result type (might be due to invalid IL or missing references)
		//IL_0afb: Expected O, but got Unknown
		//IL_0afd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0b02: Unknown result type (might be du