Decompiled source of OuthardAPP v0.0.1

APP.dll

Decompiled 5 months ago
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using NodeCanvas.DialogueTrees;
using NodeCanvas.Framework;
using SideLoader;
using SideLoader.Model;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("OutwardModTemplate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OutwardModTemplate")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace APP;

[BepInPlugin("APP", "Advanced Picks & 'Poons", "0.9.6")]
public class Plugin : BaseUnityPlugin
{
	public const string GUID = "APP";

	public const string NAME = "Advanced Picks & 'Poons";

	public const string VERSION = "0.9.6";

	public static ManualLogSource Log;

	public const int DEFPICK_ID = 2120050;

	public const int DEFPOON_ID = 2130130;

	public const int DEFSICK_ID = 2000060;

	public const int APICK_ID = -31000;

	public const int APOON_ID = -31001;

	public const int EPICK_ID = -31002;

	public const int EPOON_ID = -31003;

	public const int MPICK_ID = -31004;

	public const int MPOON_ID = -31005;

	public const int ASICK_ID = -31006;

	public const int ESICK_ID = -31007;

	public const int MSICK_ID = -31008;

	public const int APICK_DURABILITY = 350;

	public const int APOON_DURABILITY = 250;

	public const int EPICK_DURABILITY = 400;

	public const int EPOON_DURABILITY = 300;

	public const int APICK_VALUE = 40;

	public const int APOON_VALUE = 40;

	public const int EPICK_VALUE = 75;

	public const int EPOON_VALUE = 75;

	public const int ASICK_VALUE = 40;

	public const int ESICK_VALUE = 75;

	internal void Awake()
	{
		Log = ((BaseUnityPlugin)this).Logger;
		Log.LogMessage((object)"Advanced Picks & 'Poons 0.9.6 successfully loaded!");
		SL.OnPacksLoaded += SL_OnPacksLoaded;
		Harmony.CreateAndPatchAll(typeof(Harmonize), (string)null);
	}

	private void SL_OnPacksLoaded()
	{
		SetUpPicks();
		SetUpPoons();
		SetUpSickles();
		AddToolsToDictionary();
		Recipes.CreateRecipes();
		Recipes.CreateRecipeScrolls();
		Recipes.AddRecipesToMerchants();
	}

	private void AddToolsToDictionary()
	{
		ItemUtilities.instance.m_gatherableToolEquivalences[2120050] = ItemUtilities.instance.m_gatherableToolEquivalences[2120050].Append(-31000).ToArray();
		ItemUtilities.instance.m_gatherableToolEquivalences[2120050] = ItemUtilities.instance.m_gatherableToolEquivalences[2120050].Append(-31002).ToArray();
		ItemUtilities.instance.m_gatherableToolEquivalences[2130130] = ItemUtilities.instance.m_gatherableToolEquivalences[2130130].Append(-31001).ToArray();
		ItemUtilities.instance.m_gatherableToolEquivalences[2130130] = ItemUtilities.instance.m_gatherableToolEquivalences[2130130].Append(-31003).ToArray();
	}

