Decompiled source of Cackleheim v3.6.4

BepInEx/plugins/Cackleheim/Cackleheim.dll

Decompiled 2 weeks ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
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("Cackleheim")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Cackleheim")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("e3243d22-4307-4008-ba36-9f326008cde5")]
[assembly: AssemblyFileVersion("0.0.1.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.1.0")]
namespace Cackleheim;

[BepInPlugin("DarnHyena.Cackleheim", "Cackleheim", "3.4.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
internal class Cackleheim : BaseUnityPlugin
{
	[HarmonyPatch(typeof(Player), "OnSpawned")]
	private static class PlayerSpawnPatch
	{
		private static void Postfix(Player __instance)
		{
			if (!holdoverItems.Any())
			{
				return;
			}
			Inventory inventory = ((Humanoid)__instance).GetInventory();
			foreach (ItemData holdoverItem in holdoverItems)
			{
				Logger.LogInfo((object)("Re-adding " + holdoverItem.m_shared.m_name));
				if (inventory.AddItem(holdoverItem))
				{
					ItemData item = inventory.GetItem(holdoverItem.m_shared.m_name, -1, false);
					((Humanoid)__instance).EquipItem(item, true);
				}
			}
			holdoverItems.Clear();
		}
	}

	[HarmonyPatch(typeof(Player), "OnDeath")]
	private static class PlayerOnDeathPatch
	{
		private static void Prefix(Player __instance)
		{
			foreach (ItemData item in new List<ItemData>(((Humanoid)__instance).m_inventory.GetAllItems()))
			{
				if (item.m_equipped && holdoverItemsSet.Contains(((Object)item.m_dropPrefab).name))
				{
					item.m_equipped = false;
					holdoverItems.Add(item);
					((Humanoid)__instance).m_inventory.RemoveOneItem(item);
				}
			}
		}
	}

	[HarmonyPatch(typeof(VisEquipment), "SetChestEquipped")]
	private static class VisEquipChestPatch
	{
		private static void Prefix(VisEquipment __instance)
		{
			oldHash = __instance.m_currentChestItemHash;
		}
	}

	[HarmonyPatch(typeof(VisEquipment), "SetChestEquipped")]
	private static class VisEquipPatch
	{
		private static void Postfix(VisEquipment __instance, int hash, ref bool __result)
		{
			List<int> list = new List<int>();
			list.Add(StringExtensionMethods.GetStableHashCode(((Object)Cak1Obj).name));
			list.Add(StringExtensionMethods.GetStableHashCode(((Object)WamObj).name));
			list.Add(StringExtensionMethods.GetStableHashCode(((Object)CuaObj).name));
			list.Add(StringExtensionMethods.GetStableHashCode(((Object)DraObj).name));
			list.Add(StringExtensionMethods.GetStableHashCode(((Object)ForObj).name));
			list.Add(StringExtensionMethods.GetStableHashCode(((Object)FenObj).name));
			if (__result && (Object)(object)__instance.m_bodyModel != (Object)null)
			{
				if (list.Contains(hash))
				{
					((Renderer)__instance.m_bodyModel).material = TransparentMaterial;
					((Renderer)__instance.m_bodyModel).materials = (Material[])(object)new Material[2] { TransparentMaterial, TransparentMaterial };
				}
				else if (list.Contains(oldHash))
				{
					((Renderer)__instance.m_bodyModel).material = __instance.m_models[__instance.m_nview.GetZDO().GetInt("ModelIndex", 0)].m_baseMaterial;
				}
			}
			__result = true;
		}
	}

	public const string PluginGUID = "DarnHyena.Cackleheim";

	public const string PluginName = "Cackleheim";

	public const string PluginVersion = "3.4.0";

	private static GameObject Cak1Obj;

	private static GameObject WamObj;

	private static GameObject CuaObj;

	private static GameObject DraObj;

	private static GameObject ForObj;

	private static GameObject FenObj;

	private Texture2D YeeTex;

	private Texture2D WamTex;

	private Texture2D DraTex;

	private Texture2D CuaTex;

	private Texture2D FenTex;

	private List<Sprite> Yeecons = new List<Sprite>();

	private List<Sprite> Wamcons = new List<Sprite>();

	private List<Sprite> Dracons = new List<Sprite>();

	private List<Sprite> Cuacons = new List<Sprite>();

	private List<Sprite> Fencons = new List<Sprite>();

	private static Material TransparentMaterial;

	private static HashSet<string> holdoverItemsSet = new HashSet<string> { "Cackle01", "chWambui", "chCuan", "chDraca", "chForsaken", "chFeral" };

	private static readonly List<ItemData> holdoverItems = new List<ItemData>();

	private static int oldHash;

	private void Awake()
	{
		//IL_000b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0015: Expected O, but got Unknown
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_008d: Unknown result type (might be due to invalid IL or missing references)
		TransparentMaterial = new Material(Shader.Find("Standard"));
		TransparentMaterial.SetColor("_Color", Color.clear);
		TransparentMaterial.SetFloat("_Mode", 1f);
		TransparentMaterial.SetInt("_SrcBlend", 1);
		TransparentMaterial.SetInt("_DstBlend", 0);
		TransparentMaterial.EnableKeyword("_ALPHATEST_ON");
		TransparentMaterial.renderQueue = 2450;
		CreateItems();
		new Harmony("Cackleheim").PatchAll();
	}

	private void CreateItems()
	{
		//IL_0228: Unknown result type (might be due to invalid IL or missing references)
		//IL_022f: Expected O, but got Unknown
		//IL_025a: Unknown result type (might be due to invalid IL or missing references)
		//IL_025f: Unknown result type (might be due to invalid IL or missing references)
		//IL_026b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0273: Unknown result type (might be due to invalid IL or missing references)
		//IL_027d: Expected O, but got Unknown
		//IL_027f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0284: Unknown result type (might be due to invalid IL or missing references)
		//IL_0290: Unknown result type (might be due to invalid IL or missing references)
		//IL_0298: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a1: Expected O, but got Unknown
		//IL_02a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02af: Expected O, but got Unknown
		//IL_02c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c8: Expected O, but got Unknown
		//IL_02f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0304: Unknown result type (might be due to invalid IL or missing references)
		//IL_030c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0316: Expected O, but got Unknown
		//IL_0318: Unknown result type (might be due to invalid IL or missing references)
		//IL_031d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0329: Unknown result type (might be due to invalid IL or missing references)
		//IL_0331: Unknown result type (might be due to invalid IL or missing references)
		//IL_033a: Expected O, but got Unknown
		//IL_0342: Unknown result type (might be due to invalid IL or missing references)
		//IL_0348: Expected O, but got Unknown
		//IL_035a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0361: Expected O, but got Unknown
		//IL_038c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0391: Unknown result type (might be due to invalid IL or missing references)
		//IL_039d: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03af: Expected O, but got Unknown
		//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d3: Expected O, but got Unknown
		//IL_03db: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e1: Expected O, but got Unknown
		//IL_03f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fa: Expected O, but got Unknown
		//IL_0425: 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_0436: Unknown result type (might be due to invalid IL or missing references)
		//IL_043e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0448: Expected O, but got Unknown
		//IL_044a: 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_046c: Expected O, but got Unknown
		//IL_0474: Unknown result type (might be due to invalid IL or missing references)
		//IL_047b: Expected O, but got Unknown
		//IL_048e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0495: Expected O, but got Unknown
		//IL_04ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ce: Expected O, but got Unknown
		//IL_04d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f2: Expected O, but got Unknown
		//IL_04f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f9: 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_050d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0517: Expected O, but got Unknown
		//IL_0519: Unknown result type (might be due to invalid IL or missing references)
		//IL_051e: Unknown result type (might be due to invalid IL or missing references)
		//IL_052a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0532: Unknown result type (might be due to invalid IL or missing references)
		//IL_053b: Expected O, but got Unknown
		//IL_0543: Unknown result type (might be due to invalid IL or missing references)
		//IL_054a: Expected O, but got Unknown
		//IL_055d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0564: Expected O, but got Unknown
		//IL_059c: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_05be: Expected O, but got Unknown
		//IL_05c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e2: Expected O, but got Unknown
		//IL_05e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_05fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0607: Expected O, but got Unknown
		//IL_0609: Unknown result type (might be due to invalid IL or missing references)
		//IL_060e: Unknown result type (might be due to invalid IL or missing references)
		//IL_061a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0622: Unknown result type (might be due to invalid IL or missing references)
		//IL_062b: Expected O, but got Unknown
		//IL_0633: Unknown result type (might be due to invalid IL or missing references)
		//IL_063a: Expected O, but got Unknown
		AssetBundle val = AssetUtils.LoadAssetBundleFromResources("itemcackle", typeof(Cackleheim).Assembly);
		Cak1Obj = val.LoadAsset<GameObject>("Cackle01");
		WamObj = val.LoadAsset<GameObject>("chWambui");
		CuaObj = val.LoadAsset<GameObject>("chCuan");
		DraObj = val.LoadAsset<GameObject>("chDraca");
		ForObj = val.LoadAsset<GameObject>("chForsaken");
		FenObj = val.LoadAsset<GameObject>("chFeral");
		YeeTex = val.LoadAsset<Texture2D>("CackleStyles");
		WamTex = val.LoadAsset<Texture2D>("WambuiStyles");
		DraTex = val.LoadAsset<Texture2D>("DracaStyles");
		CuaTex = val.LoadAsset<Texture2D>("CuanStyles");
		FenTex = val.LoadAsset<Texture2D>("FeralStyles");
		for (int i = 1; i <= 4; i++)
		{
			string text = $"CackleIcon{i:00}";
			Yeecons.Add(val.LoadAsset<Sprite>(text));
		}
		for (int j = 1; j <= 3; j++)
		{
			string text2 = $"WamIcon{j:00}";
			Wamcons.Add(val.LoadAsset<Sprite>(text2));
		}
		for (int k = 1; k <= 3; k++)
		{
			string text3 = $"DraIcon{k:00}";
			Dracons.Add(val.LoadAsset<Sprite>(text3));
		}
		for (int l = 1; l <= 3; l++)
		{
			string text4 = $"CuaIcon{l:00}";
			Cuacons.Add(val.LoadAsset<Sprite>(text4));
		}
		for (int m = 1; m <= 2; m++)
		{
			string text5 = $"FenIcon{m:00}";
			Fencons.Add(val.LoadAsset<Sprite>(text5));
		}
		val.Unload(false);
		GameObject cak1Obj = Cak1Obj;
		ItemConfig val2 = new ItemConfig();
		val2.StyleTex = YeeTex;
		val2.Icons = Yeecons.ToArray();
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 1,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val3 = new CustomItem(cak1Obj, true, val2);
		ItemManager.Instance.AddItem(val3);
		GameObject wamObj = WamObj;
		val2 = new ItemConfig();
		val2.StyleTex = WamTex;
		val2.Icons = Wamcons.ToArray();
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 1,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val4 = new CustomItem(wamObj, true, val2);
		ItemManager.Instance.AddItem(val4);
		GameObject cuaObj = CuaObj;
		val2 = new ItemConfig();
		val2.StyleTex = CuaTex;
		val2.Icons = Cuacons.ToArray();
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 1,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val5 = new CustomItem(cuaObj, true, val2);
		ItemManager.Instance.AddItem(val5);
		GameObject draObj = DraObj;
		val2 = new ItemConfig();
		val2.StyleTex = DraTex;
		val2.Icons = Dracons.ToArray();
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 1,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val6 = new CustomItem(draObj, true, val2);
		ItemManager.Instance.AddItem(val6);
		GameObject forObj = ForObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
		{
			new RequirementConfig
			{
				Item = "Cackle01",
				Amount = 1,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "TrophyDraugr",
				Amount = 1,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 1,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val7 = new CustomItem(forObj, true, val2);
		ItemManager.Instance.AddItem(val7);
		GameObject fenObj = FenObj;
		val2 = new ItemConfig();
		val2.StyleTex = FenTex;
		val2.Icons = Fencons.ToArray();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
		{
			new RequirementConfig
			{
				Item = "chCuan",
				Amount = 1,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "TrophyFenring",
				Amount = 1,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 1,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val8 = new CustomItem(fenObj, true, val2);
		ItemManager.Instance.AddItem(val8);
		CustomLocalization localization = LocalizationManager.Instance.GetLocalization();
		string text6 = "English";
		localization.AddTranslation(ref text6, new Dictionary<string, string>
		{
			{ "chB1", "dey Cackle Totem" },
			{ "chB_D", "A strange trinket covered in moss.  You hear a faint noise when held" },
			{ "chWam", "dey Wambui Totem" },
			{ "chWam_D", "Like Mama always said, you are what you eat" },
			{ "chCua", "dey Cuan Totem" },
			{ "chCua_D", "Once belonged to a strange creature that yells at the Moon" },
			{ "chDra", "dey Draca Totem" },
			{ "chDra_D", "Smells a bit Fishy" },
			{ "chFor", "dey Forsaken Totem" },
			{ "chFor_D", "A strange trinket. Something's different about this one" },
			{ "chFen", "dey Feral Totem" },
			{ "chFen_D", "Essence of a hound lost to the mountains" }
		});
	}
}
public class CackleForest
{
	private static GameObject THatObj;

	private static GameObject TPantObj;

	private static GameObject TCapeObj;

	private static GameObject BHatObj;

	private static GameObject BPantObj;

	private static GameObject BCapeObj;

	public static void AddCackleForest()
	{
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Expected O, but got Unknown
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d2: Expected O, but got Unknown
		//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Expected O, but got Unknown
		//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_0104: 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_013d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0142: Unknown result type (might be due to invalid IL or missing references)
		//IL_014e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0156: Unknown result type (might be due to invalid IL or missing references)
		//IL_015f: Expected O, but got Unknown
		//IL_0167: Unknown result type (might be due to invalid IL or missing references)
		//IL_016d: Expected O, but got Unknown
		//IL_017f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0186: Expected O, but got Unknown
		//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c8: Expected O, but got Unknown
		//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d6: Expected O, but got Unknown
		//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ef: Expected O, but got Unknown
		//IL_0206: Unknown result type (might be due to invalid IL or missing references)
		//IL_020b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0217: Unknown result type (might be due to invalid IL or missing references)
		//IL_021f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0228: Expected O, but got Unknown
		//IL_022a: Unknown result type (might be due to invalid IL or missing references)
		//IL_022f: Unknown result type (might be due to invalid IL or missing references)
		//IL_023b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0243: Unknown result type (might be due to invalid IL or missing references)
		//IL_024c: Expected O, but got Unknown
		//IL_0254: Unknown result type (might be due to invalid IL or missing references)
		//IL_025b: Expected O, but got Unknown
		//IL_026e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0275: Expected O, but got Unknown
		//IL_028c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0291: Unknown result type (might be due to invalid IL or missing references)
		//IL_029d: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ae: Expected O, but got Unknown
		//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c1: 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_02d2: Expected O, but got Unknown
		//IL_02da: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e1: Expected O, but got Unknown
		//IL_02f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fb: Expected O, but got Unknown
		//IL_0312: Unknown result type (might be due to invalid IL or missing references)
		//IL_0317: Unknown result type (might be due to invalid IL or missing references)
		//IL_0323: Unknown result type (might be due to invalid IL or missing references)
		//IL_032b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0334: Expected O, but got Unknown
		//IL_0336: Unknown result type (might be due to invalid IL or missing references)
		//IL_033b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0347: Unknown result type (might be due to invalid IL or missing references)
		//IL_034f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0358: Expected O, but got Unknown
		//IL_0360: Unknown result type (might be due to invalid IL or missing references)
		//IL_0367: Expected O, but got Unknown
		AssetBundle val = AssetUtils.LoadAssetBundleFromResources("itemforest", typeof(CackleForest).Assembly);
		THatObj = val.LoadAsset<GameObject>("chTrHat");
		TPantObj = val.LoadAsset<GameObject>("chTrPants");
		TCapeObj = val.LoadAsset<GameObject>("chTrScarf");
		BHatObj = val.LoadAsset<GameObject>("chBzHelm");
		BPantObj = val.LoadAsset<GameObject>("chBzPants");
		BCapeObj = val.LoadAsset<GameObject>("chBzChest");
		val.Unload(false);
		GameObject tHatObj = THatObj;
		ItemConfig val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "TrollHide",
				Amount = 5,
				AmountPerLevel = 3
			},
			new RequirementConfig
			{
				Item = "BoneFragments",
				Amount = 3,
				AmountPerLevel = 2
			}
		};
		CustomItem val3 = new CustomItem(tHatObj, true, val2);
		ItemManager.Instance.AddItem(val3);
		GameObject tCapeObj = TCapeObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "TrollHide",
				Amount = 5,
				AmountPerLevel = 3
			}
		};
		CustomItem val4 = new CustomItem(tCapeObj, true, val2);
		ItemManager.Instance.AddItem(val4);
		GameObject tPantObj = TPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "TrollHide",
				Amount = 5,
				AmountPerLevel = 3
			}
		};
		CustomItem val5 = new CustomItem(tPantObj, true, val2);
		ItemManager.Instance.AddItem(val5);
		GameObject bHatObj = BHatObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "Bronze",
				Amount = 5,
				AmountPerLevel = 3
			}
		};
		CustomItem val6 = new CustomItem(bHatObj, true, val2);
		ItemManager.Instance.AddItem(val6);
		GameObject bCapeObj = BCapeObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "Bronze",
				Amount = 5,
				AmountPerLevel = 3
			}
		};
		CustomItem val7 = new CustomItem(bCapeObj, true, val2);
		ItemManager.Instance.AddItem(val7);
		GameObject bPantObj = BPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "Bronze",
				Amount = 5,
				AmountPerLevel = 3
			}
		};
		CustomItem val8 = new CustomItem(bPantObj, true, val2);
		ItemManager.Instance.AddItem(val8);
		CustomLocalization localization = LocalizationManager.Instance.GetLocalization();
		string text = "English";
		localization.AddTranslation(ref text, new Dictionary<string, string>
		{
			{ "chTH", "[CH]Troll Hat" },
			{ "chTH_D", "Great for keeping the sun out the eyes" },
			{ "chTS", "[CH]Troll Scarf" },
			{ "chTS_D", "A simple scarf with a decorative chunk of some poor souls rib cage you found in the woods" },
			{ "chTP", "[CH]Troll Pants" },
			{ "chTP_D", "A hardy pair of overalls for sneaky farmers. Even comes with extra bones for snacking" },
			{ "chBZH", "[CH]Bronze Helm" },
			{ "chBZH_D", "Shines gracefully like a Golden Egg." },
			{ "chBZC", "[CH]Bronze Plate" },
			{ "chBZC_D", "Some say the first gnoll to forge a bronze plate shined like the sun as they got flung away by a troll." },
			{ "chBZP", "[CH]Bronze Pants " },
			{ "chBZP_D", "Those necks will think twice before biting off your shins with these plated slacks!" }
		});
	}
}
public class CackleMane
{
	private static GameObject MaA1Obj;

