Decompiled source of Shawesomes Divine Armaments v4.0.0

Shawesomes_Divine_Armaments.dll

Decompiled 17 hours 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;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using CustomEffects;
using HarmonyLib;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using UnityEngine;
using UnityEngine.SceneManagement;
using shawcape;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("CapeofShawesome")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("CapeofShawesome")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("e0e26f8d-a8f0-41a7-a502-951624fa6f31")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
public static class Utils2
{
	private const BindingFlags bindingFlags = BindingFlags.Public;

	public static T GetCopyOf<T>(this Component comp, T other) where T : Component
	{
		Type type = ((object)comp).GetType();
		if (type != ((object)other).GetType())
		{
			return default(T);
		}
		List<Type> list = new List<Type>();
		Type baseType = type.BaseType;
		while (baseType != null && !(baseType == typeof(MonoBehaviour)))
		{
			list.Add(baseType);
			baseType = baseType.BaseType;
		}
		IEnumerable<PropertyInfo> enumerable = type.GetProperties(BindingFlags.Public);
		foreach (Type item in list)
		{
			enumerable = enumerable.Concat(item.GetProperties(BindingFlags.Public));
		}
		enumerable = from property in enumerable
			where !(type == typeof(Rigidbody)) || !(property.Name == "inertiaTensor")
			where !property.CustomAttributes.Any((CustomAttributeData attribute) => attribute.AttributeType == typeof(ObsoleteAttribute))
			select property;
		foreach (PropertyInfo pinfo in enumerable)
		{
			if (pinfo.CanWrite && !enumerable.Any((PropertyInfo e) => e.Name == $"shared{char.ToUpper(pinfo.Name[0])}{pinfo.Name.Substring(1)}"))
			{
				try
				{
					pinfo.SetValue(comp, pinfo.GetValue(other, null), null);
				}
				catch
				{
				}
			}
		}
		IEnumerable<FieldInfo> enumerable2 = type.GetFields(BindingFlags.Public);
		foreach (FieldInfo finfo in enumerable2)
		{
			foreach (Type item2 in list)
			{
				if (!enumerable2.Any((FieldInfo e) => e.Name == $"shared{char.ToUpper(finfo.Name[0])}{finfo.Name.Substring(1)}"))
				{
					enumerable2 = enumerable2.Concat(item2.GetFields(BindingFlags.Public));
				}
			}
		}
		foreach (FieldInfo item3 in enumerable2)
		{
			item3.SetValue(comp, item3.GetValue(other));
		}
		enumerable2 = enumerable2.Where((FieldInfo field) => field.CustomAttributes.Any((CustomAttributeData attribute) => attribute.AttributeType == typeof(ObsoleteAttribute)));
		foreach (FieldInfo item4 in enumerable2)
		{
			item4.SetValue(comp, item4.GetValue(other));
		}
		return (T)(object)((comp is T) ? comp : null);
	}

	public static T AddComponent<T>(this GameObject go, T toAdd) where T : Component
	{
		return go.AddComponent(((object)toAdd).GetType()).GetCopyOf(toAdd);
	}

	public static void updateSKMesh(Transform parent, SkinnedMeshRenderer skmesh)
	{
		//IL_0021: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0042: Unknown result type (might be due to invalid IL or missing references)
		List<ParticleSystem> list = ((Component)parent).GetComponentsInChildren<ParticleSystem>().ToList();
		foreach (ParticleSystem item in list)
		{
			ShapeModule shape = item.shape;
			if (!Object.op_Implicit((Object)(object)((ShapeModule)(ref shape)).skinnedMeshRenderer))
			{
				ShapeModule shape2 = item.shape;
				((ShapeModule)(ref shape2)).skinnedMeshRenderer = skmesh;
			}
		}
	}

	public static SkinnedMeshRenderer createSkMeshRen(Transform objectTrans, Transform attach_skin)
	{
		SkinnedMeshRenderer val = default(SkinnedMeshRenderer);
		if (!((Component)objectTrans).gameObject.TryGetComponent<SkinnedMeshRenderer>(ref val))
		{
			val = ((Component)objectTrans).gameObject.AddComponent<SkinnedMeshRenderer>();
		}
		val.rootBone = attach_skin.Find("Armature").Find("Hips");
		return val;
	}

	public static Mesh createBonedMesh(Mesh newmesh, Mesh copymesh, Vector3 pos, Vector3 rot, Vector3 scale, bool stretch = true)
	{
		//IL_0002: Unknown result type (might be due to invalid IL or missing references)
		//IL_0003: Unknown result type (might be due to invalid IL or missing references)
		//IL_0004: Unknown result type (might be due to invalid IL or missing references)
		Mesh newmesh2 = AlignedSkinMesh(newmesh, pos, rot, scale);
		return copyBoneWeights(newmesh2, copymesh, stretch);
	}

	public static Mesh AlignedSkinMesh(Mesh meshtomodify, Vector3 pos, Vector3 rot, Vector3 scale)
	{
		//IL_0016: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Unknown result type (might be due to invalid IL or missing references)
		//IL_002d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0045: Unknown result type (might be due to invalid IL or missing references)
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0070: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_007d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_008a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: Unknown result type (might be due to invalid IL or missing references)
		Mesh val = Object.Instantiate<Mesh>(meshtomodify);
		List<Vector3> list = new List<Vector3>();
		for (int i = 0; i < meshtomodify.vertices.Count(); i++)
		{
			Vector3 val2 = Quaternion.Euler(rot) * new Vector3(meshtomodify.vertices[i].x * scale.x, meshtomodify.vertices[i].y * scale.y, meshtomodify.vertices[i].z * scale.z);
			list.Add(new Vector3(val2.x + pos.x, val2.y + pos.y, val2.z + pos.z));
		}
		val.SetVertices(list);
		((Object)val).name = "copymesh";
		return val;
	}

	public static Mesh copyBoneWeights(Mesh newmesh, Mesh copymesh, bool stretch = true)
	{
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0070: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_004b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d6: Unknown result type (might be due to invalid IL or missing references)
		BoneWeight[] array = (BoneWeight[])(object)new BoneWeight[newmesh.vertexCount];
		newmesh.bindposes = copymesh.bindposes;
		if (stretch)
		{
			for (int i = 0; i < newmesh.vertexCount; i++)
			{
				int closestVert = getClosestVert(newmesh.vertices[i], copymesh.vertices);
				array[i] = copymesh.boneWeights[closestVert];
			}
		}
		else
		{
			Vector3 val = Vector3.zero;
			for (int j = 0; j < newmesh.vertexCount; j++)
			{
				val += newmesh.vertices[j];
			}
			int closestVert2 = getClosestVert(val / (float)newmesh.vertexCount, copymesh.vertices);
			for (int k = 0; k < newmesh.vertexCount; k++)
			{
				array[k] = copymesh.boneWeights[closestVert2];
			}
		}
		newmesh.boneWeights = array;
		return newmesh;
	}

	public static int getClosestVert(Vector3 vert, Vector3[] basemesh)
	{
		//IL_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		float num = 99999f;
		int result = -1;
		for (int i = 0; i < basemesh.Length; i++)
		{
			float num2 = Vector3.Distance(vert, basemesh[i]);
			if (num2 < num)
			{
				num = num2;
				result = i;
			}
		}
		return result;
	}

	public static void alignMeshAllChidren(Transform objectTrans, Transform basetransform)
	{
		//IL_001a: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: Unknown result type (might be due to invalid IL or missing references)
		//IL_0047: Unknown result type (might be due to invalid IL or missing references)
		//IL_004a: Unknown result type (might be due to invalid IL or missing references)
		//IL_004f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0054: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Unknown result type (might be due to invalid IL or missing references)
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_006a: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		MeshFilter[] componentsInChildren = ((Component)objectTrans).GetComponentsInChildren<MeshFilter>();
		for (int i = 0; i < componentsInChildren.Length; i++)
		{
			Transform val = ((Component)componentsInChildren[i]).transform;
			Vector3 val2 = val.localPosition;
			Vector3 val3 = ((Component)val).transform.localEulerAngles;
			Vector3 val4 = ((Component)val).transform.localScale;
			for (int j = 0; j < 20; j++)
			{
				if (!((Object)(object)val.parent != (Object)(object)objectTrans))
				{
					break;
				}
				val = val.parent;
				val4 = Vector3.Scale(val4, val.localScale);
				val2 = Vector3.Scale(val4, val2) + val.localPosition;
				val3 += val.localEulerAngles;
			}
			SkinnedMeshRenderer val5 = createSkMeshRen(((Component)componentsInChildren[i]).transform, basetransform);
			val5.sharedMesh = AlignedSkinMesh(val5.sharedMesh, val2, val3, val4);
		}
	}

