Decompiled source of WoWWeapons v1.2.1

WowWeapons.dll

Decompiled 14 hours ago
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using ItemManager;
using JetBrains.Annotations;
using LocalizationManager;
using Microsoft.CodeAnalysis;
using ServerSync;
using TMPro;
using UnityEngine;
using YamlDotNet.Core;
using YamlDotNet.Core.Events;
using YamlDotNet.Core.Tokens;
using YamlDotNet.Helpers;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.BufferedDeserialization;
using YamlDotNet.Serialization.BufferedDeserialization.TypeDiscriminators;
using YamlDotNet.Serialization.Converters;
using YamlDotNet.Serialization.EventEmitters;
using YamlDotNet.Serialization.NamingConventions;
using YamlDotNet.Serialization.NodeDeserializers;
using YamlDotNet.Serialization.NodeTypeResolvers;
using YamlDotNet.Serialization.ObjectFactories;
using YamlDotNet.Serialization.ObjectGraphTraversalStrategies;
using YamlDotNet.Serialization.ObjectGraphVisitors;
using YamlDotNet.Serialization.Schemas;
using YamlDotNet.Serialization.TypeInspectors;
using YamlDotNet.Serialization.TypeResolvers;
using YamlDotNet.Serialization.Utilities;
using YamlDotNet.Serialization.ValueDeserializers;