	private static GameObject MaA2Obj;

	private static GameObject MaA3Obj;

	private static GameObject MaB1Obj;

	private static GameObject MaB2Obj;

	private static GameObject MaB3Obj;

	private static GameObject MaC1Obj;

	private static GameObject MaC2Obj;

	private static GameObject MaC3Obj;

	public static void AddCackleMane()
	{
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Expected O, but got Unknown
		//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e8: 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_00f9: Expected O, but got Unknown
		//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0100: Unknown result type (might be due to invalid IL or missing references)
		//IL_010c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0114: Unknown result type (might be due to invalid IL or missing references)
		//IL_011d: Expected O, but got Unknown
		//IL_011f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0124: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_0138: Unknown result type (might be due to invalid IL or missing references)
		//IL_0141: Expected O, but got Unknown
		//IL_0149: Unknown result type (might be due to invalid IL or missing references)
		//IL_014f: Expected O, but got Unknown
		//IL_0161: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Expected O, but got Unknown
		//IL_017f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0184: Unknown result type (might be due to invalid IL or missing references)
		//IL_0190: Unknown result type (might be due to invalid IL or missing references)
		//IL_0198: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a1: Expected O, but got Unknown
		//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c5: Expected O, but got Unknown
		//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ea: Expected O, but got Unknown
		//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f8: Expected O, but got Unknown
		//IL_020a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0211: Expected O, but got Unknown
		//IL_0228: Unknown result type (might be due to invalid IL or missing references)
		//IL_022d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0239: Unknown result type (might be due to invalid IL or missing references)
		//IL_0241: Unknown result type (might be due to invalid IL or missing references)
		//IL_024a: Expected O, but got Unknown
		//IL_024c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0251: Unknown result type (might be due to invalid IL or missing references)
		//IL_025d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0266: Unknown result type (might be due to invalid IL or missing references)
		//IL_0270: Expected O, but got Unknown
		//IL_0272: Unknown result type (might be due to invalid IL or missing references)
		//IL_0277: Unknown result type (might be due to invalid IL or missing references)
		//IL_0283: Unknown result type (might be due to invalid IL or missing references)
		//IL_028b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0295: Expected O, but got Unknown
		//IL_029d: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a3: Expected O, but got Unknown
		//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bc: Expected O, but got Unknown
		//IL_02d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f5: Expected O, but got Unknown
		//IL_02f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0308: Unknown result type (might be due to invalid IL or missing references)
		//IL_0310: Unknown result type (might be due to invalid IL or missing references)
		//IL_0319: Expected O, but got Unknown
		//IL_031b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0320: Unknown result type (might be due to invalid IL or missing references)
		//IL_032c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0334: Unknown result type (might be due to invalid IL or missing references)
		//IL_033d: Expected O, but got Unknown
		//IL_0345: Unknown result type (might be due to invalid IL or missing references)
		//IL_034c: Expected O, but got Unknown
		//IL_035f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0366: Expected O, but got Unknown
		//IL_037d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0382: Unknown result type (might be due to invalid IL or missing references)
		//IL_038e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0396: Unknown result type (might be due to invalid IL or missing references)
		//IL_039f: Expected O, but got Unknown
		//IL_03a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c3: Expected O, but got Unknown
		//IL_03c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ca: 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_03de: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e8: Expected O, but got Unknown
		//IL_03f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f7: Expected O, but got Unknown
		//IL_040a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0411: Expected O, but got Unknown
		//IL_0428: Unknown result type (might be due to invalid IL or missing references)
		//IL_042d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0439: Unknown result type (might be due to invalid IL or missing references)
		//IL_0441: Unknown result type (might be due to invalid IL or missing references)
		//IL_044a: Expected O, but got Unknown
		//IL_044c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0451: Unknown result type (might be due to invalid IL or missing references)
		//IL_045d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0466: Unknown result type (might be due to invalid IL or missing references)
		//IL_0470: Expected O, but got Unknown
		//IL_0472: Unknown result type (might be due to invalid IL or missing references)
		//IL_0477: Unknown result type (might be due to invalid IL or missing references)
		//IL_0483: Unknown result type (might be due to invalid IL or missing references)
		//IL_048b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0495: Expected O, but got Unknown
		//IL_049d: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a4: Expected O, but got Unknown
		//IL_04b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_04be: Expected O, but got Unknown
		//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_04da: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f7: Expected O, but got Unknown
		//IL_04f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_04fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_050a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0512: Unknown result type (might be due to invalid IL or missing references)
		//IL_051b: Expected O, but got Unknown
		//IL_051d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0522: Unknown result type (might be due to invalid IL or missing references)
		//IL_052e: 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: Expected O, but got Unknown
		//IL_0547: Unknown result type (might be due to invalid IL or missing references)
		//IL_054e: Expected O, but got Unknown
		//IL_0561: Unknown result type (might be due to invalid IL or missing references)
		//IL_0568: Expected O, but got Unknown
		//IL_057f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0584: Unknown result type (might be due to invalid IL or missing references)
		//IL_0590: Unknown result type (might be due to invalid IL or missing references)
		//IL_0598: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a1: Expected O, but got Unknown
		//IL_05a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_05b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_05bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_05c5: Expected O, but got Unknown
		//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_05cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_05ea: Expected O, but got Unknown
		//IL_05f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f9: Expected O, but got Unknown
		//IL_060c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0613: Expected O, but got Unknown
		//IL_062a: Unknown result type (might be due to invalid IL or missing references)
		//IL_062f: Unknown result type (might be due to invalid IL or missing references)
		//IL_063b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0643: Unknown result type (might be due to invalid IL or missing references)
		//IL_064c: Expected O, but got Unknown
		//IL_064e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0653: Unknown result type (might be due to invalid IL or missing references)
		//IL_065f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0668: Unknown result type (might be due to invalid IL or missing references)
		//IL_0672: Expected O, but got Unknown
		//IL_0674: Unknown result type (might be due to invalid IL or missing references)
		//IL_0679: Unknown result type (might be due to invalid IL or missing references)
		//IL_0685: Unknown result type (might be due to invalid IL or missing references)
		//IL_068d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0697: Expected O, but got Unknown
		//IL_069f: Unknown result type (might be due to invalid IL or missing references)
		//IL_06a6: Expected O, but got Unknown
		AssetBundle val = AssetUtils.LoadAssetBundleFromResources("itemmane", typeof(CackleMane).Assembly);
		MaA1Obj = val.LoadAsset<GameObject>("chMaA1");
		MaA2Obj = val.LoadAsset<GameObject>("chMaA2");
		MaA3Obj = val.LoadAsset<GameObject>("chMaA3");
		MaB1Obj = val.LoadAsset<GameObject>("chMaB1");
		MaB2Obj = val.LoadAsset<GameObject>("chMaB2");
		MaB3Obj = val.LoadAsset<GameObject>("chMaB3");
		MaC1Obj = val.LoadAsset<GameObject>("chMaC1");
		MaC2Obj = val.LoadAsset<GameObject>("chMaC2");
		MaC3Obj = val.LoadAsset<GameObject>("chMaC3");
		val.Unload(false);
		GameObject maA1Obj = MaA1Obj;
		ItemConfig val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "LeatherScraps",
				Amount = 5,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "BoneFragments",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val3 = new CustomItem(maA1Obj, true, val2);
		ItemManager.Instance.AddItem(val3);
		GameObject maA2Obj = MaA2Obj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Bronze",
				Amount = 5,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "TrollHide",
				Amount = 0,
				AmountPerLevel = 10
			}
		};
		CustomItem val4 = new CustomItem(maA2Obj, true, val2);
		ItemManager.Instance.AddItem(val4);
		GameObject maA3Obj = MaA3Obj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "WolfPelt",
				Amount = 2,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Silver",
				Amount = 10,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 0,
				AmountPerLevel = 10
			}
		};
		CustomItem val5 = new CustomItem(maA3Obj, true, val2);
		ItemManager.Instance.AddItem(val5);
		GameObject maB1Obj = MaB1Obj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "LeatherScraps",
				Amount = 5,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "BoneFragments",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val6 = new CustomItem(maB1Obj, true, val2);
		ItemManager.Instance.AddItem(val6);
		GameObject maB2Obj = MaB2Obj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Bronze",
				Amount = 5,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "TrollHide",
				Amount = 0,
				AmountPerLevel = 10
			}
		};
		CustomItem val7 = new CustomItem(maB2Obj, true, val2);
		ItemManager.Instance.AddItem(val7);
		GameObject maB3Obj = MaB3Obj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "WolfPelt",
				Amount = 2,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Silver",
				Amount = 10,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 0,
				AmountPerLevel = 10
			}
		};
		CustomItem val8 = new CustomItem(maB3Obj, true, val2);
		ItemManager.Instance.AddItem(val8);
		GameObject maC1Obj = MaC1Obj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "LeatherScraps",
				Amount = 5,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "BoneFragments",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val9 = new CustomItem(maC1Obj, true, val2);
		ItemManager.Instance.AddItem(val9);
		GameObject maC2Obj = MaC2Obj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Bronze",
				Amount = 5,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "TrollHide",
				Amount = 0,
				AmountPerLevel = 10
			}
		};
		CustomItem val10 = new CustomItem(maC2Obj, true, val2);
		ItemManager.Instance.AddItem(val10);
		GameObject maC3Obj = MaC3Obj;
		val2 = new ItemConfig();
		val2.CraftingStation = "chSalon";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "WolfPelt",
				Amount = 2,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Silver",
				Amount = 10,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 0,
				AmountPerLevel = 10
			}
		};
		CustomItem val11 = new CustomItem(maC3Obj, true, val2);
		ItemManager.Instance.AddItem(val11);
		CustomLocalization localization = LocalizationManager.Instance.GetLocalization();
		string text = "English";
		localization.AddTranslation(ref text, new Dictionary<string, string>
		{
			{ "chMA1", "[CH]Light ManeA" },
			{ "chMA2", "[CH]Medium ManeA" },
			{ "chMA3", "[CH]Heavy ManeA" },
			{ "chMB1", "[CH]Light ManeB" },
			{ "chMB2", "[CH]Medium ManeB" },
			{ "chMB3", "[CH]Heavy ManeB" },
			{ "chMC1", "[CH]Light ManeC" },
			{ "chMC2", "[CH]Medium ManeC" },
			{ "chMC3", "[CH]Heavy ManeC" },
			{ "chM1_D", "Scruffy mane adorn with wooden bands" },
			{ "chM2_D", "Scruffy mane adorn with leather bands" },
			{ "chM3_D", "Scruffy mane adorn with metal bands" }
		});
	}
}
[BepInPlugin("DarnHyena.CackleArmor", "CackleArmor", "3.0.1")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
internal class CackleArmor : BaseUnityPlugin
{
	public const string PluginGUID = "DarnHyena.CackleArmor";

	public const string PluginName = "CackleArmor";

	public const string PluginVersion = "3.0.1";

	private void Awake()
	{
		CackleMeadow.AddCackleMeadow();
		CackleForest.AddCackleForest();
		CackleSwamp.AddCackleSwamp();
		CackleMountain.AddCackleMountain();
		CacklePlains.AddCacklePlains();
		CackleMistlands.AddCackleMistlands();
		CackleSalon.AddCackleSalon();
		CackleTrader.AddCackleTrader();
		CackleMane.AddCackleMane();
	}
}
public class CackleMistlands
{
	private static GameObject CaHatObj;

	private static GameObject CaPantObj;

	private static GameObject CaChestObj;

	private static GameObject EiPantObj;

	private static GameObject EiChestObj;

	private static GameObject EiHatObj;

	public static void AddCackleMistlands()
	{
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Expected O, but got Unknown
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d4: Expected O, but got Unknown
		//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f8: Expected O, but got Unknown
		//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_010b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0113: Unknown result type (might be due to invalid IL or missing references)
		//IL_011c: Expected O, but got Unknown
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0123: Unknown result type (might be due to invalid IL or missing references)
		//IL_012f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0137: Unknown result type (might be due to invalid IL or missing references)
		//IL_0140: Expected O, but got Unknown
		//IL_0148: Unknown result type (might be due to invalid IL or missing references)
		//IL_014e: Expected O, but got Unknown
		//IL_0160: Unknown result type (might be due to invalid IL or missing references)
		//IL_0167: Expected O, but got Unknown
		//IL_0187: Unknown result type (might be due to invalid IL or missing references)
		//IL_018c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0198: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ab: Expected O, but got Unknown
		//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01be: 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_01cf: Expected O, but got Unknown
		//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d6: 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_020e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0217: Expected O, but got Unknown
		//IL_021f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0225: Expected O, but got Unknown
		//IL_0237: Unknown result type (might be due to invalid IL or missing references)
		//IL_023e: Expected O, but got Unknown
		//IL_025e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0263: Unknown result type (might be due to invalid IL or missing references)
		//IL_026f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0278: Unknown result type (might be due to invalid IL or missing references)
		//IL_0282: Expected O, but got Unknown
		//IL_0284: Unknown result type (might be due to invalid IL or missing references)
		//IL_0289: Unknown result type (might be due to invalid IL or missing references)
		//IL_0295: Unknown result type (might be due to invalid IL or missing references)
		//IL_029d: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a6: Expected O, but got Unknown
		//IL_02a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ca: Expected O, but got Unknown
		//IL_02cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d1: 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_02ee: Expected O, but got Unknown
		//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fc: Expected O, but got Unknown
		//IL_030e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0315: Expected O, but got Unknown
		//IL_0335: Unknown result type (might be due to invalid IL or missing references)
		//IL_033a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0346: Unknown result type (might be due to invalid IL or missing references)
		//IL_034f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0358: Expected O, but got Unknown
		//IL_035a: 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_036b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0374: Unknown result type (might be due to invalid IL or missing references)
		//IL_037d: Expected O, but got Unknown
		//IL_037f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0384: Unknown result type (might be due to invalid IL or missing references)
		//IL_0390: 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_03a1: Expected O, but got Unknown
		//IL_03a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b0: Expected O, but got Unknown
		//IL_03c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ca: Expected O, but got Unknown
		//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0404: Unknown result type (might be due to invalid IL or missing references)
		//IL_040e: Expected O, but got Unknown
		//IL_0410: Unknown result type (might be due to invalid IL or missing references)
		//IL_0415: Unknown result type (might be due to invalid IL or missing references)
		//IL_0421: 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_0433: Expected O, but got Unknown
		//IL_0435: Unknown result type (might be due to invalid IL or missing references)
		//IL_043a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0446: 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_0458: Expected O, but got Unknown
		//IL_0460: Unknown result type (might be due to invalid IL or missing references)
		//IL_0467: Expected O, but got Unknown
		//IL_047a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0481: Expected O, but got Unknown
		//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_04bb: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c5: Expected O, but got Unknown
		//IL_04c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_04cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ea: Expected O, but got Unknown
		//IL_04ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04fd: 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_050e: Expected O, but got Unknown
		//IL_0510: Unknown result type (might be due to invalid IL or missing references)
		//IL_0515: Unknown result type (might be due to invalid IL or missing references)
		//IL_0521: 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_0533: Expected O, but got Unknown
		//IL_053b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0542: Expected O, but got Unknown
		AssetBundle val = AssetUtils.LoadAssetBundleFromResources("itemmist", typeof(CackleMistlands).Assembly);
		CaHatObj = val.LoadAsset<GameObject>("chCaHelm");
		CaPantObj = val.LoadAsset<GameObject>("chCaSuit");
		CaChestObj = val.LoadAsset<GameObject>("chCaChest");
		EiPantObj = val.LoadAsset<GameObject>("chEiSuit");
		EiHatObj = val.LoadAsset<GameObject>("chEiMask");
		EiChestObj = val.LoadAsset<GameObject>("chEiTunic");
		val.Unload(false);
		GameObject caHatObj = CaHatObj;
		ItemConfig val2 = new ItemConfig();
		val2.CraftingStation = "blackforge";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
		{
			new RequirementConfig
			{
				Item = "Carapace",
				Amount = 20,
				AmountPerLevel = 18
			},
			new RequirementConfig
			{
				Item = "ScaleHide",
				Amount = 3,
				AmountPerLevel = 1
			},
			new RequirementConfig
			{
				Item = "Eitr",
				Amount = 4,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Mandible",
				Amount = 2,
				AmountPerLevel = 0
			}
		};
		CustomItem val3 = new CustomItem(caHatObj, true, val2);
		ItemManager.Instance.AddItem(val3);
		GameObject caPantObj = CaPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "blackforge";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
		{
			new RequirementConfig
			{
				Item = "Carapace",
				Amount = 20,
				AmountPerLevel = 18
			},
			new RequirementConfig
			{
				Item = "ScaleHide",
				Amount = 3,
				AmountPerLevel = 1
			},
			new RequirementConfig
			{
				Item = "Eitr",
				Amount = 4,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 5,
				AmountPerLevel = 0
			}
		};
		CustomItem val4 = new CustomItem(caPantObj, true, val2);
		ItemManager.Instance.AddItem(val4);
		GameObject caChestObj = CaChestObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "blackforge";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
		{
			new RequirementConfig
			{
				Item = "Carapace",
				Amount = 20,
				AmountPerLevel = 18
			},
			new RequirementConfig
			{
				Item = "ScaleHide",
				Amount = 3,
				AmountPerLevel = 1
			},
			new RequirementConfig
			{
				Item = "Eitr",
				Amount = 4,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 5,
				AmountPerLevel = 0
			}
		};
		CustomItem val5 = new CustomItem(caChestObj, true, val2);
		ItemManager.Instance.AddItem(val5);
		GameObject eiHatObj = EiHatObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_magetable";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "LinenThread",
				Amount = 16,
				AmountPerLevel = 8
			},
			new RequirementConfig
			{
				Item = "Eitr",
				Amount = 15,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 2,
				AmountPerLevel = 0
			}
		};
		CustomItem val6 = new CustomItem(eiHatObj, true, val2);
		ItemManager.Instance.AddItem(val6);
		GameObject eiPantObj = EiPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_magetable";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "LinenThread",
				Amount = 20,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "Eitr",
				Amount = 20,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "ScaleHide",
				Amount = 10,
				AmountPerLevel = 0
			}
		};
		CustomItem val7 = new CustomItem(eiPantObj, true, val2);
		ItemManager.Instance.AddItem(val7);
		GameObject eiChestObj = EiChestObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_magetable";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
		{
			new RequirementConfig
			{
				Item = "LinenThread",
				Amount = 20,
				AmountPerLevel = 10
			},
			new RequirementConfig
			{
				Item = "Eitr",
				Amount = 20,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "ScaleHide",
				Amount = 5,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "Feathers",
				Amount = 10,
				AmountPerLevel = 0
			}
		};
		CustomItem val8 = new CustomItem(eiChestObj, true, val2);
		ItemManager.Instance.AddItem(val8);
		CustomLocalization localization = LocalizationManager.Instance.GetLocalization();
		string text = "English";
		localization.AddTranslation(ref text, new Dictionary<string, string>
		{
			{ "chCaH", "[CH]Carapace Helm" },
			{ "chCaC", "[CH]Carapace Vest" },
			{ "chCaS", "[CH]Carapace Pants" },
			{ "chCa_D", "Carapace Placeholder" },
			{ "chEiM", "[CH]Eitr Mask" },
			{ "chEiT", "[CH]Eitr Tunic" },
			{ "chEiS", "[CH]Eitr Suit" },
			{ "chEi_D", "Eitr Placeholder" }
		});
	}
}
public class CackleSwamp
{
	private static GameObject RHatObj;