	public static void boneMeshAllChidren(Transform objectTrans, Transform basetransform, Mesh baseMesh, bool stretch = true)
	{
		//IL_0030: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0042: Unknown result type (might be due to invalid IL or missing references)
		//IL_004a: Unknown result type (might be due to invalid IL or missing references)
		//IL_004f: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0061: Unknown result type (might be due to invalid IL or missing references)
		//IL_0066: Unknown result type (might be due to invalid IL or missing references)
		//IL_006b: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_007c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Unknown result type (might be due to invalid IL or missing references)
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dd: 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_00fb: 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)
		Transform val = basetransform.Find("Armature").Find("Hips");
		MeshFilter[] componentsInChildren = ((Component)objectTrans).GetComponentsInChildren<MeshFilter>();
		for (int i = 0; i < componentsInChildren.Length; i++)
		{
			Transform val2 = ((Component)componentsInChildren[i]).transform;
			Vector3 val3 = val2.localPosition;
			Vector3 val4 = ((Component)val2).transform.localEulerAngles;
			Vector3 val5 = ((Component)val2).transform.localScale;
			for (int j = 0; j < 20; j++)
			{
				if (!((Object)(object)val2.parent != (Object)(object)objectTrans))
				{
					break;
				}
				val2 = val2.parent;
				val5 = Vector3.Scale(val5, val2.localScale);
				val3 = Vector3.Scale(val5, val3) + val2.localPosition;
				val4 += val2.localEulerAngles;
			}
			val3 += new Vector3(0f, 0f - val.localPosition.y, 0f - val.localPosition.z);
			SkinnedMeshRenderer val6 = createSkMeshRen(((Component)componentsInChildren[i]).transform, basetransform);
			val6.sharedMesh = createBonedMesh(val6.sharedMesh, baseMesh, val3, val4, val5, stretch);
		}
	}

	public static void setStyleTex(Material mat, Texture2D styles)
	{
		mat.EnableKeyword("_USESTYLES_ON");
		mat.SetFloat("_Style", 0f);
		mat.SetFloat("_UseStyles", 1f);
		mat.SetTexture("_StyleTex", (Texture)(object)styles);
	}

	public static Mesh createScaledCape(Mesh originalMesh, Vector3 scaleTop, Vector3 scaleBot, Vector3 offset = default(Vector3))
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Unknown result type (might be due to invalid IL or missing references)
		//IL_000c: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0030: Unknown result type (might be due to invalid IL or missing references)
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_0095: Unknown result type (might be due to invalid IL or missing references)
		//IL_009b: 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_00e1: 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_00ea: 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_00f6: 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_0104: 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_0112: Unknown result type (might be due to invalid IL or missing references)
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0125: Unknown result type (might be due to invalid IL or missing references)
		//IL_012b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0131: 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_013f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0147: Unknown result type (might be due to invalid IL or missing references)
		//IL_014d: Unknown result type (might be due to invalid IL or missing references)
		//IL_015f: Unknown result type (might be due to invalid IL or missing references)
		//IL_016c: 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_017a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0181: 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_018f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0196: Unknown result type (might be due to invalid IL or missing references)
		Vector3 zero = Vector3.zero;
		Vector3 one = Vector3.one;
		Mesh val = Object.Instantiate<Mesh>(originalMesh);
		List<Vector3> list = new List<Vector3>();
		for (int i = 0; i < originalMesh.vertices.Count(); i++)
		{
			Vector3 val2 = originalMesh.vertices[i];
			((Vector3)(ref zero))..ctor(Mathf.Max(zero.x, val2.x), Mathf.Max(zero.y, val2.y), Mathf.Max(zero.z, val2.z));
			((Vector3)(ref one))..ctor(Mathf.Min(one.x, val2.x), Mathf.Min(one.y, val2.y), Mathf.Min(one.z, val2.z));
		}
		Vector3 val4 = default(Vector3);
		for (int j = 0; j < originalMesh.vertices.Count(); j++)
		{
			Vector3 val3 = originalMesh.vertices[j];
			float num = val3.x * (scaleBot.x + (scaleTop.x - scaleBot.x) * (val3.z - one.z) / (zero.z - one.z));
			float num2 = val3.y * (scaleBot.y + (scaleTop.y - scaleBot.y) * (val3.z - one.z) / (zero.z - one.z));
			((Vector3)(ref val4))..ctor(num, num2, val3.z);
			list.Add(new Vector3(val4.x + offset.x, val4.y + offset.y, val4.z + offset.z));
		}
		val.SetVertices(list);
		((Object)val).name = "scaled_" + ((Object)val).name;
		return val;
	}

	public static void resolveMocksinChildren(Transform parentTrans)
	{
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_007c: Unknown result type (might be due to invalid IL or missing references)
		for (int num = parentTrans.childCount - 1; num >= 0; num--)
		{
			Transform child = parentTrans.GetChild(num);
			if (((Object)child).name.StartsWith("ATmock_"))
			{
				GameObject val = getmockGo(((Object)child).name, parentTrans);
				if (Object.op_Implicit((Object)(object)val))
				{
					Transform val2 = Shawesomes_Divine_Armaments.CopyIntoParent<Transform>(val.transform, parentTrans);
					val2.localPosition = child.localPosition;
					val2.localEulerAngles = child.localEulerAngles;
					val2.localScale = child.localScale;
					((Object)val2).name = ((Object)child).name.Split(new char[1] { '.' })[0];
					child.parent = null;
				}
			}
		}
	}

	public static GameObject getmockGo(string mockname, Transform newParent)
	{
		string[] array = mockname.Split(new char[1] { '.' });
		if (!array[0].StartsWith("ATmock_"))
		{
			return null;
		}
		Transform transform;
		try
		{
			transform = PrefabManager.Instance.GetPrefab(array[0].Replace("ATmock_", "")).transform;
		}
		catch
		{
			return null;
		}
		for (int i = 1; i < array.Length; i++)
		{
			try
			{
				transform = ((Component)transform.Find(array[i])).transform;
			}
			catch
			{
			}
		}
		return ((Component)transform).gameObject;
	}
}
public class CraftingConditions : MonoBehaviour
{
	public GameObject Root;

	public static List<ItemData> ConditionItems = new List<ItemData>();

	public static string[] thunderstorm_prefNname = new string[2] { "Thunderstorm_Item", "Active Thunderstorm" };

	public static string[] tamednearby_prefNname = new string[2] { "HasTamed_Item", "Tamed Creatures Nearby" };

	public static string[] refinernearby_prefNname = new string[2] { "HasRefiner_Item", "Refineries Nearby" };

	public static string[] onfire_prefNname = new string[2] { "OnFire_Item", "Is on Fire... in Ashlands" };

	public static string[] freezing_prefNname = new string[2] { "Freezing_Item", "Is Freezing in Deep North" };

	[HarmonyPostfix]
	[HarmonyPatch(typeof(Inventory), "CountItems")]
	private static void PostfixCountItems(Inventory __instance, ref int __result, string name, int quality, bool matchWorldLevel)
	{
		if (ConditionItems.Exists((ItemData item) => item.m_shared.m_name == name))
		{
			__result += hasCondition(name, __instance);
		}
	}

	private static int hasCondition(string name, Inventory inv)
	{
		//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
		switch (name)
		{
		case "Active Thunderstorm":
		{
			int num = ((EnvMan.instance.GetCurrentEnvironment().m_name == Weather.ThunderStorm) ? 33 : 0);
			num += ((EnvMan.instance.GetCurrentEnvironment().m_name == Weather.ClearThunderStorm) ? 33 : 0);
			num += ((EnvMan.instance.GetCurrentEnvironment().m_name == Weather.EikthyrsThunderstorm) ? 33 : 0);
			return num + ((EnvMan.instance.GetCurrentEnvironment().m_name == "Mistlands_thunder") ? 33 : 0);
		}
		case "Tamed Creatures Nearby":
		{
			Vector3 position2 = ((Component)Player.m_localPlayer).transform.position;
			return getTamedCloseto(position2, 10f);
		}
		case "Refineries Nearby":
		{
			Vector3 position = ((Component)Player.m_localPlayer).transform.position;
			return getSmelters(position, 20f);
		}
		default:
			if (name == onfire_prefNname[1])
			{
				return getOnFire(Player.m_localPlayer);
			}
			if (name == freezing_prefNname[1])
			{
				return getFreezing(Player.m_localPlayer);
			}
			return 0;
		}
	}