	private void SetUpSickles()
	{
		//IL_0000: Unknown result type (might be due to invalid IL or missing references)
		//IL_0005: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0031: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Expected O, but got Unknown
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Expected O, but got Unknown
		//IL_0081: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Unknown result type (might be due to invalid IL or missing references)
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_009d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ad: Expected O, but got Unknown
		//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Expected O, but got Unknown
		//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0104: Unknown result type (might be due to invalid IL or missing references)
		//IL_010f: Unknown result type (might be due to invalid IL or missing references)
		//IL_011a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0125: Unknown result type (might be due to invalid IL or missing references)
		//IL_0126: Unknown result type (might be due to invalid IL or missing references)
		//IL_012b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0132: Unknown result type (might be due to invalid IL or missing references)
		//IL_0137: Unknown result type (might be due to invalid IL or missing references)
		//IL_0142: Unknown result type (might be due to invalid IL or missing references)
		//IL_0144: Unknown result type (might be due to invalid IL or missing references)
		//IL_014e: Expected O, but got Unknown
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_0163: Unknown result type (might be due to invalid IL or missing references)
		//IL_0175: Expected O, but got Unknown
		//IL_0175: Unknown result type (might be due to invalid IL or missing references)
		//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_0186: Unknown result type (might be due to invalid IL or missing references)
		//IL_0191: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a1: Expected O, but got Unknown
		//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cd: Expected O, but got Unknown
		//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
		((ContentTemplate)new SL_Weapon
		{
			Target_ItemID = 2000060,
			New_ItemID = -316,
			Name = "Advanced Sickle",
			Description = "A quality sickle used to gather items more efficiently.",
			StatsHolder = (SL_ItemStats)new SL_WeaponStats
			{
				BaseDamage = new List<SL_Damage>
				{
					new SL_Damage
					{
						Damage = 17f,
						Type = (Types)0
					}
				},
				MaxDurability = 350,
				BaseValue = 40
			},
			ItemVisuals = new SL_ItemVisual
			{
				Prefab_SLPack = "APP",
				Prefab_AssetBundle = "sickle-a",
				Prefab_Name = "sickle-a"
			},
			SpecialItemVisuals = new SL_ItemVisual
			{
				Prefab_SLPack = "APP",
				Prefab_AssetBundle = "ssickle-a",
				Prefab_Name = "ssickle-a"
			},
			SLPackName = "APP",
			SubfolderName = "AdvancedSickle"
		}).ApplyTemplate();
		((ContentTemplate)new SL_Weapon
		{
			Target_ItemID = 2000060,
			New_ItemID = -317,
			Name = "Expert Sickle",
			Description = "A quality sickle used to gather items more efficiently.",
			StatsHolder = (SL_ItemStats)new SL_WeaponStats
			{
				BaseDamage = new List<SL_Damage>
				{
					new SL_Damage
					{
						Damage = 20f,
						Type = (Types)0
					}
				},
				MaxDurability = 400,
				BaseValue = 75
			},
			ItemVisuals = new SL_ItemVisual
			{
				Prefab_SLPack = "APP",
				Prefab_AssetBundle = "sickle-a",
				Prefab_Name = "sickle-a"
			},
			SpecialItemVisuals = new SL_ItemVisual
			{
				Prefab_SLPack = "APP",
				Prefab_AssetBundle = "ssickle-a",
				Prefab_Name = "ssickle-a"
			},
			SLPackName = "APP",
			SubfolderName = "ExpertSickle"
		}).ApplyTemplate();
	}

	private void SetUpPicks()
	{
		//IL_0000: Unknown result type (might be due to invalid IL or missing references)
		//IL_0005: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0031: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Expected O, but got Unknown
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Expected O, but got Unknown
		//IL_0081: 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_009c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: 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_00df: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Expected O, but got Unknown
		//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_010b: Unknown result type (might be due to invalid IL or missing references)
		//IL_011d: Expected O, but got Unknown
		//IL_011d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0128: Unknown result type (might be due to invalid IL or missing references)
		((ContentTemplate)new SL_MeleeWeapon
		{
			Target_ItemID = 2120050,
			New_ItemID = -310,
			Name = "Advanced Mining Pick",
			Description = "A mining pick of greater quality that is capable of mining more efficiently.",
			StatsHolder = (SL_ItemStats)new SL_WeaponStats
			{
				BaseDamage = new List<SL_Damage>
				{
					new SL_Damage
					{
						Damage = 20f,
						Type = (Types)0
					}
				},
				MaxDurability = 350,
				BaseValue = 40
			},
			SLPackName = "APP",
			SubfolderName = "AdvancedPick"
		}).ApplyTemplate();
		((ContentTemplate)new SL_MeleeWeapon
		{
			Target_ItemID = 2120050,
			New_ItemID = -312,
			Name = "Expert Mining Pick",
			Description = "A mining pick of exceptional quality that is capable of mining a great deal more efficiently.",
			StatsHolder = (SL_ItemStats)new SL_WeaponStats
			{
				BaseDamage = new List<SL_Damage>
				{
					new SL_Damage
					{
						Damage = 26f,
						Type = (Types)0
					}
				},
				MaxDurability = 400,
				BaseValue = 75
			},
			SLPackName = "APP",
			SubfolderName = "ExpertPick"
		}).ApplyTemplate();
	}