	private static GameObject RPantObj;

	private static GameObject RCapeObj;

	private static GameObject IHatObj;

	private static GameObject IPantObj;

	private static GameObject ICapeObj;

	public static void AddCackleSwamp()
	{
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Expected O, but got Unknown
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: Expected O, but got Unknown
		//IL_00d5: 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_00e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f7: Expected O, but got Unknown
		//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_010a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0113: Unknown result type (might be due to invalid IL or missing references)
		//IL_011c: Expected O, but got Unknown
		//IL_0124: Unknown result type (might be due to invalid IL or missing references)
		//IL_012a: Expected O, but got Unknown
		//IL_013c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0143: Expected O, but got Unknown
		//IL_0163: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Unknown result type (might be due to invalid IL or missing references)
		//IL_0174: Unknown result type (might be due to invalid IL or missing references)
		//IL_017d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0186: Expected O, but got Unknown
		//IL_0188: Unknown result type (might be due to invalid IL or missing references)
		//IL_018d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0199: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01aa: Expected O, but got Unknown
		//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bd: 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_01cf: Expected O, but got Unknown
		//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01dd: Expected O, but got Unknown
		//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f6: Expected O, but got Unknown
		//IL_0216: 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_0227: Unknown result type (might be due to invalid IL or missing references)
		//IL_0230: Unknown result type (might be due to invalid IL or missing references)
		//IL_0239: Expected O, but got Unknown
		//IL_023b: 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_024c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0254: Unknown result type (might be due to invalid IL or missing references)
		//IL_025d: Expected O, but got Unknown
		//IL_025f: 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_0270: Unknown result type (might be due to invalid IL or missing references)
		//IL_0279: Unknown result type (might be due to invalid IL or missing references)
		//IL_0282: Expected O, but got Unknown
		//IL_028a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0290: Expected O, but got Unknown
		//IL_02a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a9: Expected O, but got Unknown
		//IL_02c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_02da: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ec: Expected O, but got Unknown
		//IL_02ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
		//IL_0307: Unknown result type (might be due to invalid IL or missing references)
		//IL_0310: Expected O, but got Unknown
		//IL_0318: Unknown result type (might be due to invalid IL or missing references)
		//IL_031f: Expected O, but got Unknown
		//IL_0332: Unknown result type (might be due to invalid IL or missing references)
		//IL_0339: Expected O, but got Unknown
		//IL_0359: Unknown result type (might be due to invalid IL or missing references)
		//IL_035e: Unknown result type (might be due to invalid IL or missing references)
		//IL_036a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0373: Unknown result type (might be due to invalid IL or missing references)
		//IL_037c: Expected O, but got Unknown
		//IL_037e: 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_038f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0397: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a0: Expected O, but got Unknown
		//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03af: Expected O, but got Unknown
		//IL_03c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c9: Expected O, but got Unknown
		//IL_03e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0403: Unknown result type (might be due to invalid IL or missing references)
		//IL_040c: Expected O, but got Unknown
		//IL_040e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0413: Unknown result type (might be due to invalid IL or missing references)
		//IL_041f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0427: Unknown result type (might be due to invalid IL or missing references)
		//IL_0430: Expected O, but got Unknown
		//IL_0438: Unknown result type (might be due to invalid IL or missing references)
		//IL_043f: Expected O, but got Unknown
		AssetBundle val = AssetUtils.LoadAssetBundleFromResources("itemswamp", typeof(CackleSwamp).Assembly);
		RHatObj = val.LoadAsset<GameObject>("chRoHelm");
		RPantObj = val.LoadAsset<GameObject>("chRoPants");
		RCapeObj = val.LoadAsset<GameObject>("chRoChest");
		IHatObj = val.LoadAsset<GameObject>("chIrHelm");
		IPantObj = val.LoadAsset<GameObject>("chIrSuit");
		ICapeObj = val.LoadAsset<GameObject>("chIrChest");
		val.Unload(false);
		GameObject rHatObj = RHatObj;
		ItemConfig val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "Root",
				Amount = 10,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "LeatherScraps",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "ElderBark",
				Amount = 10,
				AmountPerLevel = 5
			}
		};
		CustomItem val3 = new CustomItem(rHatObj, true, val2);
		ItemManager.Instance.AddItem(val3);
		GameObject rCapeObj = RCapeObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "Root",
				Amount = 10,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "ElderBark",
				Amount = 10,
				AmountPerLevel = 5
			}
		};
		CustomItem val4 = new CustomItem(rCapeObj, true, val2);
		ItemManager.Instance.AddItem(val4);
		GameObject rPantObj = RPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "Root",
				Amount = 10,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "ElderBark",
				Amount = 10,
				AmountPerLevel = 5
			}
		};
		CustomItem val5 = new CustomItem(rPantObj, true, val2);
		ItemManager.Instance.AddItem(val5);
		GameObject iHatObj = IHatObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 20,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 0
			}
		};
		CustomItem val6 = new CustomItem(iHatObj, true, val2);
		ItemManager.Instance.AddItem(val6);
		GameObject iCapeObj = ICapeObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 20,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 0
			}
		};
		CustomItem val7 = new CustomItem(iCapeObj, true, val2);
		ItemManager.Instance.AddItem(val7);
		GameObject iPantObj = IPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 20,
				AmountPerLevel = 5
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 2,
				AmountPerLevel = 0
			}
		};
		CustomItem val8 = new CustomItem(iPantObj, true, val2);
		ItemManager.Instance.AddItem(val8);
		CustomLocalization localization = LocalizationManager.Instance.GetLocalization();
		string text = "English";
		localization.AddTranslation(ref text, new Dictionary<string, string>
		{
			{ "chRoH", "[CH]Root Helm" },
			{ "chRoH_D", "Quite handy against bee stings" },
			{ "chRoC", "[CH]Root Armor" },
			{ "chRoC_D", "Sturdy old wooden armor" },
			{ "chRoP", "[CH]Root Fit" },
			{ "chRoP_D", "Latest in Bog Fashion" },
			{ "chIH", "[CH]Iron Helm" },
			{ "chIH_D", "Forged into the most optimal shape for headbutting" },
			{ "chIC", "[CH]Iron Plate" },
			{ "chIC_D", "Comes with it's very own picnic basket!" },
			{ "chIS", "[CH]Iron Suit" },
			{ "chIS_D", "Stylish armored coveralls" }
		});
	}
}
public class CacklePlains
{
	private static GameObject PHatObj;

