using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")] [assembly: AssemblyCompany("ValheimBossTrader")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+be8dd914e1078fb11deb98ed797bec5eb7019521")] [assembly: AssemblyProduct("ValheimBossTrader")] [assembly: AssemblyTitle("ValheimBossTrader")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } internal static class IsExternalInit { } } namespace ValheimBossTrader { public static class BankManager { private static string SaveDir => Path.Combine(Paths.ConfigPath, "BossTrader_Bank"); private static string FilePath(string playerName) { return Path.Combine(SaveDir, playerName + ".dat"); } private static string GetPlayerName() { Player localPlayer = Player.m_localPlayer; if (!((Object)(object)localPlayer == (Object)null)) { return localPlayer.GetPlayerName(); } return "unknown"; } public static long GetBalance() { string path = FilePath(GetPlayerName()); if (!File.Exists(path)) { return 0L; } if (long.TryParse(File.ReadAllText(path).Trim(), out var result)) { return result; } return 0L; } private static void SetBalance(long amount) { Directory.CreateDirectory(SaveDir); File.WriteAllText(FilePath(GetPlayerName()), amount.ToString()); } public static void SetBalanceDebug(long amount) { SetBalance(amount); Plugin.Log.LogInfo((object)$"[Bank] Solde forcé à {amount} (debug)."); } public static string GetCoinSharedName() { if ((Object)(object)StoreGui.instance?.m_coinPrefab != (Object)null) { return StoreGui.instance.m_coinPrefab.m_itemData.m_shared.m_name; } ObjectDB instance = ObjectDB.instance; GameObject obj = ((instance != null) ? instance.GetItemPrefab("Coins") : null); return ((obj == null) ? null : obj.GetComponent()?.m_itemData?.m_shared?.m_name) ?? "$item_coins"; } public static int GetPlayerCoins() { Player localPlayer = Player.m_localPlayer; if ((Object)(object)localPlayer == (Object)null) { return 0; } return CountCoinsInInventory(((Humanoid)localPlayer).GetInventory()); } private static int CountCoinsInInventory(Inventory inv) { string coinSharedName = GetCoinSharedName(); int num = 0; foreach (ItemData allItem in inv.GetAllItems()) { if (allItem.m_shared?.m_name == coinSharedName) { num += allItem.m_stack; } } return num; } public static bool Deposit(int amount, out string message) { if (amount <= 0) { message = "Montant invalide."; return false; } Player localPlayer = Player.m_localPlayer; if ((Object)(object)localPlayer == (Object)null) { message = "Joueur introuvable."; return false; } int playerCoins = GetPlayerCoins(); if (playerCoins < amount) { message = $"Pas assez de pièces. Vous en avez {playerCoins}."; return false; } RemoveCoinsFromInventory(localPlayer, amount); SetBalance(GetBalance() + amount); message = $"Déposé {amount} pièces. Solde : {GetBalance()}"; return true; } private static void RemoveCoinsFromInventory(Player player, int amount) { Inventory inventory = ((Humanoid)player).GetInventory(); string coinSharedName = GetCoinSharedName(); int num = amount; foreach (ItemData item in new List(inventory.GetAllItems())) { if (num <= 0) { break; } if (!(item.m_shared?.m_name != coinSharedName)) { int num2 = Math.Min(num, item.m_stack); item.m_stack -= num2; num -= num2; if (item.m_stack <= 0) { inventory.RemoveItem(item); } } } inventory.Changed(); } private static void AddCoinsToInventory(Inventory inv, int amount) { string coinSharedName = GetCoinSharedName(); int num = amount; foreach (ItemData item in new List(inv.GetAllItems())) { if (num <= 0) { break; } if (!(item.m_shared?.m_name != coinSharedName)) { int num2 = item.m_shared.m_maxStackSize - item.m_stack; if (num2 > 0) { int num3 = Math.Min(num, num2); item.m_stack += num3; num -= num3; } } } if (num > 0) { ObjectDB instance = ObjectDB.instance; GameObject obj = ((instance != null) ? instance.GetItemPrefab("Coins") : null); ItemDrop val = ((obj != null) ? obj.GetComponent() : null); if ((Object)(object)val != (Object)null) { int maxStackSize = val.m_itemData.m_shared.m_maxStackSize; while (num > 0) { ItemData val2 = val.m_itemData.Clone(); val2.m_stack = Math.Min(num, maxStackSize); if (!inv.AddItem(val2)) { break; } num -= val2.m_stack; } } } inv.Changed(); } public static bool Withdraw(int amount, out string message) { if (amount <= 0) { message = "Montant invalide."; return false; } Player localPlayer = Player.m_localPlayer; if ((Object)(object)localPlayer == (Object)null) { message = "Joueur introuvable."; return false; } long balance = GetBalance(); if (balance < amount) { message = $"Solde insuffisant : {balance} pièces."; return false; } Inventory inventory = ((Humanoid)localPlayer).GetInventory(); bool flag = CountCoinsInInventory(inventory) > 0; bool flag2 = inventory.GetEmptySlots() > 0; if (!flag && !flag2) { message = "Inventaire plein ! Faites de la place."; return false; } SetBalance(balance - amount); AddCoinsToInventory(inventory, amount); message = $"Retiré {amount} pièces. Solde : {GetBalance()}"; return true; } public static bool WithdrawAll(out string message) { long balance = GetBalance(); if (balance <= 0) { message = "La banque est vide."; return false; } return Withdraw((int)Math.Min(balance, 2147483647L), out message); } } [HarmonyPatch(typeof(StoreGui), "Show")] public static class StoreGui_Show_BankPatch { [HarmonyPostfix] public static void Postfix() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)BankUI.Instance == (Object)null) { new GameObject("BossTrader_BankUI").AddComponent(); } BankUI.Instance.Show(); if ((Object)(object)CategoryFilterUI.Instance == (Object)null) { new GameObject("BossTrader_CategoryFilterUI").AddComponent(); } CategoryFilterUI.Instance.Show(); } } [HarmonyPatch(typeof(StoreGui), "Hide")] public static class StoreGui_Hide_BankPatch { [HarmonyPostfix] public static void Postfix() { BankUI.Instance?.Hide(); CategoryFilterUI.Instance?.Hide(); } } [HarmonyPatch(typeof(StoreGui), "GetPlayerCoins")] public static class StoreGui_GetPlayerCoins_BankPatch { [HarmonyPostfix] public static void Postfix(ref int __result) { long balance = BankManager.GetBalance(); if (balance > 0) { __result = (int)Math.Min(__result + balance, 2147483647L); } } } [HarmonyPatch(typeof(StoreGui), "BuySelectedItem")] public static class StoreGui_BuySelectedItem_BankPatch { [HarmonyPrefix] public static void Prefix(StoreGui __instance) { TradeItem selectedItem = __instance.m_selectedItem; if (selectedItem != null) { int num = selectedItem.m_price - BankManager.GetPlayerCoins(); if (num > 0 && BankManager.GetBalance() >= num) { BankManager.Withdraw(num, out string _); } } } } [HarmonyPatch(typeof(Terminal), "TryRunCommand")] public static class Terminal_TryRunCommand_BankPatch { [HarmonyPrefix] public static bool Prefix(string text) { if (string.IsNullOrEmpty(text)) { return true; } string[] array = text.Trim().Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (array.Length == 0 || array[0].ToLowerInvariant() != "bankset") { return true; } if (array.Length < 2 || !long.TryParse(array[1], out var result) || result < 0) { Plugin.Log.LogInfo((object)"[Bank] Usage : bankset "); return false; } BankManager.SetBalanceDebug(result); Plugin.Log.LogInfo((object)$"[Bank] Solde bancaire → {result} pièces."); return false; } } public class BankUI : MonoBehaviour { private bool _visible; private string _amountStr = ""; private string _feedback = ""; private bool _feedbackOk = true; private Rect _windowRect; private bool _stylesReady; private GUIStyle _windowStyle; private GUIStyle _titleStyle; private GUIStyle _labelStyle; private GUIStyle _balanceStyle; private GUIStyle _fieldStyle; private GUIStyle _btnStyle; private GUIStyle _btnCloseStyle; private GUIStyle _separatorStyle; private GUIStyle _feedbackStyle; private Texture2D _texDarkWood; private Texture2D _texMedWood; private Texture2D _texAmber; private Texture2D _texBtnNormal; private Texture2D _texBtnHover; private Texture2D _texBtnActive; private Texture2D _texInputBg; private Texture2D _texInputFocus; private Texture2D _texInputHover; private Texture2D _texSeparator; private static readonly Color cDarkWood = new Color(0.07f, 0.042f, 0.015f, 0.97f); private static readonly Color cMedWood = new Color(0.16f, 0.1f, 0.038f, 1f); private static readonly Color cBtnNormal = new Color(0.2f, 0.12f, 0.045f, 1f); private static readonly Color cBtnHover = new Color(0.32f, 0.2f, 0.075f, 1f); private static readonly Color cBtnActive = new Color(0.46f, 0.29f, 0.09f, 1f); private static readonly Color cAmber = new Color(0.5f, 0.31f, 0.08f, 1f); private static readonly Color cGold = new Color(0.88f, 0.68f, 0.18f, 1f); private static readonly Color cCream = new Color(0.84f, 0.755f, 0.56f, 1f); private static readonly Color cDimAmber = new Color(0.7f, 0.51f, 0.21f, 1f); private static readonly Color cInputBg = new Color(0.04f, 0.024f, 0.008f, 1f); public static BankUI Instance { get; private set; } private void Awake() { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) Instance = this; Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject); _windowRect = new Rect((float)Screen.width - 350f, (float)Screen.height / 2f - 165f, 310f, 330f); } private void OnDestroy() { if ((Object)(object)Instance == (Object)(object)this) { Instance = null; } } public void Show() { _feedback = ""; _amountStr = ""; _visible = true; } public void Hide() { _visible = false; } private void OnGUI() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown //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) if (_visible) { EnsureStyles(); _windowRect = GUI.Window(9421, _windowRect, new WindowFunction(DrawWindow), "", _windowStyle); } } private void DrawWindow(int id) { //IL_001a: 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_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0411: Unknown result type (might be due to invalid IL or missing references) //IL_033a: Unknown result type (might be due to invalid IL or missing references) //IL_0324: Unknown result type (might be due to invalid IL or missing references) GUI.DrawTexture(new Rect(0f, 0f, ((Rect)(ref _windowRect)).width, 38f), (Texture)(object)_texMedWood); GUI.Label(new Rect(0f, 5f, ((Rect)(ref _windowRect)).width, 28f), "⚜ COFFRE D'HALDOR ⚜", _titleStyle); GUI.DrawTexture(new Rect(8f, 38f, ((Rect)(ref _windowRect)).width - 16f, 2f), (Texture)(object)_texAmber); GUILayout.Space(52f); GUILayout.BeginHorizontal(Array.Empty()); GUILayout.Space(12f); GUILayout.Label($"✦ {BankManager.GetBalance():N0} pièces", _balanceStyle, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(((Rect)(ref _windowRect)).width - 24f) }); GUILayout.EndHorizontal(); GUILayout.Space(4f); GUILayout.Box("", _separatorStyle, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(1f), GUILayout.Width(((Rect)(ref _windowRect)).width - 24f) }); GUILayout.Space(10f); GUILayout.BeginHorizontal(Array.Empty()); GUILayout.Space(12f); GUILayout.Label("Montant :", _labelStyle, Array.Empty()); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(Array.Empty()); GUILayout.Space(12f); _amountStr = GUILayout.TextField(_amountStr, 9, _fieldStyle, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(30f), GUILayout.Width(((Rect)(ref _windowRect)).width - 28f) }); GUILayout.Space(4f); GUILayout.EndHorizontal(); GUILayout.Space(10f); GUILayout.BeginHorizontal(Array.Empty()); GUILayout.Space(12f); if (GUILayout.Button("Déposer", _btnStyle, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(34f), GUILayout.Width(133f) })) { OnDeposit(); } GUILayout.Space(6f); if (GUILayout.Button("Retirer", _btnStyle, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(34f), GUILayout.Width(133f) })) { OnWithdraw(); } GUILayout.Space(4f); GUILayout.EndHorizontal(); GUILayout.Space(6f); GUILayout.BeginHorizontal(Array.Empty()); GUILayout.Space(12f); if (GUILayout.Button("Tout retirer", _btnStyle, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(28f), GUILayout.Width(((Rect)(ref _windowRect)).width - 28f) })) { OnWithdrawAll(); } GUILayout.Space(4f); GUILayout.EndHorizontal(); GUILayout.Space(6f); if (!string.IsNullOrEmpty(_feedback)) { _feedbackStyle.normal.textColor = (_feedbackOk ? new Color(0.48f, 0.82f, 0.3f) : new Color(0.88f, 0.32f, 0.22f)); GUILayout.BeginHorizontal(Array.Empty()); GUILayout.Space(12f); GUILayout.Label(_feedback, _feedbackStyle, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(((Rect)(ref _windowRect)).width - 28f) }); GUILayout.EndHorizontal(); GUILayout.Space(2f); } GUILayout.BeginHorizontal(Array.Empty()); GUILayout.FlexibleSpace(); if (GUILayout.Button("Fermer", _btnCloseStyle, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(24f), GUILayout.Width(80f) })) { Hide(); } GUILayout.Space(10f); GUILayout.EndHorizontal(); GUILayout.Space(6f); GUI.DragWindow(new Rect(0f, 0f, ((Rect)(ref _windowRect)).width, 38f)); } private void OnDeposit() { if (!int.TryParse(_amountStr, out var result)) { SetFeedback("Entrez un nombre valide.", ok: false); } else { SetFeedback(null, BankManager.Deposit(result, out string message), message); } } private void OnWithdraw() { if (!int.TryParse(_amountStr, out var result)) { SetFeedback("Entrez un nombre valide.", ok: false); } else { SetFeedback(null, BankManager.Withdraw(result, out string message), message); } } private void OnWithdrawAll() { SetFeedback(null, BankManager.WithdrawAll(out string message), message); } private void SetFeedback(string direct, bool ok, string msg = null) { _feedback = direct ?? msg; _feedbackOk = ok; if (ok) { _amountStr = ""; } } private void EnsureStyles() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0025: 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_0049: Unknown result type (might be due to invalid IL or missing references) //IL_005b: 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_007f: 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_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Expected O, but got Unknown //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Expected O, but got Unknown //IL_011f: Expected O, but got Unknown //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: 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_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Expected O, but got Unknown //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Expected O, but got Unknown //IL_01ba: 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_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Expected O, but got Unknown //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Expected O, but got Unknown //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Expected O, but got Unknown //IL_030c: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Unknown result type (might be due to invalid IL or missing references) //IL_0347: Unknown result type (might be due to invalid IL or missing references) //IL_034c: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Expected O, but got Unknown //IL_037a: Unknown result type (might be due to invalid IL or missing references) //IL_038f: Unknown result type (might be due to invalid IL or missing references) //IL_0394: 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_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Expected O, but got Unknown //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03c2: Expected O, but got Unknown //IL_03e3: Unknown result type (might be due to invalid IL or missing references) //IL_03e8: Unknown result type (might be due to invalid IL or missing references) //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Expected O, but got Unknown if (!_stylesReady) { _stylesReady = true; _texDarkWood = MakeTex(1, 1, cDarkWood); _texMedWood = MakeTex(1, 1, cMedWood); _texAmber = MakeTex(1, 1, cAmber); _texBtnNormal = MakeTex(1, 1, cBtnNormal); _texBtnHover = MakeTex(1, 1, cBtnHover); _texBtnActive = MakeTex(1, 1, cBtnActive); _texInputBg = MakeTex(1, 1, cInputBg); _texInputFocus = MakeTex(1, 1, new Color(0.06f, 0.038f, 0.014f, 1f)); _texInputHover = MakeTex(1, 1, new Color(0.05f, 0.03f, 0.012f, 1f)); _texSeparator = MakeTex(1, 1, cAmber); _windowStyle = new GUIStyle(GUI.skin.window) { padding = new RectOffset(0, 0, 0, 6), border = new RectOffset(4, 4, 4, 4) }; _windowStyle.normal.background = _texDarkWood; _windowStyle.onNormal.background = _texDarkWood; _titleStyle = new GUIStyle(GUI.skin.label) { fontSize = 15, fontStyle = (FontStyle)1, alignment = (TextAnchor)4 }; _titleStyle.normal.textColor = cGold; _labelStyle = new GUIStyle(GUI.skin.label) { fontSize = 12, fontStyle = (FontStyle)1 }; _labelStyle.normal.textColor = cDimAmber; _balanceStyle = new GUIStyle(GUI.skin.label) { fontSize = 18, fontStyle = (FontStyle)1, alignment = (TextAnchor)4 }; _balanceStyle.normal.textColor = cCream; _fieldStyle = new GUIStyle(GUI.skin.textField) { fontSize = 14, alignment = (TextAnchor)4 }; _fieldStyle.normal.background = _texInputBg; _fieldStyle.focused.background = _texInputFocus; _fieldStyle.hover.background = _texInputHover; _fieldStyle.normal.textColor = cCream; _fieldStyle.focused.textColor = Color.white; _btnStyle = new GUIStyle(GUI.skin.button) { fontSize = 13, fontStyle = (FontStyle)1, alignment = (TextAnchor)4 }; _btnStyle.normal.background = _texBtnNormal; _btnStyle.hover.background = _texBtnHover; _btnStyle.active.background = _texBtnActive; _btnStyle.normal.textColor = cCream; _btnStyle.hover.textColor = Color.white; _btnStyle.active.textColor = cGold; _btnCloseStyle = new GUIStyle(_btnStyle) { fontSize = 11, fontStyle = (FontStyle)0 }; _btnCloseStyle.normal.textColor = new Color(0.65f, 0.55f, 0.38f); _separatorStyle = new GUIStyle(GUI.skin.box) { padding = RectOffset(0), margin = new RectOffset(12, 12, 0, 0), border = RectOffset(0) }; _separatorStyle.normal.background = _texSeparator; _feedbackStyle = new GUIStyle(GUI.skin.label) { fontSize = 12, wordWrap = true, fontStyle = (FontStyle)2, alignment = (TextAnchor)3 }; } } private static RectOffset RectOffset(int v) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Expected O, but got Unknown return new RectOffset(v, v, v, v); } private static Texture2D MakeTex(int w, int h, Color col) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0017: 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) Texture2D val = new Texture2D(w, h); Color[] array = (Color[])(object)new Color[w * h]; for (int i = 0; i < array.Length; i++) { array[i] = col; } val.SetPixels(array); val.Apply(); return val; } } public static class BossKey { public const string Eikthyr = "defeated_eikthyr"; public const string Elder = "defeated_gdking"; public const string Bonemass = "defeated_bonemass"; public const string Moder = "defeated_dragon"; public const string Yagluth = "defeated_goblinking"; public const string Queen = "defeated_queen"; public const string Fader = "defeated_fader"; } public static class CategoryFilter { private static readonly Dictionary _lookup = new Dictionary(); private static List _fullList = null; private static MethodInfo _fillListMethod; public static Category? Active { get; private set; } = null; public static void Register(string prefabName, Category cat) { _lookup[prefabName] = cat; } public static void ClearLookup() { _lookup.Clear(); Active = null; _fullList = null; } public static void SetCategory(Category? cat) { StoreGui instance = StoreGui.instance; if ((Object)(object)instance?.m_trader == (Object)null) { return; } if (_fullList != null) { instance.m_trader.m_items = _fullList; _fullList = null; } Active = cat; if (cat.HasValue) { _fullList = new List(instance.m_trader.m_items); List list = new List(); foreach (TradeItem full in _fullList) { if (Matches(full)) { list.Add(full); } } instance.m_trader.m_items = list; } RefreshList(); } public static void Reset() { StoreGui instance = StoreGui.instance; if (_fullList != null && (Object)(object)instance?.m_trader != (Object)null) { instance.m_trader.m_items = _fullList; } _fullList = null; Active = null; } private static bool Matches(TradeItem item) { ItemDrop prefab = item.m_prefab; string text = ((prefab != null) ? ((Object)prefab).name : null); if (text != null && _lookup.TryGetValue(text, out var value)) { return value == Active.Value; } return false; } private static void RefreshList() { if (!((Object)(object)StoreGui.instance == (Object)null)) { if (_fillListMethod == null) { _fillListMethod = typeof(StoreGui).GetMethod("FillList", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); } _fillListMethod?.Invoke(StoreGui.instance, null); } } } public class CategoryFilterUI : MonoBehaviour { private bool _visible; private Rect _windowRect; private bool _stylesReady; private bool _positionSet; private GUIStyle _windowStyle; private GUIStyle _titleStyle; private GUIStyle _btnStyle; private GUIStyle _btnActiveStyle; private GUIStyle _separatorStyle; private static readonly Color cDarkWood = new Color(0.07f, 0.042f, 0.015f, 0.97f); private static readonly Color cMedWood = new Color(0.16f, 0.1f, 0.038f, 1f); private static readonly Color cBtnNormal = new Color(0.2f, 0.12f, 0.045f, 1f); private static readonly Color cBtnHover = new Color(0.32f, 0.2f, 0.075f, 1f); private static readonly Color cAmber = new Color(0.5f, 0.31f, 0.08f, 1f); private static readonly Color cGold = new Color(0.88f, 0.68f, 0.18f, 1f); private static readonly Color cCream = new Color(0.84f, 0.755f, 0.56f, 1f); private static readonly Color cActiveText = new Color(0.1f, 0.06f, 0.02f, 1f); private Texture2D _texDarkWood; private Texture2D _texMedWood; private Texture2D _texAmber; private Texture2D _texAmberDim; private Texture2D _texBtnNormal; private Texture2D _texBtnHover; private Texture2D _texBtnActive; private Texture2D _texBtnActiveHover; private Texture2D _texSeparator; public static CategoryFilterUI Instance { get; private set; } private void Awake() { //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) Instance = this; Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject); _windowRect = new Rect(420f, 130f, 142f, 0f); } private void OnDestroy() { if ((Object)(object)Instance == (Object)(object)this) { Instance = null; } } public void Show() { _visible = true; _positionSet = false; } public void Hide() { _visible = false; CategoryFilter.Reset(); } private void OnGUI() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown //IL_0038: 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) if (_visible) { EnsureStyles(); TrySetPosition(); _windowRect = GUI.Window(9424, _windowRect, new WindowFunction(DrawWindow), "", _windowStyle); } } private void TrySetPosition() { if (!_positionSet && !((Object)(object)StoreGui.instance?.m_rootPanel == (Object)null)) { RectTransform component = StoreGui.instance.m_rootPanel.GetComponent(); if (!((Object)(object)component == (Object)null)) { Vector3[] array = (Vector3[])(object)new Vector3[4]; component.GetWorldCorners(array); ((Rect)(ref _windowRect)).x = array[2].x + 6f; ((Rect)(ref _windowRect)).y = (float)Screen.height - array[2].y; _positionSet = true; } } } private void DrawWindow(int id) { //IL_001a: 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_0079: 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) GUI.DrawTexture(new Rect(0f, 0f, ((Rect)(ref _windowRect)).width, 32f), (Texture)(object)_texMedWood); GUI.Label(new Rect(0f, 5f, ((Rect)(ref _windowRect)).width, 22f), "CATÉGORIES", _titleStyle); GUI.DrawTexture(new Rect(6f, 32f, ((Rect)(ref _windowRect)).width - 12f, 2f), (Texture)(object)_texAmber); GUILayout.Space(40f); DrawBtn("Tout", null); GUILayout.Space(3f); GUILayout.Box("", _separatorStyle, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(1f), GUILayout.ExpandWidth(true) }); GUILayout.Space(3f); foreach (Category value in Enum.GetValues(typeof(Category))) { DrawBtn(GetLabel(value), value); GUILayout.Space(2f); } GUILayout.Space(6f); GUI.DragWindow(new Rect(0f, 0f, ((Rect)(ref _windowRect)).width, 32f)); } private void DrawBtn(string label, Category? cat) { bool flag = CategoryFilter.Active == cat; GUILayout.BeginHorizontal(Array.Empty()); GUILayout.Space(6f); if (GUILayout.Button(label, flag ? _btnActiveStyle : _btnStyle, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(28f), GUILayout.Width(((Rect)(ref _windowRect)).width - 14f) })) { CategoryFilter.SetCategory((flag && cat.HasValue) ? null : cat); } GUILayout.Space(2f); GUILayout.EndHorizontal(); GUILayout.Space(1f); } private static string GetLabel(Category cat) { return cat switch { Category.Materials => "Matériaux", Category.Food => "Nourriture", Category.Weapons => "Armes", Category.Armor => "Armures", Category.Ammo => "Munitions", Category.Consumables => "Consommables", Category.Misc => "Divers", _ => cat.ToString(), }; } private void EnsureStyles() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: 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_005c: Expected O, but got Unknown //IL_0061: Expected O, but got Unknown //IL_0064: 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_0088: 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_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: 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_010a: 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_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_0183: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Expected O, but got Unknown //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Expected O, but got Unknown //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Expected O, but got Unknown //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Expected O, but got Unknown //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Expected O, but got Unknown //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Expected O, but got Unknown //IL_0307: Expected O, but got Unknown if (!_stylesReady) { _stylesReady = true; int length = Enum.GetValues(typeof(Category)).Length; int num = 36; ((Rect)(ref _windowRect)).height = 92 + length * num + 20; _windowStyle = new GUIStyle(GUI.skin.window) { padding = new RectOffset(0, 0, 0, 4) }; _texDarkWood = MakeTex(1, 1, cDarkWood); _texMedWood = MakeTex(1, 1, cMedWood); _texAmber = MakeTex(1, 1, cAmber); _texAmberDim = MakeTex(1, 1, new Color(0.35f, 0.22f, 0.06f, 1f)); _texBtnNormal = MakeTex(1, 1, cBtnNormal); _texBtnHover = MakeTex(1, 1, cBtnHover); _texBtnActive = MakeTex(1, 1, cAmber); _texBtnActiveHover = MakeTex(1, 1, new Color(0.6f, 0.38f, 0.1f, 1f)); _texSeparator = MakeTex(1, 1, new Color(0.35f, 0.22f, 0.06f, 1f)); _windowStyle.normal.background = _texDarkWood; _windowStyle.onNormal.background = _texDarkWood; _titleStyle = new GUIStyle(GUI.skin.label) { fontSize = 12, fontStyle = (FontStyle)1, alignment = (TextAnchor)4 }; _titleStyle.normal.textColor = cGold; _btnStyle = new GUIStyle(GUI.skin.button) { fontSize = 12, fontStyle = (FontStyle)0, alignment = (TextAnchor)4 }; _btnStyle.normal.background = _texBtnNormal; _btnStyle.hover.background = _texBtnHover; _btnStyle.active.background = _texBtnActive; _btnStyle.normal.textColor = cCream; _btnStyle.hover.textColor = Color.white; _btnStyle.active.textColor = cGold; _btnActiveStyle = new GUIStyle(_btnStyle) { fontStyle = (FontStyle)1 }; _btnActiveStyle.normal.background = _texBtnActive; _btnActiveStyle.hover.background = _texBtnActiveHover; _btnActiveStyle.normal.textColor = cActiveText; _btnActiveStyle.hover.textColor = cActiveText; _separatorStyle = new GUIStyle(GUI.skin.box) { padding = new RectOffset(0, 0, 0, 0), margin = new RectOffset(6, 6, 0, 0), border = new RectOffset(0, 0, 0, 0) }; _separatorStyle.normal.background = _texSeparator; } } private static Texture2D MakeTex(int w, int h, Color col) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown //IL_0017: 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) Texture2D val = new Texture2D(w, h); Color[] array = (Color[])(object)new Color[w * h]; for (int i = 0; i < array.Length; i++) { array[i] = col; } val.SetPixels(array); val.Apply(); return val; } } public static class ModConfig { public static ConfigEntry PriceMultiplier; public static ConfigEntry StackMultiplier; public static ConfigEntry EnableHaldor; public static ConfigEntry EnableHildir; public static ConfigEntry EnableBogWitch; public static ConfigEntry EnableMaterials; public static ConfigEntry EnableFood; public static ConfigEntry EnableWeapons; public static ConfigEntry EnableArmor; public static ConfigEntry EnableAmmo; public static ConfigEntry EnableConsumables; public static ConfigEntry EnableMisc; public static void Init(ConfigFile config) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Expected O, but got Unknown PriceMultiplier = config.Bind("1 - Prix", "PriceMultiplier", 1f, new ConfigDescription("Multiplicateur appliqué à tous les prix.\nEx: 0.5 = moitié prix, 2.0 = double prix.", (AcceptableValueBase)(object)new AcceptableValueRange(0.1f, 10f), Array.Empty())); StackMultiplier = config.Bind("2 - Stacks", "StackMultiplier", 1f, new ConfigDescription("Multiplicateur appliqué à toutes les quantités par achat.\nEx: 2.0 = double la quantité achetée à chaque fois.", (AcceptableValueBase)(object)new AcceptableValueRange(0.1f, 10f), Array.Empty())); EnableHaldor = config.Bind("3 - Marchands", "EnableHaldor", true, "Injecter les items chez Haldor."); EnableHildir = config.Bind("3 - Marchands", "EnableHildir", false, "Injecter les items chez Hildir."); EnableBogWitch = config.Bind("3 - Marchands", "EnableBogWitch", false, "Injecter les items chez la Bog Witch."); EnableMaterials = config.Bind("4 - Catégories", "EnableMaterials", true, "Activer la vente de matériaux / minerais / ressources."); EnableFood = config.Bind("4 - Catégories", "EnableFood", true, "Activer la vente de nourriture (crue et cuite)."); EnableWeapons = config.Bind("4 - Catégories", "EnableWeapons", true, "Activer la vente d'armes."); EnableArmor = config.Bind("4 - Catégories", "EnableArmor", true, "Activer la vente d'armures et de capes."); EnableAmmo = config.Bind("4 - Catégories", "EnableAmmo", true, "Activer la vente de munitions (flèches, boulons, bombes)."); EnableConsumables = config.Bind("4 - Catégories", "EnableConsumables", true, "Activer la vente de consommables (potions, hydromel, appâts)."); EnableMisc = config.Bind("4 - Catégories", "EnableMisc", true, "Activer la vente des autres items (graines, trophées, outils, etc.)."); } public static bool IsTraderEnabled(Trader trader) { string text = trader.m_name ?? ((Object)((Component)trader).gameObject).name; if (text.Contains("Haldor")) { return EnableHaldor.Value; } if (text.Contains("Hildir")) { return EnableHildir.Value; } if (text.Contains("BogWitch") || text.Contains("Bog_Witch") || text.Contains("Bog Witch")) { return EnableBogWitch.Value; } return true; } public static int ApplyPrice(int basePrice) { return Math.Max(1, (int)((float)basePrice * PriceMultiplier.Value)); } public static int ApplyStack(int baseStack) { return Math.Max(1, (int)((float)baseStack * StackMultiplier.Value)); } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("juliani.mods.valheim.bosstrader", "ValheimBossTrader", "1.0.6")] public class Plugin : BaseUnityPlugin { public const string PluginGuid = "juliani.mods.valheim.bosstrader"; public const string PluginName = "ValheimBossTrader"; public const string PluginVersion = "1.0.6"; internal static ManualLogSource Log; private readonly Harmony _harmony = new Harmony("juliani.mods.valheim.bosstrader"); private void Awake() { Log = ((BaseUnityPlugin)this).Logger; ModConfig.Init(((BaseUnityPlugin)this).Config); Log.LogInfo((object)string.Format("{0} v{1} chargé — {2} items configurés.", "ValheimBossTrader", "1.0.6", CountItems())); _harmony.PatchAll(); } private void OnDestroy() { _harmony.UnpatchSelf(); } private static int CountItems() { int num = 0; foreach (TraderItems.TradeItemDef item in TraderItems.GetAll()) { _ = item; num++; } return num; } } public enum Category { Materials, Food, Weapons, Armor, Ammo, Consumables, Misc } public static class TraderItems { public class TradeItemDef { public string PrefabName { get; } public int Stack { get; } public int Price { get; } public string RequiredKey { get; } public Category Cat { get; } public TradeItemDef(string prefabName, int stack, int price, string requiredKey = null, Category cat = Category.Misc) { PrefabName = prefabName; Stack = stack; Price = price; RequiredKey = requiredKey; Cat = cat; } } [CompilerGenerated] private sealed class d__3 : IEnumerable, IEnumerable, IEnumerator, IDisposable, IEnumerator { private int <>1__state; private TradeItemDef <>2__current; private int <>l__initialThreadId; TradeItemDef IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__3(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = new TradeItemDef("Acorn", 20, 6, null, Category.Materials); <>1__state = 1; return true; case 1: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherChest", 1, 99, null, Category.Armor); <>1__state = 2; return true; case 2: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherLegs", 1, 99, null, Category.Armor); <>1__state = 3; return true; case 3: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsChest", 1, 50, null, Category.Armor); <>1__state = 4; return true; case 4: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsLegs", 1, 50, null, Category.Armor); <>1__state = 5; return true; case 5: <>1__state = -1; <>2__current = new TradeItemDef("ArrowFire", 20, 78, null, Category.Ammo); <>1__state = 6; return true; case 6: <>1__state = -1; <>2__current = new TradeItemDef("ArrowFlint", 20, 51, null, Category.Ammo); <>1__state = 7; return true; case 7: <>1__state = -1; <>2__current = new TradeItemDef("ArrowWood", 20, 27, null, Category.Ammo); <>1__state = 8; return true; case 8: <>1__state = -1; <>2__current = new TradeItemDef("AxeFlint", 1, 54, null, Category.Weapons); <>1__state = 9; return true; case 9: <>1__state = -1; <>2__current = new TradeItemDef("AxeStone", 1, 30, null, Category.Weapons); <>1__state = 10; return true; case 10: <>1__state = -1; <>2__current = new TradeItemDef("BeechSeeds", 20, 5, null, Category.Materials); <>1__state = 11; return true; case 11: <>1__state = -1; <>2__current = new TradeItemDef("BirchSeeds", 20, 5, null, Category.Materials); <>1__state = 12; return true; case 12: <>1__state = -1; <>2__current = new TradeItemDef("Blueberries", 1, 5, null, Category.Food); <>1__state = 13; return true; case 13: <>1__state = -1; <>2__current = new TradeItemDef("BoarJerky", 1, 60, null, Category.Food); <>1__state = 14; return true; case 14: <>1__state = -1; <>2__current = new TradeItemDef("BoneFragments", 20, 5, null, Category.Materials); <>1__state = 15; return true; case 15: <>1__state = -1; <>2__current = new TradeItemDef("Bow", 1, 113, null, Category.Weapons); <>1__state = 16; return true; case 16: <>1__state = -1; <>2__current = new TradeItemDef("CapeDeerHide", 1, 75, null, Category.Armor); <>1__state = 17; return true; case 17: <>1__state = -1; <>2__current = new TradeItemDef("Carrot", 1, 10, null, Category.Food); <>1__state = 18; return true; case 18: <>1__state = -1; <>2__current = new TradeItemDef("CarrotSeeds", 20, 5, null, Category.Food); <>1__state = 19; return true; case 19: <>1__state = -1; <>2__current = new TradeItemDef("CarrotSoup", 1, 66, null, Category.Food); <>1__state = 20; return true; case 20: <>1__state = -1; <>2__current = new TradeItemDef("Club", 1, 22, null, Category.Weapons); <>1__state = 21; return true; case 21: <>1__state = -1; <>2__current = new TradeItemDef("Coal", 10, 6, null, Category.Materials); <>1__state = 22; return true; case 22: <>1__state = -1; <>2__current = new TradeItemDef("CookedDeerMeat", 1, 36, null, Category.Food); <>1__state = 23; return true; case 23: <>1__state = -1; <>2__current = new TradeItemDef("CookedMeat", 1, 36, null, Category.Food); <>1__state = 24; return true; case 24: <>1__state = -1; <>2__current = new TradeItemDef("Dandelion", 20, 5, null, Category.Materials); <>1__state = 25; return true; case 25: <>1__state = -1; <>2__current = new TradeItemDef("DeerHide", 20, 9, null, Category.Materials); <>1__state = 26; return true; case 26: <>1__state = -1; <>2__current = new TradeItemDef("DeerMeat", 1, 12, null, Category.Food); <>1__state = 27; return true; case 27: <>1__state = -1; <>2__current = new TradeItemDef("DeerStew", 1, 84, null, Category.Food); <>1__state = 28; return true; case 28: <>1__state = -1; <>2__current = new TradeItemDef("FeastMeadows", 1, 255, null, Category.Food); <>1__state = 29; return true; case 29: <>1__state = -1; <>2__current = new TradeItemDef("Feaster", 1, 66, null, Category.Food); <>1__state = 30; return true; case 30: <>1__state = -1; <>2__current = new TradeItemDef("Feathers", 20, 5, null, Category.Materials); <>1__state = 31; return true; case 31: <>1__state = -1; <>2__current = new TradeItemDef("FirCone", 20, 5, null, Category.Materials); <>1__state = 32; return true; case 32: <>1__state = -1; <>2__current = new TradeItemDef("Flint", 20, 5, null, Category.Materials); <>1__state = 33; return true; case 33: <>1__state = -1; <>2__current = new TradeItemDef("Hammer", 1, 18, null, Category.Weapons); <>1__state = 34; return true; case 34: <>1__state = -1; <>2__current = new TradeItemDef("HardAntler", 1, 600); <>1__state = 35; return true; case 35: <>1__state = -1; <>2__current = new TradeItemDef("HelmetLeather", 1, 99, null, Category.Armor); <>1__state = 36; return true; case 36: <>1__state = -1; <>2__current = new TradeItemDef("HelmetYule", 1, 36, null, Category.Armor); <>1__state = 37; return true; case 37: <>1__state = -1; <>2__current = new TradeItemDef("Hoe", 1, 24, null, Category.Weapons); <>1__state = 38; return true; case 38: <>1__state = -1; <>2__current = new TradeItemDef("Honey", 1, 31, null, Category.Food); <>1__state = 39; return true; case 39: <>1__state = -1; <>2__current = new TradeItemDef("KnifeFlint", 1, 51, null, Category.Weapons); <>1__state = 40; return true; case 40: <>1__state = -1; <>2__current = new TradeItemDef("LeatherScraps", 20, 6, null, Category.Materials); <>1__state = 41; return true; case 41: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseStrength", 1, 682, null, Category.Consumables); <>1__state = 42; return true; case 42: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseSwimmer", 1, 102, null, Category.Consumables); <>1__state = 43; return true; case 43: <>1__state = -1; <>2__current = new TradeItemDef("MinceMeatSauce", 1, 35, null, Category.Food); <>1__state = 44; return true; case 44: <>1__state = -1; <>2__current = new TradeItemDef("Mushroom", 1, 6, null, Category.Food); <>1__state = 45; return true; case 45: <>1__state = -1; <>2__current = new TradeItemDef("MushroomYellow", 1, 12, null, Category.Food); <>1__state = 46; return true; case 46: <>1__state = -1; <>2__current = new TradeItemDef("NeckTail", 1, 12); <>1__state = 47; return true; case 47: <>1__state = -1; <>2__current = new TradeItemDef("NeckTailGrilled", 1, 14); <>1__state = 48; return true; case 48: <>1__state = -1; <>2__current = new TradeItemDef("PickaxeAntler", 1, 136, null, Category.Weapons); <>1__state = 49; return true; case 49: <>1__state = -1; <>2__current = new TradeItemDef("PickaxeStone", 1, 34, null, Category.Weapons); <>1__state = 50; return true; case 50: <>1__state = -1; <>2__current = new TradeItemDef("PineCone", 20, 5, null, Category.Materials); <>1__state = 51; return true; case 51: <>1__state = -1; <>2__current = new TradeItemDef("Pukeberries", 20, 7, null, Category.Materials); <>1__state = 52; return true; case 52: <>1__state = -1; <>2__current = new TradeItemDef("QueenBee", 10, 90); <>1__state = 53; return true; case 53: <>1__state = -1; <>2__current = new TradeItemDef("QueensJam", 1, 75, null, Category.Food); <>1__state = 54; return true; case 54: <>1__state = -1; <>2__current = new TradeItemDef("Raspberry", 1, 5, null, Category.Food); <>1__state = 55; return true; case 55: <>1__state = -1; <>2__current = new TradeItemDef("RawMeat", 1, 10, null, Category.Food); <>1__state = 56; return true; case 56: <>1__state = -1; <>2__current = new TradeItemDef("Resin", 20, 5, null, Category.Materials); <>1__state = 57; return true; case 57: <>1__state = -1; <>2__current = new TradeItemDef("SharpeningStone", 1, 13, null, Category.Materials); <>1__state = 58; return true; case 58: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBoneTower", 1, 139, null, Category.Armor); <>1__state = 59; return true; case 59: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWood", 1, 79, null, Category.Armor); <>1__state = 60; return true; case 60: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWoodTower", 1, 76, null, Category.Armor); <>1__state = 61; return true; case 61: <>1__state = -1; <>2__current = new TradeItemDef("Sparkler", 20, 9, null, Category.Materials); <>1__state = 62; return true; case 62: <>1__state = -1; <>2__current = new TradeItemDef("SpearFlint", 1, 103, null, Category.Weapons); <>1__state = 63; return true; case 63: <>1__state = -1; <>2__current = new TradeItemDef("Stone", 20, 5, null, Category.Materials); <>1__state = 64; return true; case 64: <>1__state = -1; <>2__current = new TradeItemDef("Torch", 1, 12, null, Category.Weapons); <>1__state = 65; return true; case 65: <>1__state = -1; <>2__current = new TradeItemDef("TrophyBoar", 1, 33); <>1__state = 66; return true; case 66: <>1__state = -1; <>2__current = new TradeItemDef("TrophyDeer", 1, 40); <>1__state = 67; return true; case 67: <>1__state = -1; <>2__current = new TradeItemDef("TrophyNeck", 1, 27); <>1__state = 68; return true; case 68: <>1__state = -1; <>2__current = new TradeItemDef("Turnip", 1, 16, null, Category.Food); <>1__state = 69; return true; case 69: <>1__state = -1; <>2__current = new TradeItemDef("TurnipSeeds", 20, 6, null, Category.Food); <>1__state = 70; return true; case 70: <>1__state = -1; <>2__current = new TradeItemDef("Wood", 20, 5, null, Category.Materials); <>1__state = 71; return true; case 71: <>1__state = -1; <>2__current = new TradeItemDef("AncientSeed", 20, 39, "defeated_eikthyr", Category.Materials); <>1__state = 72; return true; case 72: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeChest", 1, 601, "defeated_eikthyr", Category.Armor); <>1__state = 73; return true; case 73: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeLegs", 1, 601, "defeated_eikthyr", Category.Armor); <>1__state = 74; return true; case 74: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherChest", 1, 148, "defeated_eikthyr", Category.Armor); <>1__state = 75; return true; case 75: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherLegs", 1, 148, "defeated_eikthyr", Category.Armor); <>1__state = 76; return true; case 76: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsChest", 1, 75, "defeated_eikthyr", Category.Armor); <>1__state = 77; return true; case 77: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsLegs", 1, 75, "defeated_eikthyr", Category.Armor); <>1__state = 78; return true; case 78: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherChest", 1, 415, "defeated_eikthyr", Category.Armor); <>1__state = 79; return true; case 79: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherLegs", 1, 415, "defeated_eikthyr", Category.Armor); <>1__state = 80; return true; case 80: <>1__state = -1; <>2__current = new TradeItemDef("ArrowBronze", 20, 148, "defeated_eikthyr", Category.Ammo); <>1__state = 81; return true; case 81: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirBronze", 1, 943, "defeated_eikthyr", Category.Weapons); <>1__state = 82; return true; case 82: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirWood", 1, 196, "defeated_eikthyr", Category.Weapons); <>1__state = 83; return true; case 83: <>1__state = -1; <>2__current = new TradeItemDef("AxeBronze", 1, 687, "defeated_eikthyr", Category.Weapons); <>1__state = 84; return true; case 84: <>1__state = -1; <>2__current = new TradeItemDef("AxeFlint", 1, 81, "defeated_eikthyr", Category.Weapons); <>1__state = 85; return true; case 85: <>1__state = -1; <>2__current = new TradeItemDef("AxeStone", 1, 45, "defeated_eikthyr", Category.Weapons); <>1__state = 86; return true; case 86: <>1__state = -1; <>2__current = new TradeItemDef("AxeWood", 1, 137, "defeated_eikthyr", Category.Weapons); <>1__state = 87; return true; case 87: <>1__state = -1; <>2__current = new TradeItemDef("BBH_BlackForest_Bow", 1, 242, "defeated_eikthyr", Category.Weapons); <>1__state = 88; return true; case 88: <>1__state = -1; <>2__current = new TradeItemDef("BBH_BlackForest_Quiver", 1, 261, "defeated_eikthyr", Category.Weapons); <>1__state = 89; return true; case 89: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeWood", 1, 214, "defeated_eikthyr", Category.Weapons); <>1__state = 90; return true; case 90: <>1__state = -1; <>2__current = new TradeItemDef("Bow", 1, 169, "defeated_eikthyr", Category.Weapons); <>1__state = 91; return true; case 91: <>1__state = -1; <>2__current = new TradeItemDef("BowFineWood", 1, 541, "defeated_eikthyr", Category.Weapons); <>1__state = 92; return true; case 92: <>1__state = -1; <>2__current = new TradeItemDef("Bronze", 15, 105, "defeated_eikthyr", Category.Materials); <>1__state = 93; return true; case 93: <>1__state = -1; <>2__current = new TradeItemDef("BronzeNails", 50, 11, "defeated_eikthyr"); <>1__state = 94; return true; case 94: <>1__state = -1; <>2__current = new TradeItemDef("BronzeScrap", 15, 44, "defeated_eikthyr", Category.Materials); <>1__state = 95; return true; case 95: <>1__state = -1; <>2__current = new TradeItemDef("CapeDeerHide", 1, 112, "defeated_eikthyr", Category.Armor); <>1__state = 96; return true; case 96: <>1__state = -1; <>2__current = new TradeItemDef("CapeTrollHide", 1, 698, "defeated_eikthyr", Category.Armor); <>1__state = 97; return true; case 97: <>1__state = -1; <>2__current = new TradeItemDef("Club", 1, 33, "defeated_eikthyr", Category.Weapons); <>1__state = 98; return true; case 98: <>1__state = -1; <>2__current = new TradeItemDef("Copper", 15, 30, "defeated_eikthyr", Category.Materials); <>1__state = 99; return true; case 99: <>1__state = -1; <>2__current = new TradeItemDef("CopperOre", 1, 22, "defeated_eikthyr", Category.Materials); <>1__state = 100; return true; case 100: <>1__state = -1; <>2__current = new TradeItemDef("CopperScrap", 15, 26, "defeated_eikthyr"); <>1__state = 101; return true; case 101: <>1__state = -1; <>2__current = new TradeItemDef("CryptKey", 1, 1331, "defeated_eikthyr"); <>1__state = 102; return true; case 102: <>1__state = -1; <>2__current = new TradeItemDef("Cultivator", 1, 415, "defeated_eikthyr"); <>1__state = 103; return true; case 103: <>1__state = -1; <>2__current = new TradeItemDef("DustMagic", 1, 11, "defeated_eikthyr"); <>1__state = 104; return true; case 104: <>1__state = -1; <>2__current = new TradeItemDef("EssenceMagic", 1, 11, "defeated_eikthyr"); <>1__state = 105; return true; case 105: <>1__state = -1; <>2__current = new TradeItemDef("EtchedRunestoneMagic", 1, 14, "defeated_eikthyr"); <>1__state = 106; return true; case 106: <>1__state = -1; <>2__current = new TradeItemDef("FeastBlackforest", 1, 1031, "defeated_eikthyr", Category.Food); <>1__state = 107; return true; case 107: <>1__state = -1; <>2__current = new TradeItemDef("FineWood", 20, 13, "defeated_eikthyr"); <>1__state = 108; return true; case 108: <>1__state = -1; <>2__current = new TradeItemDef("GreydwarfEye", 20, 13, "defeated_eikthyr"); <>1__state = 109; return true; case 109: <>1__state = -1; <>2__current = new TradeItemDef("Guck", 20, 55, "defeated_eikthyr"); <>1__state = 110; return true; case 110: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBronze", 1, 601, "defeated_eikthyr", Category.Armor); <>1__state = 111; return true; case 111: <>1__state = -1; <>2__current = new TradeItemDef("HelmetLeather", 1, 148, "defeated_eikthyr", Category.Armor); <>1__state = 112; return true; case 112: <>1__state = -1; <>2__current = new TradeItemDef("HelmetTrollLeather", 1, 462, "defeated_eikthyr", Category.Armor); <>1__state = 113; return true; case 113: <>1__state = -1; <>2__current = new TradeItemDef("HelmetYule", 1, 54, "defeated_eikthyr", Category.Armor); <>1__state = 114; return true; case 114: <>1__state = -1; <>2__current = new TradeItemDef("KnifeButcher", 1, 189, "defeated_eikthyr", Category.Weapons); <>1__state = 115; return true; case 115: <>1__state = -1; <>2__current = new TradeItemDef("KnifeCopper", 1, 365, "defeated_eikthyr", Category.Weapons); <>1__state = 116; return true; case 116: <>1__state = -1; <>2__current = new TradeItemDef("KnifeFlint", 1, 76, "defeated_eikthyr", Category.Weapons); <>1__state = 117; return true; case 117: <>1__state = -1; <>2__current = new TradeItemDef("KnifeWood", 1, 137, "defeated_eikthyr", Category.Weapons); <>1__state = 118; return true; case 118: <>1__state = -1; <>2__current = new TradeItemDef("LeatherBelt", 1, 112, "defeated_eikthyr"); <>1__state = 119; return true; case 119: <>1__state = -1; <>2__current = new TradeItemDef("MaceBronze", 1, 704, "defeated_eikthyr", Category.Weapons); <>1__state = 120; return true; case 120: <>1__state = -1; <>2__current = new TradeItemDef("MaceWood", 1, 137, "defeated_eikthyr", Category.Weapons); <>1__state = 121; return true; case 121: <>1__state = -1; <>2__current = new TradeItemDef("MeadStrength", 10, 231, "defeated_eikthyr", Category.Consumables); <>1__state = 122; return true; case 122: <>1__state = -1; <>2__current = new TradeItemDef("MeadTrollPheromones", 10, 264, "defeated_eikthyr", Category.Consumables); <>1__state = 123; return true; case 123: <>1__state = -1; <>2__current = new TradeItemDef("MushroomBlue", 1, 30, "defeated_eikthyr", Category.Food); <>1__state = 124; return true; case 124: <>1__state = -1; <>2__current = new TradeItemDef("PickaxeBronze", 1, 693, "defeated_eikthyr", Category.Weapons); <>1__state = 125; return true; case 125: <>1__state = -1; <>2__current = new TradeItemDef("ReagentMagic", 1, 11, "defeated_eikthyr"); <>1__state = 126; return true; case 126: <>1__state = -1; <>2__current = new TradeItemDef("RunestoneMagic", 1, 14, "defeated_eikthyr"); <>1__state = 127; return true; case 127: <>1__state = -1; <>2__current = new TradeItemDef("ShardMagic", 1, 11, "defeated_eikthyr"); <>1__state = 128; return true; case 128: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBanded", 1, 1079, "defeated_eikthyr", Category.Armor); <>1__state = 129; return true; case 129: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBoneTower", 1, 208, "defeated_eikthyr", Category.Armor); <>1__state = 130; return true; case 130: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBronzeBuckler", 1, 732, "defeated_eikthyr", Category.Armor); <>1__state = 131; return true; case 131: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWood", 1, 118, "defeated_eikthyr", Category.Armor); <>1__state = 132; return true; case 132: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWoodTower", 1, 114, "defeated_eikthyr", Category.Armor); <>1__state = 133; return true; case 133: <>1__state = -1; <>2__current = new TradeItemDef("SledgeWood", 1, 178, "defeated_eikthyr", Category.Weapons); <>1__state = 134; return true; case 134: <>1__state = -1; <>2__current = new TradeItemDef("SpearBronze", 1, 555, "defeated_eikthyr", Category.Weapons); <>1__state = 135; return true; case 135: <>1__state = -1; <>2__current = new TradeItemDef("SpearFlint", 1, 154, "defeated_eikthyr", Category.Weapons); <>1__state = 136; return true; case 136: <>1__state = -1; <>2__current = new TradeItemDef("SpearWood", 1, 137, "defeated_eikthyr", Category.Weapons); <>1__state = 137; return true; case 137: <>1__state = -1; <>2__current = new TradeItemDef("SurtlingCore", 10, 330, "defeated_eikthyr"); <>1__state = 138; return true; case 138: <>1__state = -1; <>2__current = new TradeItemDef("SwordBronze", 1, 676, "defeated_eikthyr", Category.Weapons); <>1__state = 139; return true; case 139: <>1__state = -1; <>2__current = new TradeItemDef("SwordWood", 1, 137, "defeated_eikthyr", Category.Weapons); <>1__state = 140; return true; case 140: <>1__state = -1; <>2__current = new TradeItemDef("THSwordWood", 1, 178, "defeated_eikthyr", Category.Weapons); <>1__state = 141; return true; case 141: <>1__state = -1; <>2__current = new TradeItemDef("Tankard", 1, 90, "defeated_eikthyr"); <>1__state = 142; return true; case 142: <>1__state = -1; <>2__current = new TradeItemDef("TankardOdin", 1, 151, "defeated_eikthyr"); <>1__state = 143; return true; case 143: <>1__state = -1; <>2__current = new TradeItemDef("Thistle", 20, 13, "defeated_eikthyr"); <>1__state = 144; return true; case 144: <>1__state = -1; <>2__current = new TradeItemDef("Tin", 15, 30, "defeated_eikthyr", Category.Materials); <>1__state = 145; return true; case 145: <>1__state = -1; <>2__current = new TradeItemDef("TinOre", 1, 22, "defeated_eikthyr", Category.Materials); <>1__state = 146; return true; case 146: <>1__state = -1; <>2__current = new TradeItemDef("TrinketBronzeHealth", 1, 567, "defeated_eikthyr", Category.Armor); <>1__state = 147; return true; case 147: <>1__state = -1; <>2__current = new TradeItemDef("TrollHide", 20, 48, "defeated_eikthyr", Category.Materials); <>1__state = 148; return true; case 148: <>1__state = -1; <>2__current = new TradeItemDef("TrophyForestTroll", 1, 286, "defeated_eikthyr"); <>1__state = 149; return true; case 149: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGreydwarf", 1, 49, "defeated_eikthyr"); <>1__state = 150; return true; case 150: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGreydwarfBrute", 1, 160, "defeated_eikthyr"); <>1__state = 151; return true; case 151: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGreydwarfShaman", 1, 143, "defeated_eikthyr"); <>1__state = 152; return true; case 152: <>1__state = -1; <>2__current = new TradeItemDef("TrophySkeleton", 1, 61, "defeated_eikthyr"); <>1__state = 153; return true; case 153: <>1__state = -1; <>2__current = new TradeItemDef("TrophySkeletonPoison", 1, 111, "defeated_eikthyr"); <>1__state = 154; return true; case 154: <>1__state = -1; <>2__current = new TradeItemDef("TurretBoltWood", 1, 22, "defeated_eikthyr"); <>1__state = 155; return true; case 155: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeChest", 1, 1502, "defeated_gdking", Category.Armor); <>1__state = 156; return true; case 156: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeLegs", 1, 1502, "defeated_gdking", Category.Armor); <>1__state = 157; return true; case 157: <>1__state = -1; <>2__current = new TradeItemDef("ArmorIronChest", 1, 5698, "defeated_gdking", Category.Armor); <>1__state = 158; return true; case 158: <>1__state = -1; <>2__current = new TradeItemDef("ArmorIronLegs", 1, 5698, "defeated_gdking", Category.Armor); <>1__state = 159; return true; case 159: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherChest", 1, 247, "defeated_gdking", Category.Armor); <>1__state = 160; return true; case 160: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherLegs", 1, 247, "defeated_gdking", Category.Armor); <>1__state = 161; return true; case 161: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsChest", 1, 125, "defeated_gdking", Category.Armor); <>1__state = 162; return true; case 162: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsLegs", 1, 125, "defeated_gdking", Category.Armor); <>1__state = 163; return true; case 163: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRootChest", 1, 1836, "defeated_gdking", Category.Armor); <>1__state = 164; return true; case 164: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRootLegs", 1, 1836, "defeated_gdking", Category.Armor); <>1__state = 165; return true; case 165: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherChest", 1, 1037, "defeated_gdking", Category.Armor); <>1__state = 166; return true; case 166: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherLegs", 1, 1037, "defeated_gdking", Category.Armor); <>1__state = 167; return true; case 167: <>1__state = -1; <>2__current = new TradeItemDef("ArrowIron", 20, 319, "defeated_gdking", Category.Ammo); <>1__state = 168; return true; case 168: <>1__state = -1; <>2__current = new TradeItemDef("ArrowPoison", 20, 504, "defeated_gdking", Category.Ammo); <>1__state = 169; return true; case 169: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirBronze", 1, 2357, "defeated_gdking", Category.Weapons); <>1__state = 170; return true; case 170: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirIron", 1, 8271, "defeated_gdking", Category.Weapons); <>1__state = 171; return true; case 171: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirWood", 1, 490, "defeated_gdking", Category.Weapons); <>1__state = 172; return true; case 172: <>1__state = -1; <>2__current = new TradeItemDef("AxeBronze", 1, 1717, "defeated_gdking", Category.Weapons); <>1__state = 173; return true; case 173: <>1__state = -1; <>2__current = new TradeItemDef("AxeFlint", 1, 135, "defeated_gdking", Category.Weapons); <>1__state = 174; return true; case 174: <>1__state = -1; <>2__current = new TradeItemDef("AxeIron", 1, 4230, "defeated_gdking", Category.Weapons); <>1__state = 175; return true; case 175: <>1__state = -1; <>2__current = new TradeItemDef("AxeStone", 1, 75, "defeated_gdking", Category.Weapons); <>1__state = 176; return true; case 176: <>1__state = -1; <>2__current = new TradeItemDef("AxeWood", 1, 342, "defeated_gdking", Category.Weapons); <>1__state = 177; return true; case 177: <>1__state = -1; <>2__current = new TradeItemDef("BBH_BlackForest_Bow", 1, 605, "defeated_gdking", Category.Weapons); <>1__state = 178; return true; case 178: <>1__state = -1; <>2__current = new TradeItemDef("BBH_Surtling_Bow", 1, 15508, "defeated_gdking", Category.Weapons); <>1__state = 179; return true; case 179: <>1__state = -1; <>2__current = new TradeItemDef("Battleaxe", 1, 11565, "defeated_gdking", Category.Weapons); <>1__state = 180; return true; case 180: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeWood", 1, 535, "defeated_gdking", Category.Weapons); <>1__state = 181; return true; case 181: <>1__state = -1; <>2__current = new TradeItemDef("BlackSoup", 1, 270, "defeated_gdking", Category.Food); <>1__state = 182; return true; case 182: <>1__state = -1; <>2__current = new TradeItemDef("Bloodbag", 20, 86, "defeated_gdking"); <>1__state = 183; return true; case 183: <>1__state = -1; <>2__current = new TradeItemDef("BombBlob_Poison", 20, 198, "defeated_gdking", Category.Ammo); <>1__state = 184; return true; case 184: <>1__state = -1; <>2__current = new TradeItemDef("BombBlob_PoisonElite", 20, 270, "defeated_gdking", Category.Ammo); <>1__state = 185; return true; case 185: <>1__state = -1; <>2__current = new TradeItemDef("BombOoze", 20, 144, "defeated_gdking", Category.Ammo); <>1__state = 186; return true; case 186: <>1__state = -1; <>2__current = new TradeItemDef("Bow", 1, 282, "defeated_gdking", Category.Weapons); <>1__state = 187; return true; case 187: <>1__state = -1; <>2__current = new TradeItemDef("BowFineWood", 1, 1352, "defeated_gdking", Category.Weapons); <>1__state = 188; return true; case 188: <>1__state = -1; <>2__current = new TradeItemDef("BowHuntsman", 1, 5152, "defeated_gdking", Category.Weapons); <>1__state = 189; return true; case 189: <>1__state = -1; <>2__current = new TradeItemDef("CapeDeerHide", 1, 187, "defeated_gdking", Category.Armor); <>1__state = 190; return true; case 190: <>1__state = -1; <>2__current = new TradeItemDef("CapeTrollHide", 1, 1745, "defeated_gdking", Category.Armor); <>1__state = 191; return true; case 191: <>1__state = -1; <>2__current = new TradeItemDef("Chain", 20, 486, "defeated_gdking"); <>1__state = 192; return true; case 192: <>1__state = -1; <>2__current = new TradeItemDef("Chitin", 20, 100, "defeated_gdking", Category.Materials); <>1__state = 193; return true; case 193: <>1__state = -1; <>2__current = new TradeItemDef("Club", 1, 55, "defeated_gdking", Category.Weapons); <>1__state = 194; return true; case 194: <>1__state = -1; <>2__current = new TradeItemDef("DustRare", 1, 28, "defeated_gdking"); <>1__state = 195; return true; case 195: <>1__state = -1; <>2__current = new TradeItemDef("Ectoplasm", 20, 378, "defeated_gdking"); <>1__state = 196; return true; case 196: <>1__state = -1; <>2__current = new TradeItemDef("ElderBark", 20, 36, "defeated_gdking", Category.Materials); <>1__state = 197; return true; case 197: <>1__state = -1; <>2__current = new TradeItemDef("Entrails", 20, 72, "defeated_gdking"); <>1__state = 198; return true; case 198: <>1__state = -1; <>2__current = new TradeItemDef("EssenceRare", 1, 28, "defeated_gdking"); <>1__state = 199; return true; case 199: <>1__state = -1; <>2__current = new TradeItemDef("EtchedRunestoneRare", 1, 37, "defeated_gdking"); <>1__state = 200; return true; case 200: <>1__state = -1; <>2__current = new TradeItemDef("FeastOceans", 1, 1796, "defeated_gdking", Category.Food); <>1__state = 201; return true; case 201: <>1__state = -1; <>2__current = new TradeItemDef("FeastSwamps", 1, 1962, "defeated_gdking", Category.Food); <>1__state = 202; return true; case 202: <>1__state = -1; <>2__current = new TradeItemDef("Fish1", 20, 62, "defeated_gdking", Category.Food); <>1__state = 203; return true; case 203: <>1__state = -1; <>2__current = new TradeItemDef("Fish11", 20, 75, "defeated_gdking", Category.Food); <>1__state = 204; return true; case 204: <>1__state = -1; <>2__current = new TradeItemDef("Fish12", 20, 62, "defeated_gdking", Category.Food); <>1__state = 205; return true; case 205: <>1__state = -1; <>2__current = new TradeItemDef("Fish2", 20, 75, "defeated_gdking", Category.Food); <>1__state = 206; return true; case 206: <>1__state = -1; <>2__current = new TradeItemDef("Fish3", 20, 62, "defeated_gdking", Category.Food); <>1__state = 207; return true; case 207: <>1__state = -1; <>2__current = new TradeItemDef("FishCooked", 10, 113, "defeated_gdking", Category.Food); <>1__state = 208; return true; case 208: <>1__state = -1; <>2__current = new TradeItemDef("FishRaw", 20, 62, "defeated_gdking", Category.Food); <>1__state = 209; return true; case 209: <>1__state = -1; <>2__current = new TradeItemDef("FishingBait", 50, 12, "defeated_gdking", Category.Food); <>1__state = 210; return true; case 210: <>1__state = -1; <>2__current = new TradeItemDef("FishingBaitForest", 50, 25, "defeated_gdking", Category.Food); <>1__state = 211; return true; case 211: <>1__state = -1; <>2__current = new TradeItemDef("FishingBaitOcean", 50, 50, "defeated_gdking", Category.Food); <>1__state = 212; return true; case 212: <>1__state = -1; <>2__current = new TradeItemDef("FishingBaitSwamp", 50, 50, "defeated_gdking", Category.Food); <>1__state = 213; return true; case 213: <>1__state = -1; <>2__current = new TradeItemDef("FishingRod", 1, 936, "defeated_gdking", Category.Food); <>1__state = 214; return true; case 214: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBronze", 1, 1502, "defeated_gdking", Category.Armor); <>1__state = 215; return true; case 215: <>1__state = -1; <>2__current = new TradeItemDef("HelmetFishingHat", 1, 243, "defeated_gdking", Category.Food); <>1__state = 216; return true; case 216: <>1__state = -1; <>2__current = new TradeItemDef("HelmetIron", 1, 5698, "defeated_gdking", Category.Armor); <>1__state = 217; return true; case 217: <>1__state = -1; <>2__current = new TradeItemDef("HelmetLeather", 1, 247, "defeated_gdking", Category.Armor); <>1__state = 218; return true; case 218: <>1__state = -1; <>2__current = new TradeItemDef("HelmetRoot", 1, 1863, "defeated_gdking", Category.Armor); <>1__state = 219; return true; case 219: <>1__state = -1; <>2__current = new TradeItemDef("HelmetTrollLeather", 1, 1155, "defeated_gdking", Category.Armor); <>1__state = 220; return true; case 220: <>1__state = -1; <>2__current = new TradeItemDef("HelmetYule", 1, 90, "defeated_gdking", Category.Armor); <>1__state = 221; return true; case 221: <>1__state = -1; <>2__current = new TradeItemDef("Iron", 15, 144, "defeated_gdking", Category.Materials); <>1__state = 222; return true; case 222: <>1__state = -1; <>2__current = new TradeItemDef("IronNails", 50, 21, "defeated_gdking"); <>1__state = 223; return true; case 223: <>1__state = -1; <>2__current = new TradeItemDef("IronOre", 1, 64, "defeated_gdking"); <>1__state = 224; return true; case 224: <>1__state = -1; <>2__current = new TradeItemDef("IronScrap", 15, 64, "defeated_gdking", Category.Materials); <>1__state = 225; return true; case 225: <>1__state = -1; <>2__current = new TradeItemDef("KnifeButcher", 1, 472, "defeated_gdking", Category.Weapons); <>1__state = 226; return true; case 226: <>1__state = -1; <>2__current = new TradeItemDef("KnifeChitin", 1, 3073, "defeated_gdking", Category.Weapons); <>1__state = 227; return true; case 227: <>1__state = -1; <>2__current = new TradeItemDef("KnifeCopper", 1, 912, "defeated_gdking", Category.Weapons); <>1__state = 228; return true; case 228: <>1__state = -1; <>2__current = new TradeItemDef("KnifeFlint", 1, 127, "defeated_gdking", Category.Weapons); <>1__state = 229; return true; case 229: <>1__state = -1; <>2__current = new TradeItemDef("KnifeWood", 1, 342, "defeated_gdking", Category.Weapons); <>1__state = 230; return true; case 230: <>1__state = -1; <>2__current = new TradeItemDef("MaceBronze", 1, 1760, "defeated_gdking", Category.Weapons); <>1__state = 231; return true; case 231: <>1__state = -1; <>2__current = new TradeItemDef("MaceIron", 1, 4257, "defeated_gdking", Category.Weapons); <>1__state = 232; return true; case 232: <>1__state = -1; <>2__current = new TradeItemDef("MaceWood", 1, 342, "defeated_gdking", Category.Weapons); <>1__state = 233; return true; case 233: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseHealthMedium", 10, 2716, "defeated_gdking", Category.Consumables); <>1__state = 234; return true; case 234: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseHealthMinor", 10, 2214, "defeated_gdking", Category.Consumables); <>1__state = 235; return true; case 235: <>1__state = -1; <>2__current = new TradeItemDef("MeadBasePoisonResist", 10, 2419, "defeated_gdking", Category.Consumables); <>1__state = 236; return true; case 236: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseStaminaMedium", 10, 3229, "defeated_gdking", Category.Consumables); <>1__state = 237; return true; case 237: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseStaminaMinor", 10, 2856, "defeated_gdking", Category.Consumables); <>1__state = 238; return true; case 238: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseTasty", 10, 2203, "defeated_gdking", Category.Consumables); <>1__state = 239; return true; case 239: <>1__state = -1; <>2__current = new TradeItemDef("MeadHealthMedium", 10, 486, "defeated_gdking", Category.Consumables); <>1__state = 240; return true; case 240: <>1__state = -1; <>2__current = new TradeItemDef("MeadHealthMinor", 10, 270, "defeated_gdking", Category.Consumables); <>1__state = 241; return true; case 241: <>1__state = -1; <>2__current = new TradeItemDef("MeadPoisonResist", 10, 432, "defeated_gdking", Category.Consumables); <>1__state = 242; return true; case 242: <>1__state = -1; <>2__current = new TradeItemDef("MeadStaminaMedium", 10, 486, "defeated_gdking", Category.Consumables); <>1__state = 243; return true; case 243: <>1__state = -1; <>2__current = new TradeItemDef("MeadStaminaMinor", 10, 270, "defeated_gdking", Category.Consumables); <>1__state = 244; return true; case 244: <>1__state = -1; <>2__current = new TradeItemDef("MeadSwimmer", 10, 378, "defeated_gdking", Category.Consumables); <>1__state = 245; return true; case 245: <>1__state = -1; <>2__current = new TradeItemDef("MeadTasty", 10, 216, "defeated_gdking", Category.Consumables); <>1__state = 246; return true; case 246: <>1__state = -1; <>2__current = new TradeItemDef("Ooze", 20, 36, "defeated_gdking"); <>1__state = 247; return true; case 247: <>1__state = -1; <>2__current = new TradeItemDef("PickaxeIron", 1, 3409, "defeated_gdking", Category.Weapons); <>1__state = 248; return true; case 248: <>1__state = -1; <>2__current = new TradeItemDef("ReagentRare", 1, 28, "defeated_gdking"); <>1__state = 249; return true; case 249: <>1__state = -1; <>2__current = new TradeItemDef("Root", 20, 64, "defeated_gdking"); <>1__state = 250; return true; case 250: <>1__state = -1; <>2__current = new TradeItemDef("RunestoneRare", 1, 37, "defeated_gdking"); <>1__state = 251; return true; case 251: <>1__state = -1; <>2__current = new TradeItemDef("Sausages", 1, 144, "defeated_gdking", Category.Food); <>1__state = 252; return true; case 252: <>1__state = -1; <>2__current = new TradeItemDef("SerpentMeat", 1, 220, "defeated_gdking", Category.Food); <>1__state = 253; return true; case 253: <>1__state = -1; <>2__current = new TradeItemDef("SerpentMeatCooked", 1, 346, "defeated_gdking", Category.Food); <>1__state = 254; return true; case 254: <>1__state = -1; <>2__current = new TradeItemDef("SerpentScale", 20, 324, "defeated_gdking"); <>1__state = 255; return true; case 255: <>1__state = -1; <>2__current = new TradeItemDef("SerpentStew", 1, 909, "defeated_gdking", Category.Food); <>1__state = 256; return true; case 256: <>1__state = -1; <>2__current = new TradeItemDef("ShardRare", 1, 28, "defeated_gdking"); <>1__state = 257; return true; case 257: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBanded", 1, 2697, "defeated_gdking", Category.Armor); <>1__state = 258; return true; case 258: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBoneTower", 1, 347, "defeated_gdking", Category.Armor); <>1__state = 259; return true; case 259: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBronzeBuckler", 1, 1830, "defeated_gdking", Category.Armor); <>1__state = 260; return true; case 260: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronBuckler", 1, 2045, "defeated_gdking", Category.Armor); <>1__state = 261; return true; case 261: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronSquare", 1, 1397, "defeated_gdking", Category.Armor); <>1__state = 262; return true; case 262: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronTower", 1, 2280, "defeated_gdking", Category.Armor); <>1__state = 263; return true; case 263: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWood", 1, 197, "defeated_gdking", Category.Armor); <>1__state = 264; return true; case 264: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWoodTower", 1, 190, "defeated_gdking", Category.Armor); <>1__state = 265; return true; case 265: <>1__state = -1; <>2__current = new TradeItemDef("ShocklateSmoothie", 1, 97, "defeated_gdking"); <>1__state = 266; return true; case 266: <>1__state = -1; <>2__current = new TradeItemDef("SledgeIron", 1, 12442, "defeated_gdking", Category.Weapons); <>1__state = 267; return true; case 267: <>1__state = -1; <>2__current = new TradeItemDef("SledgeWood", 1, 445, "defeated_gdking", Category.Weapons); <>1__state = 268; return true; case 268: <>1__state = -1; <>2__current = new TradeItemDef("SpearBronze", 1, 1387, "defeated_gdking", Category.Weapons); <>1__state = 269; return true; case 269: <>1__state = -1; <>2__current = new TradeItemDef("SpearChitin", 1, 4671, "defeated_gdking", Category.Weapons); <>1__state = 270; return true; case 270: <>1__state = -1; <>2__current = new TradeItemDef("SpearElderbark", 1, 3042, "defeated_gdking", Category.Weapons); <>1__state = 271; return true; case 271: <>1__state = -1; <>2__current = new TradeItemDef("SpearFlint", 1, 257, "defeated_gdking", Category.Weapons); <>1__state = 272; return true; case 272: <>1__state = -1; <>2__current = new TradeItemDef("SpearWood", 1, 342, "defeated_gdking", Category.Weapons); <>1__state = 273; return true; case 273: <>1__state = -1; <>2__current = new TradeItemDef("SwordBronze", 1, 1690, "defeated_gdking", Category.Weapons); <>1__state = 274; return true; case 274: <>1__state = -1; <>2__current = new TradeItemDef("SwordIron", 1, 4234, "defeated_gdking", Category.Weapons); <>1__state = 275; return true; case 275: <>1__state = -1; <>2__current = new TradeItemDef("SwordWood", 1, 342, "defeated_gdking", Category.Weapons); <>1__state = 276; return true; case 276: <>1__state = -1; <>2__current = new TradeItemDef("THSwordWood", 1, 445, "defeated_gdking", Category.Weapons); <>1__state = 277; return true; case 277: <>1__state = -1; <>2__current = new TradeItemDef("TankardAnniversary", 1, 720, "defeated_gdking"); <>1__state = 278; return true; case 278: <>1__state = -1; <>2__current = new TradeItemDef("TorchArrow", 20, 72, "defeated_gdking", Category.Weapons); <>1__state = 279; return true; case 279: <>1__state = -1; <>2__current = new TradeItemDef("TrinketBronzeStamina", 1, 1177, "defeated_gdking", Category.Armor); <>1__state = 280; return true; case 280: <>1__state = -1; <>2__current = new TradeItemDef("TrinketIronHealth", 1, 1076, "defeated_gdking", Category.Armor); <>1__state = 281; return true; case 281: <>1__state = -1; <>2__current = new TradeItemDef("TrinketIronStamina", 1, 1198, "defeated_gdking", Category.Armor); <>1__state = 282; return true; case 282: <>1__state = -1; <>2__current = new TradeItemDef("TrophyAbomination", 1, 643, "defeated_gdking"); <>1__state = 283; return true; case 283: <>1__state = -1; <>2__current = new TradeItemDef("TrophyBlob", 1, 121, "defeated_gdking"); <>1__state = 284; return true; case 284: <>1__state = -1; <>2__current = new TradeItemDef("TrophyDraugr", 1, 141, "defeated_gdking"); <>1__state = 285; return true; case 285: <>1__state = -1; <>2__current = new TradeItemDef("TrophyDraugrElite", 1, 409, "defeated_gdking"); <>1__state = 286; return true; case 286: <>1__state = -1; <>2__current = new TradeItemDef("TrophyDraugrFem", 1, 141, "defeated_gdking"); <>1__state = 287; return true; case 287: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGhost", 1, 222, "defeated_gdking"); <>1__state = 288; return true; case 288: <>1__state = -1; <>2__current = new TradeItemDef("TrophyLeech", 1, 121, "defeated_gdking"); <>1__state = 289; return true; case 289: <>1__state = -1; <>2__current = new TradeItemDef("TrophySurtling", 1, 182, "defeated_gdking"); <>1__state = 290; return true; case 290: <>1__state = -1; <>2__current = new TradeItemDef("TrophyWraith", 1, 263, "defeated_gdking"); <>1__state = 291; return true; case 291: <>1__state = -1; <>2__current = new TradeItemDef("TurnipStew", 1, 297, "defeated_gdking", Category.Food); <>1__state = 292; return true; case 292: <>1__state = -1; <>2__current = new TradeItemDef("Wishbone", 1, 3375, "defeated_gdking"); <>1__state = 293; return true; case 293: <>1__state = -1; <>2__current = new TradeItemDef("WitheredBone", 20, 74, "defeated_gdking"); <>1__state = 294; return true; case 294: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeChest", 1, 2704, "defeated_bonemass", Category.Armor); <>1__state = 295; return true; case 295: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeLegs", 1, 2704, "defeated_bonemass", Category.Armor); <>1__state = 296; return true; case 296: <>1__state = -1; <>2__current = new TradeItemDef("ArmorFenringChest", 1, 1485, "defeated_bonemass", Category.Armor); <>1__state = 297; return true; case 297: <>1__state = -1; <>2__current = new TradeItemDef("ArmorFenringLegs", 1, 1485, "defeated_bonemass", Category.Armor); <>1__state = 298; return true; case 298: <>1__state = -1; <>2__current = new TradeItemDef("ArmorIronChest", 1, 25641, "defeated_bonemass", Category.Armor); <>1__state = 299; return true; case 299: <>1__state = -1; <>2__current = new TradeItemDef("ArmorIronLegs", 1, 25641, "defeated_bonemass", Category.Armor); <>1__state = 300; return true; case 300: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherChest", 1, 445, "defeated_bonemass", Category.Armor); <>1__state = 301; return true; case 301: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherLegs", 1, 445, "defeated_bonemass", Category.Armor); <>1__state = 302; return true; case 302: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsChest", 1, 225, "defeated_bonemass", Category.Armor); <>1__state = 303; return true; case 303: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsLegs", 1, 225, "defeated_bonemass", Category.Armor); <>1__state = 304; return true; case 304: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRootChest", 1, 8262, "defeated_bonemass", Category.Armor); <>1__state = 305; return true; case 305: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRootLegs", 1, 8262, "defeated_bonemass", Category.Armor); <>1__state = 306; return true; case 306: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherChest", 1, 1867, "defeated_bonemass", Category.Armor); <>1__state = 307; return true; case 307: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherLegs", 1, 1867, "defeated_bonemass", Category.Armor); <>1__state = 308; return true; case 308: <>1__state = -1; <>2__current = new TradeItemDef("ArmorWolfChest", 1, 7551, "defeated_bonemass", Category.Armor); <>1__state = 309; return true; case 309: <>1__state = -1; <>2__current = new TradeItemDef("ArmorWolfLegs", 1, 7713, "defeated_bonemass", Category.Armor); <>1__state = 310; return true; case 310: <>1__state = -1; <>2__current = new TradeItemDef("ArrowFrost", 20, 945, "defeated_bonemass", Category.Ammo); <>1__state = 311; return true; case 311: <>1__state = -1; <>2__current = new TradeItemDef("ArrowObsidian", 20, 667, "defeated_bonemass", Category.Ammo); <>1__state = 312; return true; case 312: <>1__state = -1; <>2__current = new TradeItemDef("ArrowSilver", 20, 442, "defeated_bonemass", Category.Ammo); <>1__state = 313; return true; case 313: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirBronze", 1, 4243, "defeated_bonemass", Category.Weapons); <>1__state = 314; return true; case 314: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirIron", 1, 37219, "defeated_bonemass", Category.Weapons); <>1__state = 315; return true; case 315: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirWood", 1, 882, "defeated_bonemass", Category.Weapons); <>1__state = 316; return true; case 316: <>1__state = -1; <>2__current = new TradeItemDef("AxeBronze", 1, 3091, "defeated_bonemass", Category.Weapons); <>1__state = 317; return true; case 317: <>1__state = -1; <>2__current = new TradeItemDef("AxeFlint", 1, 243, "defeated_bonemass", Category.Weapons); <>1__state = 318; return true; case 318: <>1__state = -1; <>2__current = new TradeItemDef("AxeIron", 1, 19035, "defeated_bonemass", Category.Weapons); <>1__state = 319; return true; case 319: <>1__state = -1; <>2__current = new TradeItemDef("AxeStone", 1, 135, "defeated_bonemass", Category.Weapons); <>1__state = 320; return true; case 320: <>1__state = -1; <>2__current = new TradeItemDef("AxeWood", 1, 616, "defeated_bonemass", Category.Weapons); <>1__state = 321; return true; case 321: <>1__state = -1; <>2__current = new TradeItemDef("BBH_BlackForest_Bow", 1, 1089, "defeated_bonemass", Category.Weapons); <>1__state = 322; return true; case 322: <>1__state = -1; <>2__current = new TradeItemDef("BBH_Surtling_Bow", 1, 69786, "defeated_bonemass", Category.Weapons); <>1__state = 323; return true; case 323: <>1__state = -1; <>2__current = new TradeItemDef("Battleaxe", 1, 52042, "defeated_bonemass", Category.Weapons); <>1__state = 324; return true; case 324: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeCrystal", 1, 1706, "defeated_bonemass", Category.Weapons); <>1__state = 325; return true; case 325: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeWood", 1, 963, "defeated_bonemass", Category.Weapons); <>1__state = 326; return true; case 326: <>1__state = -1; <>2__current = new TradeItemDef("BeltStrength", 1, 2400, "defeated_bonemass", Category.Armor); <>1__state = 327; return true; case 327: <>1__state = -1; <>2__current = new TradeItemDef("BombBlob_Frost", 20, 390, "defeated_bonemass", Category.Ammo); <>1__state = 328; return true; case 328: <>1__state = -1; <>2__current = new TradeItemDef("Bow", 1, 508, "defeated_bonemass", Category.Weapons); <>1__state = 329; return true; case 329: <>1__state = -1; <>2__current = new TradeItemDef("BowDraugrFang", 1, 9157, "defeated_bonemass", Category.Weapons); <>1__state = 330; return true; case 330: <>1__state = -1; <>2__current = new TradeItemDef("BowFineWood", 1, 2434, "defeated_bonemass", Category.Weapons); <>1__state = 331; return true; case 331: <>1__state = -1; <>2__current = new TradeItemDef("BowHuntsman", 1, 23184, "defeated_bonemass", Category.Weapons); <>1__state = 332; return true; case 332: <>1__state = -1; <>2__current = new TradeItemDef("CapeDeerHide", 1, 337, "defeated_bonemass", Category.Armor); <>1__state = 333; return true; case 333: <>1__state = -1; <>2__current = new TradeItemDef("CapeTrollHide", 1, 3141, "defeated_bonemass", Category.Armor); <>1__state = 334; return true; case 334: <>1__state = -1; <>2__current = new TradeItemDef("CapeWolf", 1, 765, "defeated_bonemass", Category.Armor); <>1__state = 335; return true; case 335: <>1__state = -1; <>2__current = new TradeItemDef("Club", 1, 99, "defeated_bonemass", Category.Weapons); <>1__state = 336; return true; case 336: <>1__state = -1; <>2__current = new TradeItemDef("CookedWolfMeat", 1, 420, "defeated_bonemass", Category.Food); <>1__state = 337; return true; case 337: <>1__state = -1; <>2__current = new TradeItemDef("Crystal", 20, 120, "defeated_bonemass", Category.Materials); <>1__state = 338; return true; case 338: <>1__state = -1; <>2__current = new TradeItemDef("DragonEgg", 1, 8437, "defeated_bonemass", Category.Materials); <>1__state = 339; return true; case 339: <>1__state = -1; <>2__current = new TradeItemDef("DragonTear", 1, 4500, "defeated_bonemass", Category.Materials); <>1__state = 340; return true; case 340: <>1__state = -1; <>2__current = new TradeItemDef("DustEpic", 1, 96, "defeated_bonemass"); <>1__state = 341; return true; case 341: <>1__state = -1; <>2__current = new TradeItemDef("EssenceEpic", 1, 96, "defeated_bonemass"); <>1__state = 342; return true; case 342: <>1__state = -1; <>2__current = new TradeItemDef("EtchedRunestoneEpic", 1, 124, "defeated_bonemass"); <>1__state = 343; return true; case 343: <>1__state = -1; <>2__current = new TradeItemDef("Eyescream", 1, 342, "defeated_bonemass", Category.Food); <>1__state = 344; return true; case 344: <>1__state = -1; <>2__current = new TradeItemDef("FeastMountains", 1, 2052, "defeated_bonemass", Category.Food); <>1__state = 345; return true; case 345: <>1__state = -1; <>2__current = new TradeItemDef("Fish6", 20, 189, "defeated_bonemass", Category.Food); <>1__state = 346; return true; case 346: <>1__state = -1; <>2__current = new TradeItemDef("Fish7", 20, 168, "defeated_bonemass", Category.Food); <>1__state = 347; return true; case 347: <>1__state = -1; <>2__current = new TradeItemDef("FishingBaitCave", 50, 125, "defeated_bonemass", Category.Food); <>1__state = 348; return true; case 348: <>1__state = -1; <>2__current = new TradeItemDef("FistFenrirClaw", 1, 5436, "defeated_bonemass", Category.Weapons); <>1__state = 349; return true; case 349: <>1__state = -1; <>2__current = new TradeItemDef("FreezeGland", 20, 192, "defeated_bonemass", Category.Materials); <>1__state = 350; return true; case 350: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBronze", 1, 2704, "defeated_bonemass", Category.Armor); <>1__state = 351; return true; case 351: <>1__state = -1; <>2__current = new TradeItemDef("HelmetDrake", 1, 1260, "defeated_bonemass", Category.Armor); <>1__state = 352; return true; case 352: <>1__state = -1; <>2__current = new TradeItemDef("HelmetFenring", 1, 1350, "defeated_bonemass", Category.Armor); <>1__state = 353; return true; case 353: <>1__state = -1; <>2__current = new TradeItemDef("HelmetFishingHat", 1, 1093, "defeated_bonemass", Category.Food); <>1__state = 354; return true; case 354: <>1__state = -1; <>2__current = new TradeItemDef("HelmetIron", 1, 25641, "defeated_bonemass", Category.Armor); <>1__state = 355; return true; case 355: <>1__state = -1; <>2__current = new TradeItemDef("HelmetLeather", 1, 445, "defeated_bonemass", Category.Armor); <>1__state = 356; return true; case 356: <>1__state = -1; <>2__current = new TradeItemDef("HelmetRoot", 1, 8383, "defeated_bonemass", Category.Armor); <>1__state = 357; return true; case 357: <>1__state = -1; <>2__current = new TradeItemDef("HelmetTrollLeather", 1, 2079, "defeated_bonemass", Category.Armor); <>1__state = 358; return true; case 358: <>1__state = -1; <>2__current = new TradeItemDef("HelmetYule", 1, 162, "defeated_bonemass", Category.Armor); <>1__state = 359; return true; case 359: <>1__state = -1; <>2__current = new TradeItemDef("KnifeButcher", 1, 850, "defeated_bonemass", Category.Weapons); <>1__state = 360; return true; case 360: <>1__state = -1; <>2__current = new TradeItemDef("KnifeChitin", 1, 13828, "defeated_bonemass", Category.Weapons); <>1__state = 361; return true; case 361: <>1__state = -1; <>2__current = new TradeItemDef("KnifeCopper", 1, 1642, "defeated_bonemass", Category.Weapons); <>1__state = 362; return true; case 362: <>1__state = -1; <>2__current = new TradeItemDef("KnifeFlint", 1, 229, "defeated_bonemass", Category.Weapons); <>1__state = 363; return true; case 363: <>1__state = -1; <>2__current = new TradeItemDef("KnifeSilver", 1, 3435, "defeated_bonemass", Category.Weapons); <>1__state = 364; return true; case 364: <>1__state = -1; <>2__current = new TradeItemDef("KnifeWood", 1, 616, "defeated_bonemass", Category.Weapons); <>1__state = 365; return true; case 365: <>1__state = -1; <>2__current = new TradeItemDef("Lantern", 1, 828, "defeated_bonemass", Category.Weapons); <>1__state = 366; return true; case 366: <>1__state = -1; <>2__current = new TradeItemDef("MaceBronze", 1, 3168, "defeated_bonemass", Category.Weapons); <>1__state = 367; return true; case 367: <>1__state = -1; <>2__current = new TradeItemDef("MaceIron", 1, 19156, "defeated_bonemass", Category.Weapons); <>1__state = 368; return true; case 368: <>1__state = -1; <>2__current = new TradeItemDef("MaceSilver", 1, 15172, "defeated_bonemass", Category.Weapons); <>1__state = 369; return true; case 369: <>1__state = -1; <>2__current = new TradeItemDef("MaceWood", 1, 616, "defeated_bonemass", Category.Weapons); <>1__state = 370; return true; case 370: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseFrostResist", 10, 3969, "defeated_bonemass", Category.Consumables); <>1__state = 371; return true; case 371: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseTamer", 1, 2169, "defeated_bonemass", Category.Consumables); <>1__state = 372; return true; case 372: <>1__state = -1; <>2__current = new TradeItemDef("MeadFrostResist", 10, 720, "defeated_bonemass", Category.Consumables); <>1__state = 373; return true; case 373: <>1__state = -1; <>2__current = new TradeItemDef("MeadHasty", 10, 810, "defeated_bonemass", Category.Consumables); <>1__state = 374; return true; case 374: <>1__state = -1; <>2__current = new TradeItemDef("MeadLightfoot", 10, 810, "defeated_bonemass", Category.Consumables); <>1__state = 375; return true; case 375: <>1__state = -1; <>2__current = new TradeItemDef("Obsidian", 20, 84, "defeated_bonemass", Category.Materials); <>1__state = 376; return true; case 376: <>1__state = -1; <>2__current = new TradeItemDef("Onion", 1, 105, "defeated_bonemass", Category.Food); <>1__state = 377; return true; case 377: <>1__state = -1; <>2__current = new TradeItemDef("OnionSeeds", 20, 42, "defeated_bonemass", Category.Food); <>1__state = 378; return true; case 378: <>1__state = -1; <>2__current = new TradeItemDef("OnionSoup", 1, 450, "defeated_bonemass", Category.Food); <>1__state = 379; return true; case 379: <>1__state = -1; <>2__current = new TradeItemDef("ReagentEpic", 1, 96, "defeated_bonemass"); <>1__state = 380; return true; case 380: <>1__state = -1; <>2__current = new TradeItemDef("RunestoneEpic", 1, 124, "defeated_bonemass"); <>1__state = 381; return true; case 381: <>1__state = -1; <>2__current = new TradeItemDef("Scythe", 1, 1308, "defeated_bonemass", Category.Weapons); <>1__state = 382; return true; case 382: <>1__state = -1; <>2__current = new TradeItemDef("ShardEpic", 1, 96, "defeated_bonemass"); <>1__state = 383; return true; case 383: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBanded", 1, 4855, "defeated_bonemass", Category.Armor); <>1__state = 384; return true; case 384: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBoneTower", 1, 625, "defeated_bonemass", Category.Armor); <>1__state = 385; return true; case 385: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBronzeBuckler", 1, 3294, "defeated_bonemass", Category.Armor); <>1__state = 386; return true; case 386: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronBuckler", 1, 9202, "defeated_bonemass", Category.Armor); <>1__state = 387; return true; case 387: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronSquare", 1, 6286, "defeated_bonemass", Category.Armor); <>1__state = 388; return true; case 388: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronTower", 1, 10260, "defeated_bonemass", Category.Armor); <>1__state = 389; return true; case 389: <>1__state = -1; <>2__current = new TradeItemDef("ShieldSerpentscale", 1, 7296, "defeated_bonemass", Category.Armor); <>1__state = 390; return true; case 390: <>1__state = -1; <>2__current = new TradeItemDef("ShieldSilver", 1, 2328, "defeated_bonemass", Category.Armor); <>1__state = 391; return true; case 391: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWood", 1, 355, "defeated_bonemass", Category.Armor); <>1__state = 392; return true; case 392: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWoodTower", 1, 342, "defeated_bonemass", Category.Armor); <>1__state = 393; return true; case 393: <>1__state = -1; <>2__current = new TradeItemDef("Silver", 15, 180, "defeated_bonemass", Category.Materials); <>1__state = 394; return true; case 394: <>1__state = -1; <>2__current = new TradeItemDef("SilverOre", 1, 132, "defeated_bonemass", Category.Materials); <>1__state = 395; return true; case 395: <>1__state = -1; <>2__current = new TradeItemDef("SilverRing", 1, 204, "defeated_bonemass", Category.Armor); <>1__state = 396; return true; case 396: <>1__state = -1; <>2__current = new TradeItemDef("SledgeIron", 1, 55989, "defeated_bonemass", Category.Weapons); <>1__state = 397; return true; case 397: <>1__state = -1; <>2__current = new TradeItemDef("SledgeStagbreaker", 1, 3588, "defeated_bonemass", Category.Weapons); <>1__state = 398; return true; case 398: <>1__state = -1; <>2__current = new TradeItemDef("SledgeWood", 1, 801, "defeated_bonemass", Category.Weapons); <>1__state = 399; return true; case 399: <>1__state = -1; <>2__current = new TradeItemDef("SpearBronze", 1, 2497, "defeated_bonemass", Category.Weapons); <>1__state = 400; return true; case 400: <>1__state = -1; <>2__current = new TradeItemDef("SpearChitin", 1, 21019, "defeated_bonemass", Category.Weapons); <>1__state = 401; return true; case 401: <>1__state = -1; <>2__current = new TradeItemDef("SpearElderbark", 1, 13689, "defeated_bonemass", Category.Weapons); <>1__state = 402; return true; case 402: <>1__state = -1; <>2__current = new TradeItemDef("SpearFlint", 1, 463, "defeated_bonemass", Category.Weapons); <>1__state = 403; return true; case 403: <>1__state = -1; <>2__current = new TradeItemDef("SpearWolfFang", 1, 1942, "defeated_bonemass", Category.Weapons); <>1__state = 404; return true; case 404: <>1__state = -1; <>2__current = new TradeItemDef("SpearWood", 1, 616, "defeated_bonemass", Category.Weapons); <>1__state = 405; return true; case 405: <>1__state = -1; <>2__current = new TradeItemDef("SwordBronze", 1, 3042, "defeated_bonemass", Category.Weapons); <>1__state = 406; return true; case 406: <>1__state = -1; <>2__current = new TradeItemDef("SwordIron", 1, 19053, "defeated_bonemass", Category.Weapons); <>1__state = 407; return true; case 407: <>1__state = -1; <>2__current = new TradeItemDef("SwordSilver", 1, 12232, "defeated_bonemass", Category.Weapons); <>1__state = 408; return true; case 408: <>1__state = -1; <>2__current = new TradeItemDef("SwordWood", 1, 616, "defeated_bonemass", Category.Weapons); <>1__state = 409; return true; case 409: <>1__state = -1; <>2__current = new TradeItemDef("THSwordWood", 1, 801, "defeated_bonemass", Category.Weapons); <>1__state = 410; return true; case 410: <>1__state = -1; <>2__current = new TradeItemDef("Thunderstone", 10, 990, "defeated_bonemass", Category.Materials); <>1__state = 411; return true; case 411: <>1__state = -1; <>2__current = new TradeItemDef("TorchMist", 1, 156, "defeated_bonemass", Category.Weapons); <>1__state = 412; return true; case 412: <>1__state = -1; <>2__current = new TradeItemDef("TrinketChitinSwim", 1, 4860, "defeated_bonemass", Category.Armor); <>1__state = 413; return true; case 413: <>1__state = -1; <>2__current = new TradeItemDef("TrinketSilverDamage", 1, 1584, "defeated_bonemass", Category.Armor); <>1__state = 414; return true; case 414: <>1__state = -1; <>2__current = new TradeItemDef("TrinketSilverResist", 1, 1794, "defeated_bonemass", Category.Armor); <>1__state = 415; return true; case 415: <>1__state = -1; <>2__current = new TradeItemDef("TrophyCultist", 1, 438, "defeated_bonemass"); <>1__state = 416; return true; case 416: <>1__state = -1; <>2__current = new TradeItemDef("TrophyFenring", 1, 540, "defeated_bonemass"); <>1__state = 417; return true; case 417: <>1__state = -1; <>2__current = new TradeItemDef("TrophyFrostTroll", 1, 877, "defeated_bonemass"); <>1__state = 418; return true; case 418: <>1__state = -1; <>2__current = new TradeItemDef("TrophyHare", 1, 337, "defeated_bonemass"); <>1__state = 419; return true; case 419: <>1__state = -1; <>2__current = new TradeItemDef("TrophyHatchling", 1, 405, "defeated_bonemass"); <>1__state = 420; return true; case 420: <>1__state = -1; <>2__current = new TradeItemDef("TrophySGolem", 1, 1267, "defeated_bonemass"); <>1__state = 421; return true; case 421: <>1__state = -1; <>2__current = new TradeItemDef("TrophySerpent", 1, 1121, "defeated_bonemass"); <>1__state = 422; return true; case 422: <>1__state = -1; <>2__current = new TradeItemDef("TrophyUlv", 1, 472, "defeated_bonemass"); <>1__state = 423; return true; case 423: <>1__state = -1; <>2__current = new TradeItemDef("TrophyWolf", 1, 303, "defeated_bonemass"); <>1__state = 424; return true; case 424: <>1__state = -1; <>2__current = new TradeItemDef("WolfClaw", 20, 144, "defeated_bonemass", Category.Materials); <>1__state = 425; return true; case 425: <>1__state = -1; <>2__current = new TradeItemDef("WolfFang", 20, 84, "defeated_bonemass", Category.Materials); <>1__state = 426; return true; case 426: <>1__state = -1; <>2__current = new TradeItemDef("WolfJerky", 1, 540, "defeated_bonemass", Category.Food); <>1__state = 427; return true; case 427: <>1__state = -1; <>2__current = new TradeItemDef("WolfMeat", 1, 105, "defeated_bonemass", Category.Food); <>1__state = 428; return true; case 428: <>1__state = -1; <>2__current = new TradeItemDef("WolfMeatSkewer", 1, 210, "defeated_bonemass", Category.Food); <>1__state = 429; return true; case 429: <>1__state = -1; <>2__current = new TradeItemDef("WolfPelt", 20, 108, "defeated_bonemass", Category.Materials); <>1__state = 430; return true; case 430: <>1__state = -1; <>2__current = new TradeItemDef("YmirRemains", 5, 1296, "defeated_bonemass", Category.Materials); <>1__state = 431; return true; case 431: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBerserkerChest", 1, 2376, "defeated_dragon", Category.Armor); <>1__state = 432; return true; case 432: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBerserkerLegs", 1, 2232, "defeated_dragon", Category.Armor); <>1__state = 433; return true; case 433: <>1__state = -1; <>2__current = new TradeItemDef("ArmorPaddedCuirass", 1, 13397, "defeated_dragon", Category.Armor); <>1__state = 434; return true; case 434: <>1__state = -1; <>2__current = new TradeItemDef("ArmorPaddedGreaves", 1, 13397, "defeated_dragon", Category.Armor); <>1__state = 435; return true; case 435: <>1__state = -1; <>2__current = new TradeItemDef("ArrowNeedle", 20, 852, "defeated_dragon", Category.Ammo); <>1__state = 436; return true; case 436: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirBlackmetal", 1, 21340, "defeated_dragon", Category.Weapons); <>1__state = 437; return true; case 437: <>1__state = -1; <>2__current = new TradeItemDef("AxeBlackMetal", 1, 11256, "defeated_dragon", Category.Weapons); <>1__state = 438; return true; case 438: <>1__state = -1; <>2__current = new TradeItemDef("BBH_PlainsLox_Quiver", 1, 7814, "defeated_dragon", Category.Weapons); <>1__state = 439; return true; case 439: <>1__state = -1; <>2__current = new TradeItemDef("Barley", 1, 168, "defeated_dragon", Category.Food); <>1__state = 440; return true; case 440: <>1__state = -1; <>2__current = new TradeItemDef("BarleyFlour", 1, 201, "defeated_dragon", Category.Food); <>1__state = 441; return true; case 441: <>1__state = -1; <>2__current = new TradeItemDef("BarleyWine", 1, 1176, "defeated_dragon", Category.Food); <>1__state = 442; return true; case 442: <>1__state = -1; <>2__current = new TradeItemDef("BarleyWineBase", 10, 2898, "defeated_dragon", Category.Food); <>1__state = 443; return true; case 443: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeBlackmetal", 1, 3120, "defeated_dragon", Category.Weapons); <>1__state = 444; return true; case 444: <>1__state = -1; <>2__current = new TradeItemDef("BjornHide", 20, 192, "defeated_dragon", Category.Materials); <>1__state = 445; return true; case 445: <>1__state = -1; <>2__current = new TradeItemDef("BjornMeat", 1, 168, "defeated_dragon", Category.Food); <>1__state = 446; return true; case 446: <>1__state = -1; <>2__current = new TradeItemDef("BjornPaw", 20, 153, "defeated_dragon", Category.Materials); <>1__state = 447; return true; case 447: <>1__state = -1; <>2__current = new TradeItemDef("BlackMetal", 15, 336, "defeated_dragon", Category.Materials); <>1__state = 448; return true; case 448: <>1__state = -1; <>2__current = new TradeItemDef("BlackMetalScrap", 15, 240, "defeated_dragon", Category.Materials); <>1__state = 449; return true; case 449: <>1__state = -1; <>2__current = new TradeItemDef("BloodPudding", 1, 2148, "defeated_dragon", Category.Food); <>1__state = 450; return true; case 450: <>1__state = -1; <>2__current = new TradeItemDef("BombBlob_Tar", 20, 576, "defeated_dragon", Category.Ammo); <>1__state = 451; return true; case 451: <>1__state = -1; <>2__current = new TradeItemDef("Bread", 1, 1324, "defeated_dragon", Category.Food); <>1__state = 452; return true; case 452: <>1__state = -1; <>2__current = new TradeItemDef("BreadDough", 10, 288, "defeated_dragon", Category.Food); <>1__state = 453; return true; case 453: <>1__state = -1; <>2__current = new TradeItemDef("CapeFeather", 1, 16768, "defeated_dragon", Category.Armor); <>1__state = 454; return true; case 454: <>1__state = -1; <>2__current = new TradeItemDef("CapeLinen", 1, 4100, "defeated_dragon", Category.Armor); <>1__state = 455; return true; case 455: <>1__state = -1; <>2__current = new TradeItemDef("CapeLox", 1, 4641, "defeated_dragon", Category.Armor); <>1__state = 456; return true; case 456: <>1__state = -1; <>2__current = new TradeItemDef("Cloudberry", 1, 96, "defeated_dragon", Category.Food); <>1__state = 457; return true; case 457: <>1__state = -1; <>2__current = new TradeItemDef("CookedLoxMeat", 1, 1320, "defeated_dragon", Category.Food); <>1__state = 458; return true; case 458: <>1__state = -1; <>2__current = new TradeItemDef("FeastPlains", 1, 7392, "defeated_dragon", Category.Food); <>1__state = 459; return true; case 459: <>1__state = -1; <>2__current = new TradeItemDef("FireworksRocket_Blue", 20, 172, "defeated_dragon"); <>1__state = 460; return true; case 460: <>1__state = -1; <>2__current = new TradeItemDef("FireworksRocket_Cyan", 20, 172, "defeated_dragon"); <>1__state = 461; return true; case 461: <>1__state = -1; <>2__current = new TradeItemDef("FireworksRocket_Green", 20, 172, "defeated_dragon"); <>1__state = 462; return true; case 462: <>1__state = -1; <>2__current = new TradeItemDef("FireworksRocket_Purple", 20, 172, "defeated_dragon"); <>1__state = 463; return true; case 463: <>1__state = -1; <>2__current = new TradeItemDef("FireworksRocket_Red", 20, 172, "defeated_dragon"); <>1__state = 464; return true; case 464: <>1__state = -1; <>2__current = new TradeItemDef("FireworksRocket_White", 20, 172, "defeated_dragon"); <>1__state = 465; return true; case 465: <>1__state = -1; <>2__current = new TradeItemDef("FireworksRocket_Yellow", 20, 172, "defeated_dragon"); <>1__state = 466; return true; case 466: <>1__state = -1; <>2__current = new TradeItemDef("Fish5", 20, 840, "defeated_dragon", Category.Food); <>1__state = 467; return true; case 467: <>1__state = -1; <>2__current = new TradeItemDef("Fish8", 20, 588, "defeated_dragon", Category.Food); <>1__state = 468; return true; case 468: <>1__state = -1; <>2__current = new TradeItemDef("FishAndBread", 1, 923, "defeated_dragon", Category.Food); <>1__state = 469; return true; case 469: <>1__state = -1; <>2__current = new TradeItemDef("FishWraps", 1, 2316, "defeated_dragon", Category.Food); <>1__state = 470; return true; case 470: <>1__state = -1; <>2__current = new TradeItemDef("FishingBaitPlains", 50, 201, "defeated_dragon", Category.Food); <>1__state = 471; return true; case 471: <>1__state = -1; <>2__current = new TradeItemDef("FistBjornClaw", 1, 1008, "defeated_dragon", Category.Weapons); <>1__state = 472; return true; case 472: <>1__state = -1; <>2__current = new TradeItemDef("Flax", 1, 192, "defeated_dragon", Category.Food); <>1__state = 473; return true; case 473: <>1__state = -1; <>2__current = new TradeItemDef("GoblinTotem", 10, 873, "defeated_dragon"); <>1__state = 474; return true; case 474: <>1__state = -1; <>2__current = new TradeItemDef("GoldRubyRing", 1, 547, "defeated_dragon"); <>1__state = 475; return true; case 475: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBerserkerHood", 1, 2088, "defeated_dragon", Category.Armor); <>1__state = 476; return true; case 476: <>1__state = -1; <>2__current = new TradeItemDef("HelmetPadded", 1, 11923, "defeated_dragon", Category.Armor); <>1__state = 477; return true; case 477: <>1__state = -1; <>2__current = new TradeItemDef("KnifeBlackMetal", 1, 1680, "defeated_dragon", Category.Weapons); <>1__state = 478; return true; case 478: <>1__state = -1; <>2__current = new TradeItemDef("KnifeSkollAndHati", 1, 10680, "defeated_dragon", Category.Weapons); <>1__state = 479; return true; case 479: <>1__state = -1; <>2__current = new TradeItemDef("LinenThread", 20, 184, "defeated_dragon"); <>1__state = 480; return true; case 480: <>1__state = -1; <>2__current = new TradeItemDef("LoxMeat", 1, 201, "defeated_dragon", Category.Food); <>1__state = 481; return true; case 481: <>1__state = -1; <>2__current = new TradeItemDef("LoxPelt", 20, 537, "defeated_dragon", Category.Materials); <>1__state = 482; return true; case 482: <>1__state = -1; <>2__current = new TradeItemDef("LoxPie", 1, 2256, "defeated_dragon", Category.Food); <>1__state = 483; return true; case 483: <>1__state = -1; <>2__current = new TradeItemDef("MaceNeedle", 1, 14628, "defeated_dragon", Category.Weapons); <>1__state = 484; return true; case 484: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseBugRepellent", 1, 2318, "defeated_dragon", Category.Consumables); <>1__state = 485; return true; case 485: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseBzerker", 1, 3801, "defeated_dragon", Category.Consumables); <>1__state = 486; return true; case 486: <>1__state = -1; <>2__current = new TradeItemDef("MeadBzerker", 10, 1584, "defeated_dragon", Category.Consumables); <>1__state = 487; return true; case 487: <>1__state = -1; <>2__current = new TradeItemDef("MushroomBzerker", 1, 420, "defeated_dragon", Category.Food); <>1__state = 488; return true; case 488: <>1__state = -1; <>2__current = new TradeItemDef("Needle", 20, 134, "defeated_dragon"); <>1__state = 489; return true; case 489: <>1__state = -1; <>2__current = new TradeItemDef("SaddleLox", 1, 1612, "defeated_dragon", Category.Armor); <>1__state = 490; return true; case 490: <>1__state = -1; <>2__current = new TradeItemDef("ScytheHandle", 1, 432, "defeated_dragon", Category.Weapons); <>1__state = 491; return true; case 491: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBlackmetal", 1, 6706, "defeated_dragon", Category.Armor); <>1__state = 492; return true; case 492: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBlackmetalTower", 1, 8931, "defeated_dragon", Category.Armor); <>1__state = 493; return true; case 493: <>1__state = -1; <>2__current = new TradeItemDef("SwordBlackmetal", 1, 10920, "defeated_dragon", Category.Weapons); <>1__state = 494; return true; case 494: <>1__state = -1; <>2__current = new TradeItemDef("Tar", 20, 172, "defeated_dragon", Category.Materials); <>1__state = 495; return true; case 495: <>1__state = -1; <>2__current = new TradeItemDef("TrinketBlackDamageHealth", 1, 5126, "defeated_dragon", Category.Armor); <>1__state = 496; return true; case 496: <>1__state = -1; <>2__current = new TradeItemDef("TrinketBlackStamina", 1, 3801, "defeated_dragon", Category.Armor); <>1__state = 497; return true; case 497: <>1__state = -1; <>2__current = new TradeItemDef("TrophyBjorn", 1, 1404, "defeated_dragon"); <>1__state = 498; return true; case 498: <>1__state = -1; <>2__current = new TradeItemDef("TrophyBjornUndead", 1, 1620, "defeated_dragon"); <>1__state = 499; return true; case 499: <>1__state = -1; <>2__current = new TradeItemDef("TrophyDeathsquito", 1, 648, "defeated_dragon"); <>1__state = 500; return true; case 500: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGoblin", 1, 594, "defeated_dragon"); <>1__state = 501; return true; case 501: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGoblinBrute", 1, 1716, "defeated_dragon"); <>1__state = 502; return true; case 502: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGoblinShaman", 1, 1560, "defeated_dragon"); <>1__state = 503; return true; case 503: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGrowth", 1, 2184, "defeated_dragon"); <>1__state = 504; return true; case 504: <>1__state = -1; <>2__current = new TradeItemDef("TrophyLox", 1, 2340, "defeated_dragon"); <>1__state = 505; return true; case 505: <>1__state = -1; <>2__current = new TradeItemDef("TurretBolt", 1, 96, "defeated_dragon"); <>1__state = 506; return true; case 506: <>1__state = -1; <>2__current = new TradeItemDef("YagluthDrop", 1, 15000, "defeated_dragon"); <>1__state = 507; return true; case 507: <>1__state = -1; <>2__current = new TradeItemDef("Andvaranaut", 1, 2000, "defeated_goblinking"); <>1__state = 508; return true; case 508: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBerserkerChest", 1, 19008, "defeated_goblinking", Category.Armor); <>1__state = 509; return true; case 509: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBerserkerLegs", 1, 17856, "defeated_goblinking", Category.Armor); <>1__state = 510; return true; case 510: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeChest", 1, 4808, "defeated_goblinking", Category.Armor); <>1__state = 511; return true; case 511: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeLegs", 1, 4808, "defeated_goblinking", Category.Armor); <>1__state = 512; return true; case 512: <>1__state = -1; <>2__current = new TradeItemDef("ArmorCarapaceChest", 1, 24813, "defeated_goblinking", Category.Armor); <>1__state = 513; return true; case 513: <>1__state = -1; <>2__current = new TradeItemDef("ArmorCarapaceLegs", 1, 24813, "defeated_goblinking", Category.Armor); <>1__state = 514; return true; case 514: <>1__state = -1; <>2__current = new TradeItemDef("ArmorFenringChest", 1, 11880, "defeated_goblinking", Category.Armor); <>1__state = 515; return true; case 515: <>1__state = -1; <>2__current = new TradeItemDef("ArmorFenringLegs", 1, 11880, "defeated_goblinking", Category.Armor); <>1__state = 516; return true; case 516: <>1__state = -1; <>2__current = new TradeItemDef("ArmorIronChest", 1, 45584, "defeated_goblinking", Category.Armor); <>1__state = 517; return true; case 517: <>1__state = -1; <>2__current = new TradeItemDef("ArmorIronLegs", 1, 45584, "defeated_goblinking", Category.Armor); <>1__state = 518; return true; case 518: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherChest", 1, 792, "defeated_goblinking", Category.Armor); <>1__state = 519; return true; case 519: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherLegs", 1, 792, "defeated_goblinking", Category.Armor); <>1__state = 520; return true; case 520: <>1__state = -1; <>2__current = new TradeItemDef("ArmorMageChest", 1, 48288, "defeated_goblinking", Category.Armor); <>1__state = 521; return true; case 521: <>1__state = -1; <>2__current = new TradeItemDef("ArmorMageLegs", 1, 50232, "defeated_goblinking", Category.Armor); <>1__state = 522; return true; case 522: <>1__state = -1; <>2__current = new TradeItemDef("ArmorPaddedCuirass", 1, 107176, "defeated_goblinking", Category.Armor); <>1__state = 523; return true; case 523: <>1__state = -1; <>2__current = new TradeItemDef("ArmorPaddedGreaves", 1, 107176, "defeated_goblinking", Category.Armor); <>1__state = 524; return true; case 524: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsChest", 1, 400, "defeated_goblinking", Category.Armor); <>1__state = 525; return true; case 525: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsLegs", 1, 400, "defeated_goblinking", Category.Armor); <>1__state = 526; return true; case 526: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRootChest", 1, 14688, "defeated_goblinking", Category.Armor); <>1__state = 527; return true; case 527: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRootLegs", 1, 14688, "defeated_goblinking", Category.Armor); <>1__state = 528; return true; case 528: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherChest", 1, 3320, "defeated_goblinking", Category.Armor); <>1__state = 529; return true; case 529: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherLegs", 1, 3320, "defeated_goblinking", Category.Armor); <>1__state = 530; return true; case 530: <>1__state = -1; <>2__current = new TradeItemDef("ArmorWolfChest", 1, 60408, "defeated_goblinking", Category.Armor); <>1__state = 531; return true; case 531: <>1__state = -1; <>2__current = new TradeItemDef("ArmorWolfLegs", 1, 61704, "defeated_goblinking", Category.Armor); <>1__state = 532; return true; case 532: <>1__state = -1; <>2__current = new TradeItemDef("ArrowCarapace", 20, 1780, "defeated_goblinking", Category.Ammo); <>1__state = 533; return true; case 533: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirBlackmetal", 1, 170720, "defeated_goblinking", Category.Weapons); <>1__state = 534; return true; case 534: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirBronze", 1, 7544, "defeated_goblinking", Category.Weapons); <>1__state = 535; return true; case 535: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirHimminAfl", 1, 44746, "defeated_goblinking", Category.Weapons); <>1__state = 536; return true; case 536: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirIron", 1, 66168, "defeated_goblinking", Category.Weapons); <>1__state = 537; return true; case 537: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirWood", 1, 1568, "defeated_goblinking", Category.Weapons); <>1__state = 538; return true; case 538: <>1__state = -1; <>2__current = new TradeItemDef("AxeBlackMetal", 1, 90048, "defeated_goblinking", Category.Weapons); <>1__state = 539; return true; case 539: <>1__state = -1; <>2__current = new TradeItemDef("AxeBronze", 1, 5496, "defeated_goblinking", Category.Weapons); <>1__state = 540; return true; case 540: <>1__state = -1; <>2__current = new TradeItemDef("AxeFlint", 1, 432, "defeated_goblinking", Category.Weapons); <>1__state = 541; return true; case 541: <>1__state = -1; <>2__current = new TradeItemDef("AxeIron", 1, 33840, "defeated_goblinking", Category.Weapons); <>1__state = 542; return true; case 542: <>1__state = -1; <>2__current = new TradeItemDef("AxeJotunBane", 1, 34220, "defeated_goblinking", Category.Weapons); <>1__state = 543; return true; case 543: <>1__state = -1; <>2__current = new TradeItemDef("AxeStone", 1, 240, "defeated_goblinking", Category.Weapons); <>1__state = 544; return true; case 544: <>1__state = -1; <>2__current = new TradeItemDef("AxeWood", 1, 1096, "defeated_goblinking", Category.Weapons); <>1__state = 545; return true; case 545: <>1__state = -1; <>2__current = new TradeItemDef("BBH_BlackForest_Bow", 1, 1936, "defeated_goblinking", Category.Weapons); <>1__state = 546; return true; case 546: <>1__state = -1; <>2__current = new TradeItemDef("BBH_Seeker_Bow", 1, 4246, "defeated_goblinking", Category.Weapons); <>1__state = 547; return true; case 547: <>1__state = -1; <>2__current = new TradeItemDef("BBH_Seeker_Quiver", 1, 2752, "defeated_goblinking", Category.Weapons); <>1__state = 548; return true; case 548: <>1__state = -1; <>2__current = new TradeItemDef("BBH_Surtling_Bow", 1, 124064, "defeated_goblinking", Category.Weapons); <>1__state = 549; return true; case 549: <>1__state = -1; <>2__current = new TradeItemDef("BarberKit", 1, 4800, "defeated_goblinking"); <>1__state = 550; return true; case 550: <>1__state = -1; <>2__current = new TradeItemDef("Battleaxe", 1, 92520, "defeated_goblinking", Category.Weapons); <>1__state = 551; return true; case 551: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeBlackmetal", 1, 24960, "defeated_goblinking", Category.Weapons); <>1__state = 552; return true; case 552: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeCrystal", 1, 13648, "defeated_goblinking", Category.Weapons); <>1__state = 553; return true; case 553: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeSkullSplittur", 1, 5200, "defeated_goblinking", Category.Weapons); <>1__state = 554; return true; case 554: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeWood", 1, 1712, "defeated_goblinking", Category.Weapons); <>1__state = 555; return true; case 555: <>1__state = -1; <>2__current = new TradeItemDef("BlackCore", 10, 3315, "defeated_goblinking", Category.Materials); <>1__state = 556; return true; case 556: <>1__state = -1; <>2__current = new TradeItemDef("BlobVial", 20, 720, "defeated_goblinking"); <>1__state = 557; return true; case 557: <>1__state = -1; <>2__current = new TradeItemDef("BoltBlackmetal", 20, 2100, "defeated_goblinking", Category.Ammo); <>1__state = 558; return true; case 558: <>1__state = -1; <>2__current = new TradeItemDef("BoltBone", 20, 860, "defeated_goblinking", Category.Ammo); <>1__state = 559; return true; case 559: <>1__state = -1; <>2__current = new TradeItemDef("BoltCarapace", 20, 1140, "defeated_goblinking", Category.Ammo); <>1__state = 560; return true; case 560: <>1__state = -1; <>2__current = new TradeItemDef("BoltIron", 20, 1420, "defeated_goblinking", Category.Ammo); <>1__state = 561; return true; case 561: <>1__state = -1; <>2__current = new TradeItemDef("BombBile", 20, 640, "defeated_goblinking", Category.Ammo); <>1__state = 562; return true; case 562: <>1__state = -1; <>2__current = new TradeItemDef("Bow", 1, 904, "defeated_goblinking", Category.Weapons); <>1__state = 563; return true; case 563: <>1__state = -1; <>2__current = new TradeItemDef("BowDraugrFang", 1, 73256, "defeated_goblinking", Category.Weapons); <>1__state = 564; return true; case 564: <>1__state = -1; <>2__current = new TradeItemDef("BowFineWood", 1, 4328, "defeated_goblinking", Category.Weapons); <>1__state = 565; return true; case 565: <>1__state = -1; <>2__current = new TradeItemDef("BowHuntsman", 1, 41216, "defeated_goblinking", Category.Weapons); <>1__state = 566; return true; case 566: <>1__state = -1; <>2__current = new TradeItemDef("BowSpineSnap", 1, 22000, "defeated_goblinking", Category.Weapons); <>1__state = 567; return true; case 567: <>1__state = -1; <>2__current = new TradeItemDef("BugMeat", 1, 896, "defeated_goblinking", Category.Food); <>1__state = 568; return true; case 568: <>1__state = -1; <>2__current = new TradeItemDef("CapeDeerHide", 1, 600, "defeated_goblinking", Category.Armor); <>1__state = 569; return true; case 569: <>1__state = -1; <>2__current = new TradeItemDef("CapeFeather", 1, 134144, "defeated_goblinking", Category.Armor); <>1__state = 570; return true; case 570: <>1__state = -1; <>2__current = new TradeItemDef("CapeLinen", 1, 32800, "defeated_goblinking", Category.Armor); <>1__state = 571; return true; case 571: <>1__state = -1; <>2__current = new TradeItemDef("CapeLox", 1, 37128, "defeated_goblinking", Category.Armor); <>1__state = 572; return true; case 572: <>1__state = -1; <>2__current = new TradeItemDef("CapeTrollHide", 1, 5584, "defeated_goblinking", Category.Armor); <>1__state = 573; return true; case 573: <>1__state = -1; <>2__current = new TradeItemDef("CapeWolf", 1, 6120, "defeated_goblinking", Category.Armor); <>1__state = 574; return true; case 574: <>1__state = -1; <>2__current = new TradeItemDef("Carapace", 20, 224, "defeated_goblinking", Category.Materials); <>1__state = 575; return true; case 575: <>1__state = -1; <>2__current = new TradeItemDef("ChickenEgg", 20, 720, "defeated_goblinking"); <>1__state = 576; return true; case 576: <>1__state = -1; <>2__current = new TradeItemDef("ChickenMeat", 1, 784, "defeated_goblinking", Category.Food); <>1__state = 577; return true; case 577: <>1__state = -1; <>2__current = new TradeItemDef("Club", 1, 176, "defeated_goblinking", Category.Weapons); <>1__state = 578; return true; case 578: <>1__state = -1; <>2__current = new TradeItemDef("CookedBugMeat", 1, 2200, "defeated_goblinking", Category.Food); <>1__state = 579; return true; case 579: <>1__state = -1; <>2__current = new TradeItemDef("CookedChickenMeat", 1, 2200, "defeated_goblinking", Category.Food); <>1__state = 580; return true; case 580: <>1__state = -1; <>2__current = new TradeItemDef("CookedEgg", 1, 2880, "defeated_goblinking"); <>1__state = 581; return true; case 581: <>1__state = -1; <>2__current = new TradeItemDef("CookedHareMeat", 1, 2080, "defeated_goblinking", Category.Food); <>1__state = 582; return true; case 582: <>1__state = -1; <>2__current = new TradeItemDef("CrossbowArbalest", 1, 11825, "defeated_goblinking", Category.Weapons); <>1__state = 583; return true; case 583: <>1__state = -1; <>2__current = new TradeItemDef("Demister", 1, 1104, "defeated_goblinking"); <>1__state = 584; return true; case 584: <>1__state = -1; <>2__current = new TradeItemDef("DustLegendary", 1, 288, "defeated_goblinking"); <>1__state = 585; return true; case 585: <>1__state = -1; <>2__current = new TradeItemDef("DvergrKey", 1, 11520, "defeated_goblinking"); <>1__state = 586; return true; case 586: <>1__state = -1; <>2__current = new TradeItemDef("DvergrKeyFragment", 5, 4000, "defeated_goblinking"); <>1__state = 587; return true; case 587: <>1__state = -1; <>2__current = new TradeItemDef("DvergrNeedle", 20, 352, "defeated_goblinking"); <>1__state = 588; return true; case 588: <>1__state = -1; <>2__current = new TradeItemDef("Eitr", 15, 3510, "defeated_goblinking", Category.Materials); <>1__state = 589; return true; case 589: <>1__state = -1; <>2__current = new TradeItemDef("EssenceLegendary", 1, 288, "defeated_goblinking"); <>1__state = 590; return true; case 590: <>1__state = -1; <>2__current = new TradeItemDef("EtchedRunestoneLegendary", 1, 374, "defeated_goblinking"); <>1__state = 591; return true; case 591: <>1__state = -1; <>2__current = new TradeItemDef("FeastMistlands", 1, 12976, "defeated_goblinking", Category.Food); <>1__state = 592; return true; case 592: <>1__state = -1; <>2__current = new TradeItemDef("Fish4_cave", 20, 616, "defeated_goblinking", Category.Food); <>1__state = 593; return true; case 593: <>1__state = -1; <>2__current = new TradeItemDef("Fish9", 20, 1120, "defeated_goblinking", Category.Food); <>1__state = 594; return true; case 594: <>1__state = -1; <>2__current = new TradeItemDef("FishAnglerRaw", 20, 616, "defeated_goblinking", Category.Food); <>1__state = 595; return true; case 595: <>1__state = -1; <>2__current = new TradeItemDef("FishingBaitMistlands", 50, 280, "defeated_goblinking", Category.Food); <>1__state = 596; return true; case 596: <>1__state = -1; <>2__current = new TradeItemDef("HareMeat", 1, 728, "defeated_goblinking", Category.Food); <>1__state = 597; return true; case 597: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBerserkerHood", 1, 16704, "defeated_goblinking", Category.Armor); <>1__state = 598; return true; case 598: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBronze", 1, 4808, "defeated_goblinking", Category.Armor); <>1__state = 599; return true; case 599: <>1__state = -1; <>2__current = new TradeItemDef("HelmetCarapace", 1, 18495, "defeated_goblinking", Category.Armor); <>1__state = 600; return true; case 600: <>1__state = -1; <>2__current = new TradeItemDef("HelmetDrake", 1, 10080, "defeated_goblinking", Category.Armor); <>1__state = 601; return true; case 601: <>1__state = -1; <>2__current = new TradeItemDef("HelmetDverger", 1, 2880, "defeated_goblinking", Category.Armor); <>1__state = 602; return true; case 602: <>1__state = -1; <>2__current = new TradeItemDef("HelmetFenring", 1, 10800, "defeated_goblinking", Category.Armor); <>1__state = 603; return true; case 603: <>1__state = -1; <>2__current = new TradeItemDef("HelmetFishingHat", 1, 1944, "defeated_goblinking", Category.Food); <>1__state = 604; return true; case 604: <>1__state = -1; <>2__current = new TradeItemDef("HelmetIron", 1, 45584, "defeated_goblinking", Category.Armor); <>1__state = 605; return true; case 605: <>1__state = -1; <>2__current = new TradeItemDef("HelmetLeather", 1, 792, "defeated_goblinking", Category.Armor); <>1__state = 606; return true; case 606: <>1__state = -1; <>2__current = new TradeItemDef("HelmetMage", 1, 36168, "defeated_goblinking", Category.Armor); <>1__state = 607; return true; case 607: <>1__state = -1; <>2__current = new TradeItemDef("HelmetPadded", 1, 95384, "defeated_goblinking", Category.Armor); <>1__state = 608; return true; case 608: <>1__state = -1; <>2__current = new TradeItemDef("HelmetRoot", 1, 14904, "defeated_goblinking", Category.Armor); <>1__state = 609; return true; case 609: <>1__state = -1; <>2__current = new TradeItemDef("HelmetTrollLeather", 1, 3696, "defeated_goblinking", Category.Armor); <>1__state = 610; return true; case 610: <>1__state = -1; <>2__current = new TradeItemDef("HelmetYule", 1, 288, "defeated_goblinking", Category.Armor); <>1__state = 611; return true; case 611: <>1__state = -1; <>2__current = new TradeItemDef("HoneyGlazedChicken", 1, 4144, "defeated_goblinking", Category.Food); <>1__state = 612; return true; case 612: <>1__state = -1; <>2__current = new TradeItemDef("JuteBlue", 20, 960, "defeated_goblinking"); <>1__state = 613; return true; case 613: <>1__state = -1; <>2__current = new TradeItemDef("JuteRed", 20, 960, "defeated_goblinking", Category.Materials); <>1__state = 614; return true; case 614: <>1__state = -1; <>2__current = new TradeItemDef("KnifeBlackMetal", 1, 13440, "defeated_goblinking", Category.Weapons); <>1__state = 615; return true; case 615: <>1__state = -1; <>2__current = new TradeItemDef("KnifeButcher", 1, 1512, "defeated_goblinking", Category.Weapons); <>1__state = 616; return true; case 616: <>1__state = -1; <>2__current = new TradeItemDef("KnifeChitin", 1, 24584, "defeated_goblinking", Category.Weapons); <>1__state = 617; return true; case 617: <>1__state = -1; <>2__current = new TradeItemDef("KnifeCopper", 1, 2920, "defeated_goblinking", Category.Weapons); <>1__state = 618; return true; case 618: <>1__state = -1; <>2__current = new TradeItemDef("KnifeFlint", 1, 408, "defeated_goblinking", Category.Weapons); <>1__state = 619; return true; case 619: <>1__state = -1; <>2__current = new TradeItemDef("KnifeSilver", 1, 27480, "defeated_goblinking", Category.Weapons); <>1__state = 620; return true; case 620: <>1__state = -1; <>2__current = new TradeItemDef("KnifeSkollAndHati", 1, 85440, "defeated_goblinking", Category.Weapons); <>1__state = 621; return true; case 621: <>1__state = -1; <>2__current = new TradeItemDef("KnifeWood", 1, 1096, "defeated_goblinking", Category.Weapons); <>1__state = 622; return true; case 622: <>1__state = -1; <>2__current = new TradeItemDef("MaceBronze", 1, 5632, "defeated_goblinking", Category.Weapons); <>1__state = 623; return true; case 623: <>1__state = -1; <>2__current = new TradeItemDef("MaceIron", 1, 34056, "defeated_goblinking", Category.Weapons); <>1__state = 624; return true; case 624: <>1__state = -1; <>2__current = new TradeItemDef("MaceNeedle", 1, 117024, "defeated_goblinking", Category.Weapons); <>1__state = 625; return true; case 625: <>1__state = -1; <>2__current = new TradeItemDef("MaceSilver", 1, 121376, "defeated_goblinking", Category.Weapons); <>1__state = 626; return true; case 626: <>1__state = -1; <>2__current = new TradeItemDef("MaceWood", 1, 1096, "defeated_goblinking", Category.Weapons); <>1__state = 627; return true; case 627: <>1__state = -1; <>2__current = new TradeItemDef("MagicallyStuffedShroom", 1, 3360, "defeated_goblinking"); <>1__state = 628; return true; case 628: <>1__state = -1; <>2__current = new TradeItemDef("Mandible", 20, 416, "defeated_goblinking", Category.Materials); <>1__state = 629; return true; case 629: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseEitrMinor", 10, 24048, "defeated_goblinking", Category.Consumables); <>1__state = 630; return true; case 630: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseHealthLingering", 10, 2880, "defeated_goblinking", Category.Consumables); <>1__state = 631; return true; case 631: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseHealthMajor", 10, 3360, "defeated_goblinking", Category.Consumables); <>1__state = 632; return true; case 632: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseLightFoot", 1, 12552, "defeated_goblinking", Category.Consumables); <>1__state = 633; return true; case 633: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseStaminaLingering", 10, 21504, "defeated_goblinking", Category.Consumables); <>1__state = 634; return true; case 634: <>1__state = -1; <>2__current = new TradeItemDef("MeadBugRepellent", 10, 2640, "defeated_goblinking", Category.Consumables); <>1__state = 635; return true; case 635: <>1__state = -1; <>2__current = new TradeItemDef("MeadEitrMinor", 10, 3840, "defeated_goblinking", Category.Consumables); <>1__state = 636; return true; case 636: <>1__state = -1; <>2__current = new TradeItemDef("MeadHealthLingering", 10, 2400, "defeated_goblinking", Category.Consumables); <>1__state = 637; return true; case 637: <>1__state = -1; <>2__current = new TradeItemDef("MeadHealthMajor", 10, 4800, "defeated_goblinking", Category.Consumables); <>1__state = 638; return true; case 638: <>1__state = -1; <>2__current = new TradeItemDef("MeadStaminaLingering", 10, 4320, "defeated_goblinking", Category.Consumables); <>1__state = 639; return true; case 639: <>1__state = -1; <>2__current = new TradeItemDef("MeatPlatter", 1, 3080, "defeated_goblinking", Category.Food); <>1__state = 640; return true; case 640: <>1__state = -1; <>2__current = new TradeItemDef("MechanicalSpring", 1, 3392, "defeated_goblinking"); <>1__state = 641; return true; case 641: <>1__state = -1; <>2__current = new TradeItemDef("MisthareSupreme", 1, 4416, "defeated_goblinking", Category.Food); <>1__state = 642; return true; case 642: <>1__state = -1; <>2__current = new TradeItemDef("MushroomJotunPuffs", 1, 784, "defeated_goblinking", Category.Food); <>1__state = 643; return true; case 643: <>1__state = -1; <>2__current = new TradeItemDef("MushroomMagecap", 1, 1120, "defeated_goblinking", Category.Food); <>1__state = 644; return true; case 644: <>1__state = -1; <>2__current = new TradeItemDef("MushroomOmelette", 1, 5520, "defeated_goblinking", Category.Food); <>1__state = 645; return true; case 645: <>1__state = -1; <>2__current = new TradeItemDef("MushroomSmokePuff", 1, 560, "defeated_goblinking", Category.Food); <>1__state = 646; return true; case 646: <>1__state = -1; <>2__current = new TradeItemDef("PickaxeBlackMetal", 1, 17856, "defeated_goblinking", Category.Weapons); <>1__state = 647; return true; case 647: <>1__state = -1; <>2__current = new TradeItemDef("QueenDrop", 1, 44000, "defeated_goblinking"); <>1__state = 648; return true; case 648: <>1__state = -1; <>2__current = new TradeItemDef("ReagentLegendary", 1, 288, "defeated_goblinking"); <>1__state = 649; return true; case 649: <>1__state = -1; <>2__current = new TradeItemDef("RoyalJelly", 20, 3360, "defeated_goblinking"); <>1__state = 650; return true; case 650: <>1__state = -1; <>2__current = new TradeItemDef("RunestoneLegendary", 1, 374, "defeated_goblinking"); <>1__state = 651; return true; case 651: <>1__state = -1; <>2__current = new TradeItemDef("Salad", 1, 1568, "defeated_goblinking"); <>1__state = 652; return true; case 652: <>1__state = -1; <>2__current = new TradeItemDef("Sap", 20, 192, "defeated_goblinking"); <>1__state = 653; return true; case 653: <>1__state = -1; <>2__current = new TradeItemDef("ScaleHide", 20, 320, "defeated_goblinking"); <>1__state = 654; return true; case 654: <>1__state = -1; <>2__current = new TradeItemDef("SeekerAspic", 1, 4224, "defeated_goblinking", Category.Food); <>1__state = 655; return true; case 655: <>1__state = -1; <>2__current = new TradeItemDef("ShardLegendary", 1, 288, "defeated_goblinking"); <>1__state = 656; return true; case 656: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBanded", 1, 8632, "defeated_goblinking", Category.Armor); <>1__state = 657; return true; case 657: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBlackmetal", 1, 53648, "defeated_goblinking", Category.Armor); <>1__state = 658; return true; case 658: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBlackmetalTower", 1, 71448, "defeated_goblinking", Category.Armor); <>1__state = 659; return true; case 659: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBoneTower", 1, 1112, "defeated_goblinking", Category.Armor); <>1__state = 660; return true; case 660: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBronzeBuckler", 1, 5856, "defeated_goblinking", Category.Armor); <>1__state = 661; return true; case 661: <>1__state = -1; <>2__current = new TradeItemDef("ShieldCarapace", 1, 20484, "defeated_goblinking", Category.Armor); <>1__state = 662; return true; case 662: <>1__state = -1; <>2__current = new TradeItemDef("ShieldCarapaceBuckler", 1, 19332, "defeated_goblinking", Category.Armor); <>1__state = 663; return true; case 663: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronBuckler", 1, 16360, "defeated_goblinking", Category.Armor); <>1__state = 664; return true; case 664: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronSquare", 1, 11176, "defeated_goblinking", Category.Armor); <>1__state = 665; return true; case 665: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronTower", 1, 18240, "defeated_goblinking", Category.Armor); <>1__state = 666; return true; case 666: <>1__state = -1; <>2__current = new TradeItemDef("ShieldSerpentscale", 1, 58368, "defeated_goblinking", Category.Armor); <>1__state = 667; return true; case 667: <>1__state = -1; <>2__current = new TradeItemDef("ShieldSilver", 1, 18624, "defeated_goblinking", Category.Armor); <>1__state = 668; return true; case 668: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWood", 1, 632, "defeated_goblinking", Category.Armor); <>1__state = 669; return true; case 669: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWoodTower", 1, 608, "defeated_goblinking", Category.Armor); <>1__state = 670; return true; case 670: <>1__state = -1; <>2__current = new TradeItemDef("SledgeDemolisher", 1, 52910, "defeated_goblinking", Category.Weapons); <>1__state = 671; return true; case 671: <>1__state = -1; <>2__current = new TradeItemDef("SledgeIron", 1, 99536, "defeated_goblinking", Category.Weapons); <>1__state = 672; return true; case 672: <>1__state = -1; <>2__current = new TradeItemDef("SledgeStagbreaker", 1, 28704, "defeated_goblinking", Category.Weapons); <>1__state = 673; return true; case 673: <>1__state = -1; <>2__current = new TradeItemDef("SledgeWood", 1, 1424, "defeated_goblinking", Category.Weapons); <>1__state = 674; return true; case 674: <>1__state = -1; <>2__current = new TradeItemDef("SpearBronze", 1, 4440, "defeated_goblinking", Category.Weapons); <>1__state = 675; return true; case 675: <>1__state = -1; <>2__current = new TradeItemDef("SpearCarapace", 1, 9840, "defeated_goblinking", Category.Weapons); <>1__state = 676; return true; case 676: <>1__state = -1; <>2__current = new TradeItemDef("SpearChitin", 1, 37368, "defeated_goblinking", Category.Weapons); <>1__state = 677; return true; case 677: <>1__state = -1; <>2__current = new TradeItemDef("SpearElderbark", 1, 24336, "defeated_goblinking", Category.Weapons); <>1__state = 678; return true; case 678: <>1__state = -1; <>2__current = new TradeItemDef("SpearFlint", 1, 824, "defeated_goblinking", Category.Weapons); <>1__state = 679; return true; case 679: <>1__state = -1; <>2__current = new TradeItemDef("SpearWolfFang", 1, 15536, "defeated_goblinking", Category.Weapons); <>1__state = 680; return true; case 680: <>1__state = -1; <>2__current = new TradeItemDef("SpearWood", 1, 1096, "defeated_goblinking", Category.Weapons); <>1__state = 681; return true; case 681: <>1__state = -1; <>2__current = new TradeItemDef("StaffClusterbomb", 1, 15336, "defeated_goblinking", Category.Weapons); <>1__state = 682; return true; case 682: <>1__state = -1; <>2__current = new TradeItemDef("StaffFireball", 1, 58374, "defeated_goblinking", Category.Weapons); <>1__state = 683; return true; case 683: <>1__state = -1; <>2__current = new TradeItemDef("StaffGreenRoots", 1, 19872, "defeated_goblinking", Category.Weapons); <>1__state = 684; return true; case 684: <>1__state = -1; <>2__current = new TradeItemDef("StaffIceShards", 1, 56133, "defeated_goblinking", Category.Weapons); <>1__state = 685; return true; case 685: <>1__state = -1; <>2__current = new TradeItemDef("StaffRedTroll", 1, 4185, "defeated_goblinking", Category.Weapons); <>1__state = 686; return true; case 686: <>1__state = -1; <>2__current = new TradeItemDef("StaffShield", 1, 4185, "defeated_goblinking", Category.Weapons); <>1__state = 687; return true; case 687: <>1__state = -1; <>2__current = new TradeItemDef("StaffSkeleton", 1, 4455, "defeated_goblinking", Category.Weapons); <>1__state = 688; return true; case 688: <>1__state = -1; <>2__current = new TradeItemDef("SwordBlackmetal", 1, 87360, "defeated_goblinking", Category.Weapons); <>1__state = 689; return true; case 689: <>1__state = -1; <>2__current = new TradeItemDef("SwordBronze", 1, 5408, "defeated_goblinking", Category.Weapons); <>1__state = 690; return true; case 690: <>1__state = -1; <>2__current = new TradeItemDef("SwordIron", 1, 33872, "defeated_goblinking", Category.Weapons); <>1__state = 691; return true; case 691: <>1__state = -1; <>2__current = new TradeItemDef("SwordMistwalker", 1, 31220, "defeated_goblinking", Category.Weapons); <>1__state = 692; return true; case 692: <>1__state = -1; <>2__current = new TradeItemDef("SwordSilver", 1, 97856, "defeated_goblinking", Category.Weapons); <>1__state = 693; return true; case 693: <>1__state = -1; <>2__current = new TradeItemDef("SwordWood", 1, 1096, "defeated_goblinking", Category.Weapons); <>1__state = 694; return true; case 694: <>1__state = -1; <>2__current = new TradeItemDef("THSwordWood", 1, 1424, "defeated_goblinking", Category.Weapons); <>1__state = 695; return true; case 695: <>1__state = -1; <>2__current = new TradeItemDef("TrinketCarapaceEitr", 1, 7440, "defeated_goblinking", Category.Armor); <>1__state = 696; return true; case 696: <>1__state = -1; <>2__current = new TradeItemDef("TrinketScaleStaminaDamage", 1, 8480, "defeated_goblinking", Category.Armor); <>1__state = 697; return true; case 697: <>1__state = -1; <>2__current = new TradeItemDef("TrophyDvergr", 1, 1800, "defeated_goblinking"); <>1__state = 698; return true; case 698: <>1__state = -1; <>2__current = new TradeItemDef("TrophyGjall", 1, 3640, "defeated_goblinking"); <>1__state = 699; return true; case 699: <>1__state = -1; <>2__current = new TradeItemDef("TrophySeeker", 1, 1170, "defeated_goblinking"); <>1__state = 700; return true; case 700: <>1__state = -1; <>2__current = new TradeItemDef("TrophySeekerBrute", 1, 2860, "defeated_goblinking"); <>1__state = 701; return true; case 701: <>1__state = -1; <>2__current = new TradeItemDef("TrophyTick", 1, 990, "defeated_goblinking"); <>1__state = 702; return true; case 702: <>1__state = -1; <>2__current = new TradeItemDef("Wisp", 20, 1350, "defeated_goblinking"); <>1__state = 703; return true; case 703: <>1__state = -1; <>2__current = new TradeItemDef("YggdrasilPorridge", 1, 5700, "defeated_goblinking"); <>1__state = 704; return true; case 704: <>1__state = -1; <>2__current = new TradeItemDef("YggdrasilWood", 20, 512, "defeated_goblinking"); <>1__state = 705; return true; case 705: <>1__state = -1; <>2__current = new TradeItemDef("ArmorAshlandsMediumChest", 1, 7104, "defeated_queen"); <>1__state = 706; return true; case 706: <>1__state = -1; <>2__current = new TradeItemDef("ArmorAshlandsMediumlegs", 1, 7104, "defeated_queen"); <>1__state = 707; return true; case 707: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBerserkerChest", 1, 35640, "defeated_queen", Category.Armor); <>1__state = 708; return true; case 708: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBerserkerLegs", 1, 33480, "defeated_queen", Category.Armor); <>1__state = 709; return true; case 709: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBerserkerUndeadChest", 1, 6912, "defeated_queen", Category.Armor); <>1__state = 710; return true; case 710: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBerserkerUndeadLegs", 1, 6912, "defeated_queen", Category.Armor); <>1__state = 711; return true; case 711: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeChest", 1, 9015, "defeated_queen", Category.Armor); <>1__state = 712; return true; case 712: <>1__state = -1; <>2__current = new TradeItemDef("ArmorBronzeLegs", 1, 9015, "defeated_queen", Category.Armor); <>1__state = 713; return true; case 713: <>1__state = -1; <>2__current = new TradeItemDef("ArmorCarapaceChest", 1, 372195, "defeated_queen", Category.Armor); <>1__state = 714; return true; case 714: <>1__state = -1; <>2__current = new TradeItemDef("ArmorCarapaceLegs", 1, 372195, "defeated_queen", Category.Armor); <>1__state = 715; return true; case 715: <>1__state = -1; <>2__current = new TradeItemDef("ArmorFenringChest", 1, 22275, "defeated_queen", Category.Armor); <>1__state = 716; return true; case 716: <>1__state = -1; <>2__current = new TradeItemDef("ArmorFenringLegs", 1, 22275, "defeated_queen", Category.Armor); <>1__state = 717; return true; case 717: <>1__state = -1; <>2__current = new TradeItemDef("ArmorFlametalChest", 1, 49939, "defeated_queen", Category.Armor); <>1__state = 718; return true; case 718: <>1__state = -1; <>2__current = new TradeItemDef("ArmorFlametalLegs", 1, 45489, "defeated_queen", Category.Armor); <>1__state = 719; return true; case 719: <>1__state = -1; <>2__current = new TradeItemDef("ArmorIronChest", 1, 85470, "defeated_queen", Category.Armor); <>1__state = 720; return true; case 720: <>1__state = -1; <>2__current = new TradeItemDef("ArmorIronLegs", 1, 85470, "defeated_queen", Category.Armor); <>1__state = 721; return true; case 721: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherChest", 1, 1485, "defeated_queen", Category.Armor); <>1__state = 722; return true; case 722: <>1__state = -1; <>2__current = new TradeItemDef("ArmorLeatherLegs", 1, 1485, "defeated_queen", Category.Armor); <>1__state = 723; return true; case 723: <>1__state = -1; <>2__current = new TradeItemDef("ArmorMageChest", 1, 724320, "defeated_queen", Category.Armor); <>1__state = 724; return true; case 724: <>1__state = -1; <>2__current = new TradeItemDef("ArmorMageChest_Ashlands", 1, 94041, "defeated_queen", Category.Armor); <>1__state = 725; return true; case 725: <>1__state = -1; <>2__current = new TradeItemDef("ArmorMageLegs", 1, 753480, "defeated_queen", Category.Armor); <>1__state = 726; return true; case 726: <>1__state = -1; <>2__current = new TradeItemDef("ArmorMageLegs_Ashlands", 1, 85670, "defeated_queen", Category.Armor); <>1__state = 727; return true; case 727: <>1__state = -1; <>2__current = new TradeItemDef("ArmorPaddedCuirass", 1, 200955, "defeated_queen", Category.Armor); <>1__state = 728; return true; case 728: <>1__state = -1; <>2__current = new TradeItemDef("ArmorPaddedGreaves", 1, 200955, "defeated_queen", Category.Armor); <>1__state = 729; return true; case 729: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsChest", 1, 750, "defeated_queen", Category.Armor); <>1__state = 730; return true; case 730: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRagsLegs", 1, 750, "defeated_queen", Category.Armor); <>1__state = 731; return true; case 731: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRootChest", 1, 27540, "defeated_queen", Category.Armor); <>1__state = 732; return true; case 732: <>1__state = -1; <>2__current = new TradeItemDef("ArmorRootLegs", 1, 27540, "defeated_queen", Category.Armor); <>1__state = 733; return true; case 733: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherChest", 1, 6225, "defeated_queen", Category.Armor); <>1__state = 734; return true; case 734: <>1__state = -1; <>2__current = new TradeItemDef("ArmorTrollLeatherLegs", 1, 6225, "defeated_queen", Category.Armor); <>1__state = 735; return true; case 735: <>1__state = -1; <>2__current = new TradeItemDef("ArmorWolfChest", 1, 113265, "defeated_queen", Category.Armor); <>1__state = 736; return true; case 736: <>1__state = -1; <>2__current = new TradeItemDef("ArmorWolfLegs", 1, 115695, "defeated_queen", Category.Armor); <>1__state = 737; return true; case 737: <>1__state = -1; <>2__current = new TradeItemDef("ArrowCharred", 20, 7264, "defeated_queen", Category.Ammo); <>1__state = 738; return true; case 738: <>1__state = -1; <>2__current = new TradeItemDef("AskBladder", 20, 614, "defeated_queen"); <>1__state = 739; return true; case 739: <>1__state = -1; <>2__current = new TradeItemDef("AskHide", 20, 819, "defeated_queen"); <>1__state = 740; return true; case 740: <>1__state = -1; <>2__current = new TradeItemDef("AsksvinCarrionNeck", 20, 563, "defeated_queen", Category.Materials); <>1__state = 741; return true; case 741: <>1__state = -1; <>2__current = new TradeItemDef("AsksvinCarrionPelvic", 20, 640, "defeated_queen"); <>1__state = 742; return true; case 742: <>1__state = -1; <>2__current = new TradeItemDef("AsksvinCarrionRibcage", 20, 716, "defeated_queen"); <>1__state = 743; return true; case 743: <>1__state = -1; <>2__current = new TradeItemDef("AsksvinCarrionSkull", 20, 768, "defeated_queen"); <>1__state = 744; return true; case 744: <>1__state = -1; <>2__current = new TradeItemDef("AsksvinEgg", 10, 2400, "defeated_queen"); <>1__state = 745; return true; case 745: <>1__state = -1; <>2__current = new TradeItemDef("AsksvinMeat", 1, 672, "defeated_queen", Category.Food); <>1__state = 746; return true; case 746: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirBlackmetal", 1, 320100, "defeated_queen", Category.Weapons); <>1__state = 747; return true; case 747: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirBronze", 1, 14145, "defeated_queen", Category.Weapons); <>1__state = 748; return true; case 748: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirHimminAfl", 1, 671190, "defeated_queen", Category.Weapons); <>1__state = 749; return true; case 749: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirIron", 1, 124065, "defeated_queen", Category.Weapons); <>1__state = 750; return true; case 750: <>1__state = -1; <>2__current = new TradeItemDef("AtgeirWood", 1, 2940, "defeated_queen", Category.Weapons); <>1__state = 751; return true; case 751: <>1__state = -1; <>2__current = new TradeItemDef("AxeBerzerkr", 1, 43712, "defeated_queen", Category.Weapons); <>1__state = 752; return true; case 752: <>1__state = -1; <>2__current = new TradeItemDef("AxeBerzerkrBlood", 1, 48000, "defeated_queen", Category.Weapons); <>1__state = 753; return true; case 753: <>1__state = -1; <>2__current = new TradeItemDef("AxeBerzerkrLightning", 1, 48000, "defeated_queen", Category.Weapons); <>1__state = 754; return true; case 754: <>1__state = -1; <>2__current = new TradeItemDef("AxeBerzerkrNature", 1, 48000, "defeated_queen", Category.Weapons); <>1__state = 755; return true; case 755: <>1__state = -1; <>2__current = new TradeItemDef("AxeBlackMetal", 1, 168840, "defeated_queen", Category.Weapons); <>1__state = 756; return true; case 756: <>1__state = -1; <>2__current = new TradeItemDef("AxeBronze", 1, 10305, "defeated_queen", Category.Weapons); <>1__state = 757; return true; case 757: <>1__state = -1; <>2__current = new TradeItemDef("AxeFlint", 1, 810, "defeated_queen", Category.Weapons); <>1__state = 758; return true; case 758: <>1__state = -1; <>2__current = new TradeItemDef("AxeIron", 1, 63450, "defeated_queen", Category.Weapons); <>1__state = 759; return true; case 759: <>1__state = -1; <>2__current = new TradeItemDef("AxeJotunBane", 1, 513300, "defeated_queen", Category.Weapons); <>1__state = 760; return true; case 760: <>1__state = -1; <>2__current = new TradeItemDef("AxeStone", 1, 450, "defeated_queen", Category.Weapons); <>1__state = 761; return true; case 761: <>1__state = -1; <>2__current = new TradeItemDef("AxeWood", 1, 2055, "defeated_queen", Category.Weapons); <>1__state = 762; return true; case 762: <>1__state = -1; <>2__current = new TradeItemDef("BBH_BlackForest_Bow", 1, 3630, "defeated_queen", Category.Weapons); <>1__state = 763; return true; case 763: <>1__state = -1; <>2__current = new TradeItemDef("BBH_OdinPlus_Quiver", 1, 21248, "defeated_queen", Category.Weapons); <>1__state = 764; return true; case 764: <>1__state = -1; <>2__current = new TradeItemDef("BBH_Seeker_Bow", 1, 63690, "defeated_queen", Category.Weapons); <>1__state = 765; return true; case 765: <>1__state = -1; <>2__current = new TradeItemDef("BBH_Surtling_Bow", 1, 232620, "defeated_queen", Category.Weapons); <>1__state = 766; return true; case 766: <>1__state = -1; <>2__current = new TradeItemDef("BarrelRings", 20, 563, "defeated_queen"); <>1__state = 767; return true; case 767: <>1__state = -1; <>2__current = new TradeItemDef("Battleaxe", 1, 173475, "defeated_queen", Category.Weapons); <>1__state = 768; return true; case 768: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeBlackmetal", 1, 46800, "defeated_queen", Category.Weapons); <>1__state = 769; return true; case 769: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeCrystal", 1, 25590, "defeated_queen", Category.Weapons); <>1__state = 770; return true; case 770: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeSkullSplittur", 1, 78000, "defeated_queen", Category.Weapons); <>1__state = 771; return true; case 771: <>1__state = -1; <>2__current = new TradeItemDef("BattleaxeWood", 1, 3210, "defeated_queen", Category.Weapons); <>1__state = 772; return true; case 772: <>1__state = -1; <>2__current = new TradeItemDef("Bell", 1, 13235, "defeated_queen"); <>1__state = 773; return true; case 773: <>1__state = -1; <>2__current = new TradeItemDef("BellFragment", 5, 7680, "defeated_queen"); <>1__state = 774; return true; case 774: <>1__state = -1; <>2__current = new TradeItemDef("Bilebag", 20, 665, "defeated_queen"); <>1__state = 775; return true; case 775: <>1__state = -1; <>2__current = new TradeItemDef("BlackMarble", 20, 256, "defeated_queen", Category.Materials); <>1__state = 776; return true; case 776: <>1__state = -1; <>2__current = new TradeItemDef("Blackwood", 20, 460, "defeated_queen"); <>1__state = 777; return true; case 777: <>1__state = -1; <>2__current = new TradeItemDef("BoltCharred", 20, 6400, "defeated_queen", Category.Ammo); <>1__state = 778; return true; case 778: <>1__state = -1; <>2__current = new TradeItemDef("BombBlob_Lava", 20, 2432, "defeated_queen", Category.Ammo); <>1__state = 779; return true; case 779: <>1__state = -1; <>2__current = new TradeItemDef("BombLava", 20, 2304, "defeated_queen", Category.Ammo); <>1__state = 780; return true; case 780: <>1__state = -1; <>2__current = new TradeItemDef("BombSiege", 10, 4096, "defeated_queen", Category.Ammo); <>1__state = 781; return true; case 781: <>1__state = -1; <>2__current = new TradeItemDef("BombSmoke", 20, 896, "defeated_queen", Category.Ammo); <>1__state = 782; return true; case 782: <>1__state = -1; <>2__current = new TradeItemDef("BoneMawSerpentMeat", 1, 1568, "defeated_queen", Category.Food); <>1__state = 783; return true; case 783: <>1__state = -1; <>2__current = new TradeItemDef("BonemawSerpentScale", 20, 1152, "defeated_queen"); <>1__state = 784; return true; case 784: <>1__state = -1; <>2__current = new TradeItemDef("BonemawSerpentTooth", 20, 1408, "defeated_queen"); <>1__state = 785; return true; case 785: <>1__state = -1; <>2__current = new TradeItemDef("Bow", 1, 1695, "defeated_queen", Category.Weapons); <>1__state = 786; return true; case 786: <>1__state = -1; <>2__current = new TradeItemDef("BowAshlands", 1, 33862, "defeated_queen", Category.Weapons); <>1__state = 787; return true; case 787: <>1__state = -1; <>2__current = new TradeItemDef("BowAshlandsBlood", 1, 49280, "defeated_queen", Category.Weapons); <>1__state = 788; return true; case 788: <>1__state = -1; <>2__current = new TradeItemDef("BowAshlandsRoot", 1, 49280, "defeated_queen", Category.Weapons); <>1__state = 789; return true; case 789: <>1__state = -1; <>2__current = new TradeItemDef("BowAshlandsStorm", 1, 49280, "defeated_queen", Category.Weapons); <>1__state = 790; return true; case 790: <>1__state = -1; <>2__current = new TradeItemDef("BowDraugrFang", 1, 137355, "defeated_queen", Category.Weapons); <>1__state = 791; return true; case 791: <>1__state = -1; <>2__current = new TradeItemDef("BowFineWood", 1, 8115, "defeated_queen", Category.Weapons); <>1__state = 792; return true; case 792: <>1__state = -1; <>2__current = new TradeItemDef("BowHuntsman", 1, 77280, "defeated_queen", Category.Weapons); <>1__state = 793; return true; case 793: <>1__state = -1; <>2__current = new TradeItemDef("BowSpineSnap", 1, 330000, "defeated_queen", Category.Weapons); <>1__state = 794; return true; case 794: <>1__state = -1; <>2__current = new TradeItemDef("CandleWick", 20, 307, "defeated_queen"); <>1__state = 795; return true; case 795: <>1__state = -1; <>2__current = new TradeItemDef("CapeAsh", 1, 14443, "defeated_queen", Category.Armor); <>1__state = 796; return true; case 796: <>1__state = -1; <>2__current = new TradeItemDef("CapeAsksvin", 1, 8486, "defeated_queen", Category.Armor); <>1__state = 797; return true; case 797: <>1__state = -1; <>2__current = new TradeItemDef("CapeDeerHide", 1, 1125, "defeated_queen", Category.Armor); <>1__state = 798; return true; case 798: <>1__state = -1; <>2__current = new TradeItemDef("CapeFeather", 1, 251520, "defeated_queen", Category.Armor); <>1__state = 799; return true; case 799: <>1__state = -1; <>2__current = new TradeItemDef("CapeLinen", 1, 61500, "defeated_queen", Category.Armor); <>1__state = 800; return true; case 800: <>1__state = -1; <>2__current = new TradeItemDef("CapeLox", 1, 69615, "defeated_queen", Category.Armor); <>1__state = 801; return true; case 801: <>1__state = -1; <>2__current = new TradeItemDef("CapeTrollHide", 1, 10470, "defeated_queen", Category.Armor); <>1__state = 802; return true; case 802: <>1__state = -1; <>2__current = new TradeItemDef("CapeWolf", 1, 11475, "defeated_queen", Category.Armor); <>1__state = 803; return true; case 803: <>1__state = -1; <>2__current = new TradeItemDef("Catapult_ammo", 10, 2048, "defeated_queen"); <>1__state = 804; return true; case 804: <>1__state = -1; <>2__current = new TradeItemDef("CelestialFeather", 10, 2995, "defeated_queen"); <>1__state = 805; return true; case 805: <>1__state = -1; <>2__current = new TradeItemDef("CeramicPlate", 20, 409, "defeated_queen"); <>1__state = 806; return true; case 806: <>1__state = -1; <>2__current = new TradeItemDef("CharcoalResin", 20, 256, "defeated_queen", Category.Materials); <>1__state = 807; return true; case 807: <>1__state = -1; <>2__current = new TradeItemDef("CharredBone", 20, 307, "defeated_queen", Category.Materials); <>1__state = 808; return true; case 808: <>1__state = -1; <>2__current = new TradeItemDef("CharredCogwheel", 20, 716, "defeated_queen", Category.Materials); <>1__state = 809; return true; case 809: <>1__state = -1; <>2__current = new TradeItemDef("Charredskull", 20, 512, "defeated_queen", Category.Materials); <>1__state = 810; return true; case 810: <>1__state = -1; <>2__current = new TradeItemDef("Club", 1, 330, "defeated_queen", Category.Weapons); <>1__state = 811; return true; case 811: <>1__state = -1; <>2__current = new TradeItemDef("CookedAsksvinMeat", 10, 4800, "defeated_queen", Category.Food); <>1__state = 812; return true; case 812: <>1__state = -1; <>2__current = new TradeItemDef("CookedBjornMeat", 10, 4800, "defeated_queen", Category.Food); <>1__state = 813; return true; case 813: <>1__state = -1; <>2__current = new TradeItemDef("CookedBoneMawSerpentMeat", 10, 5440, "defeated_queen", Category.Food); <>1__state = 814; return true; case 814: <>1__state = -1; <>2__current = new TradeItemDef("CookedVoltureMeat", 10, 4608, "defeated_queen", Category.Food); <>1__state = 815; return true; case 815: <>1__state = -1; <>2__current = new TradeItemDef("CrossbowArbalest", 1, 177375, "defeated_queen", Category.Weapons); <>1__state = 816; return true; case 816: <>1__state = -1; <>2__current = new TradeItemDef("CrossbowRipper", 1, 36040, "defeated_queen", Category.Weapons); <>1__state = 817; return true; case 817: <>1__state = -1; <>2__current = new TradeItemDef("CrossbowRipperBlood", 1, 60000, "defeated_queen", Category.Weapons); <>1__state = 818; return true; case 818: <>1__state = -1; <>2__current = new TradeItemDef("CrossbowRipperLightning", 1, 60000, "defeated_queen", Category.Weapons); <>1__state = 819; return true; case 819: <>1__state = -1; <>2__current = new TradeItemDef("CrossbowRipperNature", 1, 60000, "defeated_queen", Category.Weapons); <>1__state = 820; return true; case 820: <>1__state = -1; <>2__current = new TradeItemDef("CuredSquirrelHamstring", 20, 768, "defeated_queen"); <>1__state = 821; return true; case 821: <>1__state = -1; <>2__current = new TradeItemDef("DustMythic", 1, 614, "defeated_queen"); <>1__state = 822; return true; case 822: <>1__state = -1; <>2__current = new TradeItemDef("DyrnwynBladeFragment", 5, 12800, "defeated_queen"); <>1__state = 823; return true; case 823: <>1__state = -1; <>2__current = new TradeItemDef("DyrnwynHiltFragment", 5, 12800, "defeated_queen"); <>1__state = 824; return true; case 824: <>1__state = -1; <>2__current = new TradeItemDef("DyrnwynTipFragment", 5, 12800, "defeated_queen"); <>1__state = 825; return true; case 825: <>1__state = -1; <>2__current = new TradeItemDef("EssenceMythic", 1, 614, "defeated_queen"); <>1__state = 826; return true; case 826: <>1__state = -1; <>2__current = new TradeItemDef("EtchedRunestoneMythic", 1, 798, "defeated_queen"); <>1__state = 827; return true; case 827: <>1__state = -1; <>2__current = new TradeItemDef("FaderDrop", 1, 100000, "defeated_queen"); <>1__state = 828; return true; case 828: <>1__state = -1; <>2__current = new TradeItemDef("FeastAshlands", 1, 9702, "defeated_queen", Category.Food); <>1__state = 829; return true; case 829: <>1__state = -1; <>2__current = new TradeItemDef("Fiddleheadfern", 20, 256, "defeated_queen"); <>1__state = 830; return true; case 830: <>1__state = -1; <>2__current = new TradeItemDef("FierySvinstew", 10, 3328, "defeated_queen", Category.Food); <>1__state = 831; return true; case 831: <>1__state = -1; <>2__current = new TradeItemDef("Fish10", 20, 4031, "defeated_queen", Category.Food); <>1__state = 832; return true; case 832: <>1__state = -1; <>2__current = new TradeItemDef("FishingBaitAshlands", 50, 1344, "defeated_queen", Category.Food); <>1__state = 833; return true; case 833: <>1__state = -1; <>2__current = new TradeItemDef("Flametal", 15, 972, "defeated_queen", Category.Materials); <>1__state = 834; return true; case 834: <>1__state = -1; <>2__current = new TradeItemDef("FlametalNew", 15, 972, "defeated_queen"); <>1__state = 835; return true; case 835: <>1__state = -1; <>2__current = new TradeItemDef("FlametalOre", 1, 460, "defeated_queen", Category.Materials); <>1__state = 836; return true; case 836: <>1__state = -1; <>2__current = new TradeItemDef("FlametalOreNew", 1, 460, "defeated_queen"); <>1__state = 837; return true; case 837: <>1__state = -1; <>2__current = new TradeItemDef("GemstoneBlue", 10, 1920, "defeated_queen"); <>1__state = 838; return true; case 838: <>1__state = -1; <>2__current = new TradeItemDef("GemstoneGreen", 10, 1920, "defeated_queen"); <>1__state = 839; return true; case 839: <>1__state = -1; <>2__current = new TradeItemDef("GemstoneRed", 10, 1920, "defeated_queen"); <>1__state = 840; return true; case 840: <>1__state = -1; <>2__current = new TradeItemDef("HelmetAshlandsMediumHood", 1, 6144, "defeated_queen", Category.Armor); <>1__state = 841; return true; case 841: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBerserkerHood", 1, 31320, "defeated_queen", Category.Armor); <>1__state = 842; return true; case 842: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBerserkerUndead", 1, 6144, "defeated_queen", Category.Armor); <>1__state = 843; return true; case 843: <>1__state = -1; <>2__current = new TradeItemDef("HelmetBronze", 1, 9015, "defeated_queen", Category.Armor); <>1__state = 844; return true; case 844: <>1__state = -1; <>2__current = new TradeItemDef("HelmetCarapace", 1, 277425, "defeated_queen", Category.Armor); <>1__state = 845; return true; case 845: <>1__state = -1; <>2__current = new TradeItemDef("HelmetDrake", 1, 18900, "defeated_queen", Category.Armor); <>1__state = 846; return true; case 846: <>1__state = -1; <>2__current = new TradeItemDef("HelmetDverger", 1, 43200, "defeated_queen", Category.Armor); <>1__state = 847; return true; case 847: <>1__state = -1; <>2__current = new TradeItemDef("HelmetFenring", 1, 20250, "defeated_queen", Category.Armor); <>1__state = 848; return true; case 848: <>1__state = -1; <>2__current = new TradeItemDef("HelmetFishingHat", 1, 3645, "defeated_queen", Category.Food); <>1__state = 849; return true; case 849: <>1__state = -1; <>2__current = new TradeItemDef("HelmetFlametal", 1, 49075, "defeated_queen", Category.Armor); <>1__state = 850; return true; case 850: <>1__state = -1; <>2__current = new TradeItemDef("HelmetIron", 1, 85470, "defeated_queen", Category.Armor); <>1__state = 851; return true; case 851: <>1__state = -1; <>2__current = new TradeItemDef("HelmetLeather", 1, 1485, "defeated_queen", Category.Armor); <>1__state = 852; return true; case 852: <>1__state = -1; <>2__current = new TradeItemDef("HelmetMage", 1, 542520, "defeated_queen", Category.Armor); <>1__state = 853; return true; case 853: <>1__state = -1; <>2__current = new TradeItemDef("HelmetMage_Ashlands", 1, 57177, "defeated_queen", Category.Armor); <>1__state = 854; return true; case 854: <>1__state = -1; <>2__current = new TradeItemDef("HelmetPadded", 1, 178845, "defeated_queen", Category.Armor); <>1__state = 855; return true; case 855: <>1__state = -1; <>2__current = new TradeItemDef("HelmetRoot", 1, 27945, "defeated_queen", Category.Armor); <>1__state = 856; return true; case 856: <>1__state = -1; <>2__current = new TradeItemDef("HelmetTrollLeather", 1, 6930, "defeated_queen", Category.Armor); <>1__state = 857; return true; case 857: <>1__state = -1; <>2__current = new TradeItemDef("HelmetYule", 1, 540, "defeated_queen", Category.Armor); <>1__state = 858; return true; case 858: <>1__state = -1; <>2__current = new TradeItemDef("KnifeBlackMetal", 1, 25200, "defeated_queen", Category.Weapons); <>1__state = 859; return true; case 859: <>1__state = -1; <>2__current = new TradeItemDef("KnifeButcher", 1, 2835, "defeated_queen", Category.Weapons); <>1__state = 860; return true; case 860: <>1__state = -1; <>2__current = new TradeItemDef("KnifeChitin", 1, 46095, "defeated_queen", Category.Weapons); <>1__state = 861; return true; case 861: <>1__state = -1; <>2__current = new TradeItemDef("KnifeCopper", 1, 5475, "defeated_queen", Category.Weapons); <>1__state = 862; return true; case 862: <>1__state = -1; <>2__current = new TradeItemDef("KnifeFlint", 1, 765, "defeated_queen", Category.Weapons); <>1__state = 863; return true; case 863: <>1__state = -1; <>2__current = new TradeItemDef("KnifeSilver", 1, 51525, "defeated_queen", Category.Weapons); <>1__state = 864; return true; case 864: <>1__state = -1; <>2__current = new TradeItemDef("KnifeSkollAndHati", 1, 160200, "defeated_queen", Category.Weapons); <>1__state = 865; return true; case 865: <>1__state = -1; <>2__current = new TradeItemDef("KnifeWood", 1, 2055, "defeated_queen", Category.Weapons); <>1__state = 866; return true; case 866: <>1__state = -1; <>2__current = new TradeItemDef("MaceBronze", 1, 10560, "defeated_queen", Category.Weapons); <>1__state = 867; return true; case 867: <>1__state = -1; <>2__current = new TradeItemDef("MaceEldner", 1, 32224, "defeated_queen", Category.Weapons); <>1__state = 868; return true; case 868: <>1__state = -1; <>2__current = new TradeItemDef("MaceEldnerBlood", 1, 44800, "defeated_queen", Category.Weapons); <>1__state = 869; return true; case 869: <>1__state = -1; <>2__current = new TradeItemDef("MaceEldnerLightning", 1, 44800, "defeated_queen", Category.Weapons); <>1__state = 870; return true; case 870: <>1__state = -1; <>2__current = new TradeItemDef("MaceEldnerNature", 1, 44800, "defeated_queen", Category.Weapons); <>1__state = 871; return true; case 871: <>1__state = -1; <>2__current = new TradeItemDef("MaceIron", 1, 63855, "defeated_queen", Category.Weapons); <>1__state = 872; return true; case 872: <>1__state = -1; <>2__current = new TradeItemDef("MaceNeedle", 1, 219420, "defeated_queen", Category.Weapons); <>1__state = 873; return true; case 873: <>1__state = -1; <>2__current = new TradeItemDef("MaceSilver", 1, 227580, "defeated_queen", Category.Weapons); <>1__state = 874; return true; case 874: <>1__state = -1; <>2__current = new TradeItemDef("MaceWood", 1, 2055, "defeated_queen", Category.Weapons); <>1__state = 875; return true; case 875: <>1__state = -1; <>2__current = new TradeItemDef("MarinatedGreens", 1, 8704, "defeated_queen", Category.Food); <>1__state = 876; return true; case 876: <>1__state = -1; <>2__current = new TradeItemDef("MashedMeat", 1, 1836, "defeated_queen", Category.Food); <>1__state = 877; return true; case 877: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseEitrLingering", 10, 6528, "defeated_queen", Category.Consumables); <>1__state = 878; return true; case 878: <>1__state = -1; <>2__current = new TradeItemDef("MeadBaseHasty", 1, 15859, "defeated_queen", Category.Consumables); <>1__state = 879; return true; case 879: <>1__state = -1; <>2__current = new TradeItemDef("MeadEitrLingering", 10, 9216, "defeated_queen", Category.Consumables); <>1__state = 880; return true; case 880: <>1__state = -1; <>2__current = new TradeItemDef("MistTorchArrow", 20, 3865, "defeated_queen", Category.Weapons); <>1__state = 881; return true; case 881: <>1__state = -1; <>2__current = new TradeItemDef("MorgenHeart", 10, 3916, "defeated_queen"); <>1__state = 882; return true; case 882: <>1__state = -1; <>2__current = new TradeItemDef("MorgenSinew", 20, 1024, "defeated_queen"); <>1__state = 883; return true; case 883: <>1__state = -1; <>2__current = new TradeItemDef("PiquantPie", 10, 10240, "defeated_queen", Category.Food); <>1__state = 884; return true; case 884: <>1__state = -1; <>2__current = new TradeItemDef("ProustitePowder", 20, 716, "defeated_queen"); <>1__state = 885; return true; case 885: <>1__state = -1; <>2__current = new TradeItemDef("ReagentMythic", 1, 614, "defeated_queen"); <>1__state = 886; return true; case 886: <>1__state = -1; <>2__current = new TradeItemDef("RoastedCrustPie", 10, 8960, "defeated_queen", Category.Food); <>1__state = 887; return true; case 887: <>1__state = -1; <>2__current = new TradeItemDef("RunestoneMythic", 1, 798, "defeated_queen"); <>1__state = 888; return true; case 888: <>1__state = -1; <>2__current = new TradeItemDef("SaddleAsksvin", 1, 20838, "defeated_queen", Category.Armor); <>1__state = 889; return true; case 889: <>1__state = -1; <>2__current = new TradeItemDef("ScorchingMedley", 10, 3072, "defeated_queen"); <>1__state = 890; return true; case 890: <>1__state = -1; <>2__current = new TradeItemDef("SeekerArrow", 20, 819, "defeated_queen"); <>1__state = 891; return true; case 891: <>1__state = -1; <>2__current = new TradeItemDef("ShardMythic", 1, 614, "defeated_queen"); <>1__state = 892; return true; case 892: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBanded", 1, 16185, "defeated_queen", Category.Armor); <>1__state = 893; return true; case 893: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBlackmetal", 1, 100590, "defeated_queen", Category.Armor); <>1__state = 894; return true; case 894: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBlackmetalTower", 1, 133965, "defeated_queen", Category.Armor); <>1__state = 895; return true; case 895: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBoneTower", 1, 2085, "defeated_queen", Category.Armor); <>1__state = 896; return true; case 896: <>1__state = -1; <>2__current = new TradeItemDef("ShieldBronzeBuckler", 1, 10980, "defeated_queen", Category.Armor); <>1__state = 897; return true; case 897: <>1__state = -1; <>2__current = new TradeItemDef("ShieldCarapace", 1, 307260, "defeated_queen", Category.Armor); <>1__state = 898; return true; case 898: <>1__state = -1; <>2__current = new TradeItemDef("ShieldCarapaceBuckler", 1, 289980, "defeated_queen", Category.Armor); <>1__state = 899; return true; case 899: <>1__state = -1; <>2__current = new TradeItemDef("ShieldCore", 1, 6451, "defeated_queen", Category.Armor); <>1__state = 900; return true; case 900: <>1__state = -1; <>2__current = new TradeItemDef("ShieldFlametal", 1, 18144, "defeated_queen", Category.Armor); <>1__state = 901; return true; case 901: <>1__state = -1; <>2__current = new TradeItemDef("ShieldFlametalTower", 1, 26812, "defeated_queen", Category.Armor); <>1__state = 902; return true; case 902: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronBuckler", 1, 30675, "defeated_queen", Category.Armor); <>1__state = 903; return true; case 903: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronSquare", 1, 20955, "defeated_queen", Category.Armor); <>1__state = 904; return true; case 904: <>1__state = -1; <>2__current = new TradeItemDef("ShieldIronTower", 1, 34200, "defeated_queen", Category.Armor); <>1__state = 905; return true; case 905: <>1__state = -1; <>2__current = new TradeItemDef("ShieldSerpentscale", 1, 109440, "defeated_queen", Category.Armor); <>1__state = 906; return true; case 906: <>1__state = -1; <>2__current = new TradeItemDef("ShieldSilver", 1, 34920, "defeated_queen", Category.Armor); <>1__state = 907; return true; case 907: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWood", 1, 1185, "defeated_queen", Category.Armor); <>1__state = 908; return true; case 908: <>1__state = -1; <>2__current = new TradeItemDef("ShieldWoodTower", 1, 1140, "defeated_queen", Category.Armor); <>1__state = 909; return true; case 909: <>1__state = -1; <>2__current = new TradeItemDef("SizzlingBerryBroth", 10, 4704, "defeated_queen", Category.Food); <>1__state = 910; return true; case 910: <>1__state = -1; <>2__current = new TradeItemDef("SledgeDemolisher", 1, 793650, "defeated_queen", Category.Weapons); <>1__state = 911; return true; case 911: <>1__state = -1; <>2__current = new TradeItemDef("SledgeIron", 1, 186630, "defeated_queen", Category.Weapons); <>1__state = 912; return true; case 912: <>1__state = -1; <>2__current = new TradeItemDef("SledgeStagbreaker", 1, 53820, "defeated_queen", Category.Weapons); <>1__state = 913; return true; case 913: <>1__state = -1; <>2__current = new TradeItemDef("SledgeWood", 1, 2670, "defeated_queen", Category.Weapons); <>1__state = 914; return true; case 914: <>1__state = -1; <>2__current = new TradeItemDef("SparklingShroomshake", 10, 6400, "defeated_queen"); <>1__state = 915; return true; case 915: <>1__state = -1; <>2__current = new TradeItemDef("SpearBronze", 1, 8325, "defeated_queen", Category.Weapons); <>1__state = 916; return true; case 916: <>1__state = -1; <>2__current = new TradeItemDef("SpearCarapace", 1, 147600, "defeated_queen", Category.Weapons); <>1__state = 917; return true; case 917: <>1__state = -1; <>2__current = new TradeItemDef("SpearChitin", 1, 70065, "defeated_queen", Category.Weapons); <>1__state = 918; return true; case 918: <>1__state = -1; <>2__current = new TradeItemDef("SpearElderbark", 1, 45630, "defeated_queen", Category.Weapons); <>1__state = 919; return true; case 919: <>1__state = -1; <>2__current = new TradeItemDef("SpearFlint", 1, 1545, "defeated_queen", Category.Weapons); <>1__state = 920; return true; case 920: <>1__state = -1; <>2__current = new TradeItemDef("SpearSplitner", 1, 23424, "defeated_queen", Category.Weapons); <>1__state = 921; return true; case 921: <>1__state = -1; <>2__current = new TradeItemDef("SpearSplitner_Blood", 1, 41600, "defeated_queen", Category.Weapons); <>1__state = 922; return true; case 922: <>1__state = -1; <>2__current = new TradeItemDef("SpearSplitner_Lightning", 1, 41600, "defeated_queen", Category.Weapons); <>1__state = 923; return true; case 923: <>1__state = -1; <>2__current = new TradeItemDef("SpearSplitner_Nature", 1, 41600, "defeated_queen", Category.Weapons); <>1__state = 924; return true; case 924: <>1__state = -1; <>2__current = new TradeItemDef("SpearWolfFang", 1, 29130, "defeated_queen", Category.Weapons); <>1__state = 925; return true; case 925: <>1__state = -1; <>2__current = new TradeItemDef("SpearWood", 1, 2055, "defeated_queen", Category.Weapons); <>1__state = 926; return true; case 926: <>1__state = -1; <>2__current = new TradeItemDef("SpicyMarmalade", 10, 2816, "defeated_queen"); <>1__state = 927; return true; case 927: <>1__state = -1; <>2__current = new TradeItemDef("StaffClusterbomb", 1, 230040, "defeated_queen", Category.Weapons); <>1__state = 928; return true; case 928: <>1__state = -1; <>2__current = new TradeItemDef("StaffFireball", 1, 875610, "defeated_queen", Category.Weapons); <>1__state = 929; return true; case 929: <>1__state = -1; <>2__current = new TradeItemDef("StaffGreenRoots", 1, 298080, "defeated_queen", Category.Weapons); <>1__state = 930; return true; case 930: <>1__state = -1; <>2__current = new TradeItemDef("StaffIceShards", 1, 841995, "defeated_queen", Category.Weapons); <>1__state = 931; return true; case 931: <>1__state = -1; <>2__current = new TradeItemDef("StaffLightning", 1, 29894, "defeated_queen", Category.Weapons); <>1__state = 932; return true; case 932: <>1__state = -1; <>2__current = new TradeItemDef("StaffRedTroll", 1, 62775, "defeated_queen", Category.Weapons); <>1__state = 933; return true; case 933: <>1__state = -1; <>2__current = new TradeItemDef("StaffShield", 1, 62775, "defeated_queen", Category.Weapons); <>1__state = 934; return true; case 934: <>1__state = -1; <>2__current = new TradeItemDef("StaffSkeleton", 1, 66825, "defeated_queen", Category.Weapons); <>1__state = 935; return true; case 935: <>1__state = -1; <>2__current = new TradeItemDef("SwordBlackmetal", 1, 163800, "defeated_queen", Category.Weapons); <>1__state = 936; return true; case 936: <>1__state = -1; <>2__current = new TradeItemDef("SwordBronze", 1, 10140, "defeated_queen", Category.Weapons); <>1__state = 937; return true; case 937: <>1__state = -1; <>2__current = new TradeItemDef("SwordIron", 1, 63510, "defeated_queen", Category.Weapons); <>1__state = 938; return true; case 938: <>1__state = -1; <>2__current = new TradeItemDef("SwordMistwalker", 1, 468300, "defeated_queen", Category.Weapons); <>1__state = 939; return true; case 939: <>1__state = -1; <>2__current = new TradeItemDef("SwordNiedhogg", 1, 20448, "defeated_queen", Category.Weapons); <>1__state = 940; return true; case 940: <>1__state = -1; <>2__current = new TradeItemDef("SwordNiedhoggBlood", 1, 44800, "defeated_queen", Category.Weapons); <>1__state = 941; return true; case 941: <>1__state = -1; <>2__current = new TradeItemDef("SwordNiedhoggLightning", 1, 44800, "defeated_queen", Category.Weapons); <>1__state = 942; return true; case 942: <>1__state = -1; <>2__current = new TradeItemDef("SwordNiedhoggNature", 1, 44800, "defeated_queen", Category.Weapons); <>1__state = 943; return true; case 943: <>1__state = -1; <>2__current = new TradeItemDef("SwordSilver", 1, 183480, "defeated_queen", Category.Weapons); <>1__state = 944; return true; case 944: <>1__state = -1; <>2__current = new TradeItemDef("SwordWood", 1, 2055, "defeated_queen", Category.Weapons); <>1__state = 945; return true; case 945: <>1__state = -1; <>2__current = new TradeItemDef("THSwordSlayer", 1, 67891, "defeated_queen", Category.Weapons); <>1__state = 946; return true; case 946: <>1__state = -1; <>2__current = new TradeItemDef("THSwordSlayerBlood", 1, 91520, "defeated_queen", Category.Weapons); <>1__state = 947; return true; case 947: <>1__state = -1; <>2__current = new TradeItemDef("THSwordSlayerLightning", 1, 91520, "defeated_queen", Category.Weapons); <>1__state = 948; return true; case 948: <>1__state = -1; <>2__current = new TradeItemDef("THSwordSlayerNature", 1, 91520, "defeated_queen", Category.Weapons); <>1__state = 949; return true; case 949: <>1__state = -1; <>2__current = new TradeItemDef("THSwordWood", 1, 2670, "defeated_queen", Category.Weapons); <>1__state = 950; return true; case 950: <>1__state = -1; <>2__current = new TradeItemDef("TrinketFlametalEitr", 1, 17664, "defeated_queen", Category.Armor); <>1__state = 951; return true; case 951: <>1__state = -1; <>2__current = new TradeItemDef("TrinketFlametalStaminaHealth", 1, 8832, "defeated_queen", Category.Armor); <>1__state = 952; return true; case 952: <>1__state = -1; <>2__current = new TradeItemDef("TrophyAsksvin", 1, 4896, "defeated_queen"); <>1__state = 953; return true; case 953: <>1__state = -1; <>2__current = new TradeItemDef("TrophyBonemawSerpent", 1, 5824, "defeated_queen"); <>1__state = 954; return true; case 954: <>1__state = -1; <>2__current = new TradeItemDef("TrophyCharredArcher", 1, 2448, "defeated_queen"); <>1__state = 955; return true; case 955: <>1__state = -1; <>2__current = new TradeItemDef("TrophyCharredMage", 1, 2880, "defeated_queen"); <>1__state = 956; return true; case 956: <>1__state = -1; <>2__current = new TradeItemDef("TrophyCharredMelee", 1, 2304, "defeated_queen"); <>1__state = 957; return true; case 957: <>1__state = -1; <>2__current = new TradeItemDef("TrophyFallenValkyrie", 1, 8320, "defeated_queen"); <>1__state = 958; return true; case 958: <>1__state = -1; <>2__current = new TradeItemDef("TrophyMorgen", 1, 6864, "defeated_queen"); <>1__state = 959; return true; case 959: <>1__state = -1; <>2__current = new TradeItemDef("TrophyVolture", 1, 3456, "defeated_queen"); <>1__state = 960; return true; case 960: <>1__state = -1; <>2__current = new TradeItemDef("TurretBoltFlametal", 1, 307, "defeated_queen"); <>1__state = 961; return true; case 961: <>1__state = -1; <>2__current = new TradeItemDef("VoltureEgg", 10, 2160, "defeated_queen"); <>1__state = 962; return true; case 962: <>1__state = -1; <>2__current = new TradeItemDef("VoltureMeat", 1, 716, "defeated_queen", Category.Food); <>1__state = 963; return true; case 963: <>1__state = -1; <>2__current = new TradeItemDef("FishingBaitDeepNorth", 50, 2800, "defeated_fader", Category.Food); <>1__state = 964; return true; case 964: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; return this; } return new d__3(0); } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable)this).GetEnumerator(); } } [CompilerGenerated] private sealed class d__1 : IEnumerable, IEnumerable, IEnumerator, IDisposable, IEnumerator { private int <>1__state; private TradeItemDef <>2__current; private int <>l__initialThreadId; private IEnumerator <>7__wrap1; TradeItemDef IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__1(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { int num = <>1__state; if (num == -3 || num == 1) { try { } finally { <>m__Finally1(); } } <>7__wrap1 = null; <>1__state = -2; } private bool MoveNext() { try { switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>7__wrap1 = GetAll().GetEnumerator(); <>1__state = -3; break; case 1: <>1__state = -3; break; } while (<>7__wrap1.MoveNext()) { TradeItemDef current = <>7__wrap1.Current; if (IsCategoryEnabled(current.Cat)) { <>2__current = current; <>1__state = 1; return true; } } <>m__Finally1(); <>7__wrap1 = null; return false; } catch { //try-fault ((IDisposable)this).Dispose(); throw; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } private void <>m__Finally1() { <>1__state = -1; if (<>7__wrap1 != null) { <>7__wrap1.Dispose(); } } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; return this; } return new d__1(0); } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable)this).GetEnumerator(); } } [IteratorStateMachine(typeof(d__1))] public static IEnumerable GetEnabled() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__1(-2); } private static bool IsCategoryEnabled(Category cat) { return cat switch { Category.Materials => ModConfig.EnableMaterials.Value, Category.Food => ModConfig.EnableFood.Value, Category.Weapons => ModConfig.EnableWeapons.Value, Category.Armor => ModConfig.EnableArmor.Value, Category.Ammo => ModConfig.EnableAmmo.Value, Category.Consumables => ModConfig.EnableConsumables.Value, Category.Misc => ModConfig.EnableMisc.Value, _ => true, }; } [IteratorStateMachine(typeof(d__3))] public static IEnumerable GetAll() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__3(-2); } } [HarmonyPatch(typeof(Trader), "Start")] public static class TraderStartPatch { [HarmonyPostfix] public static void Postfix(Trader __instance) { TraderPatch.InjectItems(__instance); } } [HarmonyPatch(typeof(ZoneSystem), "SetGlobalKey", new Type[] { typeof(string) })] public static class BossKillPatch { private static readonly HashSet BossKeys = new HashSet { "defeated_eikthyr", "defeated_gdking", "defeated_bonemass", "defeated_dragon", "defeated_goblinking", "defeated_queen", "defeated_fader" }; [HarmonyPostfix] public static void Postfix(string name) { if (BossKeys.Contains(name)) { Plugin.Log.LogInfo((object)("[BossTrader] Boss détecté : " + name + " — rafraîchissement du marchand.")); Trader[] array = Object.FindObjectsOfType(); for (int i = 0; i < array.Length; i++) { TraderPatch.InjectItems(array[i]); } } } } public static class TraderPatch { public static void InjectItems(Trader trader) { //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0171: 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_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Expected O, but got Unknown if ((Object)(object)ZoneSystem.instance == (Object)null || (Object)(object)ObjectDB.instance == (Object)null) { return; } if (!ModConfig.IsTraderEnabled(trader)) { Plugin.Log.LogInfo((object)("[BossTrader] " + trader.m_name + " ignoré (désactivé dans la config).")); return; } HashSet hashSet = new HashSet(); foreach (TradeItem item in trader.m_items) { if ((Object)(object)item.m_prefab != (Object)null) { hashSet.Add(((Object)item.m_prefab).name); } } int num = 0; foreach (TraderItems.TradeItemDef item2 in TraderItems.GetEnabled()) { if ((item2.RequiredKey != null && !ZoneSystem.instance.GetGlobalKey(item2.RequiredKey)) || hashSet.Contains(item2.PrefabName)) { continue; } GameObject itemPrefab = ObjectDB.instance.GetItemPrefab(item2.PrefabName); if ((Object)(object)itemPrefab == (Object)null) { Plugin.Log.LogDebug((object)("[BossTrader] Prefab introuvable : " + item2.PrefabName)); continue; } ItemDrop component = itemPrefab.GetComponent(); if (!((Object)(object)component == (Object)null)) { ItemData itemData = component.m_itemData; if (itemData != null && itemData.m_shared?.m_itemType == (ItemType?)0) { Plugin.Log.LogWarning((object)("[BossTrader] Ignoré (ItemType.None, incompatible EpicLoot) : " + item2.PrefabName)); continue; } trader.m_items.Add(new TradeItem { m_prefab = component, m_stack = ModConfig.ApplyStack(item2.Stack), m_price = ModConfig.ApplyPrice(item2.Price) }); CategoryFilter.Register(item2.PrefabName, item2.Cat); hashSet.Add(item2.PrefabName); num++; } } if (num > 0) { Plugin.Log.LogInfo((object)$"[BossTrader] {num} items ajoutés à {((Object)trader).name}."); } } } public static class PluginInfo { public const string PLUGIN_GUID = "ValheimBossTrader"; public const string PLUGIN_NAME = "ValheimBossTrader"; public const string PLUGIN_VERSION = "1.0.0"; } }