	private void SetUpPoons()
	{
		//IL_0000: Unknown result type (might be due to invalid IL or missing references)
		//IL_0005: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_0031: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Expected O, but got Unknown
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Expected O, but got Unknown
		//IL_0081: 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_009c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d3: 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_00df: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Expected O, but got Unknown
		//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_010b: Unknown result type (might be due to invalid IL or missing references)
		//IL_011d: Expected O, but got Unknown
		//IL_011d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0128: Unknown result type (might be due to invalid IL or missing references)
		((ContentTemplate)new SL_MeleeWeapon
		{
			Target_ItemID = 2130130,
			New_ItemID = -311,
			Name = "Advanced Fishing Harpoon",
			Description = "A harpoon of greater quality that is capable of fishing more effectively.",
			StatsHolder = (SL_ItemStats)new SL_WeaponStats
			{
				BaseDamage = new List<SL_Damage>
				{
					new SL_Damage
					{
						Damage = 20f,
						Type = (Types)0
					}
				},
				MaxDurability = 250,
				BaseValue = 40
			},
			SLPackName = "APP",
			SubfolderName = "AdvancedPoon"
		}).ApplyTemplate();
		((ContentTemplate)new SL_MeleeWeapon
		{
			Target_ItemID = 2130130,
			New_ItemID = -313,
			Name = "Expert Fishing Harpoon",
			Description = "A harpoon of exceptional quality that is capable of fishing a great deal more effectively.",
			StatsHolder = (SL_ItemStats)new SL_WeaponStats
			{
				BaseDamage = new List<SL_Damage>
				{
					new SL_Damage
					{
						Damage = 26f,
						Type = (Types)0
					}
				},
				MaxDurability = 300,
				BaseValue = 75
			},
			SLPackName = "APP",
			SubfolderName = "ExpertPoon"
		}).ApplyTemplate();
	}
}
public class Harmonize
{
	private static bool isMining;

	private static bool isFishing;

	private static bool isDialoguePatched;

	private static bool firstTime;

	public static Harmonize Instance { get; private set; }

	internal void Awake()
	{
		Instance = this;
	}