	private static GameObject PPantObj;

	private static GameObject PCapeObj;

	private static Texture2D PadTex;

	private static List<Sprite> Padcons = new List<Sprite>();

	public static void AddCacklePlains()
	{
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Expected O, but got Unknown
		//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f5: Expected O, but got Unknown
		//IL_00f7: 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_0108: Unknown result type (might be due to invalid IL or missing references)
		//IL_0111: Unknown result type (might be due to invalid IL or missing references)
		//IL_011b: Expected O, but got Unknown
		//IL_0123: Unknown result type (might be due to invalid IL or missing references)
		//IL_0129: Expected O, but got Unknown
		//IL_013b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0142: Expected O, but got Unknown
		//IL_0162: Unknown result type (might be due to invalid IL or missing references)
		//IL_0167: Unknown result type (might be due to invalid IL or missing references)
		//IL_0173: Unknown result type (might be due to invalid IL or missing references)
		//IL_017c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0185: Expected O, but got Unknown
		//IL_0187: Unknown result type (might be due to invalid IL or missing references)
		//IL_018c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0198: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ab: Expected O, but got Unknown
		//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b9: Expected O, but got Unknown
		//IL_01cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d2: Expected O, but got Unknown
		//IL_0211: Unknown result type (might be due to invalid IL or missing references)
		//IL_0216: 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_022b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0234: Expected O, but got Unknown
		//IL_0236: Unknown result type (might be due to invalid IL or missing references)
		//IL_023b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0247: Unknown result type (might be due to invalid IL or missing references)
		//IL_0250: Unknown result type (might be due to invalid IL or missing references)
		//IL_025a: Expected O, but got Unknown
		//IL_0262: Unknown result type (might be due to invalid IL or missing references)
		//IL_0268: Expected O, but got Unknown
		AssetBundle val = AssetUtils.LoadAssetBundleFromResources("itemplains", typeof(CacklePlains).Assembly);
		PHatObj = val.LoadAsset<GameObject>("chPaHelm");
		PPantObj = val.LoadAsset<GameObject>("chPaSuit");
		PCapeObj = val.LoadAsset<GameObject>("chPaCoat");
		PadTex = val.LoadAsset<Texture2D>("PadStyles");
		for (int i = 1; i <= 12; i++)
		{
			string text = $"PadCoatIcon{i:00}";
			Padcons.Add(val.LoadAsset<Sprite>(text));
		}
		val.Unload(false);
		GameObject pHatObj = PHatObj;
		ItemConfig val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 10,
				AmountPerLevel = 3
			},
			new RequirementConfig
			{
				Item = "LinenThread",
				Amount = 20,
				AmountPerLevel = 10
			}
		};
		CustomItem val3 = new CustomItem(pHatObj, true, val2);
		ItemManager.Instance.AddItem(val3);
		GameObject pPantObj = PPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 10,
				AmountPerLevel = 3
			},
			new RequirementConfig
			{
				Item = "LinenThread",
				Amount = 20,
				AmountPerLevel = 10
			}
		};
		CustomItem val4 = new CustomItem(pPantObj, true, val2);
		ItemManager.Instance.AddItem(val4);
		GameObject pCapeObj = PCapeObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.MinStationLevel = 2;
		val2.StyleTex = PadTex;
		val2.Icons = Padcons.ToArray();
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 10,
				AmountPerLevel = 3
			},
			new RequirementConfig
			{
				Item = "LinenThread",
				Amount = 20,
				AmountPerLevel = 10
			}
		};
		CustomItem val5 = new CustomItem(pCapeObj, true, val2);
		ItemManager.Instance.AddItem(val5);
		CustomLocalization localization = LocalizationManager.Instance.GetLocalization();
		string text2 = "English";
		localization.AddTranslation(ref text2, new Dictionary<string, string>
		{
			{ "chPH", "[CH]Padded Helm" },
			{ "chPH_D", "The perfect helmet for charging into glorious battle!" },
			{ "chPC", "[CH]Padded Coat" },
			{ "chPC_D", "Lined with chain, this padded coat is perfect for thwarting the dreaded stings of deathsquitos" },
			{ "chPS", "[CH]Padded Suit" },
			{ "chPS_D", "Sturdy linen pants and top for life in the plains" }
		});
	}
}
public class CackleMeadow
{
	private static GameObject RHoodObj;