[assembly: Guid("4358610B-F3F4-4843-B7AF-98B7BC60DCDE")]
[assembly: ComVisible(false)]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyProduct("WowWeapons")]
[assembly: AssemblyCompany("Voidey")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyTitle("WowWeapons")]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: CompilationRelaxations(8)]
[assembly: AssemblyFileVersion("1.2.1")]
[assembly: AssemblyConfiguration("")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.2.1.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[<26493dc2-533a-48a3-b768-42d3474dd735>Embedded]
	internal sealed class <26493dc2-533a-48a3-b768-42d3474dd735>EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[<26493dc2-533a-48a3-b768-42d3474dd735>Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class <aaf76d4e-b00c-4da6-a125-a6d178b8f870>NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public <aaf76d4e-b00c-4da6-a125-a6d178b8f870>NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public <aaf76d4e-b00c-4da6-a125-a6d178b8f870>NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[<26493dc2-533a-48a3-b768-42d3474dd735>Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	[CompilerGenerated]
	internal sealed class <2bad6784-221f-4797-a519-8800bc5a189e>NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public <2bad6784-221f-4797-a519-8800bc5a189e>NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace WowWeapons
{
	[HarmonyPatch]
	internal class Lifesteal_OnHit_Patch
	{
		[HarmonyPatch(typeof(Character), "Damage")]
		[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(1)]
		[HarmonyPostfix]
		private static void Lifesteal_Postfix(HitData hit)
		{
			Player localPlayer = Player.m_localPlayer;
			if ((Object)(object)localPlayer == (Object)null || ((Character)localPlayer).IsDead() || (Object)(object)hit.GetAttacker() != (Object)(object)localPlayer)
			{
				return;
			}
			ItemData currentWeapon = ((Humanoid)localPlayer).GetCurrentWeapon();
			if (!((Object)(object)currentWeapon?.m_dropPrefab == (Object)null))
			{
				float value;
				switch (((Object)currentWeapon.m_dropPrefab).name)
				{
				default:
					return;
				case "Frostmourne_TCA":
					value = WowWeaponsPlugin.frostmourneLifestealPercent.Value;
					break;
				case "Frostmourne1H_TCA":
					value = WowWeaponsPlugin.frostmourneOneHandLifestealPercent.Value;
					break;
				case "Shadowmourne_TCA":
					value = WowWeaponsPlugin.shadowmourneLifestealPercent.Value;
					break;
				case "ShadowsEdge_TCA":
					value = WowWeaponsPlugin.shadowsEdgeLifestealPercent.Value;
					break;
				case "Ashbringer_TCA":
					value = WowWeaponsPlugin.ashbringerLifestealPercent.Value;
					break;
				case "CorruptedAshbringer_TCA":
					value = WowWeaponsPlugin.corruptedAshbringerLifestealPercent.Value;
					break;
				case "WarglaiveRight_TCA":
					value = WowWeaponsPlugin.warglaiveRightLifestealPercent.Value;
					break;
				case "WarglaiveLeft_TCA":
					value = WowWeaponsPlugin.warglaiveLeftLifestealPercent.Value;
					break;
				case "Shalamayne_TCA":
					value = WowWeaponsPlugin.shalamayneLifestealPercent.Value;
					break;
				case "Doomhammer_TCA":
					value = WowWeaponsPlugin.doomhammerLifestealPercent.Value;
					break;
				case "Gorehowl_TCA":
					value = WowWeaponsPlugin.gorehowlLifestealPercent.Value;
					break;
				case "Thunderfury_TCA":
					value = WowWeaponsPlugin.thunderfuryLifestealPercent.Value;
					break;
				case "Sulfuras_TCA":
					value = WowWeaponsPlugin.sulfurasLifestealPercent.Value;
					break;
				case "Warglaives_TCA":
					value = WowWeaponsPlugin.warglaivesLifestealPercent.Value;
					break;
				case "Fangs_TCA":
					value = WowWeaponsPlugin.fangsLifestealPercent.Value;
					break;
				case "ValajarAxes_TCA":
					value = WowWeaponsPlugin.valajaraxesLifestealPercent.Value;
					break;
				}
				if (!(value <= 0f))
				{
					float num = Math.Max(0f, hit.GetTotalDamage() * (value / 100f));
					((Character)localPlayer).Heal(num, true);
				}
			}
		}
	}
	[BepInPlugin("Voidey.WowWeapons", "WowWeapons", "1.2.1")]
	[<aaf76d4e-b00c-4da6-a125-a6d178b8f870>Nullable(0)]
	[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(1)]
	public class WowWeaponsPlugin : BaseUnityPlugin
	{
		[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(0)]
		public enum Toggle
		{
			On = 1,
			Off = 0
		}

		[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(0)]
		private class ConfigurationManagerAttributes
		{
			[UsedImplicitly]
			public int? Order;

			[UsedImplicitly]
			public bool? Browsable;

			[<aaf76d4e-b00c-4da6-a125-a6d178b8f870>Nullable(2)]
			[UsedImplicitly]
			public string Category;

			[UsedImplicitly]
			[<aaf76d4e-b00c-4da6-a125-a6d178b8f870>Nullable(new byte[] { 2, 1 })]
			public Action<ConfigEntryBase> CustomDrawer;
		}

		internal const string ModName = "WowWeapons";

		internal const string ModVersion = "1.2.1";

		internal const string Author = "Voidey";

		private const string ModGUID = "Voidey.WowWeapons";

		private static string ConfigFileName = "Voidey.WowWeapons.cfg";

		private static string ConfigFileFullPath;

		internal static string ConnectionError;

		private readonly Harmony _harmony = new Harmony("Voidey.WowWeapons");

		public static readonly ManualLogSource WowWeaponsLogger;

		private static readonly ConfigSync ConfigSync;

		public static ConfigEntry<float> frostmourneLifestealPercent;

		public static ConfigEntry<float> frostmourneOneHandLifestealPercent;

		public static ConfigEntry<float> shadowmourneLifestealPercent;

		public static ConfigEntry<float> shadowsEdgeLifestealPercent;

		public static ConfigEntry<float> ashbringerLifestealPercent;

		public static ConfigEntry<float> corruptedAshbringerLifestealPercent;

		public static ConfigEntry<float> warglaiveRightLifestealPercent;

		public static ConfigEntry<float> warglaiveLeftLifestealPercent;

		public static ConfigEntry<float> shalamayneLifestealPercent;

		public static ConfigEntry<float> doomhammerLifestealPercent;

		public static ConfigEntry<float> gorehowlLifestealPercent;

		public static ConfigEntry<float> thunderfuryLifestealPercent;

		public static ConfigEntry<float> sulfurasLifestealPercent;

		public static ConfigEntry<float> warglaivesLifestealPercent;

		public static ConfigEntry<float> fangsLifestealPercent;

		public static ConfigEntry<float> valajaraxesLifestealPercent;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _frostmourne;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _frostmourneOneHand;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _shadowmourne;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _shadowsEdge;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _ashbringer;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _corruptedAshbringer;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _warglaiveRight;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _warglaiveLeft;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _shalamayne;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _doomhammer;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _gorehowl;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _thunderfury;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _sulfuras;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _warglaives;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _fangs;

		private static <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item _valajarAxes;

		private const string FrostmourneBaseDescription = "Pale blue runes shimmer across impossibly cold steel. From within the blade itself, you hear whispering.";

		private const string FrostmourneOneHandBaseDescription = "Pale blue runes shimmer across impossibly cold steel. From within the blade itself, you hear whispering.";

		private const string ShadowmourneBaseDescription = "A monstrous runeaxe born of sacred and corrupt powers to rival Frostmourne. Host of a thousand dead souls.";

		private const string ShadowsEdgeBaseDescription = "Every soul it claims brings it closer to perfection.";

		private const string AshbringerBaseDescription = "Blade of the Scarlet Highlord. A force of Righteousness.";

		private const string CorruptedAshbringerBaseDescription = "Blade of the fallen Scarlet Highlord. A force of wickedness.";

		private const string WarglaiveRightBaseDescription = "The right hand of the Betrayer.";

		private const string WarglaiveLeftBaseDescription = "The left hand of the Betrayer.";

		private const string ShalamayneBaseDescription = "Once divided, now made whole. Its edge bears the heroism of a true king.";

		private const string DoomhammerBaseDescription = "A stranger will raise the hammer high, and with it justice shall reign.";

		private const string GorehowlBaseDescription = "The axe of Grom Hellscream has sown terror across hundreds of battlefields. In his son's hands, it was no different.";

		private const string ThunderfuryBaseDescription = "The blessed blade of the Windseeker. A tempest shaped into a weapon.";

		private const string SulfurasBaseDescription = "The fury of the Firelord made manifest.";

		private const string WarglaivesBaseDescription = "You are not prepared!";

		private const string FangsBaseDescription = "The madness and fury of the Aspect of Death churn within these daggers. As horrifying as they are powerful.";

		private const string ValajarWaraxesBaseDescription = "The axes of Odyn's chosen.";

		private static ConfigEntry<Toggle> _serverConfigLocked;

		private static ConfigEntry<Toggle> _recipeIsActiveConfig;

		public void Awake()
		{
			//IL_0155: Unknown result type (might be due to invalid IL or missing references)
			//IL_0160: Expected O, but got Unknown
			//IL_0285: Unknown result type (might be due to invalid IL or missing references)
			//IL_0290: Expected O, but got Unknown
			//IL_03b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c1: Expected O, but got Unknown
			//IL_07fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0808: Expected O, but got Unknown
			//IL_093e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0949: Expected O, but got Unknown
			//IL_0a7d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a88: Expected O, but got Unknown
			//IL_0bbc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc7: Expected O, but got Unknown
			//IL_0e01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e0c: Expected O, but got Unknown
			//IL_0f41: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f4c: Expected O, but got Unknown
			//IL_1056: Unknown result type (might be due to invalid IL or missing references)
			//IL_1061: Expected O, but got Unknown
			//IL_159c: Unknown result type (might be due to invalid IL or missing references)
			//IL_15a7: Expected O, but got Unknown
			//IL_18e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_18f3: Expected O, but got Unknown
			//IL_1a28: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a33: Expected O, but got Unknown
			//IL_2259: Unknown result type (might be due to invalid IL or missing references)
			//IL_2264: Expected O, but got Unknown
			//IL_2dbb: Unknown result type (might be due to invalid IL or missing references)
			//IL_2dc6: Expected O, but got Unknown
			//IL_2ef9: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f04: Expected O, but got Unknown
			Localizer.Load();
			_serverConfigLocked = config("1 - General", "Lock Configuration", Toggle.On, "If on, the configuration is locked and can be changed by server admins only.");
			ConfigSync.AddLockingConfigEntry<Toggle>(_serverConfigLocked);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Ashbringer_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.Name.English("Ashbringer");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.Description.English("So it was that over the course of time, the man and the weapon seemed as one. Ashbringer became a name of legend, attributed not just to the fearsome blade but also to the relentless knight who wielded it.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.RequiredItems.Add("FlametalNew", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.RequiredItems.Add("Silver", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.RequiredItems.Add("MoltenCore", 4);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.RequiredUpgradeItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			ashbringerLifestealPercent = config("Lifesteal", "Ashbringer Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Ashbringer.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "CorruptedAshbringer_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.Name.English("Corrupted Ashbringer");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.Description.English("Blade of the fallen Scarlet Highlord. A force of wickedness.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.RequiredItems.Add("FlametalNew", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.RequiredItems.Add("Silver", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.RequiredItems.Add("GemstoneRed", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.RequiredItems.Add("TrophySkeletonPoison", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.RequiredUpgradeItems.Add("GemstoneRed", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.RequiredUpgradeItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item2.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			corruptedAshbringerLifestealPercent = config("Lifesteal", "Corrupted Ashbringer Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Corrupted Ashbringer.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Thunderfury_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.Name.English("Thunderfury");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.Description.English("The blessed blade of the Windseeker. A tempest shaped into a weapon.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.RequiredItems.Add("FlametalNew", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.RequiredItems.Add("Thunderstone", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.RequiredItems.Add("GemstoneBlue", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.RequiredUpgradeItems.Add("GemstoneBlue", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item3.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			thunderfuryLifestealPercent = config("Lifesteal", "Thunderfury Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Thunderfury.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "MoM_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.Name.English("Might of Menethil");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.Description.English("Great were his deeds, long was his reign, unthinkable was his death. A symbol of fallen royalty.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.RequiredItems.Add("BlackMetal", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.RequiredItems.Add("Silver", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.RequiredItems.Add("TrollHide", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.RequiredUpgradeItems.Add("Silver", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item4.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Gressil_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.Name.English("Gressil, Dawn of Ruin");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.Description.English("A horrifically evil runeblade wielded in the service of death.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.RequiredItems.Add("TrophyWraith", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.RequiredItems.Add("BlackCore", 3);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.RequiredItems.Add("Eitr", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.RequiredUpgradeItems.Add("Eitr", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item5.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "THC_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.Name.English("The Hungering Cold");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.Description.English("An icy runeblade from the frozen heart of Naxxramas.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.RequiredItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.RequiredItems.Add("TrophyGhost", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.RequiredItems.Add("TrophyCultist_Hildir", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.RequiredUpgradeItems.Add("Silver", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item6.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Frostmourne_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.Name.English("Frostmourne");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.Description.English("Pale blue runes shimmer across impossibly cold steel. From within the blade itself, you hear whispering.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.RequiredItems.Add("FlametalNew", 40);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.RequiredItems.Add("DragonTear", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.RequiredItems.Add("YagluthDrop", 3);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.RequiredItems.Add("Silver", 40);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.RequiredUpgradeItems.Add("FlametalNew", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.RequiredUpgradeItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item7.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			frostmourneLifestealPercent = config("Lifesteal", "Frostmourne Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Frostmourne.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Frostmourne1H_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.Name.English("Frostmourne - One Hand");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.Description.English("Pale blue runes shimmer across impossibly cold steel. From within the blade itself, you hear whispering.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.RequiredItems.Add("FlametalNew", 40);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.RequiredItems.Add("DragonTear", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.RequiredItems.Add("YagluthDrop", 3);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.RequiredItems.Add("Silver", 40);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.RequiredUpgradeItems.Add("FlametalNew", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.RequiredUpgradeItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item8.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			frostmourneOneHandLifestealPercent = config("Lifesteal", "Frostmourne - One Hand Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Frostmourne - One Hand.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Shadowmourne_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.Name.English("Shadowmourne");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.Description.English("A monstrous runeaxe born of sacred and corrupt powers to rival Frostmourne. Host of a thousand dead souls.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.RequiredItems.Add("ShadowsEdge_TCA", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.RequiredItems.Add("FlametalNew", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.RequiredItems.Add("YagluthDrop", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.RequiredItems.Add("Charredskull", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.RequiredUpgradeItems.Add("Charredskull", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item9.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			shadowmourneLifestealPercent = config("Lifesteal", "Shadowmourne Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Shadowmourne.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "ShadowsEdge_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.Name.English("Shadow's Edge");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.Description.English("Every soul it claims brings it closer to perfection.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.RequiredItems.Add("LV_TCA", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.RequiredItems.Add("Crystal", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.RequiredItems.Add("BlackMetal", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.RequiredUpgradeItems.Add("Iron", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.RequiredUpgradeItems.Add("Silver", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item10.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			shadowsEdgeLifestealPercent = config("Lifesteal", "Shadows Edge Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Shadow's Edge.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "LV_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.Name.English("Light’s Vengeance");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.Description.English("An enormous holy war hammer. Its silver head etched in runes and its haft wrapped in blue leather.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.RequiredItems.Add("Silver", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.RequiredItems.Add("LeatherScraps", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.RequiredItems.Add("FineWood", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.RequiredUpgradeItems.Add("Iron", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.RequiredUpgradeItems.Add("Silver", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item11.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "WarglaiveRight_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.Name.English("Warglaive of Azzinoth - Right");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.Description.English("The right hand of the Betrayer.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.RequiredItems.Add("FlametalNew", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.RequiredItems.Add("GemstoneGreen", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.RequiredItems.Add("BlackMetal", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.RequiredItems.Add("Eitr", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.RequiredUpgradeItems.Add("GemstoneGreen", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item12.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			warglaiveRightLifestealPercent = config("Lifesteal", "Warglaive of Azzinoth - Right Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Warglaive of Azzinoth - Right.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "WarglaiveLeft_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.Name.English("Warglaive of Azzinoth - Left");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.Description.English("The left hand of the Betrayer.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.RequiredItems.Add("FlametalNew", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.RequiredItems.Add("GemstoneGreen", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.RequiredItems.Add("BlackMetal", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.RequiredItems.Add("Eitr", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.RequiredUpgradeItems.Add("GemstoneGreen", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item13.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			warglaiveLeftLifestealPercent = config("Lifesteal", "Warglaive of Azzinoth - Left Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Warglaive of Azzinoth - Left.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Warglaives_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.Name.English("Warglaives of Azzinoth");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.Description.English("You are not prepared!");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.RequiredItems.Add("WarglaiveRight_TCA", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.RequiredItems.Add("WarglaiveLeft_TCA", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.RequiredUpgradeItems.Add("GemstoneGreen", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.RequiredUpgradeItems.Add("BlackMetal", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item14.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			warglaivesLifestealPercent = config("Lifesteal", "Warglaives of Azzinoth Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Warglaives of Azzinoth.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Bulwark_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.Name.English("Bulwark of Azzinoth");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.Description.English("A massive wall of dark metal adorned with spikes. Less of a shield and more of a moving fortress.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.RequiredItems.Add("FlametalNew", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.RequiredItems.Add("BlackMetal", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.RequiredItems.Add("QueenDrop", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item15.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "BlackBow_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.Name.English("Black Bow of The Betrayer");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.Description.English("A bow coursing with fel energy. Bound to the will of the Betrayer.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.RequiredItems.Add("BlackMetal", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.RequiredItems.Add("Bronze", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.RequiredItems.Add("Mandible", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.RequiredItems.Add("Eitr", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.RequiredUpgradeItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item16.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Thoridal_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.Name.English("Thori’dal, the Stars’ Fury");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.Description.English("The energy of the Sunwell courses through Thori’dal. This bow generates magical arrows when the bow string is drawn.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.RequiredItems.Add("FlametalNew", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.RequiredItems.Add("Bronze", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.RequiredItems.Add("Silver", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.RequiredItems.Add("GemstoneBlue", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.RequiredUpgradeItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.RequiredUpgradeItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item17.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Ashkandi_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.Name.English("Ashkandi");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.Description.English("The greatsword of The Brotherhood. A truly colossal weapon.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.RequiredItems.Add("Iron", 30);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.RequiredItems.Add("Ruby", 3);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.RequiredItems.Add("DragonEgg", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.RequiredItems.Add("TrophyHatchling", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.RequiredUpgradeItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.RequiredUpgradeItems.Add("Ruby", 3);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item18.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Shalamayne_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.Name.English("Shalamayne");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.Description.English("Once divided, now made whole. Its edge bears the heroism of a true king.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.RequiredItems.Add("Ellemayne_TCA", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.RequiredItems.Add("Shallator_TCA", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.RequiredItems.Add("GemstoneRed", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.RequiredUpgradeItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item19.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			shalamayneLifestealPercent = config("Lifesteal", "Shalamayne Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Shalamayne.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Ellemayne_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.Name.English("Ellemayne");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.Description.English("A blade of resolve and courage, forever seeking the virtue of its missing half.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.RequiredItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.RequiredItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.RequiredItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.RequiredUpgradeItems.Add("Iron", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item20.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Shallator_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.Name.English("Shalla'tor");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.Description.English("A blade of honor and hope, forever seeking the strength of its missing half.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.RequiredItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.RequiredItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.RequiredItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.RequiredUpgradeItems.Add("Iron", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item21.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Doomhammer_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.Name.English("Doomhammer");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.Description.English("A stranger will raise the hammer high, and with it justice shall reign.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.RequiredItems.Add("Thunderstone", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.RequiredItems.Add("SurtlingCore", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.RequiredItems.Add("TrophyGoblinBruteBrosShaman", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.RequiredUpgradeItems.Add("Thunderstone", 3);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item22.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			doomhammerLifestealPercent = config("Lifesteal", "Doomhammer Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Doomhammer.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Gorehowl_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.Name.English("Gorehowl");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.Description.English("The axe of Grom Hellscream has sown terror across hundreds of battlefields. In his son's hands, it was no different.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.RequiredItems.Add("Iron", 30);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.RequiredItems.Add("LoxPelt", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.RequiredItems.Add("TrophyGoblinBruteBrosBrute", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item23.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			gorehowlLifestealPercent = config("Lifesteal", "Gorehowl Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Gorehowl.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "FoD_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.Name.English("The Face of Death");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.Description.English("A massive shield of glacial ice.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.RequiredItems.Add("Silver", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.RequiredItems.Add("TrophySkeleton", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.RequiredItems.Add("Crystal", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.RequiredUpgradeItems.Add("Crystal", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item24.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Kingsfall_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.Name.English("Kingsfall");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.Description.English("Holding this dagger gives you chills. How many lives has it taken?");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.RequiredItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.RequiredItems.Add("BoneFragments", 50);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.RequiredItems.Add("Crystal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.RequiredUpgradeItems.Add("Silver", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.RequiredUpgradeItems.Add("Crystal", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item25.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "KingsfallAnarchy_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.Name.English("Kingsfall and Anarchy");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.Description.English("A pair of chilling blades that have found themselves in countless backs.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.RequiredItems.Add("Kingsfall_TCA", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.RequiredUpgradeItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.RequiredUpgradeItems.Add("Crystal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item26.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "GMCM_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.Name.English("Grand Marshal’s Claymore");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.Description.English("The proud standard of the Alliance's greatest champions. Every mark upon its steel speaks of duty fulfilled.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.RequiredItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.RequiredItems.Add("BlackMetal", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item27.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "HWGS_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.Name.English("High Warlord’s Greatsword");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.Description.English("The brutal standard of the Horde's greatest champions. Every scar upon its steel was earned in glorious conquest.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.RequiredItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.RequiredItems.Add("BlackMetal", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item28.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "CTS_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.Name.English("Chromatically Tempered Sword");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.Description.English("The edge glimmers with impossible colors, each one a mark left by a different flame.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.RequiredItems.Add("Silver", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.RequiredItems.Add("FreezeGland", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.RequiredItems.Add("SurtlingCore", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.RequiredUpgradeItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.RequiredUpgradeItems.Add("Iron", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item29.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "DCE_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.Name.English("Doom and Chaos");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.Description.English("A pair of vicious axes from the depths of Blackwing Lair.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.RequiredItems.Add("Iron", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.RequiredItems.Add("SurtlingCore", 4);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.RequiredItems.Add("TrophyHatchling", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.RequiredUpgradeItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item30.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "ValajarAxes_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.Name.English("Valajar Dragonslayers");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.Description.English("The axes of Odyn’s chosen warrior.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.RequiredItems.Add("Bronze", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.RequiredItems.Add("Flametal", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.RequiredItems.Add("TrophyDragonQueen", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.RequiredUpgradeItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.RequiredUpgradeItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item31.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			valajaraxesLifestealPercent = config("Lifesteal", "Valajar axes Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Valajar Waraxes.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "BRE_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.Name.English("Bonereaver’s Edge");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.Description.English("A jagged greatsword forged to split armor and shatter bone with equal ease.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.RequiredItems.Add("ElderBark", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.RequiredItems.Add("TrophySkeleton", 3);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item32.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "QS_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.Name.English("Quel’Serrar");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.Description.English("The High Blade.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.RequiredItems.Add("FineWood", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.RequiredItems.Add("SilverNecklace", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item33.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Ironfoe_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.Name.English("Ironfoe");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.Description.English("A sacred artifact of the Dark Iron Dwarves. A masterfully crafted hammer.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.RequiredItems.Add("Iron", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.RequiredItems.Add("LeatherScraps", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.RequiredUpgradeItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item34.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "PB_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.Name.English("Perdition’s Blade");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.Description.English("This blade burns with malice.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.RequiredItems.Add("Iron", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.RequiredItems.Add("Silver", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.RequiredItems.Add("SurtlingCore", 6);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.RequiredItems.Add("TrophySurtling", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.RequiredUpgradeItems.Add("Iron", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.RequiredUpgradeItems.Add("SurtlingCore", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item35.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "AR_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.Name.English("Arcanite Reaper");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.Description.English("A brutal edge of gleaming metal. There is nothing subtle about its purpose.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.RequiredItems.Add("Bronze", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.RequiredItems.Add("Tin", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.RequiredItems.Add("Copper", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.RequiredItems.Add("TrophySkeleton", 3);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.RequiredUpgradeItems.Add("Tin", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item36.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "DSC_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.Name.English("Dal’Rend’s Sacred Charge");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.Description.English("The sacred charge of Dal’Rend.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.RequiredItems.Add("Bronze", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.RequiredItems.Add("Tin", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.RequiredItems.Add("Copper", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.RequiredItems.Add("FineWood", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.RequiredUpgradeItems.Add("Copper", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item37.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "DTG_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.Name.English("Dal’Rend’s Tribal Guardian");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.Description.English("The tribal guardian of Dal’Rend.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.RequiredItems.Add("Bronze", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.RequiredItems.Add("Tin", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.RequiredItems.Add("Copper", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.RequiredItems.Add("FineWood", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.RequiredUpgradeItems.Add("Tin", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item38.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "DraconianDeflector_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.Name.English("Draconian Deflector");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.Description.English("A shield worthy of a warrior. It has seen countless battles.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.Forge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.RequiredItems.Add("Bronze", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.RequiredItems.Add("Copper", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.RequiredItems.Add("Tin", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.RequiredItems.Add("LeatherScraps", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.RequiredUpgradeItems.Add("Bronze", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.RequiredUpgradeItems.Add("Copper", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item39.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "AtieshMage_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.Name.English("Atiesh");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.Description.English("Greatstaff of the Guardian of Tirisfal.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.MageTable, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.RequiredItems.Add("YggdrasilWood", 40);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.RequiredItems.Add("DragonTear", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.RequiredItems.Add("MoltenCore", 4);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.RequiredItems.Add("Eitr", 50);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.RequiredUpgradeItems.Add("Eitr", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.RequiredUpgradeItems.Add("YggdrasilWood", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item40.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "AtieshWarlock_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.Name.English("Fallen Atiesh");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.Description.English("Greatstaff of the Fallen Guardian of Tirisfal.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.MageTable, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.RequiredItems.Add("Blackwood", 40);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.RequiredItems.Add("YagluthDrop", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.RequiredItems.Add("MoltenCore", 4);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.RequiredItems.Add("Eitr", 50);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.RequiredUpgradeItems.Add("Eitr", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.RequiredUpgradeItems.Add("Blackwood", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item41.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Fangs_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.Name.English("Fangs of the Father");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.Description.English("The madness and fury of the Aspect of Death churn within these daggers. As horrifying as they are powerful.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.RequiredItems.Add("TrophyFader", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.RequiredItems.Add("FlametalNew", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.RequiredItems.Add("BlackMetal", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.RequiredItems.Add("BonemawSerpentTooth", 15);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.RequiredUpgradeItems.Add("FlametalNew", 5);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.RequiredUpgradeItems.Add("BlackMetal", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item42.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			fangsLifestealPercent = config("Lifesteal", "Fangs of the Father Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Fangs of the Father.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43 = new <2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item("wowweapons", "Sulfuras_TCA");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.Name.English("Sulfuras, Hand of Ragnaros");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.Description.English("The fury of the Firelord made manifest.");
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.Crafting.Add(<391575e6-f47a-4e80-9985-9ffef18f02d9>CraftingTable.BlackForge, 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.RequiredItems.Add("FlametalNew", 20);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.RequiredItems.Add("MoltenCore", 4);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.RequiredItems.Add("TrophySurtling", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.RequiredItems.Add("TrophySkeletonHildir", 1);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.RequiredUpgradeItems.Add("SurtlingCore", 10);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.RequiredUpgradeItems.Add("MoltenCore", 2);
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.CraftAmount = 1;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.Trade.Price = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.Trade.Stack = 0u;
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.Trade.RequiredGlobalKey = "defeated_bonemass";
			<2fcbd9d1-6ba6-4954-b963-f0a2d2584dd9>Item43.Trade.Trader = <681cf01d-1116-4538-83b9-4b2082c48650>Trader.None;
			sulfurasLifestealPercent = config("Lifesteal", "Sulfuras Lifesteal %", 3f, new ConfigDescription("Percent of damage dealt healed back to the wielder when hitting with Sulfuras.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>()));
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Frostmourne_hit");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "ArcaneMissile");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_CorruptedAshbringer");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_BlueGold1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "IceFog0");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Shadowmourne2hSpecial");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_OrangeGold1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "frostmourne_projectile1h");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Pink1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "ChainLightning1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Soul1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "vfx_troll_rock_destroyed1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "sfx_Lichcrush1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "IceFogShadowmourne");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "IceFogFrostmourne");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Shadowmourne_projectile1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Gressil");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "sfx_LichCall1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Red1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "arcanemissilehit");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_LightBlue1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Cyan1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "embers");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Ashbringer");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Shadowmourne");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Flames1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshmage_blast");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Green1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshwarlock_blastlaunch");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Blue1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "IceFogFrostmourne1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshwarlock_blastexplosion1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "IceFog2");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_CorruptedAshbringer");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "UnholyWrath");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "fx_holywrath_spread");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshwarlock_bolt");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshwarlock_boltexplosion");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Blue1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_RedGold1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "sfx_LichShatter1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "FrostHit2");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "fx_sulfuras_demolisher_hit1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshmage_launch");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "embers(1)");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "fx_unholywrath_spread1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Green1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "fx_chainlightning_spread1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "frostmourne_projectile");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "vfx_Frostmourneblock");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshwarlock_blast1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Frostmourne2hSpecial1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshwarlock_boltlaunch1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "sfx_Lichslice1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "sfx_Lichslice2");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "fire");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Gressil");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "HolyWrath");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_LightningBlueTF");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "vfx_Ashbringerblock");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "atieshmage_blastexplosion");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Ashkandi");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "IceFog1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "vfx_BlackBow_fire1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "vfx_Thoridal_fire1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Thoridal_projectile");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Thoridal");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Thoridal");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Doomhammer");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Doomhammer");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Gorehowl");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Gorehowl");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_ArcaniteReaper");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Shalamayne");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Ellemayne");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_GoldBlue1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Hit_Silver1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "Block_Silver1");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "RockSlam");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "RockSlamProjectile");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "ShadowsEdge2hSpecial");
			<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterPrefab(<8b60d07d-ea9d-4980-a30f-ecda70da7e45>PrefabManager.RegisterAssetBundle("wowweapons"), "ShadowsEdge_projectile");
			Assembly executingAssembly = Assembly.GetExecutingAssembly();
			_harmony.PatchAll(executingAssembly);
			SetupWatcher();
		}

		private void OnDestroy()
		{
			((BaseUnityPlugin)this).Config.Save();
		}

		private void SetupWatcher()
		{
			FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(Paths.ConfigPath, ConfigFileName);
			fileSystemWatcher.Changed += ReadConfigValues;
			fileSystemWatcher.Created += ReadConfigValues;
			fileSystemWatcher.Renamed += ReadConfigValues;
			fileSystemWatcher.IncludeSubdirectories = true;
			fileSystemWatcher.SynchronizingObject = ThreadingHelper.SynchronizingObject;
			fileSystemWatcher.EnableRaisingEvents = true;
		}

		private void ReadConfigValues(object sender, FileSystemEventArgs e)
		{
			if (!File.Exists(ConfigFileFullPath))
			{
				return;
			}
			try
			{
				WowWeaponsLogger.LogDebug((object)"ReadConfigValues called");
				((BaseUnityPlugin)this).Config.Reload();
			}
			catch
			{
				WowWeaponsLogger.LogError((object)("There was an issue loading your " + ConfigFileName));
				WowWeaponsLogger.LogError((object)"Please check your config entries for spelling and format!");
			}
		}

		private ConfigEntry<T> config<[<aaf76d4e-b00c-4da6-a125-a6d178b8f870>Nullable(2)] T>(string group, string name, T value, ConfigDescription description, bool synchronizedSetting = true)
		{
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Expected O, but got Unknown
			ConfigDescription val = new ConfigDescription(description.Description + (synchronizedSetting ? " [Synced with Server]" : " [Not Synced with Server]"), description.AcceptableValues, description.Tags);
			ConfigEntry<T> val2 = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, val);
			SyncedConfigEntry<T> syncedConfigEntry = ConfigSync.AddConfigEntry<T>(val2);
			syncedConfigEntry.SynchronizedConfig = synchronizedSetting;
			return val2;
		}

		private ConfigEntry<T> config<[<aaf76d4e-b00c-4da6-a125-a6d178b8f870>Nullable(2)] T>(string group, string name, T value, string description, bool synchronizedSetting = true)
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			return config(group, name, value, new ConfigDescription(description, (AcceptableValueBase)null, Array.Empty<object>()), synchronizedSetting);
		}

		static WowWeaponsPlugin()
		{
			string configPath = Paths.ConfigPath;
			char directorySeparatorChar = Path.DirectorySeparatorChar;
			ConfigFileFullPath = configPath + directorySeparatorChar + ConfigFileName;
			ConnectionError = "";
			WowWeaponsLogger = Logger.CreateLogSource("WowWeapons");
			ConfigSync = new ConfigSync("Voidey.WowWeapons")
			{
				DisplayName = "WowWeapons",
				CurrentVersion = "1.2.1",
				MinimumRequiredVersion = "1.2.1"
			};
			_serverConfigLocked = null;
			_recipeIsActiveConfig = null;
		}
	}
	public static class KeyboardExtensions
	{
		public static bool IsKeyDown(this KeyboardShortcut shortcut)
		{
			//IL_0003: 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)
			return (int)((KeyboardShortcut)(ref shortcut)).MainKey != 0 && Input.GetKeyDown(((KeyboardShortcut)(ref shortcut)).MainKey) && ((KeyboardShortcut)(ref shortcut)).Modifiers.All((Func<KeyCode, bool>)Input.GetKey);
		}

		public static bool IsKeyHeld(this KeyboardShortcut shortcut)
		{
			//IL_0003: 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)
			return (int)((KeyboardShortcut)(ref shortcut)).MainKey != 0 && Input.GetKey(((KeyboardShortcut)(ref shortcut)).MainKey) && ((KeyboardShortcut)(ref shortcut)).Modifiers.All((Func<KeyCode, bool>)Input.GetKey);
		}
	}
	[HarmonyPatch(typeof(ZNet), "OnNewConnection")]
	public static class RegisterAndCheckVersion
	{
		[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(1)]
		private static void Prefix(ZNetPeer peer, ref ZNet __instance)
		{
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Expected O, but got Unknown
			WowWeaponsPlugin.WowWeaponsLogger.LogDebug((object)"Registering version RPC handler");
			peer.m_rpc.Register<ZPackage>("WowWeapons_VersionCheck", (Action<ZRpc, ZPackage>)RpcHandlers.RPC_WowWeapons_Version);
			WowWeaponsPlugin.WowWeaponsLogger.LogInfo((object)"Invoking version check");
			ZPackage val = new ZPackage();
			val.Write("1.2.1");
			peer.m_rpc.Invoke("WowWeapons_VersionCheck", new object[1] { val });
		}
	}
	[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(1)]
	[<aaf76d4e-b00c-4da6-a125-a6d178b8f870>Nullable(0)]
	[HarmonyPatch(typeof(ZNet), "RPC_PeerInfo")]
	public static class VerifyClient
	{
		private static bool Prefix(ZRpc rpc, ZPackage pkg, ref ZNet __instance)
		{
			if (!__instance.IsServer() || RpcHandlers.ValidatedPeers.Contains(rpc))
			{
				return true;
			}
			WowWeaponsPlugin.WowWeaponsLogger.LogWarning((object)("Peer (" + rpc.m_socket.GetHostName() + ") never sent version or couldn't due to previous disconnect, disconnecting"));
			rpc.Invoke("Error", new object[1] { 3 });
			return false;
		}

		private static void Postfix(ZNet __instance)
		{
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Expected O, but got Unknown
			ZRoutedRpc.instance.InvokeRoutedRPC(ZRoutedRpc.instance.GetServerPeerID(), "WowWeaponsRequestAdminSync", new object[1] { (object)new ZPackage() });
		}
	}
	[HarmonyPatch(typeof(FejdStartup), "ShowConnectError")]
	public class ShowConnectionError
	{
		[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(1)]
		private static void Postfix(FejdStartup __instance)
		{
			if (__instance.m_connectionFailedPanel.activeSelf)
			{
				__instance.m_connectionFailedError.fontSizeMax = 25f;
				__instance.m_connectionFailedError.fontSizeMin = 15f;
				TMP_Text connectionFailedError = __instance.m_connectionFailedError;
				connectionFailedError.text = connectionFailedError.text + "\n" + WowWeaponsPlugin.ConnectionError;
			}
		}
	}
	[HarmonyPatch(typeof(ZNet), "Disconnect")]
	public static class RemoveDisconnectedPeerFromVerified
	{
		[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(1)]
		private static void Prefix(ZNetPeer peer, ref ZNet __instance)
		{
			if (__instance.IsServer())
			{
				WowWeaponsPlugin.WowWeaponsLogger.LogInfo((object)("Peer (" + peer.m_rpc.m_socket.GetHostName() + ") disconnected, removing from validated list"));
				RpcHandlers.ValidatedPeers.Remove(peer.m_rpc);
			}
		}
	}
	[<aaf76d4e-b00c-4da6-a125-a6d178b8f870>Nullable(0)]
	[<2bad6784-221f-4797-a519-8800bc5a189e>NullableContext(1)]
	public static class RpcHandlers
	{
		pub