	[HarmonyPrefix]
	[HarmonyPatch(typeof(Gatherable), "OnGatherInteraction")]
	private static void GatherPatch(Character _gatherer, Gatherable __instance)
	{
		if (!firstTime)
		{
			if (isMining)
			{
				if (_gatherer.Inventory.OwnsItem(-31000) && !_gatherer.Inventory.OwnsItem(-31002))
				{
					if (Random.Range(1, 100) < 16)
					{
						MethodInfo method = typeof(Gatherable).GetMethod("StartInit", BindingFlags.Instance | BindingFlags.NonPublic);
						if (method != null)
						{
							method.Invoke(__instance, null);
						}
					}
				}
				else if (_gatherer.Inventory.OwnsItem(-31002) && Random.Range(1, 100) < 26)
				{
					MethodInfo method2 = typeof(Gatherable).GetMethod("StartInit", BindingFlags.Instance | BindingFlags.NonPublic);
					if (method2 != null)
					{
						method2.Invoke(__instance, null);
					}
				}
				isMining = false;
				return;
			}
			if (isFishing)
			{
				if (_gatherer.Inventory.OwnsItem(-31001) && !_gatherer.Inventory.OwnsItem(-31003))
				{
					if (Random.Range(1, 100) < 16)
					{
						MethodInfo method3 = typeof(Gatherable).GetMethod("StartInit", BindingFlags.Instance | BindingFlags.NonPublic);
						if (method3 != null)
						{
							method3.Invoke(__instance, null);
						}
					}
				}
				else if (_gatherer.Inventory.OwnsItem(-31003) && Random.Range(1, 100) < 26)
				{
					MethodInfo method4 = typeof(Gatherable).GetMethod("StartInit", BindingFlags.Instance | BindingFlags.NonPublic);
					if (method4 != null)
					{
						method4.Invoke(__instance, null);
					}
				}
				isFishing = false;
				return;
			}
			new List<Item>();
			if (_gatherer.Inventory.OwnsItem(-31006) && !_gatherer.Inventory.OwnsItem(-31007))
			{
				Item obj = _gatherer.Inventory.GetOwnedItems(-31006)[0];
				float num = obj.MaxDurability / 100;
				obj.ReduceDurability(num);
				if (Random.Range(1, 100) < 16)
				{
					MethodInfo method5 = typeof(Gatherable).GetMethod("StartInit", BindingFlags.Instance | BindingFlags.NonPublic);
					if (method5 != null)
					{
						method5.Invoke(__instance, null);
					}
				}
			}
			else
			{
				if (!_gatherer.Inventory.OwnsItem(-31007))
				{
					return;
				}
				Item obj2 = _gatherer.Inventory.GetOwnedItems(-31007)[0];
				float num2 = obj2.MaxDurability / 100;
				obj2.ReduceDurability(num2);
				if (Random.Range(1, 100) < 26)
				{
					MethodInfo method6 = typeof(Gatherable).GetMethod("StartInit", BindingFlags.Instance | BindingFlags.NonPublic);
					if (method6 != null)
					{
						method6.Invoke(__instance, null);
					}
				}
			}
		}
		else
		{
			firstTime = false;
		}
	}

	[HarmonyPostfix]
	[HarmonyPatch(typeof(CharacterInventory), "GetCompatibleGatherableTool")]
	private static void GetToolPatch(int _sourceToolID)
	{
		switch (_sourceToolID)
		{
		case 2120050:
			isMining = true;
			isFishing = false;
			break;
		case 2130130:
			isMining = false;
			isFishing = true;
			break;
		default:
			isMining = false;
			isFishing = false;
			break;
		}
	}

	[HarmonyPrefix]
	[HarmonyPatch(typeof(NPCInteraction), "OnActivate")]
	private static void NPCInteractionPatch(NPCInteraction __instance)
	{
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Expected O, but got Unknown
		//IL_0057: Expected O, but got Unknown
		//IL_0070: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Expected O, but got Unknown
		if (__instance.DialogueActor.name == "Loud-Hammer" && !isDialoguePatched)
		{
			Graph graph = ((GraphOwner)((Component)__instance.DialogueActor).GetComponentInChildren<DialogueTreeController>()).graph;
			MultipleChoiceNodeExt val = graph.GetAllNodesOfType<MultipleChoiceNodeExt>()[0];
			Choice item = new Choice
			{
				statement = new Statement("Is there anything else you can teach me?")
			};
			val.availableChoices.Add(item);
			StatementNodeExt val2 = graph.AddNode<StatementNodeExt>();
			val2.statement = new Statement("If you are interested in discovering the secrets of more efficient gathering tools, seek out other blacksmiths in far away cities!");
			val2.SetActorName("Loud-Hammer");
			graph.allNodes.Add((Node)(object)val2);
			graph.ConnectNodes((Node)(object)val, (Node)(object)val2, 6, -1);
			isDialoguePatched = true;
		}
	}

	static Harmonize()
	{
		isMining = false;
		isFishing = false;
		isDialoguePatched = false;
		firstTime = true;
	}
}
public class Recipes
{
	public const string APICK_REC = "app.advpick";

	public const string EPICK_REC = "app.exppick";

	public const string APOON_REC = "app.advpoon";

	public const string EPOON_REC = "app.expoon";

	public const string MPICK_REC = "app.maspick";

	public const string MPOON_REC = "app.maspoon";