	private static GameObject RPantObj;

	private static GameObject RCapeObj;

	private static Texture2D RagTex;

	private static List<Sprite> Ragcons = new List<Sprite>();

	private static GameObject LHatObj;

	private static GameObject LPantObj;

	private static GameObject LCapeObj;

	public static void AddCackleMeadow()
	{
		//IL_00da: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e1: Expected O, but got Unknown
		//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Unknown result type (might be due to invalid IL or missing references)
		//IL_0111: Unknown result type (might be due to invalid IL or missing references)
		//IL_011a: Expected O, but got Unknown
		//IL_0122: Unknown result type (might be due to invalid IL or missing references)
		//IL_0128: Expected O, but got Unknown
		//IL_013a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0141: Expected O, but got Unknown
		//IL_0177: Unknown result type (might be due to invalid IL or missing references)
		//IL_017c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0188: Unknown result type (might be due to invalid IL or missing references)
		//IL_0190: Unknown result type (might be due to invalid IL or missing references)
		//IL_0199: Expected O, but got Unknown
		//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a7: Expected O, but got Unknown
		//IL_01b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c0: Expected O, but got Unknown
		//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f9: Expected O, but got Unknown
		//IL_0201: Unknown result type (might be due to invalid IL or missing references)
		//IL_0207: Expected O, but got Unknown
		//IL_0219: Unknown result type (might be due to invalid IL or missing references)
		//IL_0220: Expected O, but got Unknown
		//IL_0240: Unknown result type (might be due to invalid IL or missing references)
		//IL_0245: Unknown result type (might be due to invalid IL or missing references)
		//IL_0251: Unknown result type (might be due to invalid IL or missing references)
		//IL_0259: Unknown result type (might be due to invalid IL or missing references)
		//IL_0262: Expected O, but got Unknown
		//IL_0264: Unknown result type (might be due to invalid IL or missing references)
		//IL_0269: Unknown result type (might be due to invalid IL or missing references)
		//IL_0275: Unknown result type (might be due to invalid IL or missing references)
		//IL_027d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0286: Expected O, but got Unknown
		//IL_028e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0295: Expected O, but got Unknown
		//IL_02a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02af: Expected O, but got Unknown
		//IL_02cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f1: Expected O, but got Unknown
		//IL_02f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0304: Unknown result type (might be due to invalid IL or missing references)
		//IL_030c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0315: Expected O, but got Unknown
		//IL_031d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0324: Expected O, but got Unknown
		//IL_0337: Unknown result type (might be due to invalid IL or missing references)
		//IL_033e: Expected O, but got Unknown
		//IL_035e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0363: 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_0377: Unknown result type (might be due to invalid IL or missing references)
		//IL_0380: Expected O, but got Unknown
		//IL_0382: Unknown result type (might be due to invalid IL or missing references)
		//IL_0387: Unknown result type (might be due to invalid IL or missing references)
		//IL_0393: Unknown result type (might be due to invalid IL or missing references)
		//IL_039b: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a4: Expected O, but got Unknown
		//IL_03ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b3: Expected O, but got Unknown
		AssetBundle val = AssetUtils.LoadAssetBundleFromResources("itemmeadow", typeof(CackleMeadow).Assembly);
		RHoodObj = val.LoadAsset<GameObject>("chRaHood");
		RPantObj = val.LoadAsset<GameObject>("chRaPants");
		RCapeObj = val.LoadAsset<GameObject>("chRaTunic");
		RagTex = val.LoadAsset<Texture2D>("RagStyles");
		for (int i = 1; i <= 5; i++)
		{
			string text = $"RagTunIcon{i:00}";
			Ragcons.Add(val.LoadAsset<Sprite>(text));
		}
		LHatObj = val.LoadAsset<GameObject>("chLeMask");
		LPantObj = val.LoadAsset<GameObject>("chLePants");
		LCapeObj = val.LoadAsset<GameObject>("chLePoncho");
		val.Unload(false);
		GameObject rHoodObj = RHoodObj;
		ItemConfig val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "LeatherScraps",
				Amount = 1,
				AmountPerLevel = 2
			}
		};
		CustomItem val3 = new CustomItem(rHoodObj, true, val2);
		ItemManager.Instance.AddItem(val3);
		GameObject rCapeObj = RCapeObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.StyleTex = RagTex;
		val2.Icons = Ragcons.ToArray();
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "LeatherScraps",
				Amount = 5,
				AmountPerLevel = 5
			}
		};
		CustomItem val4 = new CustomItem(rCapeObj, true, val2);
		ItemManager.Instance.AddItem(val4);
		GameObject rPantObj = RPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "LeatherScraps",
				Amount = 5,
				AmountPerLevel = 5
			}
		};
		CustomItem val5 = new CustomItem(rPantObj, true, val2);
		ItemManager.Instance.AddItem(val5);
		GameObject lHatObj = LHatObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 6,
				AmountPerLevel = 6
			},
			new RequirementConfig
			{
				Item = "BoneFragments",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val6 = new CustomItem(lHatObj, true, val2);
		ItemManager.Instance.AddItem(val6);
		GameObject lCapeObj = LCapeObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 6,
				AmountPerLevel = 6
			},
			new RequirementConfig
			{
				Item = "BoneFragments",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val7 = new CustomItem(lCapeObj, true, val2);
		ItemManager.Instance.AddItem(val7);
		GameObject lPantObj = LPantObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
		{
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 6,
				AmountPerLevel = 6
			},
			new RequirementConfig
			{
				Item = "BoneFragments",
				Amount = 0,
				AmountPerLevel = 5
			}
		};
		CustomItem val8 = new CustomItem(lPantObj, true, val2);
		ItemManager.Instance.AddItem(val8);
		CustomLocalization localization = LocalizationManager.Instance.GetLocalization();
		string text2 = "English";
		localization.AddTranslation(ref text2, new Dictionary<string, string>
		{
			{ "chRH", "[CH]Ragged Hood" },
			{ "chRP", "[CH]Ragged Pants" },
			{ "chRT", "[CH]Ragged Tunic" },
			{ "chRH_D", "Well worn hood" },
			{ "chRP_D", "Hastily stiched together with leftovers from last nights hunt" },
			{ "chRT_D", "Smells faintly of potatos" },
			{ "chLH", "[CH]Leather Mask" },
			{ "chLC", "[CH]Leather Poncho" },
			{ "chLP", "[CH]Leather Pants" },
			{ "chLH_D", "A striking bone white mask" },
			{ "chLC_D", "An enccentric cape for dashing rogues" },
			{ "chLP_D", "Finely tailored pants just like mother used to make" }
		});
	}
}
public class CackleMountain
{
	private static GameObject WHatObj;