	public static int getTamedCloseto(Vector3 center, float maxdist)
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0027: Unknown result type (might be due to invalid IL or missing references)
		List<Character> allCharacters = Character.GetAllCharacters();
		int num = 0;
		foreach (Character item in allCharacters)
		{
			if (Vector3.Distance(((Component)item).transform.position, center) < maxdist && item.m_tamed && ((Component)item).GetComponent<ZNetView>().IsValid())
			{
				num++;
			}
		}
		return num;
	}

	public static int getSmelters(Vector3 center, float maxdist)
	{
		//IL_0017: Unknown result type (might be due to invalid IL or missing references)
		int num = 0;
		int mask = LayerMask.GetMask(new string[1] { "piece_nonsolid" });
		Collider[] array = Physics.OverlapSphere(center, maxdist, mask, (QueryTriggerInteraction)2);
		List<GameObject> list = new List<GameObject>();
		Collider[] array2 = array;
		foreach (Collider val in array2)
		{
			if (!Object.op_Implicit((Object)(object)((Component)val).transform.parent))
			{
				continue;
			}
			GameObject gameObject = ((Component)((Component)val).transform.parent).gameObject;
			if (((Object)gameObject).name.StartsWith("eitrrefinery") && Object.op_Implicit((Object)(object)gameObject.GetComponent<Smelter>()) && !list.Contains(gameObject))
			{
				list.Add(gameObject);
				if (((Component)gameObject.transform.Find("_enabled")).gameObject.activeSelf)
				{
					num++;
				}
			}
		}
		return num;
	}

	public static int getOnFire(Player plr)
	{
		//IL_001e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0025: Invalid comparison between Unknown and I4
		//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: Invalid comparison between Unknown and I4
		//IL_00df: 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_00e7: Invalid comparison between Unknown and I4
		//IL_00fb: 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_0103: Invalid comparison between Unknown and I4
		//IL_0117: Unknown result type (might be due to invalid IL or missing references)
		//IL_0119: Unknown result type (might be due to invalid IL or missing references)
		//IL_011f: Invalid comparison between Unknown and I4
		List<StatusEffect> statusEffects = ((Character)plr).m_seman.m_statusEffects;
		float num = 0f;
		float num2 = 1f;
		if ((int)EnvMan.instance.m_currentBiome != 32)
		{
			return 0;
		}
		foreach (StatusEffect item in statusEffects)
		{
			Type type = ((object)item).GetType();
			if (type == typeof(SE_Burning))
			{
				SE_Burning val = (SE_Burning)(object)((item is SE_Burning) ? item : null);
				num += val.m_fireDamagePerHit;
			}
			else
			{
				if (!(type == typeof(SE_Stats)))
				{
					continue;
				}
				SE_Stats val2 = (SE_Stats)(object)((item is SE_Stats) ? item : null);
				foreach (DamageModPair mod in val2.m_mods)
				{
					if ((int)mod.m_type == 32)
					{
						if ((int)mod.m_modifier == 1)
						{
							num2 *= 1.8f;
						}
						else if ((int)mod.m_modifier == 5)
						{
							num2 *= 3.6f;
						}
						else if ((int)mod.m_modifier == 3)
						{
							num += 10f;
						}
					}
				}
			}
		}
		return (int)(num * num2);
	}

	public static int getFreezing(Player plr)
	{
		//IL_001e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0025: Invalid comparison between Unknown and I4
		//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bb: Invalid comparison between Unknown and I4
		//IL_00e2: 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_00ea: 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_00f3: Invalid comparison between Unknown and I4
		//IL_0101: Unknown result type (might be due to invalid IL or missing references)
		//IL_0103: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Invalid comparison between Unknown and I4
		//IL_011d: Unknown result type (might be due to invalid IL or missing references)
		//IL_011f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0125: Invalid comparison between Unknown and I4
		List<StatusEffect> statusEffects = ((Character)plr).m_seman.m_statusEffects;
		float num = 0f;
		float num2 = 1f;
		if ((int)EnvMan.instance.m_currentBiome != 64)
		{
			return 0;
		}
		foreach (StatusEffect item in statusEffects)
		{
			Type type = ((object)item).GetType();
			if (type == typeof(SE_Frost))
			{
				SE_Frost val = (SE_Frost)(object)((item is SE_Frost) ? item : null);
				num += val.m_freezeTimePlayer / 3f;
			}
			else
			{
				if (!(type == typeof(SE_Stats)))
				{
					continue;
				}
				SE_Stats val2 = (SE_Stats)(object)((item is SE_Stats) ? item : null);
				if ((int)val2.m_hitType == 6)
				{
					num -= val2.m_healthPerTick;
				}
				foreach (DamageModPair mod in val2.m_mods)
				{
					if ((int)mod.m_type == 64)
					{
						if ((int)mod.m_modifier == 1)
						{
							num2 *= 1.8f;
						}
						else if ((int)mod.m_modifier == 5)
						{
							num2 *= 3.6f;
						}
					}
				}
			}
		}
		return (int)(num * num2);
	}

	[HarmonyPrefix]
	[HarmonyPatch(typeof(Player), "HaveRequirements", new Type[]
	{
		typeof(Recipe),
		typeof(bool),
		typeof(int),
		typeof(int)
	})]
	private static void PostfixHaveRequirementItems(Player __instance, Recipe recipe, bool discover, int qualityLevel)
	{
		bool flag = false;
		if (EnvMan.instance.GetCurrentEnvironment().m_name == Weather.ThunderStorm && !__instance.m_knownMaterial.Contains(thunderstorm_prefNname[1]))
		{
			__instance.m_knownMaterial.Add(thunderstorm_prefNname[1]);
			flag = true;
		}
		if (!__instance.m_knownMaterial.Contains(tamednearby_prefNname[1]))
		{
			__instance.m_knownMaterial.Add(tamednearby_prefNname[1]);
			flag = true;
		}
		if (!__instance.m_knownMaterial.Contains(refinernearby_prefNname[1]))
		{
			__instance.m_knownMaterial.Add(refinernearby_prefNname[1]);
			flag = true;
		}
		if (!__instance.m_knownMaterial.Contains(onfire_prefNname[1]))
		{
			__instance.m_knownMaterial.Add(onfire_prefNname[1]);
			flag = true;
		}
		if (!__instance.m_knownMaterial.Contains(freezing_prefNname[1]))
		{
			__instance.m_knownMaterial.Add(freezing_prefNname[1]);
			flag = true;
		}
		if (flag)
		{
			__instance.UpdateKnownRecipesList();
		}
	}

	private void Awake()
	{
		//IL_0007: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Expected O, but got Unknown
		Root = new GameObject("CraftingConditions");
		Root.transform.SetParent(Shawesomes_Divine_Armaments.Root.transform);
		Root.SetActive(false);
		Object.DontDestroyOnLoad((Object)(object)Root);
		Shawesomes_Divine_Armaments.logger.LogWarning((object)"in crafting condish awake");
	}

	public static void setConditionItems()
	{
		addThunderstormCondition();
		addHasTamedCondition();
		addHasSmeltersCondition();
		addOnFireCondition();
		addFreezingCondition();
	}

	private static void addThunderstormCondition()
	{
		//IL_0028: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Expected O, but got Unknown
		CustomItem item = ItemManager.Instance.GetItem(thunderstorm_prefNname[0]);
		if (item == null)
		{
			item = new CustomItem(thunderstorm_prefNname[0], "Thunderstone");
			ItemManager.Instance.AddItem(item);
			ItemData itemData = item.ItemDrop.m_itemData;
			itemData.m_shared.m_name = thunderstorm_prefNname[1];
			itemData.m_shared.m_description = "A thunderstorm is occurring";
			itemData.m_shared.m_icons[0] = Shawesomes_Divine_Armaments.ActiveTStormIcon;
			ConditionItems.Add(itemData);
		}
	}

	private static void addHasTamedCondition()
	{
		//IL_0028: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Expected O, but got Unknown
		CustomItem item = ItemManager.Instance.GetItem(tamednearby_prefNname[0]);
		if (item == null)
		{
			item = new CustomItem(tamednearby_prefNname[0], "TrophyBoar");
			ItemManager.Instance.AddItem(item);
			ItemData itemData = item.ItemDrop.m_itemData;
			itemData.m_shared.m_name = tamednearby_prefNname[1];
			itemData.m_shared.m_description = "You have tamed creatures nearby";
			ConditionItems.Add(itemData);
		}
	}

	private static void addHasSmeltersCondition()
	{
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0031: Expected O, but got Unknown
		CustomItem item = ItemManager.Instance.GetItem(refinernearby_prefNname[0]);
		if (item == null)
		{
			item = new CustomItem(refinernearby_prefNname[0], "Eitr");
			ItemManager.Instance.AddItem(item);
			ItemData itemData = item.ItemDrop.m_itemData;
			itemData.m_shared.m_name = refinernearby_prefNname[1];
			itemData.m_shared.m_description = "You have refineries nearby";
			GameObject prefab = PrefabManager.Instance.GetPrefab("eitrrefinery");
			itemData.m_shared.m_icons[0] = prefab.GetComponent<Piece>().m_icon;
			ConditionItems.Add(itemData);
		}
	}

	private static void addOnFireCondition()
	{
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0031: Expected O, but got Unknown
		CustomItem item = ItemManager.Instance.GetItem(onfire_prefNname[0]);
		if (item == null)
		{
			item = new CustomItem(onfire_prefNname[0], "TrophySurtling");
			ItemManager.Instance.AddItem(item);
			ItemData itemData = item.ItemDrop.m_itemData;
			itemData.m_shared.m_name = onfire_prefNname[1];
			itemData.m_shared.m_description = "You are on fire while in Ahslands";
			GameObject prefab = PrefabManager.Instance.GetPrefab("bonfire");
			itemData.m_shared.m_icons[0] = prefab.GetComponent<Piece>().m_icon;
			ConditionItems.Add(itemData);
		}
	}

	private static void addFreezingCondition()
	{
		//IL_0028: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Expected O, but got Unknown
		CustomItem item = ItemManager.Instance.GetItem(freezing_prefNname[0]);
		if (item == null)
		{
			item = new CustomItem(freezing_prefNname[0], "FreezeGland");
			ItemManager.Instance.AddItem(item);
			ItemData itemData = item.ItemDrop.m_itemData;
			itemData.m_shared.m_name = freezing_prefNname[1];
			itemData.m_shared.m_description = "You are Freezing while in the Deep North";
			itemData.m_shared.m_icons[0] = Shawesomes_Divine_Armaments.FreezingIcon;
			ConditionItems.Add(itemData);
		}
	}
}
public class ActiveClothMesh : MonoBehaviour
{
	public Mesh clothmesh = new Mesh();