	public const string ASICK_REC = "app.advsick";

	public const string ESICK_REC = "app.expsick";

	public const string MSICK_REC = "app.massick";

	public const int APICK_REC_ID = -31010;

	public const int APOON_REC_ID = -31011;

	public const int EPICK_REC_ID = -31012;

	public const int EPOON_REC_ID = -31013;

	public const int MPICK_REC_ID = -31014;

	public const int MPOON_REC_ID = -31015;

	public const int ASICK_REC_ID = -31016;

	public const int ESICK_REC_ID = -31017;

	public const int MSICK_REC_ID = -31018;

	public const int ADVTOOLCOST = 75;

	public const int EXPTOOLCOST = 125;

	public const int MASTOOLCOST = 200;

	public const string ING_MININGPICK = "2120050";

	public const string ING_PALLADIUM = "6400070";

	public const string ING_AMMOLITE = "6200050";

	public const string ING_BEASTGOLEMSCRAPS = "6600130";

	public const string ING_GOLDINGOT = "6300030";

	public const string ING_AMETHYSTGEODE = "6000370";

	public const string ING_CHROMIUMSHARDS = "6000340";

	public const string ING_FISHINGHARPOON = "2130130";

	public const string ING_BLUESAND = "6400110";

	public const string ING_SHARKCARTILAGE = "6600170";

	public const string ING_PETRIFIEDORGANS = "6000440";

	public const string ING_DIGESTEDMANASTONE = "6000450";

	public const string ING_MACHETE = "2000060";

	public const string ING_WOOLSHROOM = "4000240";

	public const string ING_PETRIFIEDWOOD = "6400080";

	public const string ING_VOLTAICVINES = "6000410";

	public const string ING_BLOODROOT = "6000400";

	public static void CreateRecipes()
	{
		CreatePickRecipes();
		CreatePoonRecipes();
		CreateSickleRecipes();
		CreateMasterRecipes();
	}