	private static GameObject WPantObj;

	private static GameObject WCapeObj;

	private static GameObject WChestObj;

	private static GameObject CuPantObj;

	private static GameObject CuChestObj;

	private static GameObject CuHatObj;

	private static Texture2D TunicTex;

	public static void AddCackleMountain()
	{
		//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Expected O, but got Unknown
		//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f2: Expected O, but got Unknown
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f9: 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_010d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0116: Expected O, but got Unknown
		//IL_0118: Unknown result type (might be due to invalid IL or missing references)
		//IL_011d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0129: Unknown result type (might be due to invalid IL or missing references)
		//IL_0132: Unknown result type (might be due to invalid IL or missing references)
		//IL_013b: Expected O, but got Unknown
		//IL_0143: Unknown result type (might be due to invalid IL or missing references)
		//IL_0149: Expected O, but got Unknown
		//IL_015b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0162: Expected O, but got Unknown
		//IL_0182: Unknown result type (might be due to invalid IL or missing references)
		//IL_0187: Unknown result type (might be due to invalid IL or missing references)
		//IL_0193: Unknown result type (might be due to invalid IL or missing references)
		//IL_019b: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a4: Expected O, but got Unknown
		//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c8: Expected O, but got Unknown
		//IL_01ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_01db: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ec: Expected O, but got Unknown
		//IL_01f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fa: Expected O, but got Unknown
		//IL_020c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0213: Expected O, but got Unknown
		//IL_0233: Unknown result type (might be due to invalid IL or missing references)
		//IL_0238: Unknown result type (might be due to invalid IL or missing references)
		//IL_0244: Unknown result type (might be due to invalid IL or missing references)
		//IL_024c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0255: Expected O, but got Unknown
		//IL_0257: Unknown result type (might be due to invalid IL or missing references)
		//IL_025c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0268: Unknown result type (might be due to invalid IL or missing references)
		//IL_0270: Unknown result type (might be due to invalid IL or missing references)
		//IL_0279: Expected O, but got Unknown
		//IL_027b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0280: Unknown result type (might be due to invalid IL or missing references)
		//IL_028c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0295: Unknown result type (might be due to invalid IL or missing references)
		//IL_029e: Expected O, but got Unknown
		//IL_02a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ac: Expected O, but got Unknown
		//IL_02be: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c5: Expected O, but got Unknown
		//IL_02e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f6: 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_0307: Expected O, but got Unknown
		//IL_0309: Unknown result type (might be due to invalid IL or missing references)
		//IL_030e: Unknown result type (might be due to invalid IL or missing references)
		//IL_031a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0322: Unknown result type (might be due to invalid IL or missing references)
		//IL_032b: Expected O, but got Unknown
		//IL_032d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0332: Unknown result type (might be due to invalid IL or missing references)
		//IL_033e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0347: Unknown result type (might be due to invalid IL or missing references)
		//IL_0350: Expected O, but got Unknown
		//IL_0358: Unknown result type (might be due to invalid IL or missing references)
		//IL_035f: Expected O, but got Unknown
		//IL_0372: Unknown result type (might be due to invalid IL or missing references)
		//IL_0379: Expected O, but got Unknown
		//IL_0399: Unknown result type (might be due to invalid IL or missing references)
		//IL_039e: Unknown result type (might be due to invalid IL or missing references)
		//IL_03aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bb: Expected O, but got Unknown
		//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ce: 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_03e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0404: Expected O, but got Unknown
		//IL_040c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0413: Expected O, but got Unknown
		//IL_0426: Unknown result type (might be due to invalid IL or missing references)
		//IL_042d: Expected O, but got Unknown
		//IL_044d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0452: Unknown result type (might be due to invalid IL or missing references)
		//IL_045e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0467: Unknown result type (might be due to invalid IL or missing references)
		//IL_0470: Expected O, but got Unknown
		//IL_0472: Unknown result type (might be due to invalid IL or missing references)
		//IL_0477: Unknown result type (might be due to invalid IL or missing references)
		//IL_0483: Unknown result type (might be due to invalid IL or missing references)
		//IL_048b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0494: Expected O, but got Unknown
		//IL_0496: Unknown result type (might be due to invalid IL or missing references)
		//IL_049b: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b9: Expected O, but got Unknown
		//IL_04c1: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c8: Expected O, but got Unknown
		//IL_04db: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e2: Expected O, but got Unknown
		//IL_050f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0514: Unknown result type (might be due to invalid IL or missing references)
		//IL_0520: Unknown result type (might be due to invalid IL or missing references)
		//IL_0529: Unknown result type (might be due to invalid IL or missing references)
		//IL_0532: Expected O, but got Unknown
		//IL_0534: Unknown result type (might be due to invalid IL or missing references)
		//IL_0539: Unknown result type (might be due to invalid IL or missing references)
		//IL_0545: Unknown result type (might be due to invalid IL or missing references)
		//IL_054d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0556: Expected O, but got Unknown
		//IL_0558: 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_0569: Unknown result type (might be due to invalid IL or missing references)
		//IL_0572: Unknown result type (might be due to invalid IL or missing references)
		//IL_057b: Expected O, but got Unknown
		//IL_0583: Unknown result type (might be due to invalid IL or missing references)
		//IL_058a: Expected O, but got Unknown
		AssetBundle val = AssetUtils.LoadAssetBundleFromResources("itemmountain", typeof(CackleMountain).Assembly);
		WHatObj = val.LoadAsset<GameObject>("chWoHelm");
		WPantObj = val.LoadAsset<GameObject>("chWoPants");
		WCapeObj = val.LoadAsset<GameObject>("chWoVest");
		WChestObj = val.LoadAsset<GameObject>("chWoCloak");
		CuPantObj = val.LoadAsset<GameObject>("chCuSuit");
		CuHatObj = val.LoadAsset<GameObject>("chCuMask");
		CuChestObj = val.LoadAsset<GameObject>("chCuTunic");
		TunicTex = val.LoadAsset<Texture2D>("CultTunics");
		val.Unload(false);
		GameObject wHatObj = WHatObj;
		ItemConfig val2 = new ItemConfig();
		val2.CraftingStation = "forge";
		val2.MinStationLevel = 1;
		val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "TrophyWolf",
				Amount = 5,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "WolfPelt",
				Amount = 2,
				AmountPerLevel = 0
			},
			new RequirementConfig
			{
				Item = "Silver",
				Amount = 20,
				AmountPerLevel = 5
			}
		};
		CustomItem val3 = new CustomItem(wHatObj, true, val2);
		ItemManager.Instance.AddItem(val3);
		GameObject wCapeObj = WCapeObj;
		val2 = new ItemConfig();
		val2.CraftingStation = "piece_workbench";
		val2.MinStationLevel = 2;
		val2.Requirements = (RequirementConfig[])(object)new R