	public Cloth clothref;

	public float roughness = 0.001f;

	private float lastTime = 0f;

	public List<ParticleSystem> partsys;

	private void Start()
	{
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_009e: 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_00ba: Unknown result type (might be due to invalid IL or missing references)
		if (!Object.op_Implicit((Object)(object)clothref))
		{
			clothref = ((Component)((Component)this).transform.parent).GetComponentInChildren<Cloth>();
		}
		((Object)clothmesh).name = "ClothMesh";
		clothmesh.vertices = clothref.vertices;
		clothmesh.normals = clothref.normals;
		partsys = ((Component)this).gameObject.GetComponentsInChildren<ParticleSystem>().ToList();
		foreach (ParticleSystem partsy in partsys)
		{
			ShapeModule shape = partsy.shape;
			if (!Object.op_Implicit((Object)(object)((ShapeModule)(ref shape)).skinnedMeshRenderer))
			{
				ShapeModule shape2 = partsy.shape;
				((ShapeModule)(ref shape2)).skinnedMeshRenderer = ((Component)this).gameObject.GetComponent<SkinnedMeshRenderer>();
			}
		}
	}

	private void Update()
	{
		if (Time.time - lastTime > roughness)
		{
			if (Object.op_Implicit((Object)(object)clothref))
			{
				clothmesh.vertices = clothref.vertices;
				clothmesh.normals = clothref.normals;
			}
			else
			{
				clothref = ((Component)((Component)this).transform.parent).GetComponentInChildren<Cloth>();
			}
			lastTime = Time.time;
		}
	}
}
namespace CustomEffects
{
	internal class InvisCloak
	{
		private static string invisCloakName = "ninebytecloak";

		public static bool overwriteParticles = false;

		[HarmonyPostfix]
		[HarmonyPatch(typeof(Player), "SetCrouch")]
		private static void playerCrouch(Player __instance, bool crouch)
		{
			bool flag = false;
			if (((Humanoid)__instance).m_shoulderItem != null && (Object)(object)((Humanoid)__instance).m_shoulderItem.m_dropPrefab != (Object)null && ((Object)((Humanoid)__instance).m_shoulderItem.m_dropPrefab).name == invisCloakName)
			{
				flag = true;
			}
			DA_CustomEffects dA_CustomEffects = default(DA_CustomEffects);
			if (!((Component)__instance).gameObject.TryGetComponent<DA_CustomEffects>(ref dA_CustomEffects))
			{
				dA_CustomEffects = ((Component)__instance).gameObject.AddComponent<DA_CustomEffects>();
			}
			dA_CustomEffects.UpdateVis();
			updateEffect((Character)(object)__instance, crouch && flag, dA_CustomEffects);
		}

		[HarmonyPostfix]
		[HarmonyPatch(typeof(VisEquipment), "UpdateVisuals")]
		private static void visEquipUpdate(VisEquipment __instance)
		{
			DA_CustomEffects dA_CustomEffects = default(DA_CustomEffects);
			Player val = default(Player);
			if (((Component)__instance).gameObject.TryGetComponent<DA_CustomEffects>(ref dA_CustomEffects) && dA_CustomEffects.UpdateVis() && ((Component)__instance).TryGetComponent<Player>(ref val))
			{
				if (((Humanoid)val).m_shoulderItem != null && (Object)(object)((Humanoid)val).m_shoulderItem.m_dropPrefab != (Object)null && ((Object)((Humanoid)val).m_shoulderItem.m_dropPrefab).name == invisCloakName)
				{
					updateEffect((Character)(object)val, ((Character)val).IsCrouching(), dA_CustomEffects);
				}
				else
				{
					updateEffect((Character)(object)val, isInvis: false, dA_CustomEffects);
				}
			}
		}

		public static void updateEffect(Character character, bool isInvis, DA_CustomEffects da)
		{
			da.SetVis(isInvis);
		}
	}
	public class DA_CustomEffects : MonoBehaviour
	{
		private Dictionary<Renderer, Material> originalMats = new Dictionary<Renderer, Material>();

		private Material baseMat;

		private Material particleMat;

		private void Awake()
		{
			Renderer[] componentsInChildren = ((Component)this).gameObject.GetComponentsInChildren<Renderer>();
			Transform child = ZNetScene.instance.GetPrefab("DragonTear").transform.GetChild(0);
			baseMat = Shawesomes_Divine_Armaments.invisMat;
			particleMat = ((Component)((Component)child).transform.GetChild(1)).GetComponent<Renderer>().material;
			Renderer[] array = componentsInChildren;
			foreach (Renderer val in array)
			{
				if (!originalMats.ContainsKey(val))
				{
					originalMats.Add(val, val.material);
				}
			}
		}

		public bool UpdateVis()
		{
			bool result = false;
			Character val = default(Character);
			if (!((Component)this).gameObject.TryGetComponent<Character>(ref val))
			{
				return result;
			}
			Renderer[] componentsInChildren = ((Component)this).gameObject.GetComponentsInChildren<Renderer>();
			List<Renderer> list = new List<Renderer>();
			foreach (KeyValuePair<Renderer, Material> originalMat in originalMats)
			{
				if (!componentsInChildren.Contains(originalMat.Key))
				{
					result = true;
					list.Add(originalMat.Key);
				}
			}
			foreach (Renderer item in list)
			{
				originalMats.Remove(item);
			}
			Renderer[] array = componentsInChildren;
			foreach (Renderer val2 in array)
			{
				if (!originalMats.ContainsKey(val2))
				{
					originalMats.Add(val2, val2.material);
					result = true;
				}
			}
			return result;
		}

		public void SetVis(bool isInvis)
		{
			foreach (KeyValuePair<Renderer, Material> originalMat in originalMats)
			{
				if (isInvis)
				{
					if (((object)originalMat.Key).GetType() == typeof(ParticleSystemRenderer))
					{
						if (InvisCloak.overwriteParticles)
						{
							originalMat.Key.material = particleMat;
						}
					}
					else
					{
						originalMat.Key.material = baseMat;
					}
				}
				else
				{
					originalMat.Key.material = originalMat.Value;
				}
			}
		}
	}
}
namespace shawcape
{
	[BepInPlugin("Shawesome.Shawesomes_Divine_Armaments", "Shawesomes_Divine_Armaments", "4.0.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Shawesomes_Divine_Armaments : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(ObjectDB), "Awake")]
		private static class AddItems_Patch
		{
			private static void Postfix(ObjectDB __instance)
			{
				//IL_0001: Unknown result type (might be due to invalid IL or missing references)
				//IL_0006: Unknown result type (might be due to invalid IL or missing references)
				Scene activeScene = SceneManager.GetActiveScene();
				if (((Scene)(ref activeScene)).name == "main" && ZNet.instance.IsServer())
				{
					harmonyLog.LogMessage((object)"Updating Recipes as Server2");
					AddItemRecipes();
				}
			}
		}

		[HarmonyPatch(typeof(Terminal), "Awake")]
		private static class RegisterShawCommands
		{
			[Serializable]
			[CompilerGenerated]
			private sealed class <>c
			{
				public static readonly <>c <>9 = new <>c();

				public static ConsoleEvent <>9__0_0;

				internal void <Postfix>b__0_0(ConsoleEventArgs args)
				{
					if (!Object.op_Implicit((Object)(object)Player.m_localPlayer))
					{
						return;
					}
					foreach (StatusEffect statusEffect in ((Character)Player.m_localPlayer).GetSEMan().GetStatusEffects())
					{
						Debug.Log((object)("name: " + ((Object)statusEffect).name + " hash: " + statusEffect.m_nameHash + " display: " + statusEffect.m_name));
					}
				}
			}

			private static void Postfix()
			{
				//IL_0033: Unknown result type (might be due to invalid IL or missing references)
				//IL_0039: Expected O, but got Unknown
				//IL_001f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0024: Unknown result type (might be due to invalid IL or missing references)
				//IL_002a: Expected O, but got Unknown
				object obj = <>c.<>9__0_0;
				if (obj == null)
				{
					ConsoleEvent val = delegate
					{
						if (!Object.op_Implicit((Object)(object)Player.m_localPlayer))
						{
							return;
						}
						foreach (StatusEffect statusEffect in ((Character)Player.m_localPlayer).GetSEMan().GetStatusEffects())
						{
							Debug.Log((object)("name: " + ((Object)statusEffect).name + " hash: " + statusEffect.m_nameHash + " display: " + statusEffect.m_name));
						}
					};
					<>c.<>9__0_0 = val;
					obj = (object)val;
				}
				ConsoleCommand val2 = new ConsoleCommand("list_status", "list out the names of status effects", (ConsoleEvent)obj, false, false, false, false, false, (ConsoleOptionsFetcher)null, false, false, false);
			}
		}

		[HarmonyPatch(typeof(Player), "SetMaxEitr")]
		private static class Player_SetMaxEitr_Patch
		{
			private static void Prefix(Player __instance, ref float eitr)
			{
				if (!((Object)(object)__instance != (Object)(object)Player.m_localPlayer))
				{
					if (((Character)__instance).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("Potion_DivineElixir_Large")))
					{
						eitr += 250f;
					}
					if (((Character)__instance).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("Caliburn_Blessing_SE")))
					{
						eitr += 110f;
					}
				}
			}
		}