	private static void CreatePickRecipes()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_0013: Unknown result type (might be due to invalid IL or missing references)
		//IL_0018: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_003b: Expected O, but got Unknown
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0042: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Expected O, but got Unknown
		//IL_005b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0060: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Expected O, but got Unknown
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_0095: Expected O, but got Unknown
		//IL_009b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Expected O, but got Unknown
		//IL_00c5: Expected O, but got Unknown
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_010e: Expected O, but got Unknown
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_0117: Unknown result type (might be due to invalid IL or missing references)
		//IL_011c: Unknown result type (might be due to invalid IL or missing references)
		//IL_012c: Expected O, but got Unknown
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0133: Unknown result type (might be due to invalid IL or missing references)
		//IL_0135: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: Unknown result type (might be due to invalid IL or missing references)
		//IL_014a: Expected O, but got Unknown
		//IL_014c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0151: Unknown result type (might be due to invalid IL or missing references)
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Expected O, but got Unknown
		//IL_016e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0175: Unknown result type (might be due to invalid IL or missing references)
		//IL_017a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0185: Unknown result type (might be due to invalid IL or missing references)
		//IL_0191: Expected O, but got Unknown
		//IL_0198: Expected O, but got Unknown
		SL_Recipe val = new SL_Recipe
		{
			UID = "app.advpick",
			StationType = (CraftingType)2,
			Ingredients = new List<Ingredient>
			{
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "2120050"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6400070"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6200050"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6600130"
				}
			},
			Results = new List<ItemQty>
			{
				new ItemQty
				{
					ItemID = -31000,
					Quantity = 1
				}
			}
		};
		((ContentTemplate)val).ApplyTemplate();
		SL_Recipe val2 = new SL_Recipe
		{
			UID = "app.exppick",
			StationType = (CraftingType)2,
			Ingredients = new List<Ingredient>
			{
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = (-31000).ToString()
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6300030"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6000370"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6000350"
				}
			},
			Results = new List<ItemQty>
			{
				new ItemQty
				{
					ItemID = -31002,
					Quantity = 1
				}
			}
		};
		((ContentTemplate)val2).ApplyTemplate();
	}

	private static void CreatePoonRecipes()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_0013: Unknown result type (might be due to invalid IL or missing references)
		//IL_0018: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_003b: Expected O, but got Unknown
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0042: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Expected O, but got Unknown
		//IL_005b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0060: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Expected O, but got Unknown
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_0095: Expected O, but got Unknown
		//IL_009b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Expected O, but got Unknown
		//IL_00c5: Expected O, but got Unknown
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_010e: Expected O, but got Unknown
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_0117: Unknown result type (might be due to invalid IL or missing references)
		//IL_011c: Unknown result type (might be due to invalid IL or missing references)
		//IL_012c: Expected O, but got Unknown
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0133: Unknown result type (might be due to invalid IL or missing references)
		//IL_0135: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: Unknown result type (might be due to invalid IL or missing references)
		//IL_014a: Expected O, but got Unknown
		//IL_014c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0151: Unknown result type (might be due to invalid IL or missing references)
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Expected O, but got Unknown
		//IL_016e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0175: Unknown result type (might be due to invalid IL or missing references)
		//IL_017a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0185: Unknown result type (might be due to invalid IL or missing references)
		//IL_0191: Expected O, but got Unknown
		//IL_0198: Expected O, but got Unknown
		SL_Recipe val = new SL_Recipe
		{
			UID = "app.advpoon",
			StationType = (CraftingType)2,
			Ingredients = new List<Ingredient>
			{
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "2130130"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6400070"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6400110"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6600170"
				}
			},
			Results = new List<ItemQty>
			{
				new ItemQty
				{
					ItemID = -31001,
					Quantity = 1
				}
			}
		};
		((ContentTemplate)val).ApplyTemplate();
		SL_Recipe val2 = new SL_Recipe
		{
			UID = "app.expoon",
			StationType = (CraftingType)2,
			Ingredients = new List<Ingredient>
			{
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = (-31001).ToString()
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6300030"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6000440"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6000450"
				}
			},
			Results = new List<ItemQty>
			{
				new ItemQty
				{
					ItemID = -31003,
					Quantity = 1
				}
			}
		};
		((ContentTemplate)val2).ApplyTemplate();
	}

	private static void CreateSickleRecipes()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_0013: Unknown result type (might be due to invalid IL or missing references)
		//IL_0018: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_003b: Expected O, but got Unknown
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0042: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Expected O, but got Unknown
		//IL_005b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0060: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Expected O, but got Unknown
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0085: Unknown result type (might be due to invalid IL or missing references)
		//IL_0095: Expected O, but got Unknown
		//IL_009b: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Expected O, but got Unknown
		//IL_00c5: Expected O, but got Unknown
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_010e: Expected O, but got Unknown
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_0117: Unknown result type (might be due to invalid IL or missing references)
		//IL_011c: Unknown result type (might be due to invalid IL or missing references)
		//IL_012c: Expected O, but got Unknown
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0133: Unknown result type (might be due to invalid IL or missing references)
		//IL_0135: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: Unknown result type (might be due to invalid IL or missing references)
		//IL_014a: Expected O, but got Unknown
		//IL_014c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0151: Unknown result type (might be due to invalid IL or missing references)
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Expected O, but got Unknown
		//IL_016e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0175: Unknown result type (might be due to invalid IL or missing references)
		//IL_017a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0185: Unknown result type (might be due to invalid IL or missing references)
		//IL_0191: Expected O, but got Unknown
		//IL_0198: Expected O, but got Unknown
		SL_Recipe val = new SL_Recipe
		{
			UID = "app.advsick",
			StationType = (CraftingType)2,
			Ingredients = new List<Ingredient>
			{
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "2000060"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6400070"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "4000240"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6400080"
				}
			},
			Results = new List<ItemQty>
			{
				new ItemQty
				{
					ItemID = -31006,
					Quantity = 1
				}
			}
		};
		((ContentTemplate)val).ApplyTemplate();
		SL_Recipe val2 = new SL_Recipe
		{
			UID = "app.expsick",
			StationType = (CraftingType)2,
			Ingredients = new List<Ingredient>
			{
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = (-31006).ToString()
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6300030"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6000410"
				},
				new Ingredient
				{
					Type = (ActionTypes)1,
					SelectorValue = "6000400"
				}
			},
			Results = new List<ItemQty>
			{
				new ItemQty
				{
					ItemID = -31007,
					Quantity = 1
				}
			}
		};
		((ContentTemplate)val2).ApplyTemplate();
	}

	public static void CreateMasterRecipes()
	{
	}

	public static void CreateRecipeScrolls()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0027: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_003d: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_0055: Expected O, but got Unknown
		//IL_0056: Expected O, but got Unknown
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0062: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_008e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0099: Unknown result type (might be due to invalid IL or missing references)
		//IL_009a: Unknown result type (might be due to invalid IL or missing references)
		//IL_009f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b1: Expected O, but got Unknown
		//IL_00b2: Expected O, but got Unknown
		//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00be: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00df: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_010d: Expected O, but got Unknown
		//IL_010e: Expected O, but got Unknown
		//IL_0115: Unknown result type (might be due to invalid IL or missing references)
		//IL_011a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0125: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_013b: 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_0151: Unknown result type (might be due to invalid IL or missing references)
		//IL_0152: Unknown result type (might be due to invalid IL or missing references)
		//IL_0157: Unknown result type (might be due to invalid IL or missing references)
		//IL_0169: Expected O, but got Unknown
		//IL_016a: Expected O, but got Unknown
		//IL_0171: Unknown result type (might be due to invalid IL or missing references)
		//IL_0176: Unknown result type (might be due to invalid IL or missing references)
		//IL_0181: Unknown result type (might be due to invalid IL or missing references)
		//IL_018c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0197: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c5: Expected O, but got Unknown
		//IL_01c7: Expected O, but got Unknown
		//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d4: 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_01ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_0200: Unknown result type (might be due to invalid IL or missing references)
		//IL_020b: Unknown result type (might be due to invalid IL or missing references)
		//IL_020c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0211: Unknown result type (might be due to invalid IL or missing references)
		//IL_0223: Expected O, but got Unknown
		//IL_0225: Expected O, but got Unknown
		SL_RecipeItem val = new SL_RecipeItem
		{
			RecipeUID = "app.advpick",
			Target_ItemID = 5700187,
			New_ItemID = -31010,
			Name = "Crafting: Advanced Mining Pick",
			Description = "Schematic that teaches the user how to craft an Advanced Mining Pick",
			StatsHolder = new SL_ItemStats
			{
				BaseValue = 75
			}
		};
		((ContentTemplate)val).ApplyTemplate();
		SL_RecipeItem val2 = new SL_RecipeItem
		{
			RecipeUID = "app.exppick",
			Target_ItemID = 5700187,
			New_ItemID = -31012,
			Name = "Crafting: Expert Mining Pick",
			Description = "Schematic that teaches the user how to craft an Expert Mining Pick",
			StatsHolder = new SL_ItemStats
			{
				BaseValue = 125
			}
		};
		((ContentTemplate)val2).ApplyTemplate();
		SL_RecipeItem val3 = new SL_RecipeItem
		{
			RecipeUID = "app.advpoon",
			Target_ItemID = 5700187,
			New_ItemID = -31011,
			Name = "Crafting: Advanced Fishing Harpoon",
			Description = "Schematic that teaches the user how to craft an Advanced Fishing Harpoon",
			StatsHolder = new SL_ItemStats
			{
				BaseValue = 75
			}
		};
		((ContentTemplate)val3).ApplyTemplate();
		SL_RecipeItem val4 = new SL_RecipeItem
		{
			RecipeUID = "app.expoon",
			Target_ItemID = 5700187,
			New_ItemID = -31013,
			Name = "Crafting: Expert Fishing Harpoon",
			Description = "Schematic that teaches the user how to craft an Expert Fishing Harpoon",
			StatsHolder = new SL_ItemStats
			{
				BaseValue = 125
			}
		};
		((ContentTemplate)val4).ApplyTemplate();
		SL_RecipeItem val5 = new SL_RecipeItem
		{
			RecipeUID = "app.advsick",
			Target_ItemID = 5700187,
			New_ItemID = -31016,
			Name = "Crafting: Advanced Sickle",
			Description = "Schematic that teaches the user how to craft an Advanced Harvesting Sickle",
			StatsHolder = new SL_ItemStats
			{
				BaseValue = 75
			}
		};
		((ContentTemplate)val5).ApplyTemplate();
		SL_RecipeItem val6 = new SL_RecipeItem
		{
			RecipeUID = "app.expsick",
			Target_ItemID = 5700187,
			New_ItemID = -31017,
			Name = "Crafting: Expert Sickle",
			Description = "Schematic that teaches the user how to craft an Expert Harvesting Sickle",
			StatsHolder = new SL_ItemStats
			{
				BaseValue = 125
			}
		};
		((ContentTemplate)val6).ApplyTemplate();
	}

	public static void AddRecipesToMerchants()
	{
		//IL_0000: Unknown result type (might be due to invalid IL or missing references)
		//IL_0005: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Unknown result type (might be due to invalid IL or missing references)
		//IL_001c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0027: Unknown result type (might be due to invalid IL or missing references)
		//IL_002e: Unknown result type (might be due to invalid IL or missing references)
		//IL_003a: Expected O, but got Unknown
		//IL_003b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0040: Unknown result type (might be due to invalid IL or missing references)
		//IL_004b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_005e: Expected O, but got Unknown
		//IL_005f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_0082: Expected O, but got Unknown
		//IL_0088: Expected O, but got Unknown
		//IL_008e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: Unknown result type (might be due to invalid IL or missing references)
		//IL_009e: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Expected O, but got Unknown
		//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Expected O, but got Unknown
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0104: Unknown result type (might be due to invalid IL or missing references)
		//IL_0110: Expected O, but got Unknown
		//IL_0116: Expected O, but got Unknown
		//IL_011c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0121: Unknown result type (might be due to invalid IL or missing references)
		//IL_0137: Unknown result type (might be due to invalid IL or missing references)
		//IL_013c: Unknown result type (might be due to invalid IL or missing references)
		SL_DropTable val = new SL_DropTable
		{
			UID = "gothiska.advtools",
			GuaranteedDrops = new List<SL_ItemDrop>
			{
				new SL_ItemDrop
				{
					DroppedItemID = -31010,
					MinQty = 1,
					MaxQty = 1
				},
				new SL_ItemDrop
				{
					DroppedItemID = -31011,
					MinQty = 1,
					MaxQty = 1
				},
				new SL_ItemDrop
				{
					DroppedItemID = -31016,
					MinQty = 1,
					MaxQty = 1
				}
			}
		};
		((ContentTemplate)val).ApplyTemplate();
		SL_DropTable val2 = new SL_DropTable
		{
			UID = "gothiska.exptools",
			GuaranteedDrops = new List<SL_ItemDrop>
			{
				new SL_ItemDrop
				{
					DroppedItemID = -31012,
					MinQty = 1,
					MaxQty = 1
				},
				new SL_ItemDrop
				{
					DroppedItemID = -31013,
					MinQty = 1,
					MaxQty = 1
				},
				new SL_ItemDrop
				{
					DroppedItemID = -31017,
					MinQty = 1,
					MaxQty = 1
				}
			}
		};
		((ContentTemplate)val2).ApplyTemplate();
		((ContentTemplate)new SL_DropTableAddition
		{
			DropTableUIDsToAdd = { val.UID }
		}).ApplyTemplate();
		((ContentTemplate)new SL_DropTableAddition
		{
			DropTableUIDsToAdd = { val2.UID }
		}).ApplyTemplate();
	}
}