Decompiled source of TyrenheimWeaponSet v0.1.10

plugins/TyrenheimWeaponSet.dll

Decompiled a year ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using JetBrains.Annotations;
using Microsoft.CodeAnalysis;
using ServerSync;
using TMPro;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("TyrenheimWeaponSet")]
[assembly: AssemblyDescription("")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("TyrenheimWeaponSet")]
[assembly: AssemblyCopyright("Copyright ©  2022")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("60d6b030-b654-4b81-a773-8105da071572")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyCompany("")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace TyrenheimWeaponSet
{
	public class Assets
	{
		[HarmonyPatch(typeof(ObjectDB), "Awake")]
		public class ObjectDB_Awake_Patch
		{
			public static void Postfix(ObjectDB __instance)
			{
				LoadAssets();
				GameObject[] tES_prefabs = TES_prefabs;
				foreach (GameObject val in tES_prefabs)
				{
					if ((Object)(object)val.GetComponent<ItemDrop>() != (Object)null)
					{
						__instance.m_items.Add(val);
						__instance.m_itemByHash.Add(StringExtensionMethods.GetStableHashCode(((Object)val).name), val);
					}
				}
				Recipe[] tES_recipes = TES_recipes;
				foreach (Recipe item in tES_recipes)
				{
					__instance.m_recipes.Add(item);
				}
				Recipes.initializeRecipes(__instance);
				WeaponAttributes.FixWeaponAttributes();
				Recipes.initializeStats();
				Localisation.AddLocalisations();
			}
		}

		[HarmonyPatch(typeof(ZNetScene), "Awake")]
		public class ZNetScene_Awake_Patch
		{
			public static bool Prefix(ZNetScene __instance)
			{
				LoadAssets();
				GameObject[] tES_prefabs = TES_prefabs;
				foreach (GameObject item in tES_prefabs)
				{
					__instance.m_prefabs.Add(item);
				}
				return true;
			}
		}

		private static bool assetsLoaded = false;

		public static string TES_resourceName = "fabundle";

		public static GameObject[] TES_prefabs = null;

		public static Recipe[] TES_recipes = null;

		private static AssetBundle GetAssetBundleFromResources(string filename)
		{
			Assembly executingAssembly = Assembly.GetExecutingAssembly();
			string name = executingAssembly.GetManifestResourceNames().Single((string str) => str.EndsWith(filename));
			return AssetBundle.LoadFromStream(executingAssembly.GetManifestResourceStream(name));
		}

		public static void LoadAssets()
		{
			if (!assetsLoaded)
			{
				AssetBundle assetBundleFromResources = GetAssetBundleFromResources(TES_resourceName);
				if ((Object)(object)assetBundleFromResources == (Object)null)
				{
					Debug.Log((object)("Failed to load AssetBundle " + TES_resourceName));
					return;
				}
				TES_prefabs = assetBundleFromResources.LoadAllAssets<GameObject>();
				TES_recipes = assetBundleFromResources.LoadAllAssets<Recipe>();
				Debug.Log((object)$"Loaded {TES_prefabs.Count()} prefabs and {TES_recipes.Count()} recipes from assetBundle {TES_resourceName}");
				assetBundleFromResources.Unload(false);
				assetsLoaded = true;
			}
		}
	}
	public class Localisation
	{
		private static Dictionary<string, string> english = new Dictionary<string, string>
		{
			{ "item_sword2h_01_fa", "Frostsoul" },
			{ "item_sword2h_01_fa_description", "A weapon of ice and death." },
			{ "item_sword2h_02_fa", "The Unclean" },
			{ "item_sword2h_02_fa_description", "Blighted. They are all blighted." },
			{ "item_sword2h_03_fa", "Torment" },
			{ "item_sword2h_03_fa_description", "A weapon designed to cause anguishing pain." },
			{ "item_sword2h_04_fa", "Crystal Edge" },
			{ "item_sword2h_04_fa_description", "A sword with a rough blade of crystal, designed to both bludgeon and slice." },
			{ "item_sword2h_05_fa", "Silverwing" },
			{ "item_sword2h_05_fa_description", "Silver and ruby singing in harmony." },
			{ "item_sword2h_06_fa", "The Betrayer" },
			{ "item_sword2h_06_fa_description", "Cold-forged steel and a shaft of withered bone." },
			{ "item_sword1h_01_fa", "Fortune's Edge" },
			{ "item_sword1h_01_fa_description", "Gold runes bestow great luck upon the bearer of this weapon... for a price." },
			{ "item_sword1h_02_fa", "Soul Piercer" },
			{ "item_sword1h_02_fa_description", "Flesh can be mended, the soul cannot." },
			{ "item_sword1h_03_fa", "The Spellblade" },
			{ "item_sword1h_03_fa_description", "Infused with the elements by an unknown force." },
			{ "item_sword1h_04_fa", "Divine Light" },
			{ "item_sword1h_04_fa_description", "A gift from Asgard, engraved with fiery runes of power." },
			{ "item_sword1h_05_fa", "Ravenblade" },
			{ "item_sword1h_05_fa_description", "A cold blade empowered, they say, in the cover of night." },
			{ "item_staff2h_01_fa", "Arm of the Ent" },
			{ "item_staff2h_01_fa_description", "Ripped from an Ent and fashioned into a conduit for the very spirit of nature itself." },
			{ "item_staff2h_02_fa", "Greydwarf's Bane" },
			{ "item_staff2h_02_fa_description", "It sees the things they see. Eyes, the magic is in their eyes." },
			{ "item_staff2h_03_fa", "Talon" },
			{ "item_staff2h_03_fa_description", "Wicked sharp and viciously fast." },
			{ "item_staff2h_04_fa", "Dirty Pike" },
			{ "item_staff2h_04_fa_description", "The tip of this pike is laced with disease. Woe befalls those into whom's flesh it pierces." },
			{ "item_staff2h_05_fa", "The Martyr" },
			{ "item_staff2h_05_fa_description", "Blessed by seers from Midgard, this weapon found its way into the tenth world. Use it wisely." },
			{ "item_scythe2h_01_fa", "Pestilence" },
			{ "item_scythe2h_01_fa_description", "Decay, suffering, disease..." },
			{ "item_hammer2h_01_fa", "Rocksmasher" },
			{ "item_hammer2h_01_fa_description", "Anything can be smashed with the right tool. This is that tool." },
			{ "item_hammer2h_02_fa", "The Willbreaker" },
			{ "item_hammer2h_02_fa_description", "This hammer reigns down fiery judgement upon any and all who are deemed unclean." },
			{ "item_hammer2h_03_fa", "Shockpiercer" },
			{ "item_hammer2h_03_fa_description", "A gift, they say, left to the tenth world by Thor himself." },
			{ "item_axe1h_01_fa", "The Blood Spiller" },
			{ "item_axe1h_01_fa_description", "This axe is layered with spikes that both rend and puncture its target. It is a weapon of bloody death." },
			{ "item_axe1h_02_fa", "Moonsong" },
			{ "item_axe1h_02_fa_description", "With every swing, a song of violence." },
			{ "item_axe1h_03_fa", "Roughcut" },
			{ "item_axe1h_03_fa_description", "Built using scraps of metal and stone, this axe cuts deep and dirty." },
			{ "item_axe1h_04_fa", "Frozen Justice" },
			{ "item_axe1h_04_fa_description", "Justice, but colder!" },
			{ "item_axe1h_05_fa", "Ashes" },
			{ "item_axe1h_05_fa_description", "Everything burns, all will be ashen in the end." },
			{ "item_axe1h_06_fa", "The Harvester" },
			{ "item_axe1h_06_fa_description", "It thirst for souls; It is never sated." },
			{ "item_axe1h_07_fa", "Dryad Bane" },
			{ "item_axe1h_07_fa_description", "A blade grafted from the bark of the oldest of trees." },
			{ "item_axe2h_06_fa", "Ghoulblade, The Defiler" },
			{ "item_axe2h_06_fa_description", "Each swing cries with the voices of the long dead." },
			{ "item_axe2h_05_fa", "Spirit Sapling" },
			{ "item_axe2h_05_fa_description", "An axe they say is forged from a splinter of Yggdrasill itself." },
			{ "item_axe2h_04_fa", "Demonbite" },
			{ "item_axe2h_04_fa_description", "Laced with the living ooze of the swamplands, this blade inflicts wounds beyond flesh." },
			{ "item_axe2h_03_fa", "Scourgeborne" },
			{ "item_axe2h_03_fa_description", "This weapon was cast into the depths of the tenth world for being an abomination of nature. It is here you discovered the recipe. It is here you will wield its will." },
			{ "item_axe2h_02_fa", "Vengeance" },
			{ "item_axe2h_02_fa_description", "Vengeance persists, even through death. Of course, this axe can help with the death part." },
			{ "item_axe2h_01_fa", "Dire Axe" },
			{ "item_axe2h_01_fa_description", "A dirty weapon, designed to inflict unsealable wounds that both pierce and rend flesh." },
			{ "item_shield_09_tower_fa", "Pride" },
			{ "item_shield_09_tower_fa_description", "Courage and light fill the bearer of this shield." },
			{ "item_shield_08_tower_fa", "Rambore's Likeness" },
			{ "item_shield_08_tower_fa_description", "A shield carved to mimic the visage of Rambore." },
			{ "item_shield_07_tower_fa", "Cryptkeeper" },
			{ "item_shield_07_tower_fa_description", "The dead stay dead at the sight of The Cryptkeeper" },
			{ "item_shield_06_tower_fa", "Righteous Indignation" },
			{ "item_shield_06_tower_fa_description", "A holy glow emanates from the gem welded into this shield." },
			{ "item_shield_05_tower_fa", "Entwood Shield" },
			{ "item_shield_05_tower_fa_description", "This shield is crafted with the wood of the Ents themselves." },
			{ "item_shield_04_tower_fa", "The Watchful Eye" },
			{ "item_shield_04_tower_fa_description", "Heed its whispers for it sees all before it." },
			{ "item_shield_03_tower_fa", "Devil's Screech" },
			{ "item_shield_03_tower_fa_description", "Carved in the likeness of the devil himself from reagents of fire and fury." },
			{ "item_shield_02_tower_fa", "Skull, The Unbreaking" },
			{ "item_shield_02_tower_fa_description", "They say the skull is the hardest bone in the body, this shield puts that to the test." },
			{ "item_shield_01_tower_fa", "Talgane's Tear" },
			{ "item_shield_01_tower_fa_description", "Carved from the scales of dragons, this shield has unworldly durability to the elements." }
		};

		public static void AddLocalisations()
		{
			if (Localization.instance == null)
			{
				return;
			}
			foreach (KeyValuePair<string, string> item in english)
			{
				Localization.instance.AddWord(item.Key, item.Value);
			}
		}
	}
	public class WeaponAttributes
	{
		private static string[] swords1H = new string[5] { "Sword_1H_01_FA", "Sword_1H_02_FA", "Sword_1H_03_FA", "Sword_1H_04_FA", "Sword_1H_05_FA" };

		private static string[] swords2H = new string[6] { "Sword_2H_01_FA", "Sword_2H_02_FA", "Sword_2H_03_FA", "Sword_2H_04_FA", "Sword_2H_05_FA", "Sword_2H_06_FA" };

		private static string[] axes1H = new string[7] { "Axe_1H_01_FA", "Axe_1H_02_FA", "Axe_1H_03_FA", "Axe_1H_04_FA", "Axe_1H_05_FA", "Axe_1H_06_FA", "Axe_1H_07_FA" };

		private static string[] axes2H = new string[6] { "Axe2H_01_FA", "Axe2H_02_FA", "Axe2H_03_FA", "Axe2H_04_FA", "Axe2H_05_FA", "Axe2H_06_FA" };

		private static string[] staves2H = new string[4] { "Staff_2H_01_FA", "Staff_2H_02_FA", "Staff_2H_03_FA", "Staff_2H_04_FA" };

		private static string[] hammers2H = new string[3] { "Hammer_2H_01_FA", "Hammer_2H_02_FA", "Hammer_2H_03_FA" };

		public static void ReplaceEffectsWith(GameObject dest, GameObject src)
		{
			dest.GetComponent<ItemDrop>().m_itemData.m_shared.m_blockEffect = src.GetComponent<ItemDrop>().m_itemData.m_shared.m_blockEffect;
			dest.GetComponent<ItemDrop>().m_itemData.m_shared.m_hitEffect = src.GetComponent<ItemDrop>().m_itemData.m_shared.m_hitEffect;
			dest.GetComponent<ItemDrop>().m_itemData.m_shared.m_triggerEffect = src.GetComponent<ItemDrop>().m_itemData.m_shared.m_triggerEffect;
			dest.GetComponent<ItemDrop>().m_itemData.m_shared.m_trailStartEffect = src.GetComponent<ItemDrop>().m_itemData.m_shared.m_trailStartEffect;
			dest.GetComponent<ItemDrop>().m_itemData.m_shared.m_hitTerrainEffect = src.GetComponent<ItemDrop>().m_itemData.m_shared.m_hitTerrainEffect;
		}

		public static void FixWeaponAttributes()
		{
			if ((Object)(object)ZNetScene.instance == (Object)null || (Object)(object)ObjectDB.instance == (Object)null)
			{
				return;
			}
			GameObject prefab = ZNetScene.instance.GetPrefab("SwordSilver");
			if ((Object)(object)prefab != (Object)null)
			{
				string[] array = swords1H;
				foreach (string text in array)
				{
					ReplaceEffectsWith(ObjectDB.instance.GetItemPrefab(text), prefab);
				}
			}
			GameObject prefab2 = ZNetScene.instance.GetPrefab("BattleaxeCrystal");
			if ((Object)(object)prefab2 != (Object)null)
			{
				string[] array = swords2H;
				foreach (string text2 in array)
				{
					ReplaceEffectsWith(ObjectDB.instance.GetItemPrefab(text2), prefab2);
				}
			}
			GameObject prefab3 = ZNetScene.instance.GetPrefab("AxeBlackMetal");
			if ((Object)(object)prefab3 != (Object)null)
			{
				string[] array = axes1H;
				foreach (string text3 in array)
				{
					ReplaceEffectsWith(ObjectDB.instance.GetItemPrefab(text3), prefab3);
				}
			}
			GameObject prefab4 = ZNetScene.instance.GetPrefab("BattleaxeCrystal");
			if ((Object)(object)prefab4 != (Object)null)
			{
				string[] array = axes2H;
				foreach (string text4 in array)
				{
					ReplaceEffectsWith(ObjectDB.instance.GetItemPrefab(text4), prefab4);
				}
			}
		}
	}
	internal static class Recipes
	{
		private static ItemDrop GetItemDrop(string prefabName)
		{
			GameObject prefab = ZNetScene.instance.GetPrefab(prefabName);
			ItemDrop obj = ((prefab != null) ? prefab.GetComponent<ItemDrop>() : null);
			if ((Object)(object)obj == (Object)null)
			{
				Debug.Log((object)("TWS ERROR: Failed to find ItemDrop for " + prefabName));
			}
			return obj;
		}

		private static void CreateRecipe(ObjectDB odb, string itemPrefab, CraftingStation station, int stationLevel, int maxLevel, Requirement[] reqs)
		{
			ItemDrop itemDrop = GetItemDrop(itemPrefab);
			if ((Object)(object)itemDrop == (Object)null)
			{
				Debug.Log((object)("TWS ERROR: Failed to create recipe for " + itemPrefab + " - prefab/itemdrop not found"));
				return;
			}
			Debug.Log((object)("Adding Recipe entry for item drop '" + itemDrop.m_itemData.m_shared.m_name + "'"));
			itemDrop.m_itemData.m_shared.m_maxQuality = maxLevel;
			Recipe val = ScriptableObject.CreateInstance<Recipe>();
			val.m_enabled = true;
			val.m_item = itemDrop;
			val.m_craftingStation = station;
			val.m_repairStation = station;
			val.m_minStationLevel = stationLevel;
			val.m_amount = 1;
			val.m_resources = reqs;
			odb.m_recipes.Add(val);
		}

		public static void SetupSword1H(ref SharedData sd)
		{
			sd.m_damages.m_damage = 0f;
			sd.m_damages.m_blunt = 0f;
			sd.m_damages.m_slash = 95f;
			sd.m_damages.m_pierce = 0f;
			sd.m_damages.m_chop = 0f;
			sd.m_damages.m_pickaxe = 0f;
			sd.m_damages.m_fire = 0f;
			sd.m_damages.m_lightning = 0f;
			sd.m_damages.m_poison = 0f;
			sd.m_damages.m_spirit = 0f;
			sd.m_damagesPerLevel.m_damage = 0f;
			sd.m_damagesPerLevel.m_blunt = 0f;
			sd.m_damagesPerLevel.m_slash = 6f;
			sd.m_damagesPerLevel.m_pierce = 0f;
			sd.m_damagesPerLevel.m_chop = 0f;
			sd.m_damagesPerLevel.m_pickaxe = 0f;
			sd.m_damagesPerLevel.m_fire = 0f;
			sd.m_damagesPerLevel.m_lightning = 0f;
			sd.m_damagesPerLevel.m_poison = 0f;
			sd.m_damagesPerLevel.m_spirit = 0f;
			sd.m_attackForce = 40f;
			sd.m_maxDurability = 200f;
		}

		public static void SetupAxe1H(ref SharedData sd)
		{
			sd.m_damages.m_damage = 0f;
			sd.m_damages.m_blunt = 0f;
			sd.m_damages.m_slash = 100f;
			sd.m_damages.m_pierce = 0f;
			sd.m_damages.m_chop = 60f;
			sd.m_damages.m_pickaxe = 0f;
			sd.m_damages.m_fire = 0f;
			sd.m_damages.m_lightning = 0f;
			sd.m_damages.m_poison = 0f;
			sd.m_damages.m_spirit = 0f;
			sd.m_damagesPerLevel.m_damage = 0f;
			sd.m_damagesPerLevel.m_blunt = 0f;
			sd.m_damagesPerLevel.m_slash = 5f;
			sd.m_damagesPerLevel.m_pierce = 0f;
			sd.m_damagesPerLevel.m_chop = 3f;
			sd.m_damagesPerLevel.m_pickaxe = 0f;
			sd.m_damagesPerLevel.m_fire = 0f;
			sd.m_damagesPerLevel.m_lightning = 0f;
			sd.m_damagesPerLevel.m_poison = 0f;
			sd.m_damagesPerLevel.m_spirit = 0f;
			sd.m_attackForce = 60f;
			sd.m_maxDurability = 175f;
		}

		public static void SetupAxe2H(ref SharedData sd)
		{
			sd.m_damages.m_damage = 0f;
			sd.m_damages.m_blunt = 0f;
			sd.m_damages.m_slash = 120f;
			sd.m_damages.m_pierce = 0f;
			sd.m_damages.m_chop = 50f;
			sd.m_damages.m_pickaxe = 0f;
			sd.m_damages.m_fire = 0f;
			sd.m_damages.m_lightning = 0f;
			sd.m_damages.m_poison = 0f;
			sd.m_damages.m_spirit = 0f;
			sd.m_damagesPerLevel.m_damage = 0f;
			sd.m_damagesPerLevel.m_blunt = 0f;
			sd.m_damagesPerLevel.m_slash = 6f;
			sd.m_damagesPerLevel.m_pierce = 0f;
			sd.m_damagesPerLevel.m_chop = 2.5f;
			sd.m_damagesPerLevel.m_pickaxe = 0f;
			sd.m_damagesPerLevel.m_fire = 0f;
			sd.m_damagesPerLevel.m_lightning = 0f;
			sd.m_damagesPerLevel.m_poison = 0f;
			sd.m_damagesPerLevel.m_spirit = 0f;
			sd.m_attackForce = 70f;
			sd.m_maxDurability = 200f;
			sd.m_durabilityPerLevel = 50f;
		}

		public static void SetupHammer2H(ref SharedData sd)
		{
			sd.m_damages.m_damage = 0f;
			sd.m_damages.m_blunt = 120f;
			sd.m_damages.m_slash = 0f;
			sd.m_damages.m_pierce = 0f;
			sd.m_damages.m_chop = 0f;
			sd.m_damages.m_pickaxe = 0f;
			sd.m_damages.m_fire = 0f;
			sd.m_damages.m_lightning = 0f;
			sd.m_damages.m_poison = 0f;
			sd.m_damages.m_spirit = 0f;
			sd.m_damagesPerLevel.m_damage = 0f;
			sd.m_damagesPerLevel.m_blunt = 6f;
			sd.m_damagesPerLevel.m_slash = 0f;
			sd.m_damagesPerLevel.m_pierce = 0f;
			sd.m_damagesPerLevel.m_chop = 0f;
			sd.m_damagesPerLevel.m_pickaxe = 0f;
			sd.m_damagesPerLevel.m_fire = 0f;
			sd.m_damagesPerLevel.m_lightning = 0f;
			sd.m_damagesPerLevel.m_poison = 0f;
			sd.m_damagesPerLevel.m_spirit = 0f;
			sd.m_attackForce = 70f;
			sd.m_maxDurability = 200f;
			sd.m_durabilityPerLevel = 50f;
		}

		public static void SetupSword2H(ref SharedData sd)
		{
			sd.m_damages.m_damage = 0f;
			sd.m_damages.m_blunt = 0f;
			sd.m_damages.m_slash = 120f;
			sd.m_damages.m_pierce = 0f;
			sd.m_damages.m_chop = 0f;
			sd.m_damages.m_pickaxe = 0f;
			sd.m_damages.m_fire = 0f;
			sd.m_damages.m_lightning = 0f;
			sd.m_damages.m_poison = 0f;
			sd.m_damages.m_spirit = 0f;
			sd.m_damagesPerLevel.m_damage = 0f;
			sd.m_damagesPerLevel.m_blunt = 0f;
			sd.m_damagesPerLevel.m_slash = 6f;
			sd.m_damagesPerLevel.m_pierce = 0f;
			sd.m_damagesPerLevel.m_chop = 0f;
			sd.m_damagesPerLevel.m_pickaxe = 0f;
			sd.m_damagesPerLevel.m_fire = 0f;
			sd.m_damagesPerLevel.m_lightning = 0f;
			sd.m_damagesPerLevel.m_poison = 0f;
			sd.m_damagesPerLevel.m_spirit = 0f;
			sd.m_attackForce = 80f;
			sd.m_maxDurability = 200f;
			sd.m_durabilityPerLevel = 50f;
		}

		public static void SetupStaff2H(ref SharedData sd)
		{
			sd.m_damages.m_damage = 0f;
			sd.m_damages.m_blunt = 120f;
			sd.m_damages.m_slash = 0f;
			sd.m_damages.m_pierce = 0f;
			sd.m_damages.m_chop = 0f;
			sd.m_damages.m_pickaxe = 0f;
			sd.m_damages.m_fire = 0f;
			sd.m_damages.m_lightning = 0f;
			sd.m_damages.m_poison = 0f;
			sd.m_damages.m_spirit = 0f;
			sd.m_damagesPerLevel.m_damage = 0f;
			sd.m_damagesPerLevel.m_blunt = 6f;
			sd.m_damagesPerLevel.m_slash = 0f;
			sd.m_damagesPerLevel.m_pierce = 0f;
			sd.m_damagesPerLevel.m_chop = 0f;
			sd.m_damagesPerLevel.m_pickaxe = 0f;
			sd.m_damagesPerLevel.m_fire = 0f;
			sd.m_damagesPerLevel.m_lightning = 0f;
			sd.m_damagesPerLevel.m_poison = 0f;
			sd.m_damagesPerLevel.m_spirit = 0f;
			sd.m_attackForce = 80f;
			sd.m_maxDurability = 200f;
			sd.m_durabilityPerLevel = 50f;
		}

		public static void SetupScythe2H(ref SharedData sd)
		{
			sd.m_damages.m_damage = 0f;
			sd.m_damages.m_blunt = 0f;
			sd.m_damages.m_slash = 120f;
			sd.m_damages.m_pierce = 0f;
			sd.m_damages.m_chop = 0f;
			sd.m_damages.m_pickaxe = 0f;
			sd.m_damages.m_fire = 0f;
			sd.m_damages.m_lightning = 0f;
			sd.m_damages.m_poison = 0f;
			sd.m_damages.m_spirit = 0f;
			sd.m_damagesPerLevel.m_damage = 0f;
			sd.m_damagesPerLevel.m_blunt = 0f;
			sd.m_damagesPerLevel.m_slash = 6f;
			sd.m_damagesPerLevel.m_pierce = 0f;
			sd.m_damagesPerLevel.m_chop = 0f;
			sd.m_damagesPerLevel.m_pickaxe = 0f;
			sd.m_damagesPerLevel.m_fire = 0f;
			sd.m_damagesPerLevel.m_lightning = 0f;
			sd.m_damagesPerLevel.m_poison = 0f;
			sd.m_damagesPerLevel.m_spirit = 0f;
			sd.m_attackForce = 80f;
			sd.m_maxDurability = 200f;
			sd.m_durabilityPerLevel = 50f;
		}

		public static void SetupShield(ref SharedData sd)
		{
			sd.m_armor = 200f;
			sd.m_armorPerLevel = 1f;
			sd.m_blockPower = 104f;
			sd.m_blockPowerPerLevel = 6f;
			sd.m_deflectionForce = 150f;
			sd.m_deflectionForcePerLevel = 5f;
			sd.m_maxDurability = 200f;
			sd.m_durabilityPerLevel = 50f;
		}

		public static void initializeStats()
		{
			if (!((Object)(object)ZNetScene.instance == (Object)null))
			{
				SharedData sd = GetItemDrop("Sword_1H_01_FA").m_itemData.m_shared;
				SetupSword1H(ref sd);
				SharedData sd2 = GetItemDrop("Sword_1H_02_FA").m_itemData.m_shared;
				SetupSword1H(ref sd2);
				SharedData sd3 = GetItemDrop("Sword_1H_03_FA").m_itemData.m_shared;
				SetupSword1H(ref sd3);
				SharedData sd4 = GetItemDrop("Sword_1H_04_FA").m_itemData.m_shared;
				SetupSword1H(ref sd4);
				SharedData sd5 = GetItemDrop("Sword_1H_05_FA").m_itemData.m_shared;
				SetupSword1H(ref sd5);
				SharedData sd6 = GetItemDrop("Axe_1H_01_FA").m_itemData.m_shared;
				SetupAxe1H(ref sd6);
				SharedData sd7 = GetItemDrop("Axe_1H_02_FA").m_itemData.m_shared;
				SetupAxe1H(ref sd7);
				SharedData sd8 = GetItemDrop("Axe_1H_03_FA").m_itemData.m_shared;
				SetupAxe1H(ref sd8);
				SharedData sd9 = GetItemDrop("Axe_1H_04_FA").m_itemData.m_shared;
				SetupAxe1H(ref sd9);
				SharedData sd10 = GetItemDrop("Axe_1H_05_FA").m_itemData.m_shared;
				SetupAxe1H(ref sd10);
				sd10.m_damages.m_slash -= 15f;
				sd10.m_damages.m_fire += 15f;
				sd10.m_damagesPerLevel.m_slash -= 1f;
				sd10.m_damagesPerLevel.m_fire += 1f;
				SharedData sd11 = GetItemDrop("Axe_1H_06_FA").m_itemData.m_shared;
				SetupAxe1H(ref sd11);
				SharedData sd12 = GetItemDrop("Axe_1H_07_FA").m_itemData.m_shared;
				SetupAxe1H(ref sd12);
				sd12.m_damages.m_slash -= 15f;
				sd12.m_damages.m_poison += 15f;
				sd12.m_damagesPerLevel.m_slash -= 1f;
				sd12.m_damagesPerLevel.m_poison += 1f;
				SharedData sd13 = GetItemDrop("Axe2H_01_FA").m_itemData.m_shared;
				SetupAxe2H(ref sd13);
				sd13.m_damages.m_slash -= 30f;
				sd13.m_damages.m_fire += 30f;
				sd13.m_damagesPerLevel.m_slash -= 1f;
				sd13.m_damagesPerLevel.m_fire += 1f;
				SharedData sd14 = GetItemDrop("Axe2H_02_FA").m_itemData.m_shared;
				SetupAxe2H(ref sd14);
				sd14.m_damages.m_slash -= 30f;
				sd14.m_damages.m_spirit += 30f;
				sd14.m_damagesPerLevel.m_slash -= 1f;
				sd14.m_damagesPerLevel.m_spirit += 1f;
				SharedData sd15 = GetItemDrop("Axe2H_03_FA").m_itemData.m_shared;
				SetupAxe2H(ref sd15);
				sd15.m_damages.m_slash -= 30f;
				sd15.m_damages.m_poison += 30f;
				sd15.m_damagesPerLevel.m_slash -= 1f;
				sd15.m_damagesPerLevel.m_poison += 1f;
				SharedData sd16 = GetItemDrop("Axe2H_04_FA").m_itemData.m_shared;
				SetupAxe2H(ref sd16);
				sd16.m_damages.m_slash -= 30f;
				sd16.m_damages.m_fire += 30f;
				sd16.m_damagesPerLevel.m_slash -= 1f;
				sd16.m_damagesPerLevel.m_fire += 1f;
				SharedData sd17 = GetItemDrop("Axe2H_05_FA").m_itemData.m_shared;
				SetupAxe2H(ref sd17);
				SharedData sd18 = GetItemDrop("Axe2H_06_FA").m_itemData.m_shared;
				SetupAxe2H(ref sd18);
				SharedData sd19 = GetItemDrop("Hammer_2H_01_FA").m_itemData.m_shared;
				SetupHammer2H(ref sd19);
				SharedData sd20 = GetItemDrop("Hammer_2H_02_FA").m_itemData.m_shared;
				SetupHammer2H(ref sd20);
				SharedData sd21 = GetItemDrop("Hammer_2H_03_FA").m_itemData.m_shared;
				SetupHammer2H(ref sd21);
				SharedData sd22 = GetItemDrop("Sword_2H_01_FA").m_itemData.m_shared;
				SetupSword2H(ref sd22);
				sd22.m_damages.m_slash -= 30f;
				sd22.m_damages.m_frost += 30f;
				sd22.m_damagesPerLevel.m_slash -= 1f;
				sd22.m_damagesPerLevel.m_frost += 1f;
				SharedData sd23 = GetItemDrop("Sword_2H_02_FA").m_itemData.m_shared;
				SetupSword2H(ref sd23);
				sd23.m_damages.m_slash -= 30f;
				sd23.m_damages.m_spirit += 30f;
				sd23.m_damagesPerLevel.m_slash -= 1f;
				sd23.m_damagesPerLevel.m_spirit += 1f;
				SharedData sd24 = GetItemDrop("Sword_2H_03_FA").m_itemData.m_shared;
				SetupSword2H(ref sd24);
				SharedData sd25 = GetItemDrop("Sword_2H_04_FA").m_itemData.m_shared;
				SetupSword2H(ref sd25);
				sd25.m_damages.m_slash -= 30f;
				sd25.m_damages.m_fire += 30f;
				sd25.m_damagesPerLevel.m_slash -= 1f;
				sd25.m_damagesPerLevel.m_fire += 1f;
				SharedData sd26 = GetItemDrop("Sword_2H_05_FA").m_itemData.m_shared;
				SetupSword2H(ref sd26);
				sd26.m_damages.m_slash -= 30f;
				sd26.m_damages.m_spirit += 30f;
				sd26.m_damagesPerLevel.m_slash -= 1f;
				sd26.m_damagesPerLevel.m_spirit += 1f;
				SharedData sd27 = GetItemDrop("Sword_2H_06_FA").m_itemData.m_shared;
				SetupSword2H(ref sd27);
				SharedData sd28 = GetItemDrop("Staff_2H_01_FA").m_itemData.m_shared;
				SetupStaff2H(ref sd28);
				sd28.m_damages.m_blunt -= 50f;
				sd28.m_damages.m_poison += 50f;
				sd28.m_damagesPerLevel.m_blunt -= 1f;
				sd28.m_damagesPerLevel.m_poison += 1f;
				SharedData sd29 = GetItemDrop("Staff_2H_02_FA").m_itemData.m_shared;
				SetupStaff2H(ref sd29);
				sd29.m_damages.m_blunt -= 50f;
				sd29.m_damages.m_fire += 50f;
				sd29.m_damagesPerLevel.m_blunt -= 1f;
				sd29.m_damagesPerLevel.m_fire += 1f;
				SharedData sd30 = GetItemDrop("Staff_2H_03_FA").m_itemData.m_shared;
				SetupStaff2H(ref sd30);
				sd30.m_damages.m_pierce = sd30.m_damages.m_blunt;
				sd30.m_damages.m_blunt = 0f;
				sd30.m_damagesPerLevel.m_pierce = sd30.m_damagesPerLevel.m_blunt;
				sd30.m_damagesPerLevel.m_blunt = 0f;
				SharedData sd31 = GetItemDrop("Staff_2H_04_FA").m_itemData.m_shared;
				SetupStaff2H(ref sd31);
				sd31.m_damages.m_pierce = sd31.m_damages.m_blunt - 20f;
				sd31.m_damages.m_blunt = 0f;
				sd31.m_damages.m_poison = 20f;
				sd31.m_damagesPerLevel.m_pierce = sd31.m_damagesPerLevel.m_blunt - 1f;
				sd31.m_damagesPerLevel.m_blunt = 0f;
				sd31.m_damagesPerLevel.m_poison = 1f;
				SharedData sd32 = GetItemDrop("Staff_2H_05_FA").m_itemData.m_shared;
				SetupStaff2H(ref sd32);
				sd32.m_damages.m_blunt -= 50f;
				sd32.m_damages.m_spirit += 50f;
				sd32.m_damagesPerLevel.m_blunt -= 1f;
				sd32.m_damagesPerLevel.m_spirit += 1f;
				SharedData sd33 = GetItemDrop("Scythe2H_01_FA").m_itemData.m_shared;
				SetupScythe2H(ref sd33);
				sd33.m_damages.m_slash -= 50f;
				sd33.m_damages.m_spirit += 25f;
				sd33.m_damages.m_poison += 25f;
				sd33.m_damagesPerLevel.m_slash -= 2f;
				sd33.m_damagesPerLevel.m_spirit += 1f;
				sd33.m_damagesPerLevel.m_poison += 1f;
				SharedData sd34 = GetItemDrop("Shield_01_FA").m_itemData.m_shared;
				SetupShield(ref sd34);
				SharedData sd35 = GetItemDrop("Shield_02_FA").m_itemData.m_shared;
				SetupShield(ref sd35);
				SharedData sd36 = GetItemDrop("Shield_03_FA").m_itemData.m_shared;
				SetupShield(ref sd36);
				SharedData sd37 = GetItemDrop("Shield_04_FA").m_itemData.m_shared;
				SetupShield(ref sd37);
				SharedData sd38 = GetItemDrop("Shield_05_FA").m_itemData.m_shared;
				SetupShield(ref sd38);
				SharedData sd39 = GetItemDrop("Shield_06_FA").m_itemData.m_shared;
				SetupShield(ref sd39);
				SharedData sd40 = GetItemDrop("Shield_07_FA").m_itemData.m_shared;
				SetupShield(ref sd40);
				SharedData sd41 = GetItemDrop("Shield_08_FA").m_itemData.m_shared;
				SetupShield(ref sd41);
				SharedData sd42 = GetItemDrop("Shield_09_FA").m_itemData.m_shared;
				SetupShield(ref sd42);
			}
		}

		public static void initializeRecipes(ObjectDB odb)
		{
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Expected O, but got Unknown
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Expected O, but got Unknown
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c3: Expected O, but got Unknown
			//IL_00c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00da: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00eb: Expected O, but got Unknown
			//IL_0101: Unknown result type (might be due to invalid IL or missing references)
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_0116: Unknown result type (might be due to invalid IL or missing references)
			//IL_011e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0127: Expected O, but got Unknown
			//IL_0129: Unknown result type (might be due to invalid IL or missing references)
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_013e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0146: Unknown result type (might be due to invalid IL or missing references)
			//IL_014e: Expected O, but got Unknown
			//IL_0150: Unknown result type (might be due to invalid IL or missing references)
			//IL_0155: Unknown result type (might be due to invalid IL or missing references)
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_016c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0174: Expected O, but got Unknown
			//IL_0176: Unknown result type (might be due to invalid IL or missing references)
			//IL_017b: Unknown result type (might be due to invalid IL or missing references)
			//IL_018b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0193: Unknown result type (might be due to invalid IL or missing references)
			//IL_019c: Expected O, but got Unknown
			//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d8: Expected O, but got Unknown
			//IL_01da: Unknown result type (might be due to invalid IL or missing references)
			//IL_01df: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0200: Expected O, but got Unknown
			//IL_0202: Unknown result type (might be due to invalid IL or missing references)
			//IL_0207: Unknown result type (might be due to invalid IL or missing references)
			//IL_0217: Unknown result type (might be due to invalid IL or missing references)
			//IL_021f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0227: Expected O, but got Unknown
			//IL_0229: Unknown result type (might be due to invalid IL or missing references)
			//IL_022e: Unknown result type (might be due to invalid IL or missing references)
			//IL_023e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0246: Unknown result type (might be due to invalid IL or missing references)
			//IL_024e: Expected O, but got Unknown
			//IL_0264: Unknown result type (might be due to invalid IL or missing references)
			//IL_0269: Unknown result type (might be due to invalid IL or missing references)
			//IL_0279: Unknown result type (might be due to invalid IL or missing references)
			//IL_0281: Unknown result type (might be due to invalid IL or missing references)
			//IL_028a: Expected O, but got Unknown
			//IL_028c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0291: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b2: Expected O, but got Unknown
			//IL_02b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d9: Expected O, but got Unknown
			//IL_02db: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0300: Expected O, but got Unknown
			//IL_0316: Unknown result type (might be due to invalid IL or missing references)
			//IL_031b: Unknown result type (might be due to invalid IL or missing references)
			//IL_032b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0333: Unknown result type (might be due to invalid IL or missing references)
			//IL_033c: Expected O, but got Unknown
			//IL_033e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0343: Unknown result type (might be due to invalid IL or missing references)
			//IL_0353: Unknown result type (might be due to invalid IL or missing references)
			//IL_035a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0362: Expected O, but got Unknown
			//IL_0364: Unknown result type (might be due to invalid IL or missing references)
			//IL_0369: Unknown result type (might be due to invalid IL or missing references)
			//IL_0379: Unknown result type (might be due to invalid IL or missing references)
			//IL_0381: Unknown result type (might be due to invalid IL or missing references)
			//IL_0389: Expected O, but got Unknown
			//IL_038b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0390: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b0: Expected O, but got Unknown
			//IL_03c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_03cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_03db: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ec: Expected O, but got Unknown
			//IL_03ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0403: Unknown result type (might be due to invalid IL or missing references)
			//IL_040b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0414: Expected O, but got Unknown
			//IL_0416: Unknown result type (might be due to invalid IL or missing references)
			//IL_041b: Unknown result type (might be due to invalid IL or missing references)
			//IL_042b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0433: Unknown result type (might be due to invalid IL or missing references)
			//IL_043c: Expected O, but got Unknown
			//IL_043e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0443: Unknown result type (might be due to invalid IL or missing references)
			//IL_0453: Unknown result type (might be due to invalid IL or missing references)
			//IL_045b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0464: Expected O, but got Unknown
			//IL_047a: Unknown result type (might be due to invalid IL or missing references)
			//IL_047f: Unknown result type (might be due to invalid IL or missing references)
			//IL_048f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0497: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a0: Expected O, but got Unknown
			//IL_04a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c8: Expected O, but got Unknown
			//IL_04ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_04cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_04df: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f0: Expected O, but got Unknown
			//IL_04f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0507: Unknown result type (might be due to invalid IL or missing references)
			//IL_050f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0518: Expected O, but got Unknown
			//IL_052e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0533: Unknown result type (might be due to invalid IL or missing references)
			//IL_0543: Unknown result type (might be due to invalid IL or missing references)
			//IL_054b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0554: Expected O, but got Unknown
			//IL_0556: Unknown result type (might be due to invalid IL or missing references)
			//IL_055b: Unknown result type (might be due to invalid IL or missing references)
			//IL_056b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0573: Unknown result type (might be due to invalid IL or missing references)
			//IL_057c: Expected O, but got Unknown
			//IL_057e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0583: Unknown result type (might be due to invalid IL or missing references)
			//IL_0593: Unknown result type (might be due to invalid IL or missing references)
			//IL_059a: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a2: Expected O, but got Unknown
			//IL_05a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ca: Expected O, but got Unknown
			//IL_05e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_05fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0606: Expected O, but got Unknown
			//IL_0608: Unknown result type (might be due to invalid IL or missing references)
			//IL_060d: Unknown result type (might be due to invalid IL or missing references)
			//IL_061d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0625: Unknown result type (might be due to invalid IL or missing references)
			//IL_062e: Expected O, but got Unknown
			//IL_0630: Unknown result type (might be due to invalid IL or missing references)
			//IL_0635: Unknown result type (might be due to invalid IL or missing references)
			//IL_0645: Unknown result type (might be due to invalid IL or missing references)
			//IL_064d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0656: Expected O, but got Unknown
			//IL_0658: Unknown result type (might be due to invalid IL or missing references)
			//IL_065d: Unknown result type (might be due to invalid IL or missing references)
			//IL_066d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0674: Unknown result type (might be due to invalid IL or missing references)
			//IL_067c: Expected O, but got Unknown
			//IL_0692: Unknown result type (might be due to invalid IL or missing references)
			//IL_0697: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06af: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b8: Expected O, but got Unknown
			//IL_06ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_06bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_06cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e0: Expected O, but got Unknown
			//IL_06e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0708: Expected O, but got Unknown
			//IL_070a: Unknown result type (might be due to invalid IL or missing references)
			//IL_070f: Unknown result type (might be due to invalid IL or missing references)
			//IL_071f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0726: Unknown result type (might be due to invalid IL or missing references)
			//IL_072e: Expected O, but got Unknown
			//IL_0744: Unknown result type (might be due to invalid IL or missing references)
			//IL_0749: Unknown result type (might be due to invalid IL or missing references)
			//IL_0759: Unknown result type (might be due to invalid IL or missing references)
			//IL_0761: Unknown result type (might be due to invalid IL or missing references)
			//IL_076a: Expected O, but got Unknown
			//IL_076c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0771: Unknown result type (might be due to invalid IL or missing references)
			//IL_0781: Unknown result type (might be due to invalid IL or missing references)
			//IL_0789: Unknown result type (might be due to invalid IL or missing references)
			//IL_0792: Expected O, but got Unknown
			//IL_0794: Unknown result type (might be due to invalid IL or missing references)
			//IL_0799: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b9: Expected O, but got Unknown
			//IL_07cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_07f5: Expected O, but got Unknown
			//IL_07f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_07fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_080c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0814: Unknown result type (might be due to invalid IL or missing references)
			//IL_081d: Expected O, but got Unknown
			//IL_081f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0824: Unknown result type (might be due to invalid IL or missing references)
			//IL_0834: Unknown result type (might be due to invalid IL or missing references)
			//IL_083c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0845: Expected O, but got Unknown
			//IL_0847: Unknown result type (might be due to invalid IL or missing references)
			//IL_084c: Unknown result type (might be due to invalid IL or missing references)
			//IL_085c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0863: Unknown result type (might be due to invalid IL or missing references)
			//IL_086b: Expected O, but got Unknown
			//IL_0881: Unknown result type (might be due to invalid IL or missing references)
			//IL_0886: Unknown result type (might be due to invalid IL or missing references)
			//IL_0896: Unknown result type (might be due to invalid IL or missing references)
			//IL_089e: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a7: Expected O, but got Unknown
			//IL_08a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_08be: Unknown result type (might be due to invalid IL or missing references)
			//IL_08c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_08cf: Expected O, but got Unknown
			//IL_08d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_08d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_08e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_08f7: Expected O, but got Unknown
			//IL_08f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_08fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_090e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0915: Unknown result type (might be due to invalid IL or missing references)
			//IL_091d: Expected O, but got Unknown
			//IL_0933: Unknown result type (might be due to invalid IL or missing references)
			//IL_0938: Unknown result type (might be due to invalid IL or missing references)
			//IL_0948: Unknown result type (might be due to invalid IL or missing references)
			//IL_0950: Unknown result type (might be due to invalid IL or missing references)
			//IL_0959: Expected O, but got Unknown
			//IL_095b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0960: Unknown result type (might be due to invalid IL or missing references)
			//IL_0970: Unknown result type (might be due to invalid IL or missing references)
			//IL_0978: Unknown result type (might be due to invalid IL or missing references)
			//IL_0981: Expected O, but got Unknown
			//IL_0983: Unknown result type (might be due to invalid IL or missing references)
			//IL_0988: Unknown result type (might be due to invalid IL or missing references)
			//IL_0998: Unknown result type (might be due to invalid IL or missing references)
			//IL_099f: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a7: Expected O, but got Unknown
			//IL_09a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_09be: Unknown result type (might be due to invalid IL or missing references)
			//IL_09c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_09cd: Expected O, but got Unknown
			//IL_09e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_09e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a00: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a09: Expected O, but got Unknown
			//IL_0a0b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a10: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a20: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a28: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a31: Expected O, but got Unknown
			//IL_0a33: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a38: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a48: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a50: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a59: Expected O, but got Unknown
			//IL_0a5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a60: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a70: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a78: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a81: Expected O, but got Unknown
			//IL_0a97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aac: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ab4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0abd: Expected O, but got Unknown
			//IL_0abf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ac4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ad4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0adc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ae5: Expected O, but got Unknown
			//IL_0ae7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0afc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b04: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b0d: Expected O, but got Unknown
			//IL_0b0f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b14: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b24: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b2c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b34: Expected O, but got Unknown
			//IL_0b4a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b4f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b5f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b67: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b70: Expected O, but got Unknown
			//IL_0b72: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b77: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b87: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b8f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b98: Expected O, but got Unknown
			//IL_0b9a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b9f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0baf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bb7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc0: Expected O, but got Unknown
			//IL_0bc2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bdf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be7: Expected O, but got Unknown
			//IL_0bfd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c02: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c12: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c1a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c23: Expected O, but got Unknown
			//IL_0c25: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c2a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c3a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c42: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c4b: Expected O, but got Unknown
			//IL_0c4d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c52: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c62: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c6a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c73: Expected O, but got Unknown
			//IL_0c75: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c8a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c99: Expected O, but got Unknown
			//IL_0caf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cb4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cc4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ccc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cd5: Expected O, but got Unknown
			//IL_0cd7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cdc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cf4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cfd: Expected O, but got Unknown
			//IL_0cff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d04: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d14: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d25: Expected O, but got Unknown
			//IL_0d27: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d2c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d3c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d44: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d4d: Expected O, but got Unknown
			//IL_0d63: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d68: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d78: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d80: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d89: Expected O, but got Unknown
			//IL_0d8b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db1: Expected O, but got Unknown
			//IL_0db3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dc8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd9: Expected O, but got Unknown
			//IL_0ddb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0df0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0df8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e01: Expected O, but got Unknown
			//IL_0e17: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e2c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e34: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e3d: Expected O, but got Unknown
			//IL_0e3f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e44: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e54: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e5c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e65: Expected O, but got Unknown
			//IL_0e67: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e6c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e7c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e84: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e8d: Expected O, but got Unknown
			//IL_0e8f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e94: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eac: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb5: Expected O, but got Unknown
			//IL_0ecb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ed0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ef1: Expected O, but got Unknown
			//IL_0ef3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ef8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f08: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f10: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f19: Expected O, but got Unknown
			//IL_0f1b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f20: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f30: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f38: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f40: Expected O, but got Unknown
			//IL_0f42: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f47: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f5e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f66: Expected O, but got Unknown
			//IL_0f7c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f81: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f99: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fa2: Expected O, but got Unknown
			//IL_0fa4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fa9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fc1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fca: Expected O, but got Unknown
			//IL_0fcc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fd1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fe1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fe9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ff2: Expected O, but got Unknown
			//IL_0ff4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ff9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1009: Unknown result type (might be due to invalid IL or missing references)
			//IL_1010: Unknown result type (might be due to invalid IL or missing references)
			//IL_1018: Expected O, but got Unknown
			//IL_102e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1033: Unknown result type (might be due to invalid IL or missing references)
			//IL_1043: Unknown result type (might be due to invalid IL or missing references)
			//IL_104b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1054: Expected O, but got Unknown
			//IL_1056: Unknown result type (might be due to invalid IL or missing references)
			//IL_105b: Unknown result type (might be due to invalid IL or missing references)
			//IL_106b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1073: Unknown result type (might be due to invalid IL or missing references)
			//IL_107c: Expected O, but got Unknown
			//IL_107e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1083: Unknown result type (might be due to invalid IL or missing references)
			//IL_1093: Unknown result type (might be due to invalid IL or missing references)
			//IL_109b: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a3: Expected O, but got Unknown
			//IL_10a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_10aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_10c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_10c9: Expected O, but got Unknown
			//IL_10df: Unknown result type (might be due to invalid IL or missing references)
			//IL_10e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_10f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_10fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1105: Expected O, but got Unknown
			//IL_1107: Unknown result type (might be due to invalid IL or missing references)
			//IL_110c: Unknown result type (might be due to invalid IL or missing references)
			//IL_111c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1124: Unknown result type (might be due to invalid IL or missing references)
			//IL_112d: Expected O, but got Unknown
			//IL_112f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1134: Unknown result type (might be due to invalid IL or missing references)
			//IL_1144: Unknown result type (might be due to invalid IL or missing references)
			//IL_114c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1155: Expected O, but got Unknown
			//IL_1157: Unknown result type (might be due to invalid IL or missing references)
			//IL_115c: Unknown result type (might be due to invalid IL or missing references)
			//IL_116c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1173: Unknown result type (might be due to invalid IL or missing references)
			//IL_117b: Expected O, but got Unknown
			//IL_1191: Unknown result type (might be due to invalid IL or missing references)
			//IL_1196: Unknown result type (might be due to invalid IL or missing references)
			//IL_11a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_11ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_11b7: Expected O, but got Unknown
			//IL_11b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_11be: Unknown result type (might be due to invalid IL or missing references)
			//IL_11ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_11d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_11df: Expected O, but got Unknown
			//IL_11e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_11e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_11fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_1206: Expected O, but got Unknown
			//IL_1208: Unknown result type (might be due to invalid IL or missing references)
			//IL_120d: Unknown result type (might be due to invalid IL or missing references)
			//IL_121d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1225: Unknown result type (might be due to invalid IL or missing references)
			//IL_122e: Expected O, but got Unknown
			//IL_1244: Unknown result type (might be due to invalid IL or missing references)
			//IL_1249: Unknown result type (might be due to invalid IL or missing references)
			//IL_1259: Unknown result type (might be due to invalid IL or missing references)
			//IL_1261: Unknown result type (might be due to invalid IL or missing references)
			//IL_126a: Expected O, but got Unknown
			//IL_126c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1271: Unknown result type (might be due to invalid IL or missing references)
			//IL_1281: Unknown result type (might be due to invalid IL or missing references)
			//IL_1289: Unknown result type (might be due to invalid IL or missing references)
			//IL_1292: Expected O, but got Unknown
			//IL_1294: Unknown result type (might be due to invalid IL or missing references)
			//IL_1299: Unknown result type (might be due to invalid IL or missing references)
			//IL_12a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_12b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_12b9: Expected O, but got Unknown
			//IL_12bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_12c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_12d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_12d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_12e1: Expected O, but got Unknown
			//IL_12f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_12fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_130c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1314: Unknown result type (might be due to invalid IL or missing references)
			//IL_131d: Expected O, but got Unknown
			//IL_131f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1324: Unknown result type (might be due to invalid IL or missing references)
			//IL_1334: Unknown result type (might be due to invalid IL or missing references)
			//IL_133c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1345: Expected O, but got Unknown
			//IL_1347: Unknown result type (might be due to invalid IL or missing references)
			//IL_134c: Unknown result type (might be due to invalid IL or missing references)
			//IL_135c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1363: Unknown result type (might be due to invalid IL or missing references)
			//IL_136b: Expected O, but got Unknown
			//IL_136d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1372: Unknown result type (might be due to invalid IL or missing references)
			//IL_1382: Unknown result type (might be due to invalid IL or missing references)
			//IL_1389: Unknown result type (might be due to invalid IL or missing references)
			//IL_1391: Expected O, but got Unknown
			//IL_13a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_13ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_13bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_13cd: Expected O, but got Unknown
			//IL_13cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_13d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_13e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_13ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_13f5: Expected O, but got Unknown
			//IL_13f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_13fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_140c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1414: Unknown result type (might be due to invalid IL or missing references)
			//IL_141d: Expected O, but got Unknown
			//IL_141f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1424: Unknown result type (might be due to invalid IL or missing references)
			//IL_1434: Unknown result type (might be due to invalid IL or missing references)
			//IL_143b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1443: Expected O, but got Unknown
			//IL_1459: Unknown result type (might be due to invalid IL or missing references)
			//IL_145e: Unknown result type (might be due to invalid IL or missing references)
			//IL_146e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1476: Unknown result type (might be due to invalid IL or missing references)
			//IL_147f: Expected O, but got Unknown
			//IL_1481: Unknown result type (might be due to invalid IL or missing references)
			//IL_1486: Unknown result type (might be due to invalid IL or missing references)
			//IL_1496: Unknown result type (might be due to invalid IL or missing references)
			//IL_149e: Unknown result type (might be due to invalid IL or missing references)
			//IL_14a7: Expected O, but got Unknown
			//IL_14a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_14ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_14be: Unknown result type (might be due to invalid IL or missing references)
			//IL_14c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_14cf: Expected O, but got Unknown
			//IL_14d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_14d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_14e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_14ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_14f5: Expected O, but got Unknown
			//IL_150b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1510: Unknown result type (might be due to invalid IL or missing references)
			//IL_1520: Unknown result type (might be due to invalid IL or missing references)
			//IL_1528: Unknown result type (might be due to invalid IL or missing references)
			//IL_1531: Expected O, but got Unknown
			//IL_1533: Unknown result type (might be due to invalid IL or missing references)
			//IL_1538: Unknown result type (might be due to invalid IL or missing references)
			//IL_1548: Unknown result type (might be due to invalid IL or missing references)
			//IL_1550: Unknown result type (might be due to invalid IL or missing references)
			//IL_1559: Expected O, but got Unknown
			//IL_155b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1560: Unknown result type (might be due to invalid IL or missing references)
			//IL_1570: Unknown result type (might be due to invalid IL or missing references)
			//IL_1578: Unknown result type (might be due to invalid IL or missing references)
			//IL_1581: Expected O, but got Unknown
			//IL_1583: Unknown result type (might be due to invalid IL or missing references)
			//IL_1588: Unknown result type (might be due to invalid IL or missing references)
			//IL_1598: Unknown result type (might be due to invalid IL or missing references)
			//IL_159f: Unknown result type (might be due to invalid IL or missing references)
			//IL_15a7: Expected O, but got Unknown
			//IL_15bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_15c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_15d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_15da: Unknown result type (might be due to invalid IL or missing references)
			//IL_15e3: Expected O, but got Unknown
			//IL_15e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_15ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_15fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_1602: Unknown result type (might be due to invalid IL or missing references)
			//IL_160b: Expected O, but got Unknown
			//IL_160d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1612: Unknown result type (might be due to invalid IL or missing references)
			//IL_1622: Unknown result type (might be due to invalid IL or missing references)
			//IL_1629: Unknown result type (might be due to invalid IL or missing references)
			//IL_1631: Expected O, but got Unknown
			//IL_1647: Unknown result type (might be due to invalid IL or missing references)
			//IL_164c: Unknown result type (might be due to invalid IL or missing references)
			//IL_165c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1664: Unknown result type (might be due to invalid IL or missing references)
			//IL_166d: Expected O, but got Unknown
			//IL_166f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1674: Unknown result type (might be due to invalid IL or missing references)
			//IL_1684: Unknown result type (might be due to invalid IL or missing references)
			//IL_168c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1695: Expected O, but got Unknown
			//IL_1697: Unknown result type (might be due to invalid IL or missing references)
			//IL_169c: Unknown result type (might be due to invalid IL or missing references)
			//IL_16ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_16b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_16bd: Expected O, but got Unknown
			//IL_16bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_16c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_16d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_16dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_16e5: Expected O, but got Unknown
			//IL_16fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_1700: Unknown result type (might be due to invalid IL or missing references)
			//IL_1710: Unknown result type (might be due to invalid IL or missing references)
			//IL_1718: Unknown result type (might be due to invalid IL or missing references)
			//IL_1721: Expected O, but got Unknown
			//IL_1723: Unknown result type (might be due to invalid IL or missing references)
			//IL_1728: Unknown result type (might be due to invalid IL or missing references)
			//IL_1738: Unknown result type (might be due to invalid IL or missing references)
			//IL_1740: Unknown result type (might be due to invalid IL or missing references)
			//IL_1749: Expected O, but got Unknown
			//IL_174b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1750: Unknown result type (might be due to invalid IL or missing references)
			//IL_1760: Unknown result type (might be due to invalid IL or missing references)
			//IL_1768: Unknown result type (might be due to invalid IL or missing references)
			//IL_1771: Expected O, but got Unknown
			//IL_1773: Unknown result type (might be due to invalid IL or missing references)
			//IL_1778: Unknown result type (might be due to invalid IL or missing references)
			//IL_1788: Unknown result type (might be due to invalid IL or missing references)
			//IL_178f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1797: Expected O, but got Unknown
			//IL_17ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_17c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_17ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_17d3: Expected O, but got Unknown
			//IL_17d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_17da: Unknown result type (might be due to invalid IL or missing references)
			//IL_17ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_17f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_17fa: Expected O, but got Unknown
			//IL_17fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1801: Unknown result type (might be due to invalid IL or missing references)
			//IL_1811: Unknown result type (might be due to invalid IL or missing references)
			//IL_1819: Unknown result type (might be due to invalid IL or missing references)
			//IL_1822: Expected O, but got Unknown
			//IL_1824: Unknown result type (might be due to invalid IL or missing references)
			//IL_1829: Unknown result type (might be due to invalid IL or missing references)
			//IL_1839: Unknown result type (might be due to invalid IL or missing references)
			//IL_1841: Unknown result type (might be due to invalid IL or missing references)
			//IL_184a: Expected O, but got Unknown
			//IL_1860: Unknown result type (might be due to invalid IL or missing references)
			//IL_1865: Unknown result type (might be due to invalid IL or missing references)
			//IL_1875: Unknown result type (might be due to invalid IL or missing references)
			//IL_187d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1886: Expected O, but got Unknown
			//IL_1888: Unknown result type (might be due to invalid IL or missing references)
			//IL_188d: Unknown result type (might be due to invalid IL or missing references)
			//IL_189d: Unknown result type (might be due to invalid IL or missing references)
			//IL_18a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_18ae: Expected O, but got Unknown
			//IL_18b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_18c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_18cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_18d6: Expected O, but got Unknown
			//IL_18d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_18dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_18ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_18f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_18fc: Expected O, but got Unknown
			if (!((Object)(object)ZNetScene.instance == (Object)null))
			{
				GameObject prefab = ZNetScene.instance.GetPrefab("forge");
				CraftingStation val = ((prefab != null) ? prefab.GetComponent<CraftingStation>() : null);
				if ((Object)(object)val == (Object)null)
				{
					Debug.Log((object)"TWS ERROR: Failed to find forge prefab");
					return;
				}
				CreateRecipe(odb, "Axe_1H_05_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Bronze"),
						m_amount = 10,
						m_amountPerLevel = 5
					},
					new Requirement
					{
						m_resItem = GetItemDrop("FineWood"),
						m_amount = 10,
						m_amountPerLevel = 5
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Chitin"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Axe_1H_07_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("Root"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Ruby"),
						m_amount = 10,
						m_amountPerLevel = 5
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyAbomination"),
						m_amount = 1,
						m_amountPerLevel = 0
					},
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Axe_1H_01_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Feathers"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("JuteRed"),
						m_amount = 10,
						m_amountPerLevel = 5
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WolfFang"),
						m_amount = 10,
						m_amountPerLevel = 5
					}
				});
				CreateRecipe(odb, "Axe_1H_02_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Feathers"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("JuteRed"),
						m_amount = 10,
						m_amountPerLevel = 5
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WolfFang"),
						m_amount = 10,
						m_amountPerLevel = 5
					}
				});
				CreateRecipe(odb, "Axe_1H_06_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophySkeletonPoison"),
						m_amount = 1,
						m_amountPerLevel = 0
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophySkeleton"),
						m_amount = 10,
						m_amountPerLevel = 5
					},
					new Requirement
					{
						m_resItem = GetItemDrop("RoundLog"),
						m_amount = 10,
						m_amountPerLevel = 5
					}
				});
				CreateRecipe(odb, "Axe_1H_03_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Bronze"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Guck"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrollHide"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Axe_1H_04_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("FreezeGland"),
						m_amount = 40,
						m_amountPerLevel = 20
					},
					new Requirement
					{
						m_resItem = GetItemDrop("FineWood"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WolfFang"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Scythe2H_01_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WitheredBone"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("YagluthDrop"),
						m_amount = 2,
						m_amountPerLevel = 0
					},
					new Requirement
					{
						m_resItem = GetItemDrop("SerpentScale"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Axe2H_03_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Guck"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("ElderBark"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyBonemass"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Axe2H_01_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Chitin"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WolfFang"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophySkeletonPoison"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Axe2H_02_FA", val, 4, 4, (Requirement[])(object)new Requirement[3]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("Bronze"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Crystal"),
						m_amount = 50,
						m_amountPerLevel = 25
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Thunderstone"),
						m_amount = 10,
						m_amountPerLevel = 5
					}
				});
				CreateRecipe(odb, "Axe2H_05_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Root"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Amber"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyTheElder"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Axe2H_04_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Obsidian"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Guck"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyGoblinKing"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Axe2H_06_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("DragonTear"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Thunderstone"),
						m_amount = 2,
						m_amountPerLevel = 1
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyGoblinKing"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Hammer_2H_02_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Flametal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("ElderBark"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrollHide"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Hammer_2H_01_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Iron"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrollHide"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("FineWood"),
						m_amount = 12,
						m_amountPerLevel = 6
					}
				});
				CreateRecipe(odb, "Sword_2H_02_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Crystal"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Guck"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WitheredBone"),
						m_amount = 12,
						m_amountPerLevel = 6
					}
				});
				CreateRecipe(odb, "Sword_2H_04_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Flametal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("SurtlingCore"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophySurtling"),
						m_amount = 2,
						m_amountPerLevel = 1
					}
				});
				CreateRecipe(odb, "Sword_2H_01_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Silver"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("DragonTear"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("FreezeGland"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Sword_2H_05_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Silver"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Crystal"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Ruby"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Sword_2H_03_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Iron"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Amber"),
						m_amount = 40,
						m_amountPerLevel = 20
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrollHide"),
						m_amount = 40,
						m_amountPerLevel = 20
					}
				});
				CreateRecipe(odb, "Sword_2H_06_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophySkeleton"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WitheredBone"),
						m_amount = 12,
						m_amountPerLevel = 6
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyGoblinKing"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Sword_1H_02_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("DragonTear"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WolfClaw"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Thunderstone"),
						m_amount = 4,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Sword_1H_01_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Guck"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophySkeleton"),
						m_amount = 12,
						m_amountPerLevel = 6
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyWolf"),
						m_amount = 4,
						m_amountPerLevel = 2
					}
				});
				CreateRecipe(odb, "Sword_1H_04_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Flametal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Guck"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyWolf"),
						m_amount = 4,
						m_amountPerLevel = 2
					}
				});
				CreateRecipe(odb, "Sword_1H_05_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Tin"),
						m_amount = 30,
						m_amountPerLevel = 15
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophySkeleton"),
						m_amount = 10,
						m_amountPerLevel = 5
					},
					new Requirement
					{
						m_resItem = GetItemDrop("LeatherScraps"),
						m_amount = 20,
						m_amountPerLevel = 10
					}
				});
				CreateRecipe(odb, "Staff_2H_02_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Root"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("DragonTear"),
						m_amount = 12,
						m_amountPerLevel = 6
					},
					new Requirement
					{
						m_resItem = GetItemDrop("GreydwarfEye"),
						m_amount = 24,
						m_amountPerLevel = 12
					}
				});
				CreateRecipe(odb, "Staff_2H_01_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("ElderBark"),
						m_amount = 40,
						m_amountPerLevel = 20
					},
					new Requirement
					{
						m_resItem = GetItemDrop("CryptKey"),
						m_amount = 6,
						m_amountPerLevel = 3
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyTheElder"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Staff_2H_03_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Iron"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("WolfClaw"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyCultist"),
						m_amount = 1,
						m_amountPerLevel = 3
					}
				});
				CreateRecipe(odb, "Staff_2H_04_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Iron"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("BombOoze"),
						m_amount = 24,
						m_amountPerLevel = 12
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophyDraugrElite"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Shield_01_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 30,
						m_amountPerLevel = 15
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Chitin"),
						m_amount = 40,
						m_amountPerLevel = 20
					},
					new Requirement
					{
						m_resItem = GetItemDrop("SerpentScale"),
						m_amount = 40,
						m_amountPerLevel = 20
					},
					new Requirement
					{
						m_resItem = GetItemDrop("TrophySerpent"),
						m_amount = 1,
						m_amountPerLevel = 0
					}
				});
				CreateRecipe(odb, "Shield_09_FA", val, 4, 4, (Requirement[])(object)new Requirement[3]
				{
					new Requirement
					{
						m_resItem = GetItemDrop("BlackMetal"),
						m_amount = 30,
						m_amountPerLevel = 15
					},
					new Requirement
					{
						m_resItem = GetItemDrop("Iron"),
						m_amount = 20,
						m_amountPerLevel = 10
					},
					new Requirement
					{
						m_resItem = GetItemDrop("GoblinTotem"),
						m_amount = 4,
						m_amountPerLevel = 2
					}
				});
				CreateRecipe(odb, "Shield_04_FA", val, 4, 4, (Requirement[])(object)new Requirement[4]
				{
					new Requirement
					{