		[HarmonyPatch(typeof(Player), "SetMaxStamina")]
		private static class Player_SetMaxStamina_Patch
		{
			private static void Prefix(Player __instance, ref float stamina)
			{
				if (!((Object)(object)__instance != (Object)(object)Player.m_localPlayer))
				{
					if (((Character)__instance).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("Potion_DivineElixir_Large")))
					{
						stamina += 250f;
					}
					if (((Character)__instance).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("Caliburn_Blessing_SE")))
					{
						stamina += 110f;
					}
				}
			}
		}

		[HarmonyPatch(typeof(Player), "SetMaxHealth")]
		private static class Player_SetMaxHealth_Patch
		{
			private static void Prefix(Player __instance, ref float health)
			{
				if (!((Object)(object)__instance != (Object)(object)Player.m_localPlayer))
				{
					if (((Character)__instance).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("Potion_DivineElixir_Large")))
					{
						health += 250f;
					}
					if (((Character)__instance).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("Caliburn_Blessing_SE")))
					{
						health += 110f;
					}
				}
			}
		}

		[HarmonyPatch(typeof(ItemStyle), "Setup")]
		private static class ItemStyle_Setup_Patch
		{
			private static void Postfix(ItemStyle __instance, int style)
			{
				//IL_00ad: 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_0133: 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_013c: Unknown result type (might be due to invalid IL or missing references)
				//IL_0141: Unknown result type (might be due to invalid IL or missing references)
				//IL_0172: Unknown result type (might be due to invalid IL or missing references)
				//IL_0177: 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_01a6: 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_0194: 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)
				IEquipmentVisual[] componentsInChildren = ((Component)((Component)__instance).transform.parent).GetComponentsInChildren<IEquipmentVisual>();
				for (int i = 0; i < componentsInChildren.Length; i++)
				{
					if (((object)componentsInChildren[i]).GetType() != typeof(ItemStyle))
					{
						continue;
					}
					IEquipmentVisual obj = componentsInChildren[i];
					MonoBehaviour val = (MonoBehaviour)(object)((obj is MonoBehaviour) ? obj : null);
					if (!Object.op_Implicit((Object)(object)val))
					{
						continue;
					}
					Material material = ((Component)val).GetComponent<Renderer>().material;
					material.SetFloat("_Style", (float)style);
					Color[] colorArray = material.GetColorArray("_StyleColors");
					Color[] colorArray2 = material.GetColorArray("_StyleTints");
					if (colorArray != null)
					{
						material.SetColor("_Color", colorArray[Math.Min(colorArray.Length - 1, style)]);
					}
					if (colorArray2 != null)
					{
						material.SetColor("_TintColor", colorArray2[Math.Min(colorArray2.Length - 1, style)]);
					}
					Color[] colorArray3 = material.GetColorArray("_StyleGradient0");
					Color[] colorArray4 = material.GetColorArray("_StyleGradient1");
					if (colorArray3 == null && colorArray4 == null)
					{
						continue;
					}
					ParticleSystem component = ((Component)val).GetComponent<ParticleSystem>();
					if (Object.op_Implicit((Object)(object)component))
					{
						ColorOverLifetimeModule colorOverLifetime = component.colorOverLifetime;
						MinMaxGradient color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color;
						GradientColorKey[] array = (GradientColorKey[])((MinMaxGradient)(ref color)).gradient.colorKeys.Clone();
						if (colorArray3 != null)
						{
							array[0].color = colorArray3[style];
						}
						if (colorArray4 != null)
						{
							array[1].color = colorArray4[style];
						}
						color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color;
						Gradient gradient = ((MinMaxGradient)(ref color)).gradient;
						gradient.colorKeys = array;
						((ColorOverLifetimeModule)(ref colorOverLifetime)).color = new MinMaxGradient(gradient);
					}
				}
			}
		}

		public Harmony harmony;

		public static GameObject Root;

		public static CraftingConditions craftcond;

		public string version = "1.0.0";

		public static ManualLogSource logger;

		public static ManualLogSource harmonyLog;

		private static AssetBundle Shawcassets;

		public static Sprite FreezingIcon;

		public static Sprite ActiveTStormIcon;

		public static Material invisMat;

		public static GameObject arcanium_go;

		public static GameObject shaw_helm_go;

		public static GameObject shawhelm2_go;

		public static GameObject shawbody_go;

		public static GameObject shawlegs_go;

		public static GameObject shawshield_go;

		public static GameObject caliburn1_go;

		public static GameObject BBOS_go;

		public static GameObject MBOS_go;

		public static GameObject Buildnir_go;

		public static GameObject tbolt_go;

		public static GameObject Gungnir_go;

		public static GameObject feastprep_go;

		public static GameObject Meldlegs_go;

		public static GameObject Meldchest_go;

		public static GameObject Meldhelm_go;

		public static GameObject nbChest_go;

		public static GameObject nbl_go;

		public static GameObject nbb_go;

		public static GameObject fchest_go;

		public static GameObject feyes_go;

		public static GameObject flegs_go;

		public static GameObject dkhelm_go;

		public static GameObject dkchest_go;

		public static GameObject dklegs_go;

		public static GameObject sdraghelm_go;

		public static GameObject sdragchest_go;

		public static GameObject sdraglegs_go;

		public static GameObject draghelm_go;

		public static GameObject dragchest_go;

		public static GameObject draglegs_go;

		public static GameObject ohelm_go;

		public static GameObject ochest_go;

		public static GameObject olegs_go;

		public static GameObject Rclaw_go;

		public static GameObject Lclaw_go;

		public static GameObject rsword_go;

		public static GameObject fpshield_go;

		public static GameObject sbshield_go;

		public static GameObject dkaxe_go;

		public static GameObject dkshield_go;

		public static GameObject deprep_go;

		public static GameObject ntgun_go;

		public static GameObject ntservo_go;

		public static GameObject ntbow_go;

		public static GameObject ntstaff_go;

		public static GameObject dberg_go;

		public static GameObject dlance_go;

		public static GameObject draxe_go;

		public static GameObject dbow_go;

		public static GameObject dcres_go;

		public static GameObject csword_go;

		public static GameObject slhelm_go;

		public static GameObject dwsword_go;

		public static GameObject aslg_go;

		public static GameObject nbcape_go;

		public static GameObject vd_go;

		public static ConfigEntry<string> recipe_arcanium;

		public static ConfigEntry<string> station_arcanium;

		public static ConfigEntry<string> recipe_Shaw_helm;

		public static ConfigEntry<string> station_Shaw_helm;

		public static ConfigEntry<string> recipe_Shaw_helm2;

		public static ConfigEntry<string> station_Shaw_helm2;

		public static ConfigEntry<string> recipe_shawbody;

		public static ConfigEntry<string> station_shawbody;

		public static ConfigEntry<string> recipe_shawlegs;

		public static ConfigEntry<string> station_shawlegs;

		public static ConfigEntry<string> recipe_shawshield;

		public static ConfigEntry<string> station_shawshield;

		public static ConfigEntry<string> recipe_caliburn1;

		public static ConfigEntry<string> station_caliburn1;

		public static ConfigEntry<string> recipe_BBOS;

		public static ConfigEntry<string> station_BBOS;

		public static ConfigEntry<string> recipe_MBOS;

		public static ConfigEntry<string> station_MBOS;

		public static ConfigEntry<string> recipe_Buildnir;

		public static ConfigEntry<string> station_Buildnir;

		public static ConfigEntry<string> recipe_tbolt;

		public static ConfigEntry<string> station_tbolt;

		public static ConfigEntry<string> recipe_Gungnir;

		public static ConfigEntry<string> station_Gungnir;

		public static ConfigEntry<string> recipe_feastprep;

		public static ConfigEntry<string> station_feastprep;

		public static ConfigEntry<string> recipe_Meldlegs;

		public static ConfigEntry<string> station_Meldlegs;

		public static ConfigEntry<string> recipe_Meldchest;

		public static ConfigEntry<string> station_Meldchest;

		public static ConfigEntry<string> recipe_Meldhelm;

		public static ConfigEntry<string> station_Meldhelm;

		public static ConfigEntry<string> recipe_nbChest;

		public static ConfigEntry<string> station_nbChest;

		public static ConfigEntry<string> recipe_nbl;

		public static ConfigEntry<string> station_nbl;

		public static ConfigEntry<string> recipe_nbb;

		public static ConfigEntry<string> station_nbb;

		public static ConfigEntry<string> recipe_fchest;

		public static ConfigEntry<string> station_fchest;

		public static ConfigEntry<string> recipe_feyes;

		public static ConfigEntry<string> station_feyes;

		public static ConfigEntry<string> recipe_flegs;

		public static ConfigEntry<string> station_flegs;

		public static ConfigEntry<string> recipe_dkhelm;

		public static ConfigEntry<string> station_dkhelm;

		public static ConfigEntry<string> recipe_dkchest;

		public static ConfigEntry<string> station_dkchest;

		public static ConfigEntry<string> recipe_dklegs;

		public static ConfigEntry<string> station_dklegs;

		public static ConfigEntry<string> recipe_sdraghelm;

		public static ConfigEntry<string> station_sdraghelm;

		public static ConfigEntry<string> recipe_sdragchest;

		public static ConfigEntry<string> station_sdragchest;

		public static ConfigEntry<string> recipe_sdraglegs;

		public static ConfigEntry<string> station_sdraglegs;

		public static ConfigEntry<string> recipe_draghelm;

		public static ConfigEntry<string> station_draghelm;

		public static ConfigEntry<string> recipe_dragchest;

		public static ConfigEntry<string> station_dragchest;

		public static ConfigEntry<string> recipe_draglegs;

		public static ConfigEntry<string> station_draglegs;

		public static ConfigEntry<string> recipe_ohelm;

		public static ConfigEntry<string> station_ohelm;

		public static ConfigEntry<string> recipe_ochest;

		public static ConfigEntry<string> station_ochest;

		public static ConfigEntry<string> recipe_olegs;

		public static ConfigEntry<string> station_olegs;

		public static ConfigEntry<string> recipe_Rclaw;

		public static ConfigEntry<string> station_Rclaw;

		public static ConfigEntry<string> recipe_Lclaw;

		public static ConfigEntry<string> station_Lclaw;

		public static ConfigEntry<string> recipe_rsword;

		public static ConfigEntry<string> station_rsword;

		public static ConfigEntry<string> recipe_fpshield;

		public static ConfigEntry<string> station_fpshield;

		public static ConfigEntry<string> recipe_sbshield;

		public static ConfigEntry<string> station_sbshield;

		public static ConfigEntry<string> recipe_dkaxe;

		public static ConfigEntry<string> station_dkaxe;

		public static ConfigEntry<string> recipe_dkshield;

		public static ConfigEntry<string> station_dkshield;

		public static ConfigEntry<string> recipe_deprep;

		public static ConfigEntry<string> station_deprep;

		public static ConfigEntry<string> recipe_ntgun;

		public static ConfigEntry<string> station_ntgun;

		public static ConfigEntry<string> recipe_ntservo;

		public static ConfigEntry<string> station_ntservo;

		public static ConfigEntry<string> recipe_ntbow;

		public static ConfigEntry<string> station_ntbow;

		public static ConfigEntry<string> recipe_ntstaff;

		public static ConfigEntry<string> station_ntstaff;

		public static ConfigEntry<string> recipe_dberg;

		public static ConfigEntry<string> station_dberg;

		public static ConfigEntry<string> recipe_dlance;

		public static ConfigEntry<string> station_dlance;

		public static ConfigEntry<string> recipe_draxe;

		public static ConfigEntry<string> station_draxe;

		public static ConfigEntry<string> recipe_dbow;

		public static ConfigEntry<string> station_dbow;

		public static ConfigEntry<string> recipe_dcres;

		public static ConfigEntry<string> station_dcres;

		public static ConfigEntry<string> recipe_csword;

		public static ConfigEntry<string> station_csword;

		public static ConfigEntry<string> recipe_slhelm;

		public static ConfigEntry<string> station_slhelm;

		public static ConfigEntry<string> recipe_dwsword;

		public static ConfigEntry<string> station_dwsword;

		public static ConfigEntry<string> recipe_aslg;

		public static ConfigEntry<string> station_aslg;

		public static ConfigEntry<string> recipe_9bcape;

		public static ConfigEntry<string> station_9bcape;

		public static ConfigEntry<string> recipe_vd;

		public static ConfigEntry<string> station_vd;

		public void Awake()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Expected O, but got Unknown
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Expected O, but got Unknown
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0097: Expected O, but got Unknown
			//IL_0097: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Expected O, but got Unknown
			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Expected O, but got Unknown
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e1: Expected O, but got Unknown
			//IL_0109: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0117: Expected O, but got Unknown
			//IL_0117: Unknown result type (might be due to invalid IL or missing references)
			//IL_0121: Expected O, but got Unknown
			//IL_0149: 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_0157: Expected O, but got Unknown
			//IL_0157: Unknown result type (might be due to invalid IL or missing references)
			//IL_0161: Expected O, but got Unknown
			//IL_0189: Unknown result type (might be due to invalid IL or missing references)
			//IL_018e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Expected O, but got Unknown
			//IL_0197: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a1: Expected O, but got Unknown
			//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d7: Expected O, but got Unknown
			//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e1: Expected O, but got Unknown
			//IL_0209: 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_0217: Unknown result type (might be due to invalid IL or missing references)
			//IL_0221: Expected O, but got Unknown
			//IL_0249: Unknown result type (might be due to invalid IL or missing references)
			//IL_024e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0257: Expected O, but got Unknown
			//IL_0257: Unknown result type (might be due to invalid IL or missing references)
			//IL_0261: Expected O, but got Unknown
			//IL_0289: Unknown result type (might be due to invalid IL or missing references)
			//IL_028e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0297: Expected O, but got Unknown
			//IL_0297: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a1: 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_02d7: Expected O, but got Unknown
			//IL_02d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e1: 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_0317: Expected O, but got Unknown
			//IL_0317: Unknown result type (might be due to invalid IL or missing references)
			//IL_0321: Expected O, but got Unknown
			//IL_0349: Unknown result type (might be due to invalid IL or missing references)
			//IL_034e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0357: Expected O, but got Unknown
			//IL_0357: Unknown result type (might be due to invalid IL or missing references)
			//IL_0361: Expected O, but got Unknown
			//IL_0389: 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_0397: Expected O, but got Unknown
			//IL_0397: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a1: Expected O, but got Unknown
			//IL_03c9: 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_03d7: Expected O, but got Unknown
			//IL_03d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e1: Expected O, but got Unknown
			//IL_0409: Unknown result type (might be due to invalid IL or missing references)
			//IL_040e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0417: Expected O, but got Unknown
			//IL_0417: Unknown result type (might be due to invalid IL or missing references)
			//IL_0421: Expected O, but got Unknown
			//IL_0449: Unknown result type (might be due to invalid IL or missing references)
			//IL_044e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0457: Expected O, but got Unknown
			//IL_0457: Unknown result type (might be due to invalid IL or missing references)
			//IL_0461: Expected O, but got Unknown
			//IL_0489: Unknown result type (might be due to invalid IL or missing references)
			//IL_048e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0497: Expected O, but got Unknown
			//IL_0497: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a1: Expected O, but got Unknown
			//IL_04c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d7: Expected O, but got Unknown
			//IL_04d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e1: Expected O, but got Unknown
			//IL_0509: Unknown result type (might be due to invalid IL or missing references)
			//IL_050e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0517: Expected O, but got Unknown
			//IL_0517: Unknown result type (might be due to invalid IL or missing references)
			//IL_0521: Expected O, but got Unknown
			//IL_0549: Unknown result type (might be due to invalid IL or missing references)
			//IL_054e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0557: Expected O, but got Unknown
			//IL_0557: Unknown result type (might be due to invalid IL or missing references)
			//IL_0561: Expected O, but got Unknown
			//IL_0589: Unknown result type (might be due to invalid IL or missing references)
			//IL_058e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0597: Expected O, but got Unknown
			//IL_0597: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a1: Expected O, but got Unknown
			//IL_05c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d7: Expected O, but got Unknown
			//IL_05d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e1: 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_0617: Expected O, but got Unknown
			//IL_0617: Unknown result type (might be due to invalid IL or missing references)
			//IL_0621: Expected O, but got Unknown
			//IL_0649: Unknown result type (might be due to invalid IL or missing references)
			//IL_064e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0657: Expected O, but got Unknown
			//IL_0657: Unknown result type (might be due to invalid IL or missing references)
			//IL_0661: Expected O, but got Unknown
			//IL_0689: Unknown result type (might be due to invalid IL or missing references)
			//IL_068e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0697: Expected O, but got Unknown
			//IL_0697: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a1: Expected O, but got Unknown
			//IL_06c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d7: Expected O, but got Unknown
			//IL_06d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e1: Expected O, but got Unknown
			//IL_0709: Unknown result type (might be due to invalid IL or missing references)
			//IL_070e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0717: Expected O, but got Unknown
			//IL_0717: Unknown result type (might be due to invalid IL or missing references)
			//IL_0721: Expected O, but got Unknown
			//IL_0749: Unknown result type (might be due to invalid IL or missing references)
			//IL_074e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0757: Expected O, but got Unknown
			//IL_0757: Unknown result type (might be due to invalid IL or missing references)
			//IL_0761: Expected O, but got Unknown
			//IL_0789: Unknown result type (might be due to invalid IL or missing references)
			//IL_078e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0797: Expected O, but got Unknown
			//IL_0797: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a1: Expected O, but got Unknown
			//IL_07c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d7: Expected O, but got Unknown
			//IL_07d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e1: Expected O, but got Unknown
			//IL_0809: Unknown result type (might be due to invalid IL or missing references)
			//IL_080e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0817: Expected O, but got Unknown
			//IL_0817: Unknown result type (might be due to invalid IL or missing references)
			//IL_0821: Expected O, but got Unknown
			//IL_0849: Unknown result type (might be due to invalid IL or missing references)
			//IL_084e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0857: Expected O, but got Unknown
			//IL_0857: Unknown result type (might be due to invalid IL or missing references)
			//IL_0861: Expected O, but got Unknown
			//IL_0889: Unknown result type (might be due to invalid IL or missing references)
			//IL_088e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0897: Expected O, but got Unknown
			//IL_0897: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a1: Expected O, but got Unknown
			//IL_08c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_08d7: Expected O, but got Unknown
			//IL_08d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_08e1: Expected O, but got Unknown
			//IL_0909: Unknown result type (might be due to invalid IL or missing references)
			//IL_090e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0917: Expected O, but got Unknown
			//IL_0917: Unknown result type (might be due to invalid IL or missing references)
			//IL_0921: Expected O, but got Unknown
			//IL_0949: Unknown result type (might be due to invalid IL or missing references)
			//IL_094e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0957: Expected O, but got Unknown
			//IL_0957: Unknown result type (might be due to invalid IL or missing references)
			//IL_0961: Expected O, but got Unknown
			//IL_0989: Unknown result type (might be due to invalid IL or missing references)
			//IL_098e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0997: Expected O, but got Unknown
			//IL_0997: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a1: Expected O, but got Unknown
			//IL_09c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_09d7: Expected O, but got Unknown
			//IL_09d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_09e1: Expected O, but got Unknown
			//IL_0a09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a17: Expected O, but got Unknown
			//IL_0a17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a21: Expected O, but got Unknown
			//IL_0a49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a57: Expected O, but got Unknown
			//IL_0a57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a61: Expected O, but got Unknown
			//IL_0a89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a97: Expected O, but got Unknown
			//IL_0a97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa1: Expected O, but got Unknown
			//IL_0ac9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ace: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ad7: Expected O, but got Unknown
			//IL_0ad7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ae1: Expected O, but got Unknown
			//IL_0b09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b17: Expected O, but got Unknown
			//IL_0b17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b21: Expected O, but got Unknown
			//IL_0b49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b57: Expected O, but got Unknown
			//IL_0b57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b61: Expected O, but got Unknown
			//IL_0b89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b97: Expected O, but got Unknown
			//IL_0b97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ba1: Expected O, but got Unknown
			//IL_0bc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bce: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bd7: Expected O, but got Unknown
			//IL_0bd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be1: Expected O, but got Unknown
			//IL_0c09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c17: Expected O, but got Unknown
			//IL_0c17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c21: Expected O, but got Unknown
			//IL_0c49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c57: Expected O, but got Unknown
			//IL_0c57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c61: Expected O, but got Unknown
			//IL_0c89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c97: Expected O, but got Unknown
			//IL_0c97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ca1: Expected O, but got Unknown
			//IL_0cc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cce: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cd7: Expected O, but got Unknown
			//IL_0cd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ce1: Expected O, but got Unknown
			//IL_0d09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d17: Expected O, but got Unknown
			//IL_0d17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d21: Expected O, but got Unknown
			//IL_0d49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d57: Expected O, but got Unknown
			//IL_0d57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d61: Expected O, but got Unknown
			//IL_0d89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d97: Expected O, but got Unknown
			//IL_0d97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da1: Expected O, but got Unknown
			//IL_0dc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dce: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd7: Expected O, but got Unknown
			//IL_0dd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de1: Expected O, but got Unknown
			//IL_0e09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e17: Expected O, but got Unknown
			//IL_0e17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e21: Expected O, but got Unknown
			//IL_0e49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e57: Expected O, but got Unknown
			//IL_0e57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e61: Expected O, but got Unknown
			//IL_0e89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e97: Expected O, but got Unknown
			//IL_0e97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea1: Expected O, but got Unknown
			//IL_0ec9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ece: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ed7: Expected O, but got Unknown
			//IL_0ed7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee1: Expected O, but got Unknown
			//IL_0f09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f17: Expected O, but got Unknown
			//IL_0f17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f21: Expected O, but got Unknown
			//IL_0f49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f57: Expected O, but got Unknown
			//IL_0f57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f61: Expected O, but got Unknown
			//IL_0f89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f97: Expected O, but got Unknown
			//IL_0f97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fa1: Expected O, but got Unknown
			//IL_0fc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fce: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fd7: Expected O, but got Unknown
			//IL_0fd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fe1: Expected O, but got Unknown
			//IL_1009: Unknown result type (might be due to invalid IL or missing references)
			//IL_100e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1017: Expected O, but got Unknown
			//IL_1017: Unknown result type (might be due to invalid IL or missing references)
			//IL_1021: Expected O, but got Unknown
			//IL_1049: Unknown result type (might be due to invalid IL or missing references)
			//IL_104e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1057: Expected O, but got Unknown
			//IL_1057: Unknown result type (might be due to invalid IL or missing references)
			//IL_1061: Expected O, but got Unknown
			//IL_1089: Unknown result type (might be due to invalid IL or missing references)
			//IL_108e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1097: Expected O, but got Unknown
			//IL_1097: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a1: Expected O, but got Unknown
			//IL_10c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_10d7: Expected O, but got Unknown
			//IL_10d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_10e1: Expected O, but got Unknown
			//IL_1109: Unknown result type (might be due to invalid IL or missing references)
			//IL_110e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1117: Expected O, but got Unknown
			//IL_1117: Unknown result type (might be due to invalid IL or missing references)
			//IL_1121: Expected O, but got Unknown
			//IL_1149: Unknown result type (might be due to invalid IL or missing references)
			//IL_114e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1157: Expected O, but got Unknown
			//IL_1157: Unknown result type (might be due to invalid IL or missing references)
			//IL_1161: Expected O, but got Unknown
			//IL_1189: Unknown result type (might be due to invalid IL or missing references)
			//IL_118e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1197: Expected O, but got Unknown
			//IL_1197: Unknown result type (might be due to invalid IL or missing references)
			//IL_11a1: Expected O, but got Unknown
			//IL_11c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_11ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_11d7: Expected O, but got Unknown
			//IL_11d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_11e1: Expected O, but got Unknown
			//IL_1209: Unknown result type (might be due to invalid IL or missing references)
			//IL_120e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1217: Expected O, but got Unknown
			//IL_1217: Unknown result type (might be due to invalid IL or missing references)
			//IL_1221: Expected O, but got Unknown
			//IL_1249: Unknown result type (might be due to invalid IL or missing references)
			//IL_124e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1257: Expected O, but got Unknown
			//IL_1257: Unknown result type (might be due to invalid IL or missing references)
			//IL_1261: Expected O, but got Unknown
			//IL_1289: Unknown result type (might be due to invalid IL or missing references)
			//IL_128e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1297: Expected O, but got Unknown
			//IL_1297: Unknown result type (might be due to invalid IL or missing references)
			//IL_12a1: Expected O, but got Unknown
			//IL_12c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_12ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_12d7: Expected O, but got Unknown
			//IL_12d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_12e1: Expected O, but got Unknown
			//IL_1309: Unknown result type (might be due to invalid IL or missing references)
			//IL_130e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1317: Expected O, but got Unknown
			//IL_1317: Unknown result type (might be due to invalid IL or missing references)
			//IL_1321: Expected O, but got Unknown
			//IL_1349: Unknown result type (might be due to invalid IL or missing references)
			//IL_134e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1357: Expected O, but got Unknown
			//IL_1357: Unknown result type (might be due to invalid IL or missing references)
			//IL_1361: Expected O, but got Unknown
			//IL_1389: Unknown result type (might be due to invalid IL or missing references)
			//IL_138e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1397: Expected O, but got Unknown
			//IL_1397: Unknown result type (might be due to invalid IL or missing references)
			//IL_13a1: Expected O, but got Unknown
			//IL_13c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_13ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_13d7: Expected O, but got Unknown
			//IL_13d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_13e1: Expected O, but got Unknown
			//IL_1409: Unknown result type (might be due to invalid IL or missing references)
			//IL_140e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1417: Expected O, but got Unknown
			//IL_1417: Unknown result type (might be due to invalid IL or missing references)
			//IL_1421: Expected O, but got Unknown
			//IL_1449: Unknown result type (might be due to invalid IL or missing references)
			//IL_144e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1457: Expected O, but got Unknown
			//IL_1457: Unknown result type (might be due to invalid IL or missing references)
			//IL_1461: Expected O, but got Unknown
			//IL_1489: Unknown result type (might be due to invalid IL or missing references)
			//IL_148e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1497: Expected O, but got Unknown
			//IL_1497: Unknown result type (might be due to invalid IL or missing references)
			//IL_14a1: Expected O, but got Unknown
			//IL_14c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_14ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_14d7: Expected O, but got Unknown
			//IL_14d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_14e1: Expected O, but got Unknown
			//IL_1509: Unknown result type (might be due to invalid IL or missing references)
			//IL_150e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1517: Expected O, but got Unknown
			//IL_1517: Unknown result type (might be due to invalid IL or missing references)
			//IL_1521: Expected O, but got Unknown
			//IL_1549: Unknown result type (might be due to invalid IL or missing references)
			//IL_154e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1557: Expected O, but got Unknown
			//IL_1557: Unknown result type (might be due to invalid IL or missing references)
			//IL_1561: Expected O, but got Unknown
			//IL_1589: Unknown result type (might be due to invalid IL or missing references)
			//IL_158e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1597: Expected O, but got Unknown
			//IL_1597: Unknown result type (might be due to invalid IL or missing references)
			//IL_15a1: Expected O, but got Unknown
			//IL_15c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_15ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_15d7: Expected O, but got Unknown
			//IL_15d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_15e1: Expected O, but got Unknown
			//IL_1609: Unknown result type (might be due to invalid IL or missing references)
			//IL_160e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1617: Expected O, but got Unknown
			//IL_1617: Unknown result type (might be due to invalid IL or missing references)
			//IL_1621: Expected O, but got Unknown
			//IL_1649: Unknown result type (might be due to invalid IL or missing references)
			//IL_164e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1657: Expected O, but got Unknown
			//IL_1657: Unknown result type (might be due to invalid IL or missing references)
			//IL_1661: Expected O, but got Unknown
			//IL_1689: Unknown result type (might be due to invalid IL or missing references)
			//IL_168e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1697: Expected O, but got Unknown
			//IL_1697: Unknown result type (might be due to invalid IL or missing references)
			//IL_16a1: Expected O, but got Unknown
			//IL_16c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_16ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_16d7: Expected O, but got Unknown
			//IL_16d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_16e1: Expected O, but got Unknown
			//IL_1709: Unknown result type (might be due to invalid IL or missing references)
			//IL_170e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1717: Expected O, but got Unknown
			//IL_1717: Unknown result type (might be due to invalid IL or missing references)
			//IL_1721: Expected O, but got Unknown
			//IL_1749: Unknown result type (might be due to invalid IL or missing references)
			//IL_174e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1757: Expected O, but got Unknown
			//IL_1757: Unknown result type (might be due to invalid IL or missing references)
			//IL_1761: Expected O, but got Unknown
			//IL_1789: Unknown result type (might be due to invalid IL or missing references)
			//IL_178e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1797: Expected O, but got Unknown
			//IL_1797: Unknown result type (might be due to invalid IL or missing references)
			//IL_17a1: Expected O, but got Unknown
			//IL_17c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_17ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_17d7: Expected O, but got Unknown
			//IL_17d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_17e1: Expected O, but got Unknown
			//IL_1809: Unknown result type (might be due to invalid IL or missing references)
			//IL_180e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1817: Expected O, but got Unknown
			//IL_1817: Unknown result type (might be due to invalid IL or missing references)
			//IL_1821: Expected O, but got Unknown
			//IL_1849: Unknown result type (might be due to invalid IL or missing references)
			//IL_184e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1857: Expected O, but got Unknown
			//IL_1857: Unknown result type (might be due to invalid IL or missing references)
			//IL_1861: Expected O, but got Unknown
			//IL_1889: Unknown result type (might be due to invalid IL or missing references)
			//IL_188e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1897: Expected O, but got Unknown
			//IL_1897: Unknown result type (might be due to invalid IL or missing references)
			//IL_18a1: Expected O, but got Unknown
			//IL_18c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_18ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_18d7: Expected O, but got Unknown
			//IL_18d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_18e1: Expected O, but got Unknown
			//IL_1909: Unknown result type (might be due to invalid IL or missing references)
			//IL_190e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1917: Expected O, but got Unknown
			//IL_1917: Unknown result type (might be due to invalid IL or missing references)
			//IL_1921: Expected O, but got Unknown
			//IL_1949: Unknown result type (might be due to invalid IL or missing references)
			//IL_194e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1957: Expected O, but got Unknown
			//IL_1957: Unknown result type (might be due to invalid IL or missing references)
			//IL_1961: Expected O, but got Unknown
			//IL_1989: Unknown result type (might be due to invalid IL or missing references)
			//IL_198e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1997: Expected O, but got Unknown
			//IL_1997: Unknown result type (might be due to invalid IL or missing references)
			//IL_19a1: Expected O, but got Unknown
			//IL_19c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_19ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_19d7: Expected O, but got Unknown
			//IL_19d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_19e1: Expected O, but got Unknown
			//IL_1a09: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a17: Expected O, but got Unknown
			//IL_1a17: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a21: Expected O, but got Unknown
			//IL_1a49: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a57: Expected O, but got Unknown
			//IL_1a57: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a61: Expected O, but got Unknown
			//IL_1a89: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a97: Expected O, but got Unknown
			//IL_1a97: Unknown result type (might be due to invalid IL or missing references)
			//IL_1aa1: Expected O, but got Unknown
			//IL_1ac9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ace: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ad7: Expected O, but got Unknown
			//IL_1ad7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ae1: Expected O, but got Unknown
			//IL_1b09: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b17: Expected O, but got Unknown
			//IL_1b17: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b21: Expected O, but got Unknown
			//IL_1b49: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b57: Expected O, but got Unknown
			//IL_1b57: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b61: Expected O, but got Unknown
			//IL_1b89: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b97: Expected O, but got Unknown
			//IL_1b97: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ba1: Expected O, but got Unknown
			//IL_1bc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bce: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bd7: Expected O, but got Unknown
			//IL_1bd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1be1: Expected O, but got Unknown
			//IL_1c09: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c17: Expected O, but got Unknown
			//IL_1c17: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c21: Expected O, but got Unknown
			//IL_1c49: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c57: Expected O, but got Unknown
			//IL_1c57: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c61: Expected O, but got Unknown
			//IL_1c89: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c97: Expected O, but got Unknown
			//IL_1c97: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ca1: Expected O, but got Unknown
			//IL_1cc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cce: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cd7: Expected O, but got Unknown
			//IL_1cd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ce1: Expected O, but got Unknown
			logger = ((BaseUnityPlugin)this).Logger;
			harmony = new Harmony("IDshawesome4u");
			Root = new GameObject("Shaw Root");
			craftcond = Root.AddComponent<CraftingConditions>();
			harmony.PatchAll(typeof(Shawesomes_Divine_Armaments));
			harmony.PatchAll(typeof(CraftingConditions));
			recipe_arcanium = ((BaseUnityPlugin)this).Config.Bind<string>("1: Recipes", "Crafting Recipe Arcaninum", "Thunderstorm_Item:10:4,Silver:20,FlametalNew:10,DragonTear:1", new ConfigDescription("What is the recipe for crafting, separate amount with : and different items with ,", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			station_arcanium = ((BaseUnityPlugin)this).Config.Bind<string>("2: Craftng Stations", "Crafting Station Arcaninum", "blackforge:4", new ConfigDescription("What is the required Crafting Station and Level, separated by a : such as piece_workbench:3 would be lvl 3 Workbench (vanilla stations are: piece_workbench, forge, piece_cauldron, piece_stonecutter, piece_artisanstation, blackforge, piece_magetable, piece_MeadCauldron, piece_preptable", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			recipe_deprep = ((BaseUnityPlugin)this).Config.Bind<string>("1: Recipes", "Crafting Recipe Divine Elixir Base", "Thunderstorm_Item:10:4,GemstoneBlue:1,MeadHealthMajor:1,MeadEitrMinor:1,MeadStaminaMedium:1,MeadHealthLingering:1,MeadEitrLingering:1,MeadStaminaLingering:1", new ConfigDescription("What is the recipe for crafting, separate amount with : and different items with ,", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			station_deprep = ((BaseUnityPlugin)this).Config.Bind<string>("2: Craftng Stations", "Crafting Station Divine Elixir Base", "piece_MeadCauldron:1", new ConfigDescription("What is the required Crafting Station and Level, separated by a : such as piece_workbench:3 would be lvl 3 Workbench (vanilla stations are: piece_workbench, forge, piece_cauldron, piece_stonecutter, piece_artisanstation, blackforge, piece_magetable, piece_MeadCauldron, piece_preptable", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			recipe_feastprep = ((BaseUnityPlugin)this).Config.Bind<string>("1: Recipes", "Crafting Recipe Godly Feast Prep", "LoxPieUncooked:1,FishAndBreadUncooked:1,MeatPlatterUncooked:1,MisthareSupremeUncooked:1,MagicallyStuffedShroomUncooked:1,BreadDough:1,HoneyGlazedChickenUncooked:1,RoastedCrustPie:1", new ConfigDescription("What is the recipe for crafting, separate amount with : and different items with ,", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			station_feastprep = ((BaseUnityPlugin)this).Config.Bind<string>("2: Craftng Stations", "Crafting Station Godly Feast Prep", "piece_preptable:1", new ConfigDescription("What is the required Crafting Station and Level, separated by a : such as piece_workbench:3 would be lvl 3 Workbench (vanilla stations are: piece_workbench, forge, piece_cauldron, piece_stonecutter, piece_artisanstation, blackforge, piece_magetable, piece_MeadCauldron, piece_preptable", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			recipe_Shaw_helm = ((BaseUnityPlugin)this).Config.Bind<string>("1: Recipes", "Crafting Recipe Arcaninum Paladin Helm", "Arcanium:2:1,Thunderstorm_Item:10:4", new ConfigDescription("What is the recipe for crafting, separate amount with : and different items with ,", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			station_Shaw_helm = ((BaseUnityPlugin)this).Config.Bind<string>("2: Craftng Stations", "Crafting Station Arcaninum Paladin Helm", "blackforge:2", new ConfigDescription("What is the required Crafting Station and Level, separated by a : such as piece_workbench:3 would be lvl 3 Workbench (vanilla stations are: piece_workbench, forge, piece_cauldron, piece_stonecutter, piece_artisanstation, blackforge, piece_magetable, piece_MeadCauldron, piece_preptable", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
			{
				IsAdminOnly = true
			} }));
			recipe_Shaw_helm2 = ((BaseUnityPlugin)this).Config.Bind<string>("1: Recipes", "Crafting Recipe Arcaninum Paladin Helm Visor", "Ar