BepInEx/plugins/Cackleheim/Shaderfix/shaderfix.dll

Decompiled 2 weeks ago
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyCompany("shaderfix")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.2.1.0")]
[assembly: AssemblyInformationalVersion("1.2.1.0")]
[assembly: AssemblyProduct("shaderfix")]
[assembly: AssemblyTitle("shaderfix")]
[assembly: AssemblyVersion("1.2.1.0")]
namespace ValTF;

[BepInPlugin("com.jadeharley.plugins.shaderfix", "shaderfix", "0.0.1.0")]
[BepInProcess("valheim.exe")]
public class Shaderfix : BaseUnityPlugin
{
	public const string PluginGuid = "com.jadeharley.plugins.shaderfix";

	public const string PluginName = "shaderfix";

	public const string PluginVersion = "0.0.1.0";

	public static Dictionary<string, Shader> Shaders { get; } = new Dictionary<string, Shader>();


	private void Awake()
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_000c: Expected O, but got Unknown
		Harmony val = new Harmony("com.jadeharley.plugins.shaderfix.patch");
		val.PatchAll();
		LoadShaderBundle("shaderfix");
		Shaders.Add("Standard", Shaders["StandardTS"]);
	}

	private static void LoadShaderBundle(string path)
	{
		string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), path);
		if (File.Exists(text))
		{
			AssetBundle val = AssetBundle.LoadFromFile(text);
			Shader[] array = val.LoadAllAssets<Shader>();
			Shader[] array2 = array;
			foreach (Shader val2 in array2)
			{
				Debug.Log((object)("[shaderfix] Add Shader: " + ((Object)val2).name));
				Shaders.Add(((Object)val2).name, val2);
			}
		}
	}
}
[HarmonyPatch(typeof(Shader))]
[HarmonyPatch("Find")]
internal static class ShaderPatch
{
	private static bool Prefix(ref Shader __result, string name)
	{
		if (Shaderfix.Shaders.TryGetValue(name, out var value))
		{
			__result = value;
			return false;
		}
		return true;
	}
}