Decompiled source of WildWeapons v2.4.0
WildWeapons.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using System.IO.Compression; using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using System.Threading; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using ItemManager; using JetBrains.Annotations; using LocalizationManager; using Microsoft.CodeAnalysis; using ServerSync; using TMPro; using UnityEngine; using YamlDotNet.Core; using YamlDotNet.Core.Events; using YamlDotNet.Core.Tokens; using YamlDotNet.Helpers; using YamlDotNet.Serialization; using YamlDotNet.Serialization.BufferedDeserialization; using YamlDotNet.Serialization.BufferedDeserialization.TypeDiscriminators; using YamlDotNet.Serialization.Converters; using YamlDotNet.Serialization.EventEmitters; using YamlDotNet.Serialization.NamingConventions; using YamlDotNet.Serialization.NodeDeserializers; using YamlDotNet.Serialization.NodeTypeResolvers; using YamlDotNet.Serialization.ObjectFactories; using YamlDotNet.Serialization.ObjectGraphTraversalStrategies; using YamlDotNet.Serialization.ObjectGraphVisitors; using YamlDotNet.Serialization.Schemas; using YamlDotNet.Serialization.TypeInspectors; using YamlDotNet.Serialization.TypeResolvers; using YamlDotNet.Serialization.Utilities; using YamlDotNet.Serialization.ValueDeserializers; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("WildWeapons")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyProduct("WildWeapons")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("4358610B-F3F4-4843-B7AF-98B7BC60DCDE")] [assembly: AssemblyFileVersion("2.4.0")] [assembly: AssemblyCompany("catharis")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("2.4.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [<acc2144a-66ba-4c54-96d8-28a9f95d36ee>Embedded] internal sealed class <acc2144a-66ba-4c54-96d8-28a9f95d36ee>EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [<acc2144a-66ba-4c54-96d8-28a9f95d36ee>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] [CompilerGenerated] internal sealed class <6d0b48e9-2dde-440c-8185-4c0b0ff64a06>NullableAttribute : Attribute { public readonly byte[] NullableFlags; public <6d0b48e9-2dde-440c-8185-4c0b0ff64a06>NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public <6d0b48e9-2dde-440c-8185-4c0b0ff64a06>NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [<acc2144a-66ba-4c54-96d8-28a9f95d36ee>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class <a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContextAttribute : Attribute { public readonly byte Flag; public <a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace WildWeapons { [BepInPlugin("catharis.WildWeapons", "WildWeapons", "2.4.0")] [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(1)] [<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nullable(0)] public class WildWeaponsPlugin : BaseUnityPlugin { [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(0)] public enum Toggle { On = 1, Off = 0 } [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(0)] private class ConfigurationManagerAttributes { [UsedImplicitly] public int? Order; [UsedImplicitly] public bool? Browsable; [UsedImplicitly] [<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nullable(2)] public string Category; [UsedImplicitly] [<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nullable(new byte[] { 2, 1 })] public Action<ConfigEntryBase> CustomDrawer; } internal const string ModName = "WildWeapons"; internal const string ModVersion = "2.4.0"; internal const string Author = "catharis"; private const string ModGUID = "catharis.WildWeapons"; private static string ConfigFileName = "catharis.WildWeapons.cfg"; private static string ConfigFileFullPath; internal static string ConnectionError; private readonly Harmony _harmony = new Harmony("catharis.WildWeapons"); public static readonly ManualLogSource WildWeaponsLogger; private static readonly ConfigSync ConfigSync; private static ConfigEntry<Toggle> _serverConfigLocked; private static ConfigEntry<Toggle> _recipeIsActiveConfig; public void Awake() { Localizer.Load(); _serverConfigLocked = config("1 - General", "Lock Configuration", Toggle.On, "If on, the configuration is locked and can be changed by server admins only."); ConfigSync.AddLockingConfigEntry<Toggle>(_serverConfigLocked); Item item = new Item("wildweapons", "Sunstrikers_CAH"); item.Name.English("Sunstrike Gauntlets"); item.Description.English("Let each of your blows deliver the might and explosive power of a dying sun!"); item.Crafting.Add(CraftingTable.BlackForge, 1); item.RequiredItems.Add("FlametalNew", 10); item.RequiredItems.Add("Obsidian", 10); item.RequiredItems.Add("MoltenCore", 2); item.RequiredItems.Add("Mandible", 2); item.RequiredUpgradeItems.Add("Mandible", 1); item.RequiredUpgradeItems.Add("Obsidian", 5); item.CraftAmount = 1; item.Trade.Price = 0u; item.Trade.Stack = 0u; item.Trade.RequiredGlobalKey = "defeated_bonemass"; item.Trade.Trader = Trader.None; Item item2 = new Item("wildweapons", "RoyalSword_CAH"); item2.Name.English("Royal Sword"); item2.Description.English("A sword used by the Avereign Royal guard before the kingdom's fall."); item2.Crafting.Add(CraftingTable.Forge, 1); item2.RequiredItems.Add("Bronze", 10); item2.RequiredItems.Add("BjornHide", 10); item2.RequiredItems.Add("Ruby", 10); item2.RequiredUpgradeItems.Add("BjornHide", 1); item2.RequiredUpgradeItems.Add("Ruby", 1); item2.CraftAmount = 1; item2.Trade.Price = 0u; item2.Trade.Stack = 0u; item2.Trade.RequiredGlobalKey = "defeated_bonemass"; item2.Trade.Trader = Trader.None; Item item3 = new Item("wildweapons", "RoyalGreatsword_CAH"); item3.Name.English("Royal Greatsword"); item3.Description.English("A greatsword used by the Avereign Royal guard before the kingdom's fall.."); item3.Crafting.Add(CraftingTable.Forge, 1); item3.RequiredItems.Add("Bronze", 20); item3.RequiredItems.Add("BjornHide", 10); item3.RequiredItems.Add("Ruby", 10); item3.RequiredUpgradeItems.Add("Ruby", 1); item3.RequiredUpgradeItems.Add("BjornHide", 1); item3.CraftAmount = 1; item3.Trade.Price = 0u; item3.Trade.Stack = 0u; item3.Trade.RequiredGlobalKey = "defeated_bonemass"; item3.Trade.Trader = Trader.None; Item item4 = new Item("wildweapons", "Repressor_CAH"); item4.Name.English("Repressor"); item4.Description.English("A sleek, straight, and lightweight blade designed for flexible combat."); item4.Crafting.Add(CraftingTable.Forge, 1); item4.RequiredItems.Add("Iron", 20); item4.RequiredItems.Add("Guck", 10); item4.RequiredItems.Add("Root", 5); item4.RequiredUpgradeItems.Add("Guck", 5); item4.RequiredUpgradeItems.Add("Root", 1); item4.CraftAmount = 1; item4.Trade.Price = 0u; item4.Trade.Stack = 0u; item4.Trade.RequiredGlobalKey = "defeated_bonemass"; item4.Trade.Trader = Trader.None; Item item5 = new Item("wildweapons", "TwistedEdge_CAH"); item5.Name.English("Witchbrand"); item5.Description.English("A twisted and bloodied iron blade, to rend apart your foes."); item5.Crafting.Add(CraftingTable.Forge, 1); item5.RequiredItems.Add("Iron", 20); item5.RequiredItems.Add("TrophyKvastur", 1); item5.RequiredItems.Add("Bloodbag", 10); item5.RequiredUpgradeItems.Add("Iron", 5); item5.RequiredUpgradeItems.Add("Bloodbag", 2); item5.CraftAmount = 1; item5.Trade.Price = 0u; item5.Trade.Stack = 0u; item5.Trade.RequiredGlobalKey = "defeated_bonemass"; item5.Trade.Trader = Trader.None; Item item6 = new Item("wildweapons", "EagleStrike_CAH"); item6.Name.English("Eaglestrike"); item6.Description.English("A modified version of the silver sword, infused with icy power."); item6.Crafting.Add(CraftingTable.Forge, 1); item6.RequiredItems.Add("SwordSilver", 1); item6.RequiredItems.Add("FreezeGland", 15); item6.RequiredItems.Add("TrophyHatchling", 1); item6.RequiredUpgradeItems.Add("FreezeGland", 5); item6.RequiredUpgradeItems.Add("TrophyHatchling", 1); item6.CraftAmount = 1; item6.Trade.Price = 0u; item6.Trade.Stack = 0u; item6.Trade.RequiredGlobalKey = "defeated_bonemass"; item6.Trade.Trader = Trader.None; Item item7 = new Item("wildweapons", "Astralis_CAH"); item7.Name.English("Astralis"); item7.Description.English("A magical blade forged from crystals produced by the dragon queen herself."); item7.Crafting.Add(CraftingTable.Forge, 1); item7.RequiredItems.Add("Silver", 15); item7.RequiredItems.Add("FreezeGland", 15); item7.RequiredItems.Add("TrophySGolem", 1); item7.RequiredUpgradeItems.Add("FreezeGland", 5); item7.RequiredUpgradeItems.Add("Silver", 5); item7.CraftAmount = 1; item7.Trade.Price = 0u; item7.Trade.Stack = 0u; item7.Trade.RequiredGlobalKey = "defeated_bonemass"; item7.Trade.Trader = Trader.None; Item item8 = new Item("wildweapons", "MountainCleaver_CAH"); item8.Name.English("Mountain Cleaver"); item8.Description.English("A massive heavy blade capable of tearing even mountains asunder."); item8.Crafting.Add(CraftingTable.Forge, 1); item8.RequiredItems.Add("Iron", 80); item8.RequiredItems.Add("Silver", 30); item8.RequiredItems.Add("TrophySGolem", 1); item8.RequiredUpgradeItems.Add("Iron", 5); item8.RequiredUpgradeItems.Add("Silver", 5); item8.CraftAmount = 1; item8.Trade.Price = 0u; item8.Trade.Stack = 0u; item8.Trade.RequiredGlobalKey = "defeated_bonemass"; item8.Trade.Trader = Trader.None; Item item9 = new Item("wildweapons", "AehmandVehm_CAH"); item9.Name.English("Aehm and Vehm"); item9.Description.English("In life, they were sisters, now their souls have been corrupted and put into a set of demonic twinblades."); item9.Crafting.Add(CraftingTable.ArtisanTable, 1); item9.RequiredItems.Add("JuteRed", 10); item9.RequiredItems.Add("BlackMetal", 15); item9.RequiredItems.Add("Obsidian", 15); item9.RequiredItems.Add("TrophyCultist", 1); item9.RequiredUpgradeItems.Add("JuteRed", 2); item9.RequiredUpgradeItems.Add("Obsidian", 5); item9.CraftAmount = 1; item9.Trade.Price = 0u; item9.Trade.Stack = 0u; item9.Trade.RequiredGlobalKey = "defeated_bonemass"; item9.Trade.Trader = Trader.None; Item item10 = new Item("wildweapons", "Zehtfreid_CAH"); item10.Name.English("Zehtfreid"); item10.Description.English("Brother Blade to the sisters Aehm and Vehm, deadly and silent, his sins forgotten."); item10.Crafting.Add(CraftingTable.ArtisanTable, 1); item10.RequiredItems.Add("JuteRed", 10); item10.RequiredItems.Add("BlackMetal", 15); item10.RequiredItems.Add("Obsidian", 15); item10.RequiredItems.Add("TrophyCultist_Hildir", 1); item10.RequiredUpgradeItems.Add("JuteRed", 2); item10.RequiredUpgradeItems.Add("Obsidian", 5); item10.CraftAmount = 1; item10.Trade.Price = 0u; item10.Trade.Stack = 0u; item10.Trade.RequiredGlobalKey = "defeated_bonemass"; item10.Trade.Trader = Trader.None; Item item11 = new Item("wildweapons", "BoneReaver_CAH"); item11.Name.English("Bonereaver"); item11.Description.English("An incredibly violent blade made to rip apart foes. Something about violating a geneva convention, whatever that is."); item11.Crafting.Add(CraftingTable.Forge, 1); item11.RequiredItems.Add("TrophyGoblinKing", 1); item11.RequiredItems.Add("BoneFragments", 50); item11.RequiredItems.Add("Bloodbag", 25); item11.RequiredUpgradeItems.Add("BoneFragments", 10); item11.RequiredUpgradeItems.Add("Bloodbag", 10); item11.CraftAmount = 1; item11.Trade.Price = 0u; item11.Trade.Stack = 0u; item11.Trade.RequiredGlobalKey = "defeated_bonemass"; item11.Trade.Trader = Trader.None; Item item12 = new Item("wildweapons", "Infernus_CAH"); item12.Name.English("Infernus"); item12.Description.English("A burning blade once wielded by a great queen who built a castle atop a volcano, eventually people tired of her control and slaughtered her."); item12.Crafting.Add(CraftingTable.BlackForge, 1); item12.RequiredItems.Add("Heatscar_CAH", 1); item12.RequiredItems.Add("SurtlingCore", 5); item12.RequiredItems.Add("YagluthDrop", 2); item12.RequiredUpgradeItems.Add("SurtlingCore", 1); item12.RequiredUpgradeItems.Add("YagluthDrop", 1); item12.CraftAmount = 1; item12.Trade.Price = 0u; item12.Trade.Stack = 0u; item12.Trade.RequiredGlobalKey = "defeated_bonemass"; item12.Trade.Trader = Trader.None; Item item13 = new Item("wildweapons", "JadeJian_CAH"); item13.Name.English("Tian Du"); item13.Description.English("The ancient jian once wielded by the one known as the Heavenly Poison Demon."); item13.Crafting.Add(CraftingTable.BlackForge, 1); item13.RequiredItems.Add("TrophyTick", 5); item13.RequiredItems.Add("Eitr", 30); item13.RequiredItems.Add("Sap", 30); item13.RequiredUpgradeItems.Add("Eitr", 5); item13.RequiredUpgradeItems.Add("Sap", 5); item13.CraftAmount = 1; item13.Trade.Price = 0u; item13.Trade.Stack = 0u; item13.Trade.RequiredGlobalKey = "defeated_bonemass"; item13.Trade.Trader = Trader.None; Item item14 = new Item("wildweapons", "SoulThief_CAH"); item14.Name.English("Soulthief"); item14.Description.English("A sinister longsword that utilizes unknown magic to fire condensed magic blades at your foes"); item14.Crafting.Add(CraftingTable.MageTable, 1); item14.RequiredItems.Add("Eitr", 20); item14.RequiredItems.Add("BlackCore", 5); item14.RequiredItems.Add("BlackMetal", 15); item14.RequiredItems.Add("TrophyDvergr", 3); item14.RequiredUpgradeItems.Add("Eitr", 5); item14.RequiredUpgradeItems.Add("BlackMetal", 5); item14.CraftAmount = 1; item14.Trade.Price = 0u; item14.Trade.Stack = 0u; item14.Trade.RequiredGlobalKey = "defeated_bonemass"; item14.Trade.Trader = Trader.None; Item item15 = new Item("wildweapons", "Arondight_CAH"); item15.Name.English("Arondight"); item15.Description.English("A legendary sword, reborn and stronger than ever."); item15.Crafting.Add(CraftingTable.BlackForge, 1); item15.RequiredItems.Add("StarSteel_CE", 10); item15.RequiredItems.Add("THSwordKrom", 1); item15.RequiredItems.Add("TrophySeekerQueen", 1); item15.RequiredItems.Add("TrophyDragonQueen", 1); item15.RequiredUpgradeItems.Add("DragonTear", 1); item15.RequiredUpgradeItems.Add("QueenDrop", 1); item15.CraftAmount = 1; item15.Trade.Price = 0u; item15.Trade.Stack = 0u; item15.Trade.RequiredGlobalKey = "defeated_bonemass"; item15.Trade.Trader = Trader.None; Item item16 = new Item("wildweapons", "StarGleam_CAH"); item16.Name.English("Stargleam"); item16.Description.English("A sparkling long blade made in an effort to mimic the very stars."); item16.Crafting.Add(CraftingTable.BlackForge, 1); item16.RequiredItems.Add("SwordNiedhogg", 1); item16.RequiredItems.Add("StarSteel_CE", 10); item16.RequiredItems.Add("Thunderstone", 10); item16.RequiredUpgradeItems.Add("StarCrystal_CE", 1); item16.RequiredUpgradeItems.Add("Thunderstone", 2); item16.CraftAmount = 1; item16.Trade.Price = 0u; item16.Trade.Stack = 0u; item16.Trade.RequiredGlobalKey = "defeated_bonemass"; item16.Trade.Trader = Trader.None; Item item17 = new Item("wildweapons", "Northstar_CAH"); item17.Name.English("North Star"); item17.Description.English("We await the effervescent shine of the great northern star."); item17.Crafting.Add(CraftingTable.BlackForge, 1); item17.RequiredItems.Add("FrostRune_CE", 1); item17.RequiredItems.Add("StarSteel_CE", 10); item17.RequiredItems.Add("Silver", 10); item17.RequiredItems.Add("DragonTear", 10); item17.RequiredUpgradeItems.Add("Silver", 5); item17.RequiredUpgradeItems.Add("DragonTear", 1); item17.CraftAmount = 1; item17.Trade.Price = 0u; item17.Trade.Stack = 0u; item17.Trade.RequiredGlobalKey = "defeated_bonemass"; item17.Trade.Trader = Trader.None; Item item18 = new Item("wildweapons", "Firebrand_CAH"); item18.Name.English("Durandal"); item18.Description.English("A legendary sword, blazing once more beneath molten skies"); item18.Crafting.Add(CraftingTable.BlackForge, 1); item18.RequiredItems.Add("MountainCleaver_CAH", 1); item18.RequiredItems.Add("TrophyCharredMelee", 1); item18.RequiredItems.Add("TrophyCharredMage", 1); item18.RequiredItems.Add("TrophyCharredArcher", 1); item18.RequiredUpgradeItems.Add("FlametalNew", 2); item18.RequiredUpgradeItems.Add("CharredBone", 10); item18.CraftAmount = 1; item18.Trade.Price = 0u; item18.Trade.Stack = 0u; item18.Trade.RequiredGlobalKey = "defeated_bonemass"; item18.Trade.Trader = Trader.None; Item item19 = new Item("wildweapons", "Rupture_CAH"); item19.Name.English("Rupture"); item19.Description.English("A blade forged by combining the twin demon blades and concentrating their power into a deadly weapon."); item19.Crafting.Add(CraftingTable.BlackForge, 1); item19.RequiredItems.Add("AehmandVehm_CAH", 1); item19.RequiredItems.Add("YagluthDrop", 2); item19.RequiredItems.Add("FlametalNew", 30); item19.RequiredItems.Add("GemstoneRed", 1); item19.RequiredUpgradeItems.Add("FlametalNew", 5); item19.RequiredUpgradeItems.Add("GemstoneRed", 1); item19.CraftAmount = 1; item19.Trade.Price = 0u; item19.Trade.Stack = 0u; item19.Trade.RequiredGlobalKey = "defeated_bonemass"; item19.Trade.Trader = Trader.None; Item item20 = new Item("wildweapons", "Frigida_CAH"); item20.Name.English("Frigada"); item20.Description.English("A deep and ancient sword, harrowing with icy power, even the heat of the Ashlands yields to Frigada's frosty might."); item20.Crafting.Add(CraftingTable.BlackForge, 1); item20.RequiredItems.Add("FreezeGland", 30); item20.RequiredItems.Add("FlametalNew", 30); item20.RequiredItems.Add("GemstoneBlue", 2); item20.RequiredUpgradeItems.Add("FreezeGland", 5); item20.RequiredUpgradeItems.Add("FlametalNew", 5); item20.CraftAmount = 1; item20.Trade.Price = 0u; item20.Trade.Stack = 0u; item20.Trade.RequiredGlobalKey = "defeated_bonemass"; item20.Trade.Trader = Trader.None; Item item21 = new Item("wildweapons", "Conflagration_CAH"); item21.Name.English("Conflagration"); item21.Description.English("A culmination of absolute flame, the pinnacle of fire, Conflagration."); item21.Crafting.Add(CraftingTable.BlackForge, 1); item21.RequiredItems.Add("Infernus_CAH", 1); item21.RequiredItems.Add("SwordDyrnwyn", 1); item21.RequiredItems.Add("MoltenCore", 5); item21.RequiredItems.Add("FlametalNew", 10); item21.RequiredUpgradeItems.Add("MoltenCore", 1); item21.RequiredUpgradeItems.Add("FlametalNew", 5); item21.CraftAmount = 1; item21.Trade.Price = 0u; item21.Trade.Stack = 0u; item21.Trade.RequiredGlobalKey = "defeated_bonemass"; item21.Trade.Trader = Trader.None; Item item22 = new Item("wildweapons", "Viridium_CAH"); item22.Name.English("Viridium"); item22.Description.English("A mighty blade made from black steel and enhanced with ghostly jade."); item22.Crafting.Add(CraftingTable.BlackForge, 1); item22.RequiredItems.Add("JadeJian_CAH", 1); item22.RequiredItems.Add("BlackMetal", 25); item22.RequiredItems.Add("TrophyAbomination", 1); item22.RequiredItems.Add("GemstoneGreen", 1); item22.RequiredUpgradeItems.Add("BlackMetal", 5); item22.RequiredUpgradeItems.Add("Bronze", 5); item22.CraftAmount = 1; item22.Trade.Price = 0u; item22.Trade.Stack = 0u; item22.Trade.RequiredGlobalKey = "defeated_bonemass"; item22.Trade.Trader = Trader.None; Item item23 = new Item("wildweapons", "StormWalker_CAH"); item23.Name.English("Storm Walker"); item23.Description.English("The wielder is said to be capable of flying through storms like lightning."); item23.Crafting.Add(CraftingTable.BlackForge, 1); item23.RequiredItems.Add("FlametalNew", 30); item23.RequiredItems.Add("ShieldCore", 1); item23.RequiredItems.Add("GemstoneRed", 1); item23.RequiredItems.Add("SwordNiedhoggLightning", 1); item23.RequiredUpgradeItems.Add("FlametalNew", 5); item23.RequiredUpgradeItems.Add("Bronze", 5); item23.CraftAmount = 1; item23.Trade.Price = 0u; item23.Trade.Stack = 0u; item23.Trade.RequiredGlobalKey = "defeated_bonemass"; item23.Trade.Trader = Trader.None; Item item24 = new Item("wildweapons", "Agareth_CAH"); item24.Name.English("Agareth"); item24.Description.English("A ghostly sword, from torn spirits and unholy wraiths, let yourself revel in dark power..."); item24.Crafting.Add(CraftingTable.BlackForge, 1); item24.RequiredItems.Add("TwistedEdge_CAH", 1); item24.RequiredItems.Add("MoonSteel_CE", 10); item24.RequiredItems.Add("TrophyWraith", 3); item24.RequiredItems.Add("TrophyGhost", 3); item24.RequiredUpgradeItems.Add("MoonCrystal_CE", 1); item24.RequiredUpgradeItems.Add("Ectoplasm", 2); item24.CraftAmount = 1; item24.Trade.Price = 0u; item24.Trade.Stack = 0u; item24.Trade.RequiredGlobalKey = "defeated_bonemass"; item24.Trade.Trader = Trader.None; Item item25 = new Item("wildweapons", "Galaxia_CAH"); item25.Name.English("Galaxia"); item25.Description.English("They told me I could not reach the stars... So I cut them down instead."); item25.Crafting.Add(CraftingTable.BlackForge, 1); item25.RequiredItems.Add("MoonSteel_CE", 20); item25.RequiredItems.Add("GemstoneBlue", 1); item25.RequiredItems.Add("GemstoneGreen", 1); item25.RequiredItems.Add("GemstoneRed", 1); item25.RequiredUpgradeItems.Add("MoonCrystal_CE", 1); item25.RequiredUpgradeItems.Add("BlackCore", 1); item25.CraftAmount = 1; item25.Trade.Price = 0u; item25.Trade.Stack = 0u; item25.Trade.RequiredGlobalKey = "defeated_bonemass"; item25.Trade.Trader = Trader.None; Item item26 = new Item("wildweapons", "Arumeria_CAH"); item26.Name.English("Arumeria"); item26.Description.English("Cut them, stab them, put holes through their miserable eyes, you are divine, and they shall not gaze upon you."); item26.Crafting.Add(CraftingTable.BlackForge, 1); item26.RequiredItems.Add("Repressor_CAH", 1); item26.RequiredItems.Add("MechanicalSpring", 10); item26.RequiredItems.Add("FlametalNew", 15); item26.RequiredItems.Add("TrophyMorgen", 2); item26.RequiredUpgradeItems.Add("FlametalNew", 3); item26.RequiredUpgradeItems.Add("MorgenSinew", 2); item26.CraftAmount = 1; item26.Trade.Price = 0u; item26.Trade.Stack = 0u; item26.Trade.RequiredGlobalKey = "defeated_bonemass"; item26.Trade.Trader = Trader.None; Item item27 = new Item("wildweapons", "HeavenlyBlade_CAH"); item27.Name.English("Condemnation"); item27.Description.English("Are you worthy of the blade of the heavenly demon?"); item27.Crafting.Add(CraftingTable.BlackForge, 1); item27.RequiredItems.Add("EagleStrike_CAH", 1); item27.RequiredItems.Add("FrostRune_CE", 1); item27.RequiredItems.Add("FlameRune_CE", 1); item27.RequiredItems.Add("PoisonRune_CE", 1); item27.RequiredUpgradeItems.Add("DragonTear", 1); item27.RequiredUpgradeItems.Add("YagluthDrop", 1); item27.RequiredUpgradeItems.Add("QueenDrop", 1); item27.CraftAmount = 1; item27.Trade.Price = 0u; item27.Trade.Stack = 0u; item27.Trade.RequiredGlobalKey = "defeated_bonemass"; item27.Trade.Trader = Trader.None; Item item28 = new Item("wildweapons", "Avrinn_CAH"); item28.Name.English("Avrinn"); item28.Description.English("The slaying blade, to cut, to slice, to kill, is to live, cut them down until all is naught."); item28.Crafting.Add(CraftingTable.Disabled, 1); item28.RequiredItems.Add("GemstoneRed", 5); item28.RequiredItems.Add("BrokenBlade_CE", 1); item28.RequiredItems.Add("StarSteel_CE", 10); item28.RequiredUpgradeItems.Add("StarSteel_CE", 1); item28.RequiredUpgradeItems.Add("StarCrystal_CE", 1); item28.CraftAmount = 1; item28.Trade.Price = 0u; item28.Trade.Stack = 0u; item28.Trade.RequiredGlobalKey = "defeated_bonemass"; item28.Trade.Trader = Trader.None; Item item29 = new Item("wildweapons", "GoldBrand_CAH"); item29.Name.English("Goldbrand"); item29.Description.English("A simple and regal katana forged from bronze and leather."); item29.Crafting.Add(CraftingTable.Forge, 1); item29.RequiredItems.Add("Bronze", 15); item29.RequiredItems.Add("LeatherScraps", 5); item29.RequiredItems.Add("DeerHide", 5); item29.RequiredUpgradeItems.Add("Bronze", 5); item29.RequiredUpgradeItems.Add("DeerHide", 2); item29.CraftAmount = 1; item29.Trade.Price = 0u; item29.Trade.Stack = 0u; item29.Trade.RequiredGlobalKey = "defeated_bonemass"; item29.Trade.Trader = Trader.None; Item item30 = new Item("wildweapons", "Emberspark_CAH"); item30.Name.English("Emberspark"); item30.Description.English("A wicked katana forged from iron and fire to create a mystical blade."); item30.Crafting.Add(CraftingTable.Forge, 1); item30.RequiredItems.Add("Iron", 20); item30.RequiredItems.Add("SurtlingCore", 5); item30.RequiredItems.Add("TrophySurtling", 1); item30.RequiredUpgradeItems.Add("Iron", 5); item30.RequiredUpgradeItems.Add("SurtlingCore", 1); item30.CraftAmount = 1; item30.Trade.Price = 0u; item30.Trade.Stack = 0u; item30.Trade.RequiredGlobalKey = "defeated_bonemass"; item30.Trade.Trader = Trader.None; Item item31 = new Item("wildweapons", "Mortalis_CAH"); item31.Name.English("Mortalis"); item31.Description.English("A once regal katana, now smeared by cultist blood, has gained a mind of its own and craves blood."); item31.Crafting.Add(CraftingTable.Forge, 1); item31.RequiredItems.Add("GoldBrand_CAH", 1); item31.RequiredItems.Add("TrophyCultist", 2); item31.RequiredItems.Add("Iron", 10); item31.RequiredItems.Add("Bloodbag", 10); item31.RequiredUpgradeItems.Add("Bloodbag", 5); item31.RequiredUpgradeItems.Add("JuteRed", 1); item31.CraftAmount = 1; item31.Trade.Price = 0u; item31.Trade.Stack = 0u; item31.Trade.RequiredGlobalKey = "defeated_bonemass"; item31.Trade.Trader = Trader.None; Item item32 = new Item("wildweapons", "FrozenBlades_CAH"); item32.Name.English("Frozen Blades"); item32.Description.English("With a blade made nearly of pure ice, these frigid blades will leave foes brittle."); item32.Crafting.Add(CraftingTable.Forge, 1); item32.RequiredItems.Add("Crystal", 30); item32.RequiredItems.Add("FreezeGland", 20); item32.RequiredItems.Add("GreydwarfEye", 30); item32.RequiredItems.Add("TrophyHatchling", 1); item32.RequiredUpgradeItems.Add("FreezeGland", 2); item32.RequiredUpgradeItems.Add("GreydwarfEye", 5); item32.CraftAmount = 1; item32.Trade.Price = 0u; item32.Trade.Stack = 0u; item32.Trade.RequiredGlobalKey = "defeated_bonemass"; item32.Trade.Trader = Trader.None; Item item33 = new Item("wildweapons", "FlowerVeil_CAH"); item33.Name.English("Flowerveil"); item33.Description.English("The result of purifying Mortalis under the guidance of ancient spirits and a strong will. "); item33.Crafting.Add(CraftingTable.Forge, 1); item33.RequiredItems.Add("Mortalis_CAH", 1); item33.RequiredItems.Add("Silver", 10); item33.RequiredItems.Add("Wisp", 5); item33.RequiredItems.Add("PowderedDragonEgg", 10); item33.RequiredUpgradeItems.Add("Silver", 5); item33.RequiredUpgradeItems.Add("PowderedDragonEgg", 2); item33.CraftAmount = 1; item33.Trade.Price = 0u; item33.Trade.Stack = 0u; item33.Trade.RequiredGlobalKey = "defeated_bonemass"; item33.Trade.Trader = Trader.None; Item item34 = new Item("wildweapons", "StormDragon_CAH"); item34.Name.English("Storm Dragon"); item34.Description.English("The call of thunder, the breath of a dragon, behold a mighty blade!"); item34.Crafting.Add(CraftingTable.BlackForge, 1); item34.RequiredItems.Add("Emberspark_CAH", 1); item34.RequiredItems.Add("StarSteel_CE", 5); item34.RequiredItems.Add("Thunderstone", 20); item34.RequiredItems.Add("GemstoneBlue", 1); item34.RequiredUpgradeItems.Add("SurtlingCore", 5); item34.RequiredUpgradeItems.Add("Thunderstone", 5); item34.CraftAmount = 1; item34.Trade.Price = 0u; item34.Trade.Stack = 0u; item34.Trade.RequiredGlobalKey = "defeated_bonemass"; item34.Trade.Trader = Trader.None; Item item35 = new Item("wildweapons", "BlossomSong_CAH"); item35.Name.English("Blossomsong"); item35.Description.English("A beautiful blade of utmost elegance, capable of firing condensed sword energy from the will of its wielder."); item35.Crafting.Add(CraftingTable.BlackForge, 1); item35.RequiredItems.Add("TrophySeekerQueen", 1); item35.RequiredItems.Add("FlowerVeil_CAH", 1); item35.RequiredItems.Add("FlametalNew", 20); item35.RequiredItems.Add("PowderedDragonEgg", 20); item35.RequiredUpgradeItems.Add("PowderedDragonEgg", 5); item35.RequiredUpgradeItems.Add("FlametalNew", 5); item35.CraftAmount = 1; item35.Trade.Price = 0u; item35.Trade.Stack = 0u; item35.Trade.RequiredGlobalKey = "defeated_bonemass"; item35.Trade.Trader = Trader.None; Item item36 = new Item("wildweapons", "ThornCrest_CAH"); item36.Name.English("Crest of Thorns"); item36.Description.English("A rugged and ancient blade, forged from ancient northern magic, and cursed by the witch of thorns."); item36.Crafting.Add(CraftingTable.BlackForge, 1); item36.RequiredItems.Add("FlametalNew", 20); item36.RequiredItems.Add("DragonTear", 10); item36.RequiredItems.Add("BonemawSerpentTooth", 10); item36.RequiredItems.Add("FrostRune_CE", 1); item36.RequiredUpgradeItems.Add("FlametalNew", 5); item36.RequiredUpgradeItems.Add("BonemawSerpentTooth", 3); item36.CraftAmount = 1; item36.Trade.Price = 0u; item36.Trade.Stack = 0u; item36.Trade.RequiredGlobalKey = "defeated_bonemass"; item36.Trade.Trader = Trader.None; Item item37 = new Item("wildweapons", "RamHammer_CAH"); item37.Name.English("Ram Smasher"); item37.Description.English("A bronze hammer forged in the shape of a ram."); item37.Crafting.Add(CraftingTable.Forge, 1); item37.RequiredItems.Add("Bronze", 20); item37.RequiredItems.Add("DeerHide", 10); item37.RequiredItems.Add("TrophyBoar", 2); item37.RequiredUpgradeItems.Add("Bronze", 5); item37.RequiredUpgradeItems.Add("DeerHide", 2); item37.CraftAmount = 1; item37.Trade.Price = 0u; item37.Trade.Stack = 0u; item37.Trade.RequiredGlobalKey = "defeated_bonemass"; item37.Trade.Trader = Trader.None; Item item38 = new Item("wildweapons", "SpiritBreaker_CAH"); item38.Name.English("Spiritbreaker"); item38.Description.English("Woe be apon thee, crush your enemies with their own skulls."); item38.Crafting.Add(CraftingTable.Forge, 1); item38.RequiredItems.Add("Iron", 20); item38.RequiredItems.Add("Ectoplasm", 10); item38.RequiredItems.Add("TrophySkeletonPoison", 2); item38.RequiredUpgradeItems.Add("Iron", 5); item38.RequiredUpgradeItems.Add("Ectoplasm", 2); item38.CraftAmount = 1; item38.Trade.Price = 0u; item38.Trade.Stack = 0u; item38.Trade.RequiredGlobalKey = "defeated_bonemass"; item38.Trade.Trader = Trader.None; Item item39 = new Item("wildweapons", "Crabhammer_CAH"); item39.Name.English("Crabslammer"); item39.Description.English("Mmmmm, crab legs..."); item39.Crafting.Add(CraftingTable.Forge, 1); item39.RequiredItems.Add("Chitin", 15); item39.RequiredItems.Add("Copper", 10); item39.RequiredItems.Add("SerpentMeat", 2); item39.RequiredUpgradeItems.Add("Chitin", 5); item39.RequiredUpgradeItems.Add("Copper", 2); item39.CraftAmount = 1; item39.Trade.Price = 0u; item39.Trade.Stack = 0u; item39.Trade.RequiredGlobalKey = "defeated_bonemass"; item39.Trade.Trader = Trader.None; Item item40 = new Item("wildweapons", "Frostburn_CAH"); item40.Name.English("Frostburn"); item40.Description.English("Forged of unmelting ice, this hammer is capable of inflicting devastating wounds."); item40.Crafting.Add(CraftingTable.Forge, 1); item40.RequiredItems.Add("Silver", 20); item40.RequiredItems.Add("FreezeGland", 10); item40.RequiredItems.Add("TrophySGolem", 1); item40.RequiredUpgradeItems.Add("Silver", 5); item40.RequiredUpgradeItems.Add("FreezeGland", 2); item40.CraftAmount = 1; item40.Trade.Price = 0u; item40.Trade.Stack = 0u; item40.Trade.RequiredGlobalKey = "defeated_bonemass"; item40.Trade.Trader = Trader.None; Item item41 = new Item("wildweapons", "MountainBlow_CAH"); item41.Name.English("Mountainblow Hammers"); item41.Description.English("Elegant silver and bronze hammers made to beat down your foes."); item41.Crafting.Add(CraftingTable.Forge, 1); item41.RequiredItems.Add("SharpeningStone", 1); item41.RequiredItems.Add("LinenThread", 5); item41.RequiredItems.Add("Silver", 10); item41.RequiredItems.Add("Bronze", 10); item41.RequiredUpgradeItems.Add("Bronze", 3); item41.RequiredUpgradeItems.Add("Silver", 3); item41.CraftAmount = 1; item41.Trade.Price = 0u; item41.Trade.Stack = 0u; item41.Trade.RequiredGlobalKey = "defeated_bonemass"; item41.Trade.Trader = Trader.None; Item item42 = new Item("wildweapons", "SunCrusher_CAH"); item42.Name.English("Suncrusher"); item42.Description.English("By utilizing the power of heat and spirit, you have converted frostner into a deadly heated weapon."); item42.Crafting.Add(CraftingTable.Forge, 1); item42.RequiredItems.Add("MaceSilver", 1); item42.RequiredItems.Add("TrophyBjornUndead", 1); item42.RequiredItems.Add("TrophySurtling", 1); item42.RequiredItems.Add("Bronze", 20); item42.RequiredUpgradeItems.Add("Bronze", 5); item42.RequiredUpgradeItems.Add("SurtlingCore", 1); item42.CraftAmount = 1; item42.Trade.Price = 0u; item42.Trade.Stack = 0u; item42.Trade.RequiredGlobalKey = "defeated_bonemass"; item42.Trade.Trader = Trader.None; Item item43 = new Item("wildweapons", "Harrower_CAH"); item43.Name.English("Harrower"); item43.Description.English("What a grotesque thing... What have you done..."); item43.Crafting.Add(CraftingTable.BlackForge, 1); item43.RequiredItems.Add("SledgeDemolisher", 1); item43.RequiredItems.Add("TrophyGoblinKing", 1); item43.RequiredItems.Add("TrophyDvergr", 2); item43.RequiredItems.Add("TrophySkeleton", 5); item43.RequiredUpgradeItems.Add("BoneFragments", 10); item43.RequiredUpgradeItems.Add("TrophySkeleton", 1); item43.CraftAmount = 1; item43.Trade.Price = 0u; item43.Trade.Stack = 0u; item43.Trade.RequiredGlobalKey = "defeated_bonemass"; item43.Trade.Trader = Trader.None; Item item44 = new Item("wildweapons", "Sparkgrinder_CAH"); item44.Name.English("Sparkgrinder"); item44.Description.English("A hammer forged from lightning and sun, it possesses sky crushing strength."); item44.Crafting.Add(CraftingTable.BlackForge, 1); item44.RequiredItems.Add("SunCrusher_CAH", 1); item44.RequiredItems.Add("Thunderstone", 20); item44.RequiredItems.Add("Eitr", 15); item44.RequiredUpgradeItems.Add("Eitr", 5); item44.RequiredUpgradeItems.Add("Thunderstone", 1); item44.CraftAmount = 1; item44.Trade.Price = 0u; item44.Trade.Stack = 0u; item44.Trade.RequiredGlobalKey = "defeated_bonemass"; item44.Trade.Trader = Trader.None; Item item45 = new Item("wildweapons", "Magmarium_CAH"); item45.Name.English("Magmarium"); item45.Description.English("A magmatic hammer capable of creating eruptions from the earth."); item45.Crafting.Add(CraftingTable.BlackForge, 1); item45.RequiredItems.Add("MaceEldner", 1); item45.RequiredItems.Add("DragonEgg", 2); item45.RequiredItems.Add("FlametalNew", 20); item45.RequiredItems.Add("MoltenCore", 5); item45.RequiredUpgradeItems.Add("FlametalNew", 5); item45.RequiredUpgradeItems.Add("MoltenCore", 1); item45.CraftAmount = 1; item45.Trade.Price = 0u; item45.Trade.Stack = 0u; item45.Trade.RequiredGlobalKey = "defeated_bonemass"; item45.Trade.Trader = Trader.None; Item item46 = new Item("wildweapons", "Corundum_CAH"); item46.Name.English("Corundum"); item46.Description.English("The mightiest hammer there is, capable of crushing any rock, or skull..."); item46.Crafting.Add(CraftingTable.BlackForge, 1); item46.RequiredItems.Add("TrophyFader", 1); item46.RequiredItems.Add("Bronze", 25); item46.RequiredItems.Add("FlametalNew", 5); item46.RequiredItems.Add("BlackMarble", 25); item46.RequiredUpgradeItems.Add("Bronze", 5); item46.RequiredUpgradeItems.Add("FlametalNew", 5); item46.CraftAmount = 1; item46.Trade.Price = 0u; item46.Trade.Stack = 0u; item46.Trade.RequiredGlobalKey = "defeated_bonemass"; item46.Trade.Trader = Trader.None; Item item47 = new Item("wildweapons", "FringeTrimmer_CAH"); item47.Name.English("Fringe Trimmer"); item47.Description.English("Despite the low quality in material, the craftsmanship is exceptional."); item47.Crafting.Add(CraftingTable.Forge, 1); item47.RequiredItems.Add("Tin", 10); item47.RequiredItems.Add("Wood", 5); item47.RequiredItems.Add("DeerHide", 10); item47.RequiredUpgradeItems.Add("Tin", 1); item47.RequiredUpgradeItems.Add("DeerHide", 1); item47.CraftAmount = 1; item47.Trade.Price = 0u; item47.Trade.Stack = 0u; item47.Trade.RequiredGlobalKey = "defeated_bonemass"; item47.Trade.Trader = Trader.None; Item item48 = new Item("wildweapons", "RoyalAxe_CAH"); item48.Name.English("Royal Greataxe"); item48.Description.English("An axe used by the Avereign Royal guard before the kingdom's fall."); item48.Crafting.Add(CraftingTable.Forge, 1); item48.RequiredItems.Add("Bronze", 20); item48.RequiredItems.Add("BjornHide", 10); item48.RequiredItems.Add("Ruby", 10); item48.RequiredUpgradeItems.Add("BjornHide", 1); item48.RequiredUpgradeItems.Add("Ruby", 1); item48.CraftAmount = 1; item48.Trade.Price = 0u; item48.Trade.Stack = 0u; item48.Trade.RequiredGlobalKey = "defeated_bonemass"; item48.Trade.Trader = Trader.None; Item item49 = new Item("wildweapons", "Galice_CAH"); item49.Name.English("Galice"); item49.Description.English("A deadly hand scythe crafted from materials scavenged from the swamp."); item49.Crafting.Add(CraftingTable.Forge, 1); item49.RequiredItems.Add("Iron", 10); item49.RequiredItems.Add("Guck", 5); item49.RequiredItems.Add("ElderBark", 10); item49.RequiredUpgradeItems.Add("Guck", 5); item49.RequiredUpgradeItems.Add("ElderBark", 5); item49.CraftAmount = 1; item49.Trade.Price = 0u; item49.Trade.Stack = 0u; item49.Trade.RequiredGlobalKey = "defeated_bonemass"; item49.Trade.Trader = Trader.None; Item item50 = new Item("wildweapons", "FrostBearer_CAH"); item50.Name.English("Frostbearer"); item50.Description.English("A great axe once wielded by a now dead king who ruled a castle in the mountains."); item50.Crafting.Add(CraftingTable.Forge, 1); item50.RequiredItems.Add("TrophyCultist_Hildir", 1); item50.RequiredItems.Add("FreezeGland", 20); item50.RequiredItems.Add("Silver", 25); item50.RequiredUpgradeItems.Add("Silver", 5); item50.RequiredUpgradeItems.Add("FreezeGland", 5); item50.CraftAmount = 1; item50.Trade.Price = 0u; item50.Trade.Stack = 0u; item50.Trade.RequiredGlobalKey = "defeated_bonemass"; item50.Trade.Trader = Trader.None; Item item51 = new Item("wildweapons", "WaveCrusher_CAH"); item51.Name.English("Wave Crusher"); item51.Description.English("A massive anchor, who would even use this as a weapon, maybe a pirate captain?"); item51.Crafting.Add(CraftingTable.Forge, 1); item51.RequiredItems.Add("Fish5", 1); item51.RequiredItems.Add("Iron", 20); item51.RequiredItems.Add("SerpentScale", 5); item51.RequiredItems.Add("Chain", 3); item51.RequiredUpgradeItems.Add("SerpentScale", 3); item51.RequiredUpgradeItems.Add("Chain", 1); item51.CraftAmount = 1; item51.Trade.Price = 0u; item51.Trade.Stack = 0u; item51.Trade.RequiredGlobalKey = "defeated_bonemass"; item51.Trade.Trader = Trader.None; Item item52 = new Item("wildweapons", "Corruptum_CAH"); item52.Name.English("Corruptum"); item52.Description.English("A cursed axe that eats away at the minds and bodies of foes, granting vigor to its wielder."); item52.Crafting.Add(CraftingTable.Forge, 1); item52.RequiredItems.Add("Galice_CAH", 1); item52.RequiredItems.Add("TrophyGrowth", 2); item52.RequiredItems.Add("TrophySkeletonPoison", 2); item52.RequiredItems.Add("LinenThread", 10); item52.RequiredUpgradeItems.Add("LinenThread", 5); item52.RequiredUpgradeItems.Add("Guck", 5); item52.CraftAmount = 1; item52.Trade.Price = 0u; item52.Trade.Stack = 0u; item52.Trade.RequiredGlobalKey = "defeated_bonemass"; item52.Trade.Trader = Trader.None; Item item53 = new Item("wildweapons", "Fuegon_CAH"); item53.Name.English("Fuegon"); item53.Description.English("A malformed infernal axe, the result of an experiment with magic gone terribly wrong..."); item53.Crafting.Add(CraftingTable.MageTable, 1); item53.RequiredItems.Add("StaffFireball", 1); item53.RequiredItems.Add("BlackMetal", 20); item53.RequiredItems.Add("TrophySurtling", 2); item53.RequiredUpgradeItems.Add("BlackMetal", 5); item53.RequiredUpgradeItems.Add("Eitr", 5); item53.CraftAmount = 1; item53.Trade.Price = 0u; item53.Trade.Stack = 0u; item53.Trade.RequiredGlobalKey = "defeated_bonemass"; item53.Trade.Trader = Trader.None; Item item54 = new Item("wildweapons", "Titansbane_CAH"); item54.Name.English("Titansbane"); item54.Description.English("Returned from the land of the giants, the jotunn once wielded this great axe."); item54.Crafting.Add(CraftingTable.BlackForge, 1); item54.RequiredItems.Add("BattleaxeSkullSplittur", 1); item54.RequiredItems.Add("SurtlingCore", 5); item54.RequiredItems.Add("Bronze", 15); item54.RequiredItems.Add("Silver", 15); item54.RequiredUpgradeItems.Add("Bronze", 5); item54.RequiredUpgradeItems.Add("SurtlingCore", 2); item54.CraftAmount = 1; item54.Trade.Price = 0u; item54.Trade.Stack = 0u; item54.Trade.RequiredGlobalKey = "defeated_bonemass"; item54.Trade.Trader = Trader.None; Item item55 = new Item("wildweapons", "Pyroxis_CAH"); item55.Name.English("Pyroxis"); item55.Description.English("Forged of Flame and Frost, creating explosive strikes on impact, the best tree cutter around."); item55.Crafting.Add(CraftingTable.BlackForge, 1); item55.RequiredItems.Add("AxeBlackMetal", 1); item55.RequiredItems.Add("FlametalNew", 10); item55.RequiredItems.Add("FlameRune_CE", 1); item55.RequiredItems.Add("FrostRune_CE", 1); item55.RequiredUpgradeItems.Add("Crystal", 5); item55.RequiredUpgradeItems.Add("FlametalNew", 1); item55.CraftAmount = 1; item55.Trade.Price = 0u; item55.Trade.Stack = 0u; item55.Trade.RequiredGlobalKey = "defeated_bonemass"; item55.Trade.Trader = Trader.None; Item item56 = new Item("wildweapons", "Evallis_CAH"); item56.Name.English("Evallis"); item56.Description.English("Corruptum evolved, an even more sinister power lurks within, ready to viscerate your enemies."); item56.Crafting.Add(CraftingTable.BlackForge, 1); item56.RequiredItems.Add("Corruptum_CAH", 1); item56.RequiredItems.Add("TrophyFallenValkyrie", 1); item56.RequiredItems.Add("MoonSteel_CE", 10); item56.RequiredItems.Add("Bloodbag", 15); item56.RequiredUpgradeItems.Add("MoonCrystal_CE", 1); item56.RequiredUpgradeItems.Add("Bloodbag", 5); item56.CraftAmount = 1; item56.Trade.Price = 0u; item56.Trade.Stack = 0u; item56.Trade.RequiredGlobalKey = "defeated_bonemass"; item56.Trade.Trader = Trader.None; Item item57 = new Item("wildweapons", "Arken_CAH"); item57.Name.English("Arken"); item57.Description.English("The legendary greataxe Arken, crystallized with the combined power of Frostbearer and Fuegon."); item57.Crafting.Add(CraftingTable.BlackForge, 1); item57.RequiredItems.Add("Fuegon_CAH", 1); item57.RequiredItems.Add("FrostBearer_CAH", 1); item57.RequiredItems.Add("StarSteel_CE", 5); item57.RequiredItems.Add("Crystal", 30); item57.RequiredUpgradeItems.Add("FlametalNew", 5); item57.RequiredUpgradeItems.Add("Crystal", 5); item57.CraftAmount = 1; item57.Trade.Price = 0u; item57.Trade.Stack = 0u; item57.Trade.RequiredGlobalKey = "defeated_bonemass"; item57.Trade.Trader = Trader.None; Item item58 = new Item("wildweapons", "StrideBreaker_CAH"); item58.Name.English("Stridebreaker"); item58.Description.English("Break them, break them all, shatter their knees, make them kneel for you."); item58.Crafting.Add(CraftingTable.BlackForge, 1); item58.RequiredItems.Add("TrophyCharredArcher", 5); item58.RequiredItems.Add("GemstoneRed", 2); item58.RequiredItems.Add("Silver", 25); item58.RequiredItems.Add("Bronze", 25); item58.RequiredUpgradeItems.Add("Silver", 5); item58.RequiredUpgradeItems.Add("Bronze", 5); item58.CraftAmount = 1; item58.Trade.Price = 0u; item58.Trade.Stack = 0u; item58.Trade.RequiredGlobalKey = "defeated_bonemass"; item58.Trade.Trader = Trader.None; Item item59 = new Item("wildweapons", "Shatterers_CAH"); item59.Name.English("Shattersteel Axes"); item59.Description.English("Forged of icy steel, made by marauders to cut through the bones of the jotunn."); item59.Crafting.Add(CraftingTable.BlackForge, 1); item59.RequiredItems.Add("FlametalNew", 20); item59.RequiredItems.Add("DragonTear", 1); item59.RequiredItems.Add("GemstoneBlue", 1); item59.RequiredItems.Add("Silver", 10); item59.RequiredUpgradeItems.Add("Silver", 2); item59.RequiredUpgradeItems.Add("DragonTear", 1); item59.CraftAmount = 1; item59.Trade.Price = 0u; item59.Trade.Stack = 0u; item59.Trade.RequiredGlobalKey = "defeated_bonemass"; item59.Trade.Trader = Trader.None; Item item60 = new Item("wildweapons", "RoyalLance_CAH"); item60.Name.English("Royal Lance"); item60.Description.English("A lance used by the Avereign Royal guard before the kingdom's fall."); item60.Crafting.Add(CraftingTable.Forge, 1); item60.RequiredItems.Add("Bronze", 10); item60.RequiredItems.Add("BjornHide", 10); item60.RequiredItems.Add("Ruby", 10); item60.RequiredUpgradeItems.Add("BjornHide", 1); item60.RequiredUpgradeItems.Add("Ruby", 1); item60.CraftAmount = 1; item60.Trade.Price = 0u; item60.Trade.Stack = 0u; item60.Trade.RequiredGlobalKey = "defeated_bonemass"; item60.Trade.Trader = Trader.None; Item item61 = new Item("wildweapons", "Bladeshift_CAH"); item61.Name.English("Bladeshift"); item61.Description.English("A spear, or is it a sword? Regardless, it sure is deadly."); item61.Crafting.Add(CraftingTable.Forge, 1); item61.RequiredItems.Add("Iron", 10); item61.RequiredItems.Add("Bronze", 10); item61.RequiredItems.Add("BjornHide", 5); item61.RequiredUpgradeItems.Add("BjornHide", 1); item61.RequiredUpgradeItems.Add("Iron", 3); item61.CraftAmount = 1; item61.Trade.Price = 0u; item61.Trade.Stack = 0u; item61.Trade.RequiredGlobalKey = "defeated_bonemass"; item61.Trade.Trader = Trader.None; Item item62 = new Item("wildweapons", "Frostpiercer_CAH"); item62.Name.English("Frostpiercer"); item62.Description.English("A frigid and pointy spear forged from unmelting ice."); item62.Crafting.Add(CraftingTable.Forge, 1); item62.RequiredItems.Add("Silver", 15); item62.RequiredItems.Add("FreezeGland", 10); item62.RequiredItems.Add("TrophyWolf", 1); item62.RequiredUpgradeItems.Add("Silver", 5); item62.RequiredUpgradeItems.Add("FreezeGland", 2); item62.CraftAmount = 1; item62.Trade.Price = 0u; item62.Trade.Stack = 0u; item62.Trade.RequiredGlobalKey = "defeated_bonemass"; item62.Trade.Trader = Trader.None; Item item63 = new Item("wildweapons", "SolsticeSpear_CAH"); item63.Name.English("Solstice Spear"); item63.Description.English("A forgotten relic of a bygone past, use it with care."); item63.Crafting.Add(CraftingTable.Forge, 1); item63.RequiredItems.Add("Bronze", 20); item63.RequiredItems.Add("LinenThread", 10); item63.RequiredItems.Add("StarCrystal_CE", 1); item63.RequiredItems.Add("TrophyGoblinBruteBrosShaman", 1); item63.RequiredUpgradeItems.Add("Bronze", 3); item63.RequiredUpgradeItems.Add("LinenThread", 3); item63.CraftAmount = 1; item63.Trade.Price = 0u; item63.Trade.Stack = 0u; item63.Trade.RequiredGlobalKey = "defeated_bonemass"; item63.Trade.Trader = Trader.None; Item item64 = new Item("wildweapons", "Solemnity_CAH"); item64.Name.English("Solemnity"); item64.Description.English("Harrowing, yet beautifully distinct, it will tear through your foes with ease."); item64.Crafting.Add(CraftingTable.BlackForge, 1); item64.RequiredItems.Add("SpearCarapace", 1); item64.RequiredItems.Add("Crystal", 5); item64.RequiredItems.Add("Bronze", 5); item64.RequiredUpgradeItems.Add("Crystal", 2); item64.RequiredUpgradeItems.Add("Bronze", 2); item64.CraftAmount = 1; item64.Trade.Price = 0u; item64.Trade.Stack = 0u; item64.Trade.RequiredGlobalKey = "defeated_bonemass"; item64.Trade.Trader = Trader.None; Item item65 = new Item("wildweapons", "SunPiercer_CAH"); item65.Name.English("Sunpiercer"); item65.Description.English("A magestic and legendary spear, said to once be used by a god to spear the very sun from the sky."); item65.Crafting.Add(CraftingTable.BlackForge, 1); item65.RequiredItems.Add("SolsticeSpear_CAH", 1); item65.RequiredItems.Add("MoltenCore", 5); item65.RequiredItems.Add("StarSteel_CE", 5); item65.RequiredItems.Add("TrophySkeletonHildir", 1); item65.RequiredUpgradeItems.Add("MoltenCore", 1); item65.RequiredUpgradeItems.Add("StarCrystal_CE", 1); item65.CraftAmount = 1; item65.Trade.Price = 0u; item65.Trade.Stack = 0u; item65.Trade.RequiredGlobalKey = "defeated_bonemass"; item65.Trade.Trader = Trader.None; Item item66 = new Item("wildweapons", "RoyalAtgeir_CAH"); item66.Name.English("Royal Atgeir"); item66.Description.English("An atgeir used by the Avereign Royal guard before the kingdom's fall."); item66.Crafting.Add(CraftingTable.Forge, 1); item66.RequiredItems.Add("Bronze", 20); item66.RequiredItems.Add("BjornHide", 10); item66.RequiredItems.Add("Ruby", 10); item66.RequiredUpgradeItems.Add("BjornHide", 1); item66.RequiredUpgradeItems.Add("Ruby", 1); item66.CraftAmount = 1; item66.Trade.Price = 0u; item66.Trade.Stack = 0u; item66.Trade.RequiredGlobalKey = "defeated_bonemass"; item66.Trade.Trader = Trader.None; Item item67 = new Item("wildweapons", "RoyalScythe_CAH"); item67.Name.English("Royal Scythe"); item67.Description.English("A scythe used by the Avereign Royal guard before the kingdom's fall."); item67.Crafting.Add(CraftingTable.Forge, 1); item67.RequiredItems.Add("Bronze", 20); item67.RequiredItems.Add("BjornHide", 10); item67.RequiredItems.Add("Ruby", 10); item67.RequiredUpgradeItems.Add("BjornHide", 1); item67.RequiredUpgradeItems.Add("Ruby", 1); item67.CraftAmount = 1; item67.Trade.Price = 0u; item67.Trade.Stack = 0u; item67.Trade.RequiredGlobalKey = "defeated_bonemass"; item67.Trade.Trader = Trader.None; Item item68 = new Item("wildweapons", "Ephemerance_CAH"); item68.Name.English("Ephemerance"); item68.Description.English("A ghostly glaive that has the ability to make one intangible for a short period of time."); item68.Crafting.Add(CraftingTable.Forge, 1); item68.RequiredItems.Add("TrophyGhost", 1); item68.RequiredItems.Add("Iron", 20); item68.RequiredItems.Add("Ectoplasm", 10); item68.RequiredUpgradeItems.Add("Iron", 3); item68.RequiredUpgradeItems.Add("Ectoplasm", 1); item68.CraftAmount = 1; item68.Trade.Price = 0u; item68.Trade.Stack = 0u; item68.Trade.RequiredGlobalKey = "defeated_bonemass"; item68.Trade.Trader = Trader.None; Item item69 = new Item("wildweapons", "Frostclash_CAH"); item69.Name.English("Frostclash"); item69.Description.English("A frosty and lethal scythe forged from unmelting ice."); item69.Crafting.Add(CraftingTable.Forge, 1); item69.RequiredItems.Add("Silver", 20); item69.RequiredItems.Add("FreezeGland", 10); item69.RequiredItems.Add("TrophyHatchling", 1); item69.RequiredUpgradeItems.Add("Silver", 5); item69.RequiredUpgradeItems.Add("FreezeGland", 2); item69.CraftAmount = 1; item69.Trade.Price = 0u; item69.Trade.Stack = 0u; item69.Trade.RequiredGlobalKey = "defeated_bonemass"; item69.Trade.Trader = Trader.None; Item item70 = new Item("wildweapons", "FearNaught_CAH"); item70.Name.English("Fearnaught"); item70.Description.English("A vile scythe that has reaped the lives of many, will you use it? or will it use you?"); item70.Crafting.Add(CraftingTable.Forge, 1); item70.RequiredItems.Add("TrophyGoblinShaman", 1); item70.RequiredItems.Add("BlackMetal", 20); item70.RequiredItems.Add("AtgeirBlackmetal", 5); item70.RequiredUpgradeItems.Add("BlackMetal", 5); item70.RequiredUpgradeItems.Add("TrophyGoblinShaman", 1); item70.CraftAmount = 1; item70.Trade.Price = 0u; item70.Trade.Stack = 0u; item70.Trade.RequiredGlobalKey = "defeated_bonemass"; item70.Trade.Trader = Trader.None; Item item71 = new Item("wildweapons", "DemonVane_CAH"); item71.Name.English("Demonvane"); item71.Description.English("An insidious spear that gives off a woeful aura..."); item71.Crafting.Add(CraftingTable.BlackForge, 1); item71.RequiredItems.Add("AtgeirHimminAfl", 1); item71.RequiredItems.Add("BlackMetal", 15); item71.RequiredItems.Add("BlackCore", 5); item71.RequiredItems.Add("TrophyDvergr", 1); item71.RequiredUpgradeItems.Add("BlackMetal", 5); item71.RequiredUpgradeItems.Add("BlackCore", 1); item71.CraftAmount = 1; item71.Trade.Price = 0u; item71.Trade.Stack = 0u; item71.Trade.RequiredGlobalKey = "defeated_bonemass"; item71.Trade.Trader = Trader.None; Item item72 = new Item("wildweapons", "CryonicReach_CAH"); item72.Name.English("Cryonic Reach"); item72.Description.English("Ice cold and deadly, this scythe will cause crystals to infiltrate the bodies of your foes."); item72.Crafting.Add(CraftingTable.BlackForge, 1); item72.RequiredItems.Add("FearNaught_CAH", 1); item72.RequiredItems.Add("Frostclash_CAH", 1); item72.RequiredItems.Add("FlametalNew", 20); item72.RequiredItems.Add("DragonTear", 5); item72.RequiredUpgradeItems.Add("FlametalNew", 5); item72.RequiredUpgradeItems.Add("DragonTear", 1); item72.CraftAmount = 1; item72.Trade.Price = 0u; item72.Trade.Stack = 0u; item72.Trade.RequiredGlobalKey = "defeated_bonemass"; item72.Trade.Trader = Trader.None; Item item73 = new Item("wildweapons", "Malevolence_CAH"); item73.Name.English("Malevolence"); item73.Description.English("A great magic lance made of ancient evil bones, capable of firing deadly projectiles at the cost of the wielder's life."); item73.Crafting.Add(CraftingTable.BlackForge, 1); item73.RequiredItems.Add("TrophySeekerQueen", 1); item73.RequiredItems.Add("StaffSkeleton", 1); item73.RequiredItems.Add("UndeadBjornRibcage", 15); item73.RequiredItems.Add("BonemawSerpentTooth", 10); item73.RequiredUpgradeItems.Add("UndeadBjornRibcage", 1); item73.RequiredUpgradeItems.Add("BonemawSerpentTooth", 5); item73.CraftAmount = 1; item73.Trade.Price = 0u; item73.Trade.Stack = 0u; item73.Trade.RequiredGlobalKey = "defeated_bonemass"; item73.Trade.Trader = Trader.None; Item item74 = new Item("wildweapons", "SoulShear_CAH"); item74.Name.English("Soulshear"); item74.Description.English("A sinister sickle made from cheap metal and some spiritual materials."); item74.Crafting.Add(CraftingTable.Forge, 1); item74.RequiredItems.Add("Copper", 5); item74.RequiredItems.Add("Ectoplasm", 5); item74.RequiredItems.Add("RoundLog", 1); item74.RequiredUpgradeItems.Add("Copper", 1); item74.RequiredUpgradeItems.Add("Ectoplasm", 1); item74.CraftAmount = 1; item74.Trade.Price = 0u; item74.Trade.Stack = 0u; item74.Trade.RequiredGlobalKey = "defeated_bonemass"; item74.Trade.Trader = Trader.None; Item item75 = new Item("wildweapons", "GospelSong_CAH"); item75.Name.English("Gospelsong"); item75.Description.English("An ornate gothic dagger forged of iron."); item75.Crafting.Add(CraftingTable.Forge, 1); item75.RequiredItems.Add("Iron", 10); item75.RequiredItems.Add("Root", 2); item75.RequiredItems.Add("LeatherScraps", 5); item75.RequiredUpgradeItems.Add("Iron", 1); item75.RequiredUpgradeItems.Add("Root", 1); item75.CraftAmount = 1; item75.Trade.Price = 0u; item75.Trade.Stack = 0u; item75.Trade.RequiredGlobalKey = "defeated_bonemass"; item75.Trade.Trader = Trader.None; Item item76 = new Item("wildweapons", "Heatscar_CAH"); item76.Name.English("Heatscar"); item76.Description.English("A crude blade forged of iron and fire, perhaps someday it can be something more..."); item76.Crafting.Add(CraftingTable.Forge, 1); item76.RequiredItems.Add("Iron", 10); item76.RequiredItems.Add("SurtlingCore", 2); item76.RequiredItems.Add("TrophySurtling", 1); item76.RequiredUpgradeItems.Add("Iron", 3); item76.RequiredUpgradeItems.Add("SurtlingCore", 1); item76.CraftAmount = 1; item76.Trade.Price = 0u; item76.Trade.Stack = 0u; item76.Trade.RequiredGlobalKey = "defeated_bonemass"; item76.Trade.Trader = Trader.None; Item item77 = new Item("wildweapons", "SeaSong_CAH"); item77.Name.English("Sea Song"); item77.Description.English("A jagged dagger forged from various ocean materials, you can almost hear the ocean..."); item77.Crafting.Add(CraftingTable.Forge, 1); item77.RequiredItems.Add("FineWood", 5); item77.RequiredItems.Add("SerpentScale", 5); item77.RequiredItems.Add("Crystal", 10); item77.RequiredUpgradeItems.Add("SerpentScale", 1); item77.RequiredUpgradeItems.Add("Crystal", 1); item77.CraftAmount = 1; item77.Trade.Price = 0u; item77.Trade.Stack = 0u; item77.Trade.RequiredGlobalKey = "defeated_bonemass"; item77.Trade.Trader = Trader.None; Item item78 = new Item("wildweapons", "Suppressor_CAH"); item78.Name.English("Suppressor"); item78.Description.English("A dagger designed for defense rather than offense."); item78.Crafting.Add(CraftingTable.Forge, 1); item78.RequiredItems.Add("Iron", 10); item78.RequiredItems.Add("Guck", 10); item78.RequiredItems.Add("TrophyDraugrElite", 1); item78.RequiredUpgradeItems.Add("Iron", 3); item78.RequiredUpgradeItems.Add("Guck", 3); item78.CraftAmount = 1; item78.Trade.Price = 0u; item78.Trade.Stack = 0u; item78.Trade.RequiredGlobalKey = "defeated_bonemass"; item78.Trade.Trader = Trader.None; Item item79 = new Item("wildweapons", "Fanatica_CAH"); item79.Name.English("Fanatica"); item79.Description.English("An ornate dagger used in cultist rituals, extended use may drive the wearer mad..."); item79.Crafting.Add(CraftingTable.Forge, 1); item79.RequiredItems.Add("KnifeSilver", 1); item79.RequiredItems.Add("TrophyUlv", 2); item79.RequiredItems.Add("Ectoplasm", 5); item79.RequiredUpgradeItems.Add("Silver", 3); item79.RequiredUpgradeItems.Add("Ectoplasm", 1); item79.CraftAmount = 1; item79.Trade.Price = 0u; item79.Trade.Stack = 0u; item79.Trade.RequiredGlobalKey = "defeated_bonemass"; item79.Trade.Trader = Trader.None; Item item80 = new Item("wildweapons", "Angelcutter_CAH"); item80.Name.English("Angelcutter"); item80.Description.English("A blasphemous dagger that was once used to murder an angel."); item80.Crafting.Add(CraftingTable.Forge, 1); item80.RequiredItems.Add("Silver", 10); item80.RequiredItems.Add("Obsidian", 10); item80.RequiredItems.Add("TrophyHatchling", 1); item80.RequiredUpgradeItems.Add("Silver", 3); item80.RequiredUpgradeItems.Add("Obsidian", 3); item80.CraftAmount = 1; item80.Trade.Price = 0u; item80.Trade.Stack = 0u; item80.Trade.RequiredGlobalKey = "defeated_bonemass"; item80.Trade.Trader = Trader.None; Item item81 = new Item("wildweapons", "DevilThorn_CAH"); item81.Name.English("Devil's Thorn"); item81.Description.English("A magic-forged dagger said to be capable of cutting through even iron."); item81.Crafting.Add(CraftingTable.BlackForge, 1); item81.RequiredItems.Add("Fanatica_CAH", 1); item81.RequiredItems.Add("GiantBloodSack", 10); item81.RequiredItems.Add("YagluthDrop", 1); item81.RequiredUpgradeItems.Add("Silver", 5); item81.RequiredUpgradeItems.Add("GiantBloodSack", 5); item81.CraftAmount = 1; item81.Trade.Price = 0u; item81.Trade.Stack = 0u; item81.Trade.RequiredGlobalKey = "defeated_bonemass"; item81.Trade.Trader = Trader.None; Item item82 = new Item("wildweapons", "QueenSlayer_CAH"); item82.Name.English("QueenSlayer"); item82.Description.English("A powerful Dagger, made from the bloody might of the Seeker Queen herself."); item82.Crafting.Add(CraftingTable.BlackForge, 1); item82.RequiredItems.Add("TrophySeekerQueen", 1); item82.RequiredItems.Add("Ruby", 10); item82.RequiredItems.Add("Bronze", 10); item82.RequiredUpgradeItems.Add("Bronze", 3); item82.RequiredUpgradeItems.Add("Ruby", 3); item82.CraftAmount = 1; item82.Trade.Price = 0u; item82.Trade.Stack = 0u; item82.Trade.RequiredGlobalKey = "defeated_bonemass"; item82.Trade.Trader = Trader.None; Item item83 = new Item("wildweapons", "Regalia_CAH"); item83.Name.English("Regalia"); item83.Description.English("A regal and deadly dagger that was once used to kill a great king."); item83.Crafting.Add(CraftingTable.BlackForge, 1); item83.RequiredItems.Add("QueenSlayer_CAH", 1); item83.RequiredItems.Add("GemstoneBlue", 3); item83.RequiredItems.Add("StarSteel_CE", 5); item83.RequiredItems.Add("MorgenSinew", 10); item83.RequiredUpgradeItems.Add("StarCrystal_CE", 1); item83.RequiredUpgradeItems.Add("MorgenSinew", 2); item83.CraftAmount = 1; item83.Trade.Price = 0u; item83.Trade.Stack = 0u; item83.Trade.RequiredGlobalKey = "defeated_bonemass"; item83.Trade.Trader = Trader.None; Item item84 = new Item("wildweapons", "TwinEyes_CAH"); item84.Name.English("Elegant Eyes"); item84.Description.English("An ornate pair of daggers, sleek and elegant, and extremely sharp."); item84.Crafting.Add(CraftingTable.BlackForge, 1); item84.RequiredItems.Add("Silver", 10); item84.RequiredItems.Add("FlametalNew", 10); item84.RequiredItems.Add("DragonTear", 2); item84.RequiredItems.Add("KnifeSkollAndHati", 1); item84.RequiredUpgradeItems.Add("Silver", 5); item84.RequiredUpgradeItems.Add("DragonTear", 1); item84.CraftAmount = 1; item84.Trade.Price = 0u; item84.Trade.Stack = 0u; item84.Trade.RequiredGlobalKey = "defeated_bonemass"; Item item85 = new Item("wildweapons", "Regulator_CAH"); item85.Name.English("Regulator"); item85.Description.English("Throughout countless battles, Regulator has never failed to deflect a blade. -Perfectly parrying grants a boost to regen, armor, and damage."); item85.Crafting.Add(CraftingTable.BlackForge, 1); item85.RequiredItems.Add("TrophyCharredMelee", 2); item85.RequiredItems.Add("FlametalNew", 10); item85.RequiredItems.Add("GemstoneRed", 1); item85.RequiredUpgradeItems.Add("FlametalNew", 5); item85.RequiredUpgradeItems.Add("GemstoneRed", 1); item85.CraftAmount = 1; item85.Trade.Price = 0u; item85.Trade.Stack = 0u; item85.Trade.RequiredGlobalKey = "defeated_bonemass"; item85.Trade.Trader = Trader.None; Item item86 = new Item("wildweapons", "Auretia_CAH"); item86.Name.English("Auretia"); item86.Description.English("Elegant, sleek, some would even say divine, may this blade deflect the blows of any filthy beings that stand beneath you."); item86.Crafting.Add(CraftingTable.BlackForge, 1); item86.RequiredItems.Add("Suppressor_CAH", 1); item86.RequiredItems.Add("FlametalNew", 15); item86.RequiredItems.Add("TrophyFallenValkyrie", 1); item86.RequiredItems.Add("GemstoneRed", 1); item86.RequiredUpgradeItems.Add("FlametalNew", 3); item86.RequiredUpgradeItems.Add("CelestialFeather", 3); item86.CraftAmount = 1; item86.Trade.Price = 0u; item86.Trade.Stack = 0u; item86.Trade.RequiredGlobalKey = "defeated_bonemass"; item86.Trade.Trader = Trader.None; Item item87 = new Item("wildweapons", "RoyalBow_CAH"); item87.Name.English("Royal Bow"); item87.Description.English("A bow used by the Avereign Royal archers before the kingdom's fall."); item87.Crafting.Add(CraftingTable.Workbench, 1); item87.RequiredItems.Add("Bronze", 15); item87.RequiredItems.Add("BjornHide", 10); item87.RequiredItems.Add("Ruby", 10); item87.RequiredUpgradeItems.Add("BjornHide", 1); item87.RequiredUpgradeItems.Add("Ruby", 1); item87.CraftAmount = 1; item87.Trade.Price = 0u; item87.Trade.Stack = 0u; item87.Trade.RequiredGlobalKey = "defeated_bonemass"; item87.Trade.Trader = Trader.None; Item item88 = new Item("wildweapons", "SkullStrike_CAH"); item88.Name.English("Skullstrike"); item88.Description.English("Crafted of the skulls and bones of your enemies, tear them apart with deadly arrows."); item88.Crafting.Add(CraftingTable.Workbench, 1); item88.RequiredItems.Add("Iron", 15); item88.RequiredItems.Add("ElderBark", 15); item88.RequiredItems.Add("TrophyDraugrElite", 1); item88.RequiredUpgradeItems.Add("Iron", 3); item88.RequiredUpgradeItems.Add("ElderBark", 2); item88.CraftAmount = 1; item88.Trade.Price = 0u; item88.Trade.Stack = 0u; item88.Trade.RequiredGlobalKey = "defeated_bonemass"; item88.Trade.Trader = Trader.None; Item item89 = new Item("wildweapons", "Sentinel_CAH"); item89.Name.English("Sentinel"); item89.Description.English("A sturdy bow made from a silver-iron alloy, its tough enough to block with."); item89.Crafting.Add(CraftingTable.Forge, 1); item89.RequiredItems.Add("Iron", 15); item89.RequiredItems.Add("Silver", 15); item89.RequiredItems.Add("Ruby", 10); item89.RequiredUpgradeItems.Add("Iron", 5); item89.RequiredUpgradeItems.Add("Silver", 5); item89.CraftAmount = 1; item89.Trade.Price = 0u; item89.Trade.Stack = 0u; item89.Trade.RequiredGlobalKey = "defeated_bonemass"; item89.Trade.Trader = Trader.None; Item item90 = new Item("wildweapons", "Skivanti_CAH"); item90.Name.English("Skivanti"); item90.Description.English("A mechanical greatbow made to fire high speed arrows."); item90.Crafting.Add(CraftingTable.Workbench, 1); item90.RequiredItems.Add("Silver", 15); item90.RequiredItems.Add("Bronze", 15); item90.RequiredItems.Add("DragonTear", 5); item90.RequiredUpgradeItems.Add("Silver", 5); item90.RequiredUpgradeItems.Add("DragonTear", 1); item90.CraftAmount = 1; item90.Trade.Price = 0u; item90.Trade.Stack = 0u; item90.Trade.RequiredGlobalKey = "defeated_bonemass"; item90.Trade.Trader = Trader.None; Item item91 = new Item("wildweapons", "Vecta_CAH"); item91.Name.English("Vecta"); item91.Description.English("A strong bow forged from the tough carapace of seekers."); item91.Crafting.Add(CraftingTable.BlackForge, 1); item91.RequiredItems.Add("TrophySeekerBrute", 1); item91.RequiredItems.Add("BlackMetal", 25); item91.RequiredItems.Add("Mandible", 10); item91.RequiredUpgradeItems.Add("BlackMetal", 5); item91.RequiredUpgradeItems.Add("Mandible", 1); item91.CraftAmount = 1; item91.Trade.Price = 0u; item91.Trade.Stack = 0u; item91.Trade.RequiredGlobalKey = "defeated_bonemass"; item91.Trade.Trader = Trader.None; Item item92 = new Item("wildweapons", "Astarte_CAH"); item92.Name.English("Astarte"); item92.Description.English("Holy bow Astarte, one wielded by a heroic archer."); item92.Crafting.Add(CraftingTable.BlackForge, 1); item92.RequiredItems.Add("BowDraugrFang", 1); item92.RequiredItems.Add("Eitr", 25); item92.RequiredItems.Add("Silver", 15); item92.RequiredItems.Add("TrophySeeker", 5); item92.RequiredUpgradeItems.Add("Silver", 5); item92.RequiredUpgradeItems.Add("Eitr", 5); item92.CraftAmount = 1; item92.Trade.Price = 0u; item92.Trade.Stack = 0u; item92.Trade.RequiredGlobalKey = "defeated_bonemass"; item92.Trade.Trader = Trader.None; Item item93 = new Item("wildweapons", "DragonBow_CAH"); item93.Name.English("Dragonscale Bow"); item93.Description.English("A greatbow made in the image of a dragon, it does not require arrows, but demands great willpower to produce an arrow"); item93.Crafting.Add(CraftingTable.BlackForge, 1); item93.RequiredItems.Add("TrophyBonemawSerpent", 1); item93.RequiredItems.Add("TrophySurtling", 2); item93.RequiredItems.Add("FlametalNew", 15); item93.RequiredItems.Add("SerpentScale", 15); item93.RequiredUpgradeItems.Add("FlametalNew", 5); item93.RequiredUpgradeItems.Add("SurtlingCore", 1); item93.CraftAmount = 1; item93.Trade.Price = 0u; item93.Trade.Stack = 0u; item93.Trade.RequiredGlobalKey = "defeated_bonemass"; item93.Trade.Trader = Trader.None; Item item94 = new Item("wildweapons", "Nocturata_CAH"); item94.Name.English("Nocturata"); item94.Description.English("Dark, sleek, and deadly, this bow craves blood."); item94.Crafting.Add(CraftingTable.BlackForge, 1); item94.RequiredItems.Add("TrophyFallenValkyrie", 2); item94.RequiredItems.Add("BowSpineSnap", 1); item94.RequiredItems.Add("GemstoneRed", 1); item94.RequiredItems.Add("Feathers", 30); item94.RequiredUpgradeItems.Add("FlametalNew", 3); item94.RequiredUpgradeItems.Add("Feathers", 10); item94.CraftAmount = 1; item94.Trade.Price = 0u; item94.Trade.Stack = 0u; item94.Trade.RequiredGlobalKey = "defeated_bonemass"; item94.Trade.Trader = Trader.None; Item item95 = new Item("wildweapons", "Sieglinde_CAH"); item95.Name.English("Sieglinde"); item95.Description.English("A legendary greatbow, capable of loosing deadly arrows at insane speeds."); item95.Crafting.Add(CraftingTable.BlackForge, 1); item95.RequiredItems.Add("Astarte_CAH", 1); item95.RequiredItems.Add("Vecta_CAH", 1); item95.RequiredItems.Add("Wisp", 5); item95.RequiredItems.Add("StarSteel_CE", 10); item95.RequiredUpgradeItems.Add("Eitr", 5); item95.RequiredUpgradeItems.Add("Wisp", 3); item95.CraftAmount = 1; item95.Trade.Price = 0u; item95.Trade.Stack = 0u; item95.Trade.RequiredGlobalKey = "defeated_bonemass"; item95.Trade.Trader = Trader.None; Item item96 = new Item("wildweapons", "RoyalShield_CAH"); item96.Name.English("Royal Shield"); item96.Description.English("A shield used by the Avereign royal guard before the kingdom's fall."); item96.Crafting.Add(CraftingTable.Forge, 1); item96.RequiredItems.Add("Bronze", 25); item96.RequiredItems.Add("TrophyBjorn", 1); item96.RequiredItems.Add("Ruby", 10); item96.RequiredUpgradeItems.Add("BjornHide", 2); item96.RequiredUpgradeItems.Add("Ruby", 2); item96.CraftAmount = 1; item96.Trade.Price = 0u; item96.Trade.Stack = 0u; item96.Trade.RequiredGlobalKey = "defeated_bonemass"; item96.Trade.Trader = Trader.None; Item item97 = new Item("wildweapons", "RedMoon_CAH"); item97.Name.English("Red Moon"); item97.Description.English("A strange red shield that depicts a moon and a star, perhaps it is cursed..."); item97.Crafting.Add(CraftingTable.Forge, 1); item97.RequiredItems.Add("Ruby", 10); item97.RequiredItems.Add("Iron", 30); item97.RequiredItems.Add("Guck", 15); item97.RequiredUpgradeItems.Add("Guck", 2); item97.RequiredUpgradeItems.Add("Iron", 5); item97.CraftAmount = 1; item97.Trade.Price = 0u; item97.Trade.Stack = 0u; item97.Trade.RequiredGlobalKey = "defeated_bonemass"; item97.Trade.Trader = Trader.None; Item item98 = new Item("wildweapons", "Demora_CAH"); item98.Name.English("Demora"); item98.Description.English("Counterpart shield to Corruptum, it bolsters its strength"); item98.Crafting.Add(CraftingTable.Forge, 1); item98.RequiredItems.Add("BlackMetal", 25); item98.RequiredItems.Add("TrophyGoblin", 5); item98.RequiredItems.Add("Guck", 10); item98.RequiredUpgradeItems.Add("BlackMetal", 5); item98.RequiredUpgradeItems.Add("Guck", 5); item98.CraftAmount = 1; item98.Trade.Price = 0u; item98.Trade.Stack = 0u; item98.Trade.RequiredGlobalKey = "defeated_bonemass"; item98.Trade.Trader = Trader.None; Item item99 = new Item("wildweapons", "KingsGuard_CAH"); item99.Name.English("King's Guard"); item99.Description.English("A true royal shield fit for a king! -Landing a perfect parry with this shield will grant you health, stamina, and armor for a short burst."); item99.Crafting.Add(CraftingTable.Forge, 1); item99.RequiredItems.Add("RoyalShield_CAH", 1); item99.RequiredItems.Add("Silver", 20); item99.RequiredItems.Add("LinenThread", 15); item99.RequiredUpgradeItems.Add("Silver", 5); item99.RequiredUpgradeItems.Add("LinenThread", 5); item99.CraftAmount = 1; item99.Trade.Price = 0u; item99.Trade.Stack = 0u; item99.Trade.RequiredGlobalKey = "defeated_bonemass"; item99.Trade.Trader = Trader.None; Item item100 = new Item("wildweapons", "Crystalis_CAH"); item100.Name.English("Crystalis"); item100.Description.English("With Moder's frigid power, this shield is made possible."); item100.Crafting.Add(CraftingTable.Forge, 1); item100.RequiredItems.Add("TrophyDragonQueen", 1); item100.RequiredItems.Add("Crystal", 25); item100.RequiredItems.Add("Silver", 25); item100.RequiredUpgradeItems.Add("FreezeGland", 5); item100.RequiredUpgradeItems.Add("Silver", 5); item100.CraftAmount = 1; item100.Trade.Price = 0u; item100.Trade.Stack = 0u; item100.Trade.RequiredGlobalKey = "defeated_bonemass"; item100.Trade.Trader = Trader.None; Item item101 = new Item("wildweapons", "DragonscaleShield_CAH"); item101.Name.English("Dragonscale Shield"); item101.Description.English("With every perfect parry, you gain a fiery boon."); item101.Crafting.Add(CraftingTable.BlackForge, 1); item101.RequiredItems.Add("TrophyBonemawSerpent", 1); item101.RequiredItems.Add("TrophySurtling", 2); item101.RequiredItems.Add("FlametalNew", 15); item101.RequiredItems.Add("BonemawSerpentTooth", 15); item101.RequiredUpgradeItems.Add("FreezeGland", 5); item101.RequiredUpgradeItems.Add("Silver", 5); item101.CraftAmount = 1; item101.Trade.Price = 0u; item101.Trade.Stack = 0u; item101.Trade.RequiredGlobalKey = "defeated_bonemass"; item101.Trade.Trader = Trader.None; Item item102 = new Item("wildweapons", "Rerederum_CAH"); item102.Name.English("Rerederum"); item102.Description.English("An evil and powerful shield, bursting with demonic energy."); item102.Crafting.Add(CraftingTable.BlackForge, 1); item102.RequiredItems.Add("Demora_CAH", 1); item102.RequiredItems.Add("MoonSteel_CE", 10); item102.RequiredItems.Add("TrophyCharredMage", 1); item102.RequiredItems.Add("Bloodbag", 15); item102.RequiredUpgradeItems.Add("MoonCrystal_CE", 1); item102.RequiredUpgradeItems.Add("Bloodbag", 5); item102.CraftAmount = 1; item102.Trade.Price = 0u; item102.Trade.Stack = 0u; item102.Trade.RequiredGlobalKey = "defeated_bonemass"; item102.Trade.Trader = Trader.None; PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "Projectile_BlossomSlash"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "projectile_Solstice"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "Projectile_SpineShard"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "projectile_Sunpiercer"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "projectile_dragonbow"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "Projectile_SoulthiefSlash"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "projectile_Frostpiercer"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "projectile_Solemnity"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "projectile_Bladeshift"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "Projectile_GalacticSlash"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "projectile_Sunball"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "projectile_ConflagBall"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_Conflaghit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_WaterSploosh"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_StrikeClang"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_Arkenshatter"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_fleshrip"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_SunpierceHit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_ClashingHit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_samuraislash"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_GhostlyHauntings"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_SliceHit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_explosion1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_explosion2"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_Rend"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_Fleshstab"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_zap23"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "sfx_galaxyhit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksFire"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_BlockofThorns"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_BowfireSilver"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_SolsticeHit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_BowfireFire"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksGoldenIce"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_silvergoldblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_SunSeared"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksIce"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_PyroxBoom1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_redexplosion"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_holyhit4"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_PyroxBoom"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksWater"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Bubblehit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_ScorchingStars"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_GalacticStrikeBasic"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_DemonicAura"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_DivineBlock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksGhost"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_GhostBlock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksStormDragon"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockStormDragon"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_SuperZapProc"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_LightningDragon"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparks2"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_CorpseSlam"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Sunhit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_ReaverSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksRegalia"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Spinehit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksQueen"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_CorruptumHit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_BrokenAura"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_SpineSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_FrigidCut"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Frost1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Crownblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_BowfireShimmer"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_gleamblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Mortalweaponhit1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Holyhit1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockjade"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_clubhit3"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksAstralis"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_enhancedfire"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_FrigidCutSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_IceCurse"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksCorundum"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_AgarethBlock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_soulthiefblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Legendbow"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksNature"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_BlackArrowFire"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_AvrinnBlock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksEsterra"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockedblacked"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_RuptureSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockFanatica"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_durandalhit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_lightningdaveSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_SpiritBurn"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_mountaincleavehit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Agarethhitspecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparks1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_ViridBurn"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockedlegend"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_goldblock1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_BowfireVecta"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_petalblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Slimed1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_DeusSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_CrownHit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_holyhit3"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksAvrinnRed"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_deusnormal"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_AvrinnSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_BlossomFlux"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_daveblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_silvermace_hit1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_skivantifire"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_RegaliaSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_StargleamHit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_AstarteBowFire"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_LightningDemonic"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_demonvane_special"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksGold"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_petalweaponhit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksRupture"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Esterrablock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_silverblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksAngel"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_AngelBlock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_DurandalSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_demonvaneblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_CorundumNewSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockArken"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_corruptBlock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockedSpine"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_holyhit2"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_soulshardhit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_astralblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_lightningdave"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockenhanced1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_ConflagrateSpecial"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_StrideBreakerhit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Arkenhit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_iceshard_hit1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_demonvane_basic"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksFanatica"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksAvrinn"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_QueenStab"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksEnhanced"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_blockenhanced"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_Titanhit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_soulburn"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksSoul"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_reaverblock1"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksSilver"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_ArondightHit"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_CorruptBurn"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_HitSparksBone"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_flameblock"); PrefabManager.RegisterPrefab(PrefabManager.RegisterAssetBundle("wildweapons"), "vfx_EvallisHit"); Assembly executingAssembly = Assembly.GetExecutingAssembly(); _harmony.PatchAll(executingAssembly); SetupWatcher(); } private void OnDestroy() { ((BaseUnityPlugin)this).Config.Save(); } private void SetupWatcher() { FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(Paths.ConfigPath, ConfigFileName); fileSystemWatcher.Changed += ReadConfigValues; fileSystemWatcher.Created += ReadConfigValues; fileSystemWatcher.Renamed += ReadConfigValues; fileSystemWatcher.IncludeSubdirectories = true; fileSystemWatcher.SynchronizingObject = ThreadingHelper.SynchronizingObject; fileSystemWatcher.EnableRaisingEvents = true; } private void ReadConfigValues(object sender, FileSystemEventArgs e) { if (!File.Exists(ConfigFileFullPath)) { return; } try { WildWeaponsLogger.LogDebug((object)"ReadConfigValues called"); ((BaseUnityPlugin)this).Config.Reload(); } catch { WildWeaponsLogger.LogError((object)("There was an issue loading your " + ConfigFileName)); WildWeaponsLogger.LogError((object)"Please check your config entries for spelling and format!"); } } private ConfigEntry<T> config<[<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nullable(2)] T>(string group, string name, T value, ConfigDescription description, bool synchronizedSetting = true) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected O, but got Unknown ConfigDescription val = new ConfigDescription(description.Description + (synchronizedSetting ? " [Synced with Server]" : " [Not Synced with Server]"), description.AcceptableValues, description.Tags); ConfigEntry<T> val2 = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, val); SyncedConfigEntry<T> syncedConfigEntry = ConfigSync.AddConfigEntry<T>(val2); syncedConfigEntry.SynchronizedConfig = synchronizedSetting; return val2; } private ConfigEntry<T> config<[<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nullable(2)] T>(string group, string name, T value, string description, bool synchronizedSetting = true) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected O, but got Unknown return config(group, name, value, new ConfigDescription(description, (AcceptableValueBase)null, Array.Empty<object>()), synchronizedSetting); } static WildWeaponsPlugin() { string configPath = Paths.ConfigPath; char directorySeparatorChar = Path.DirectorySeparatorChar; ConfigFileFullPath = configPath + directorySeparatorChar + ConfigFileName; ConnectionError = ""; WildWeaponsLogger = Logger.CreateLogSource("WildWeapons"); ConfigSync = new ConfigSync("catharis.WildWeapons") { DisplayName = "WildWeapons", CurrentVersion = "2.4.0", MinimumRequiredVersion = "2.4.0" }; _serverConfigLocked = null; _recipeIsActiveConfig = null; } } public static class KeyboardExtensions { public static bool IsKeyDown(this KeyboardShortcut shortcut) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) return (int)((KeyboardShortcut)(ref shortcut)).MainKey != 0 && Input.GetKeyDown(((KeyboardShortcut)(ref shortcut)).MainKey) && ((KeyboardShortcut)(ref shortcut)).Modifiers.All((Func<KeyCode, bool>)Input.GetKey); } public static bool IsKeyHeld(this KeyboardShortcut shortcut) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) return (int)((KeyboardShortcut)(ref shortcut)).MainKey != 0 && Input.GetKey(((KeyboardShortcut)(ref shortcut)).MainKey) && ((KeyboardShortcut)(ref shortcut)).Modifiers.All((Func<KeyCode, bool>)Input.GetKey); } } [HarmonyPatch(typeof(ZNet), "OnNewConnection")] public static class RegisterAndCheckVersion { [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(1)] private static void Prefix(ZNetPeer peer, ref ZNet __instance) { //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Expected O, but got Unknown WildWeaponsPlugin.WildWeaponsLogger.LogDebug((object)"Registering version RPC handler"); peer.m_rpc.Register<ZPackage>("WildWeapons_VersionCheck", (Action<ZRpc, ZPackage>)RpcHandlers.RPC_ItemManagerModTemplate_Version); WildWeaponsPlugin.WildWeaponsLogger.LogInfo((object)"Invoking version check"); ZPackage val = new ZPackage(); val.Write("2.4.0"); peer.m_rpc.Invoke("WildWeapons_VersionCheck", new object[1] { val }); } } [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(1)] [<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nullable(0)] [HarmonyPatch(typeof(ZNet), "RPC_PeerInfo")] public static class VerifyClient { private static bool Prefix(ZRpc rpc, ZPackage pkg, ref ZNet __instance) { if (!__instance.IsServer() || RpcHandlers.ValidatedPeers.Contains(rpc)) { return true; } WildWeaponsPlugin.WildWeaponsLogger.LogWarning((object)("Peer (" + rpc.m_socket.GetHostName() + ") never sent version or couldn't due to previous disconnect, disconnecting")); rpc.Invoke("Error", new object[1] { 3 }); return false; } private static void Postfix(ZNet __instance) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Expected O, but got Unknown ZRoutedRpc.instance.InvokeRoutedRPC(ZRoutedRpc.instance.GetServerPeerID(), "WildWeaponsRequestAdminSync", new object[1] { (object)new ZPackage() }); } } [HarmonyPatch(typeof(FejdStartup), "ShowConnectError")] public class ShowConnectionError { [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(1)] private static void Postfix(FejdStartup __instance) { if (__instance.m_connectionFailedPanel.activeSelf) { __instance.m_connectionFailedError.fontSizeMax = 25f; __instance.m_connectionFailedError.fontSizeMin = 15f; TMP_Text connectionFailedError = __instance.m_connectionFailedError; connectionFailedError.text = connectionFailedError.text + "\n" + WildWeaponsPlugin.ConnectionError; } } } [HarmonyPatch(typeof(ZNet), "Disconnect")] public static class RemoveDisconnectedPeerFromVerified { [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(1)] private static void Prefix(ZNetPeer peer, ref ZNet __instance) { if (__instance.IsServer()) { WildWeaponsPlugin.WildWeaponsLogger.LogInfo((object)("Peer (" + peer.m_rpc.m_socket.GetHostName() + ") disconnected, removing from validated list")); RpcHandlers.ValidatedPeers.Remove(peer.m_rpc); } } } [<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nullable(0)] [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(1)] public static class RpcHandlers { public static readonly List<ZRpc> ValidatedPeers = new List<ZRpc>(); public static void RPC_ItemManagerModTemplate_Version(ZRpc rpc, ZPackage pkg) { string text = pkg.ReadString(); WildWeaponsPlugin.WildWeaponsLogger.LogInfo((object)("Version check, local: 2.4.0, remote: " + text)); if (text != "2.4.0") { WildWeaponsPlugin.ConnectionError = "WildWeapons Installed: 2.4.0\n Needed: " + text; if (ZNet.instance.IsServer()) { WildWeaponsPlugin.WildWeaponsLogger.LogWarning((object)("Peer (" + rpc.m_socket.GetHostName() + ") has incompatible version, disconnecting...")); rpc.Invoke("Error", new object[1] { 3 }); } } else if (!ZNet.instance.IsServer()) { WildWeaponsPlugin.WildWeaponsLogger.LogInfo((object)"Received same version from server!"); } else { WildWeaponsPlugin.WildWeaponsLogger.LogInfo((object)("Adding peer (" + rpc.m_socket.GetHostName() + ") to validated list")); ValidatedPeers.Add(rpc); } } public static string ComputeHashForMod() { using SHA256 sHA = SHA256.Create(); byte[] array = sHA.ComputeHash(File.ReadAllBytes(Assembly.GetExecutingAssembly().Location)); StringBuilder stringBuilder = new StringBuilder(); byte[] array2 = array; foreach (byte b in array2) { stringBuilder.Append(b.ToString("X2")); } return stringBuilder.ToString(); } } } namespace LocalizationManager { [PublicAPI] [<a1afc595-01ac-4fa6-91d6-3b8ce7e383d4>NullableContext(1)] [<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nullable(0)] public class Localizer { private static readonly Dictionary<string, Dictionary<string, Func<string>>> PlaceholderProcessors; private static readonly Dictionary<string, Dictionary<string, string>> loadedTexts; private static readonly ConditionalWeakTable<Localization, string> localizationLanguage; private static readonly List<WeakReference<Localization>> localizationObjects; [<6d0b48e9-2dde-440c-8185-4c0b0ff64a06>Nulla