Decompiled source of OdinsSteelworks v0.2.1
OdinsSteelworks.dll
Decompiled 2 weeks 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.Permissions; using System.Text; using System.Text.RegularExpressions; using System.Threading; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using HarmonyLib; using ItemManager; using JetBrains.Annotations; using LocalizationManager; using Microsoft.CodeAnalysis; using PieceManager; using ServerSync; using TMPro; using UnityEngine; using UnityEngine.UI; 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.Callbacks; 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: AssemblyFileVersion("1.0.0.0")] [assembly: Guid("D181CDA7-EF07-4BBC-B975-2B80FC6BBFAE")] [assembly: ComVisible(false)] [assembly: AssemblyTrademark("")] [assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyProduct("OdinPlus")] [assembly: AssemblyCompany("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyDescription("")] [assembly: AssemblyTitle("OdinsSteelworks")] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: CompilationRelaxations(8)] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace OdinsSteelworks { [BepInPlugin("org.bepinex.plugins.odinssteelworks", "OdinsSteelworks", "0.2.1")] public class OdinsSteelworks : BaseUnityPlugin { private enum Toggle { On = 1, Off = 0 } private const string ModName = "OdinsSteelworks"; private const string ModVersion = "0.2.1"; private const string ModGUID = "org.bepinex.plugins.odinssteelworks"; private static readonly ConfigSync configSync = new ConfigSync("OdinsSteelworks") { DisplayName = "OdinsSteelworks", CurrentVersion = "0.2.1", MinimumRequiredVersion = "0.2.1" }; private static ConfigEntry<Toggle> serverConfigLocked = null; private ConfigEntry<T> config<T>(string group, string name, T value, ConfigDescription description, bool synchronizedSetting = true) { ConfigEntry<T> val = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, description); SyncedConfigEntry<T> syncedConfigEntry = configSync.AddConfigEntry<T>(val); syncedConfigEntry.SynchronizedConfig = synchronizedSetting; return val; } private ConfigEntry<T> config<T>(string group, string name, T value, string description, bool synchronizedSetting = true) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown return config(group, name, value, new ConfigDescription(description, (AcceptableValueBase)null, Array.Empty<object>()), synchronizedSetting); } public void Awake() { //IL_55f6: Unknown result type (might be due to invalid IL or missing references) //IL_55fd: Expected O, but got Unknown Localizer.Load(); serverConfigLocked = config("1 - General", "Lock Configuration", Toggle.On, "If on, the configuration is locked and can be changed by server admins only."); configSync.AddLockingConfigEntry<Toggle>(serverConfigLocked); GameObject val = PrefabManager.RegisterPrefab("cwsassets", "sfx_steel_mold_pro"); GameObject val2 = PrefabManager.RegisterPrefab("cwsassets", "sfx_slacktub_sound"); BuildPiece buildPiece = new BuildPiece("cwsassets", "CWS_Forge"); buildPiece.RequiredItems.Add("Stone", 10, recover: true); buildPiece.RequiredItems.Add("Iron", 5, recover: true); buildPiece.RequiredItems.Add("DragonTear", 1, recover: true); buildPiece.Category.Set(BuildPieceCategory.Crafting); BuildPiece buildPiece2 = new BuildPiece("cwsassets", "CWS_Slack_Tub"); buildPiece2.RequiredItems.Add("Iron", 2, recover: true); buildPiece2.RequiredItems.Add("CWS_SurtlingCoal", 2, recover: true); buildPiece2.RequiredItems.Add("RoundLog", 5, recover: true); buildPiece2.Extension.Set("CWS_Forge", 15); buildPiece2.Category.Set(BuildPieceCategory.Crafting); BuildPiece buildPiece3 = new BuildPiece("cwsassets", "CWS_Stone_Kiln"); buildPiece3.RequiredItems.Add("CWS_SurtlingCoal", 4, recover: true); buildPiece3.RequiredItems.Add("Iron", 5, recover: true); buildPiece3.RequiredItems.Add("Stone", 20, recover: true); buildPiece3.Extension.Set("CWS_Forge", 15); buildPiece3.Category.Set(BuildPieceCategory.Crafting); BuildPiece buildPiece4 = new BuildPiece("cwsassets", "CWS_Steel_Mold"); buildPiece4.RequiredItems.Add("Iron", 1, recover: true); buildPiece4.RequiredItems.Add("CWS_SurtlingCoal", 2, recover: true); buildPiece4.RequiredItems.Add("Stone", 5, recover: true); buildPiece4.Extension.Set("CWS_Forge", 15); buildPiece4.Category.Set(BuildPieceCategory.Crafting); BuildPiece buildPiece5 = new BuildPiece("cwsassets", "CWS_Grindwheel"); buildPiece5.RequiredItems.Add("YggdrasilWood", 4, recover: true); buildPiece5.RequiredItems.Add("CWS_Cold_Steel", 1, recover: true); buildPiece5.RequiredItems.Add("SharpeningStone", 1, recover: true); buildPiece5.Extension.Set("CWS_Forge", 15); buildPiece5.Category.Set(BuildPieceCategory.Crafting); BuildPiece buildPiece6 = new BuildPiece("cwsassets", "CWS_Item_Stand"); buildPiece6.RequiredItems.Add("CWS_Cold_Steel", 4, recover: true); buildPiece6.RequiredItems.Add("CWS_SurtlingCoal", 2, recover: true); buildPiece6.RequiredItems.Add("DeerHide", 2, recover: true); buildPiece6.Extension.Set("CWS_Forge", 15); buildPiece6.Category.Set(BuildPieceCategory.Crafting); BuildPiece buildPiece7 = new BuildPiece("cwsassets", "CWS_Item_Stand_2"); buildPiece7.RequiredItems.Add("CWS_Cold_Steel", 4, recover: true); buildPiece7.RequiredItems.Add("CWS_SurtlingCoal", 2, recover: true); buildPiece7.RequiredItems.Add("DeerHide", 2, recover: true); buildPiece7.Extension.Set("CWS_Forge", 15); buildPiece7.Category.Set(BuildPieceCategory.Crafting); BuildPiece buildPiece8 = new BuildPiece("cwsassets", "CWS_Steel_Pile"); buildPiece8.RequiredItems.Add("CWS_Cold_Steel", 20, recover: true); buildPiece8.Category.Set(BuildPieceCategory.Crafting); Item item = new Item("cwsassets", "CWS_Material_Placeholder"); Item item2 = new Item("cwsassets", "CWS_SurtlingCoal"); item2.Crafting.Add("CWS_Forge", 1); item2.RequiredItems.Add("Coal", 5); item2.RequiredItems.Add("SurtlingCore", 1); item2.CraftAmount = 10; Item item3 = new Item("cwsassets", "CWS_Crucible_Full"); item3.Crafting.Add("CWS_Forge", 1); item3.RequiredItems.Add("CWS_SurtlingCoal", 2); item3.RequiredItems.Add("IronScrap", 4); item3.CraftAmount = 1; Item item4 = new Item("cwsassets", "CWS_Crucible_Finished"); item4.Crafting.Add("CWS_Forge", 30); item4.RequiredItems.Add("CWS_Material_Placeholder", 1); item4.CraftAmount = 1; Item item5 = new Item("cwsassets", "CWS_Cold_Steel"); item5.Crafting.Add("CWS_Forge", 30); item5.RequiredItems.Add("CWS_Material_Placeholder", 1); item5.CraftAmount = 1; Item item6 = new Item("cwsassets", "CWS_Hot_Steel"); item6.Crafting.Add("CWS_Forge", 30); item6.RequiredItems.Add("CWS_Material_Placeholder", 1); item6.CraftAmount = 1; Item item7 = new Item("cwsassets", "CWS_Hot_Steel_Finished"); item7.Crafting.Add("CWS_Forge", 30); item7.RequiredItems.Add("CWS_Material_Placeholder", 1); item7.CraftAmount = 1; Item item8 = new Item("cwsassets", "CWS_TH_Axe_1"); item8.Crafting.Add("CWS_Forge", 2); item8.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item8.RequiredItems.Add("RoundLog", 6); item8.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item8.RequiredUpgradeItems.Add("RoundLog", 8); item8.Configurable = Configurability.Full; item8.CraftAmount = 1; Item item9 = new Item("cwsassets", "CWS_TH_Axe_2"); item9.Crafting.Add("CWS_Forge", 2); item9.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item9.RequiredItems.Add("RoundLog", 6); item9.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item9.RequiredUpgradeItems.Add("RoundLog", 8); item9.Configurable = Configurability.Full; item9.CraftAmount = 1; Item item10 = new Item("cwsassets", "CWS_TH_Axe_3"); item10.Crafting.Add("CWS_Forge", 2); item10.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item10.RequiredItems.Add("RoundLog", 6); item10.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item10.RequiredUpgradeItems.Add("RoundLog", 8); item10.Configurable = Configurability.Full; item10.CraftAmount = 1; Item item11 = new Item("cwsassets", "CWS_TH_Axe_4"); item11.Crafting.Add("CWS_Forge", 2); item11.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item11.RequiredItems.Add("RoundLog", 6); item11.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item11.RequiredUpgradeItems.Add("RoundLog", 8); item11.Configurable = Configurability.Full; item11.CraftAmount = 1; Item item12 = new Item("cwsassets", "CWS_TH_Axe_5"); item12.Crafting.Add("CWS_Forge", 2); item12.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item12.RequiredItems.Add("RoundLog", 6); item12.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item12.RequiredUpgradeItems.Add("RoundLog", 8); item12.Configurable = Configurability.Full; item12.CraftAmount = 1; Item item13 = new Item("cwsassets", "CWS_TH_Axe_6"); item13.Crafting.Add("CWS_Forge", 2); item13.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item13.RequiredItems.Add("RoundLog", 6); item13.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item13.RequiredUpgradeItems.Add("RoundLog", 8); item13.Configurable = Configurability.Full; item13.CraftAmount = 1; Item item14 = new Item("cwsassets", "CWS_TH_Axe_7"); item14.Crafting.Add("CWS_Forge", 2); item14.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item14.RequiredItems.Add("RoundLog", 6); item14.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item14.RequiredUpgradeItems.Add("RoundLog", 8); item14.Configurable = Configurability.Full; item14.CraftAmount = 1; Item item15 = new Item("cwsassets", "CWS_TH_Axe_8"); item15.Crafting.Add("CWS_Forge", 2); item15.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item15.RequiredItems.Add("RoundLog", 6); item15.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item15.RequiredUpgradeItems.Add("RoundLog", 8); item15.Configurable = Configurability.Full; item15.CraftAmount = 1; Item item16 = new Item("cwsassets", "CWS_TH_Axe_9"); item16.Crafting.Add("CWS_Forge", 2); item16.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item16.RequiredItems.Add("RoundLog", 6); item16.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item16.RequiredUpgradeItems.Add("RoundLog", 8); item16.Configurable = Configurability.Full; item16.CraftAmount = 1; Item item17 = new Item("cwsassets", "CWS_TH_Axe_10"); item17.Crafting.Add("CWS_Forge", 2); item17.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item17.RequiredItems.Add("RoundLog", 6); item17.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item17.RequiredUpgradeItems.Add("RoundLog", 8); item17.Configurable = Configurability.Full; item17.CraftAmount = 1; Item item18 = new Item("cwsassets", "CWS_Sledge_1"); item18.Crafting.Add("CWS_Forge", 2); item18.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item18.RequiredItems.Add("RoundLog", 6); item18.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item18.RequiredUpgradeItems.Add("RoundLog", 8); item18.Configurable = Configurability.Full; item18.CraftAmount = 1; Item item19 = new Item("cwsassets", "CWS_Sledge_2"); item19.Crafting.Add("CWS_Forge", 2); item19.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item19.RequiredItems.Add("RoundLog", 6); item19.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item19.RequiredUpgradeItems.Add("RoundLog", 8); item19.Configurable = Configurability.Full; item19.CraftAmount = 1; Item item20 = new Item("cwsassets", "CWS_Sledge_3"); item20.Crafting.Add("CWS_Forge", 2); item20.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item20.RequiredItems.Add("RoundLog", 6); item20.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item20.RequiredUpgradeItems.Add("RoundLog", 8); item20.Configurable = Configurability.Full; item20.CraftAmount = 1; Item item21 = new Item("cwsassets", "CWS_Sledge_4"); item21.Crafting.Add("CWS_Forge", 2); item21.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item21.RequiredItems.Add("RoundLog", 6); item21.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item21.RequiredUpgradeItems.Add("RoundLog", 8); item21.Configurable = Configurability.Full; item21.CraftAmount = 1; Item item22 = new Item("cwsassets", "CWS_Sledge_5"); item22.Crafting.Add("CWS_Forge", 2); item22.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item22.RequiredItems.Add("RoundLog", 6); item22.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item22.RequiredUpgradeItems.Add("RoundLog", 8); item22.Configurable = Configurability.Full; item22.CraftAmount = 1; Item item23 = new Item("cwsassets", "CWS_Sledge_6"); item23.Crafting.Add("CWS_Forge", 2); item23.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item23.RequiredItems.Add("RoundLog", 6); item23.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item23.RequiredUpgradeItems.Add("RoundLog", 8); item23.Configurable = Configurability.Full; item23.CraftAmount = 1; Item item24 = new Item("cwsassets", "CWS_Sledge_7"); item24.Crafting.Add("CWS_Forge", 2); item24.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item24.RequiredItems.Add("RoundLog", 6); item24.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item24.RequiredUpgradeItems.Add("RoundLog", 8); item24.Configurable = Configurability.Full; item24.CraftAmount = 1; Item item25 = new Item("cwsassets", "CWS_Sledge_8"); item25.Crafting.Add("CWS_Forge", 2); item25.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item25.RequiredItems.Add("RoundLog", 6); item25.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item25.RequiredUpgradeItems.Add("RoundLog", 8); item25.Configurable = Configurability.Full; item25.CraftAmount = 1; Item item26 = new Item("cwsassets", "CWS_Sledge_9"); item26.Crafting.Add("CWS_Forge", 2); item26.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item26.RequiredItems.Add("RoundLog", 6); item26.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item26.RequiredUpgradeItems.Add("RoundLog", 8); item26.Configurable = Configurability.Full; item26.CraftAmount = 1; Item item27 = new Item("cwsassets", "CWS_Sledge_10"); item27.Crafting.Add("CWS_Forge", 2); item27.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item27.RequiredItems.Add("RoundLog", 6); item27.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item27.RequiredUpgradeItems.Add("RoundLog", 8); item27.Configurable = Configurability.Full; item27.CraftAmount = 1; Item item28 = new Item("cwsassets", "CWS_Sledge_11"); item28.Crafting.Add("CWS_Forge", 2); item28.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item28.RequiredItems.Add("RoundLog", 6); item28.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item28.RequiredUpgradeItems.Add("RoundLog", 8); item28.Configurable = Configurability.Full; item28.CraftAmount = 1; Item item29 = new Item("cwsassets", "CWS_TH_Sword_1"); item29.Crafting.Add("CWS_Forge", 2); item29.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item29.RequiredItems.Add("RoundLog", 6); item29.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item29.RequiredUpgradeItems.Add("RoundLog", 8); item29.Configurable = Configurability.Full; item29.CraftAmount = 1; Item item30 = new Item("cwsassets", "CWS_TH_Sword_2"); item30.Crafting.Add("CWS_Forge", 2); item30.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item30.RequiredItems.Add("RoundLog", 6); item30.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item30.RequiredUpgradeItems.Add("RoundLog", 8); item30.Configurable = Configurability.Full; item30.CraftAmount = 1; Item item31 = new Item("cwsassets", "CWS_TH_Sword_3"); item31.Crafting.Add("CWS_Forge", 2); item31.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item31.RequiredItems.Add("RoundLog", 6); item31.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item31.RequiredUpgradeItems.Add("RoundLog", 8); item31.Configurable = Configurability.Full; item31.CraftAmount = 1; Item item32 = new Item("cwsassets", "CWS_TH_Sword_4"); item32.Crafting.Add("CWS_Forge", 2); item32.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item32.RequiredItems.Add("RoundLog", 6); item32.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item32.RequiredUpgradeItems.Add("RoundLog", 8); item32.Configurable = Configurability.Full; item32.CraftAmount = 1; Item item33 = new Item("cwsassets", "CWS_TH_Sword_5"); item33.Crafting.Add("CWS_Forge", 2); item33.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item33.RequiredItems.Add("RoundLog", 6); item33.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item33.RequiredUpgradeItems.Add("RoundLog", 8); item33.Configurable = Configurability.Full; item33.CraftAmount = 1; Item item34 = new Item("cwsassets", "CWS_TH_Sword_6"); item34.Crafting.Add("CWS_Forge", 2); item34.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item34.RequiredItems.Add("RoundLog", 6); item34.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item34.RequiredUpgradeItems.Add("RoundLog", 8); item34.Configurable = Configurability.Full; item34.CraftAmount = 1; Item item35 = new Item("cwsassets", "CWS_TH_Sword_7"); item35.Crafting.Add("CWS_Forge", 2); item35.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item35.RequiredItems.Add("RoundLog", 6); item35.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item35.RequiredUpgradeItems.Add("RoundLog", 8); item35.Configurable = Configurability.Full; item35.CraftAmount = 1; Item item36 = new Item("cwsassets", "CWS_TH_Sword_8"); item36.Crafting.Add("CWS_Forge", 2); item36.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item36.RequiredItems.Add("RoundLog", 6); item36.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item36.RequiredUpgradeItems.Add("RoundLog", 8); item36.Configurable = Configurability.Full; item36.CraftAmount = 1; Item item37 = new Item("cwsassets", "CWS_TH_Sword_9"); item37.Crafting.Add("CWS_Forge", 2); item37.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item37.RequiredItems.Add("RoundLog", 6); item37.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item37.RequiredUpgradeItems.Add("RoundLog", 8); item37.Configurable = Configurability.Full; item37.CraftAmount = 1; Item item38 = new Item("cwsassets", "CWS_TH_Sword_10"); item38.Crafting.Add("CWS_Forge", 2); item38.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item38.RequiredItems.Add("RoundLog", 6); item38.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item38.RequiredUpgradeItems.Add("RoundLog", 8); item38.Configurable = Configurability.Full; item38.CraftAmount = 1; Item item39 = new Item("cwsassets", "CWS_TH_Sword_11"); item39.Crafting.Add("CWS_Forge", 2); item39.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item39.RequiredItems.Add("RoundLog", 6); item39.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item39.RequiredUpgradeItems.Add("RoundLog", 8); item39.Configurable = Configurability.Full; item39.CraftAmount = 1; Item item40 = new Item("cwsassets", "CWS_Atgeir_1"); item40.Crafting.Add("CWS_Forge", 2); item40.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item40.RequiredItems.Add("RoundLog", 6); item40.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item40.RequiredUpgradeItems.Add("RoundLog", 8); item40.Configurable = Configurability.Full; item40.CraftAmount = 1; Item item41 = new Item("cwsassets", "CWS_Atgeir_2"); item41.Crafting.Add("CWS_Forge", 2); item41.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item41.RequiredItems.Add("RoundLog", 6); item41.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item41.RequiredUpgradeItems.Add("RoundLog", 8); item41.Configurable = Configurability.Full; item41.CraftAmount = 1; Item item42 = new Item("cwsassets", "CWS_Atgeir_3"); item42.Crafting.Add("CWS_Forge", 2); item42.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item42.RequiredItems.Add("RoundLog", 6); item42.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item42.RequiredUpgradeItems.Add("RoundLog", 8); item42.Configurable = Configurability.Full; item42.CraftAmount = 1; Item item43 = new Item("cwsassets", "CWS_Atgeir_4"); item43.Crafting.Add("CWS_Forge", 2); item43.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item43.RequiredItems.Add("RoundLog", 6); item43.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item43.RequiredUpgradeItems.Add("RoundLog", 8); item43.Configurable = Configurability.Full; item43.CraftAmount = 1; Item item44 = new Item("cwsassets", "CWS_Atgeir_5"); item44.Crafting.Add("CWS_Forge", 2); item44.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item44.RequiredItems.Add("RoundLog", 6); item44.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item44.RequiredUpgradeItems.Add("RoundLog", 8); item44.Configurable = Configurability.Full; item44.CraftAmount = 1; Item item45 = new Item("cwsassets", "CWS_Atgeir_6"); item45.Crafting.Add("CWS_Forge", 2); item45.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item45.RequiredItems.Add("RoundLog", 6); item45.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item45.RequiredUpgradeItems.Add("RoundLog", 8); item45.Configurable = Configurability.Full; item45.CraftAmount = 1; Item item46 = new Item("cwsassets", "CWS_Atgeir_7"); item46.Crafting.Add("CWS_Forge", 2); item46.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item46.RequiredItems.Add("RoundLog", 6); item46.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item46.RequiredUpgradeItems.Add("RoundLog", 8); item46.Configurable = Configurability.Full; item46.CraftAmount = 1; Item item47 = new Item("cwsassets", "CWS_Atgeir_8"); item47.Crafting.Add("CWS_Forge", 2); item47.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item47.RequiredItems.Add("RoundLog", 6); item47.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item47.RequiredUpgradeItems.Add("RoundLog", 8); item47.Configurable = Configurability.Full; item47.CraftAmount = 1; Item item48 = new Item("cwsassets", "CWS_Atgeir_9"); item48.Crafting.Add("CWS_Forge", 2); item48.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item48.RequiredItems.Add("RoundLog", 6); item48.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item48.RequiredUpgradeItems.Add("RoundLog", 8); item48.Configurable = Configurability.Full; item48.CraftAmount = 1; Item item49 = new Item("cwsassets", "CWS_Atgeir_10"); item49.Crafting.Add("CWS_Forge", 2); item49.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item49.RequiredItems.Add("RoundLog", 6); item49.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item49.RequiredUpgradeItems.Add("RoundLog", 8); item49.Configurable = Configurability.Full; item49.CraftAmount = 1; Item item50 = new Item("cwsassets", "CWS_Axe_1"); item50.Crafting.Add("CWS_Forge", 2); item50.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item50.RequiredItems.Add("RoundLog", 6); item50.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item50.RequiredUpgradeItems.Add("RoundLog", 8); item50.Configurable = Configurability.Full; item50.CraftAmount = 1; Item item51 = new Item("cwsassets", "CWS_Axe_2"); item51.Crafting.Add("CWS_Forge", 2); item51.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item51.RequiredItems.Add("RoundLog", 6); item51.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item51.RequiredUpgradeItems.Add("RoundLog", 8); item51.Configurable = Configurability.Full; item51.CraftAmount = 1; Item item52 = new Item("cwsassets", "CWS_Axe_3"); item52.Crafting.Add("CWS_Forge", 2); item52.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item52.RequiredItems.Add("RoundLog", 6); item52.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item52.RequiredUpgradeItems.Add("RoundLog", 8); item52.Configurable = Configurability.Full; item52.CraftAmount = 1; Item item53 = new Item("cwsassets", "CWS_Axe_4"); item53.Crafting.Add("CWS_Forge", 2); item53.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item53.RequiredItems.Add("RoundLog", 6); item53.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item53.RequiredUpgradeItems.Add("RoundLog", 8); item53.Configurable = Configurability.Full; item53.CraftAmount = 1; Item item54 = new Item("cwsassets", "CWS_Axe_5"); item54.Crafting.Add("CWS_Forge", 2); item54.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item54.RequiredItems.Add("RoundLog", 6); item54.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item54.RequiredUpgradeItems.Add("RoundLog", 8); item54.Configurable = Configurability.Full; item54.CraftAmount = 1; Item item55 = new Item("cwsassets", "CWS_Axe_6"); item55.Crafting.Add("CWS_Forge", 2); item55.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item55.RequiredItems.Add("RoundLog", 6); item55.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item55.RequiredUpgradeItems.Add("RoundLog", 8); item55.Configurable = Configurability.Full; item55.CraftAmount = 1; Item item56 = new Item("cwsassets", "CWS_Axe_7"); item56.Crafting.Add("CWS_Forge", 2); item56.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item56.RequiredItems.Add("RoundLog", 6); item56.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item56.RequiredUpgradeItems.Add("RoundLog", 8); item56.Configurable = Configurability.Full; item56.CraftAmount = 1; Item item57 = new Item("cwsassets", "CWS_Axe_8"); item57.Crafting.Add("CWS_Forge", 2); item57.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item57.RequiredItems.Add("RoundLog", 6); item57.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item57.RequiredUpgradeItems.Add("RoundLog", 8); item57.Configurable = Configurability.Full; item57.CraftAmount = 1; Item item58 = new Item("cwsassets", "CWS_Axe_9"); item58.Crafting.Add("CWS_Forge", 2); item58.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item58.RequiredItems.Add("RoundLog", 6); item58.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item58.RequiredUpgradeItems.Add("RoundLog", 8); item58.Configurable = Configurability.Full; item58.CraftAmount = 1; Item item59 = new Item("cwsassets", "CWS_Axe_10"); item59.Crafting.Add("CWS_Forge", 2); item59.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item59.RequiredItems.Add("RoundLog", 6); item59.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item59.RequiredUpgradeItems.Add("RoundLog", 8); item59.Configurable = Configurability.Full; item59.CraftAmount = 1; Item item60 = new Item("cwsassets", "CWS_Bow_1"); item60.Crafting.Add("CWS_Forge", 2); item60.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item60.RequiredItems.Add("RoundLog", 6); item60.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item60.RequiredUpgradeItems.Add("RoundLog", 8); item60.Configurable = Configurability.Full; item60.CraftAmount = 1; Item item61 = new Item("cwsassets", "CWS_Bow_2"); item61.Crafting.Add("CWS_Forge", 2); item61.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item61.RequiredItems.Add("RoundLog", 6); item61.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item61.RequiredUpgradeItems.Add("RoundLog", 8); item61.Configurable = Configurability.Full; item61.CraftAmount = 1; Item item62 = new Item("cwsassets", "CWS_Bow_3"); item62.Crafting.Add("CWS_Forge", 2); item62.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item62.RequiredItems.Add("RoundLog", 6); item62.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item62.RequiredUpgradeItems.Add("RoundLog", 8); item62.Configurable = Configurability.Full; item62.CraftAmount = 1; Item item63 = new Item("cwsassets", "CWS_Bow_4"); item63.Crafting.Add("CWS_Forge", 2); item63.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item63.RequiredItems.Add("RoundLog", 6); item63.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item63.RequiredUpgradeItems.Add("RoundLog", 8); item63.Configurable = Configurability.Full; item63.CraftAmount = 1; Item item64 = new Item("cwsassets", "CWS_Bow_5"); item64.Crafting.Add("CWS_Forge", 2); item64.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item64.RequiredItems.Add("RoundLog", 6); item64.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item64.RequiredUpgradeItems.Add("RoundLog", 8); item64.Configurable = Configurability.Full; item64.CraftAmount = 1; Item item65 = new Item("cwsassets", "CWS_Bow_6"); item65.Crafting.Add("CWS_Forge", 2); item65.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item65.RequiredItems.Add("RoundLog", 6); item65.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item65.RequiredUpgradeItems.Add("RoundLog", 8); item65.Configurable = Configurability.Full; item65.CraftAmount = 1; Item item66 = new Item("cwsassets", "CWS_Bow_7"); item66.Crafting.Add("CWS_Forge", 2); item66.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item66.RequiredItems.Add("RoundLog", 6); item66.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item66.RequiredUpgradeItems.Add("RoundLog", 8); item66.Configurable = Configurability.Full; item66.CraftAmount = 1; Item item67 = new Item("cwsassets", "CWS_Bow_8"); item67.Crafting.Add("CWS_Forge", 2); item67.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item67.RequiredItems.Add("RoundLog", 6); item67.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item67.RequiredUpgradeItems.Add("RoundLog", 8); item67.Configurable = Configurability.Full; item67.CraftAmount = 1; Item item68 = new Item("cwsassets", "CWS_Bow_9"); item68.Crafting.Add("CWS_Forge", 2); item68.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item68.RequiredItems.Add("RoundLog", 6); item68.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item68.RequiredUpgradeItems.Add("RoundLog", 8); item68.Configurable = Configurability.Full; item68.CraftAmount = 1; Item item69 = new Item("cwsassets", "CWS_Bow_10"); item69.Crafting.Add("CWS_Forge", 2); item69.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item69.RequiredItems.Add("RoundLog", 6); item69.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item69.RequiredUpgradeItems.Add("RoundLog", 8); item69.Configurable = Configurability.Full; item69.CraftAmount = 1; Item item70 = new Item("cwsassets", "CWS_Bow_11"); item70.Crafting.Add("CWS_Forge", 2); item70.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item70.RequiredItems.Add("RoundLog", 6); item70.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item70.RequiredUpgradeItems.Add("RoundLog", 8); item70.Configurable = Configurability.Full; item70.CraftAmount = 1; Item item71 = new Item("cwsassets", "CWS_Dagger_1"); item71.Crafting.Add("CWS_Forge", 2); item71.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item71.RequiredItems.Add("RoundLog", 6); item71.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item71.RequiredUpgradeItems.Add("RoundLog", 8); item71.Configurable = Configurability.Full; item71.CraftAmount = 1; Item item72 = new Item("cwsassets", "CWS_Dagger_2"); item72.Crafting.Add("CWS_Forge", 2); item72.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item72.RequiredItems.Add("RoundLog", 6); item72.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item72.RequiredUpgradeItems.Add("RoundLog", 8); item72.Configurable = Configurability.Full; item72.CraftAmount = 1; Item item73 = new Item("cwsassets", "CWS_Dagger_3"); item73.Crafting.Add("CWS_Forge", 2); item73.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item73.RequiredItems.Add("RoundLog", 6); item73.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item73.RequiredUpgradeItems.Add("RoundLog", 8); item73.Configurable = Configurability.Full; item73.CraftAmount = 1; Item item74 = new Item("cwsassets", "CWS_Dagger_4"); item74.Crafting.Add("CWS_Forge", 2); item74.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item74.RequiredItems.Add("RoundLog", 6); item74.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item74.RequiredUpgradeItems.Add("RoundLog", 8); item74.Configurable = Configurability.Full; item74.CraftAmount = 1; Item item75 = new Item("cwsassets", "CWS_Dagger_5"); item75.Crafting.Add("CWS_Forge", 2); item75.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item75.RequiredItems.Add("RoundLog", 6); item75.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item75.RequiredUpgradeItems.Add("RoundLog", 8); item75.Configurable = Configurability.Full; item75.CraftAmount = 1; Item item76 = new Item("cwsassets", "CWS_Dagger_6"); item76.Crafting.Add("CWS_Forge", 2); item76.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item76.RequiredItems.Add("RoundLog", 6); item76.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item76.RequiredUpgradeItems.Add("RoundLog", 8); item76.Configurable = Configurability.Full; item76.CraftAmount = 1; Item item77 = new Item("cwsassets", "CWS_Dagger_7"); item77.Crafting.Add("CWS_Forge", 2); item77.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item77.RequiredItems.Add("RoundLog", 6); item77.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item77.RequiredUpgradeItems.Add("RoundLog", 8); item77.Configurable = Configurability.Full; item77.CraftAmount = 1; Item item78 = new Item("cwsassets", "CWS_Dagger_8"); item78.Crafting.Add("CWS_Forge", 2); item78.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item78.RequiredItems.Add("RoundLog", 6); item78.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item78.RequiredUpgradeItems.Add("RoundLog", 8); item78.Configurable = Configurability.Full; item78.CraftAmount = 1; Item item79 = new Item("cwsassets", "CWS_Dagger_9"); item79.Crafting.Add("CWS_Forge", 2); item79.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item79.RequiredItems.Add("RoundLog", 6); item79.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item79.RequiredUpgradeItems.Add("RoundLog", 8); item79.Configurable = Configurability.Full; item79.CraftAmount = 1; Item item80 = new Item("cwsassets", "CWS_Dagger_10"); item80.Crafting.Add("CWS_Forge", 2); item80.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item80.RequiredItems.Add("RoundLog", 6); item80.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item80.RequiredUpgradeItems.Add("RoundLog", 8); item80.Configurable = Configurability.Full; item80.CraftAmount = 1; Item item81 = new Item("cwsassets", "CWS_Dagger_11"); item81.Crafting.Add("CWS_Forge", 2); item81.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item81.RequiredItems.Add("RoundLog", 6); item81.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item81.RequiredUpgradeItems.Add("RoundLog", 8); item81.Configurable = Configurability.Full; item81.CraftAmount = 1; Item item82 = new Item("cwsassets", "CWS_Mace_1"); item82.Crafting.Add("CWS_Forge", 2); item82.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item82.RequiredItems.Add("RoundLog", 6); item82.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item82.RequiredUpgradeItems.Add("RoundLog", 8); item82.Configurable = Configurability.Full; item82.CraftAmount = 1; Item item83 = new Item("cwsassets", "CWS_Mace_2"); item83.Crafting.Add("CWS_Forge", 2); item83.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item83.RequiredItems.Add("RoundLog", 6); item83.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item83.RequiredUpgradeItems.Add("RoundLog", 8); item83.Configurable = Configurability.Full; item83.CraftAmount = 1; Item item84 = new Item("cwsassets", "CWS_Mace_3"); item84.Crafting.Add("CWS_Forge", 2); item84.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item84.RequiredItems.Add("RoundLog", 6); item84.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item84.RequiredUpgradeItems.Add("RoundLog", 8); item84.Configurable = Configurability.Full; item84.CraftAmount = 1; Item item85 = new Item("cwsassets", "CWS_Mace_4"); item85.Crafting.Add("CWS_Forge", 2); item85.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item85.RequiredItems.Add("RoundLog", 6); item85.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item85.RequiredUpgradeItems.Add("RoundLog", 8); item85.Configurable = Configurability.Full; item85.CraftAmount = 1; Item item86 = new Item("cwsassets", "CWS_Mace_5"); item86.Crafting.Add("CWS_Forge", 2); item86.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item86.RequiredItems.Add("RoundLog", 6); item86.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item86.RequiredUpgradeItems.Add("RoundLog", 8); item86.Configurable = Configurability.Full; item86.CraftAmount = 1; Item item87 = new Item("cwsassets", "CWS_Mace_6"); item87.Crafting.Add("CWS_Forge", 2); item87.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item87.RequiredItems.Add("RoundLog", 6); item87.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item87.RequiredUpgradeItems.Add("RoundLog", 8); item87.Configurable = Configurability.Full; item87.CraftAmount = 1; Item item88 = new Item("cwsassets", "CWS_Mace_7"); item88.Crafting.Add("CWS_Forge", 2); item88.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item88.RequiredItems.Add("RoundLog", 6); item88.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item88.RequiredUpgradeItems.Add("RoundLog", 8); item88.Configurable = Configurability.Full; item88.CraftAmount = 1; Item item89 = new Item("cwsassets", "CWS_Mace_8"); item89.Crafting.Add("CWS_Forge", 2); item89.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item89.RequiredItems.Add("RoundLog", 6); item89.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item89.RequiredUpgradeItems.Add("RoundLog", 8); item89.Configurable = Configurability.Full; item89.CraftAmount = 1; Item item90 = new Item("cwsassets", "CWS_Mace_9"); item90.Crafting.Add("CWS_Forge", 2); item90.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item90.RequiredItems.Add("RoundLog", 6); item90.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item90.RequiredUpgradeItems.Add("RoundLog", 8); item90.Configurable = Configurability.Full; item90.CraftAmount = 1; Item item91 = new Item("cwsassets", "CWS_Mace_10"); item91.Crafting.Add("CWS_Forge", 2); item91.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item91.RequiredItems.Add("RoundLog", 6); item91.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item91.RequiredUpgradeItems.Add("RoundLog", 8); item91.Configurable = Configurability.Full; item91.CraftAmount = 1; Item item92 = new Item("cwsassets", "CWS_Buckler_Shield_1"); item92.Crafting.Add("CWS_Forge", 2); item92.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item92.RequiredItems.Add("RoundLog", 6); item92.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item92.RequiredUpgradeItems.Add("RoundLog", 8); item92.Configurable = Configurability.Full; item92.CraftAmount = 1; Item item93 = new Item("cwsassets", "CWS_Buckler_Shield_2"); item93.Crafting.Add("CWS_Forge", 2); item93.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item93.RequiredItems.Add("RoundLog", 6); item93.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item93.RequiredUpgradeItems.Add("RoundLog", 8); item93.Configurable = Configurability.Full; item93.CraftAmount = 1; Item item94 = new Item("cwsassets", "CWS_Round_Shield_1"); item94.Crafting.Add("CWS_Forge", 2); item94.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item94.RequiredItems.Add("RoundLog", 6); item94.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item94.RequiredUpgradeItems.Add("RoundLog", 8); item94.Configurable = Configurability.Full; item94.CraftAmount = 1; Item item95 = new Item("cwsassets", "CWS_Round_Shield_2"); item95.Crafting.Add("CWS_Forge", 2); item95.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item95.RequiredItems.Add("RoundLog", 6); item95.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item95.RequiredUpgradeItems.Add("RoundLog", 8); item95.Configurable = Configurability.Full; item95.CraftAmount = 1; Item item96 = new Item("cwsassets", "CWS_Round_Shield_3"); item96.Crafting.Add("CWS_Forge", 2); item96.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item96.RequiredItems.Add("RoundLog", 6); item96.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item96.RequiredUpgradeItems.Add("RoundLog", 8); item96.Configurable = Configurability.Full; item96.CraftAmount = 1; Item item97 = new Item("cwsassets", "CWS_Round_Shield_4"); item97.Crafting.Add("CWS_Forge", 2); item97.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item97.RequiredItems.Add("RoundLog", 6); item97.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item97.RequiredUpgradeItems.Add("RoundLog", 8); item97.Configurable = Configurability.Full; item97.CraftAmount = 1; Item item98 = new Item("cwsassets", "CWS_Round_Shield_5"); item98.Crafting.Add("CWS_Forge", 2); item98.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item98.RequiredItems.Add("RoundLog", 6); item98.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item98.RequiredUpgradeItems.Add("RoundLog", 8); item98.Configurable = Configurability.Full; item98.CraftAmount = 1; Item item99 = new Item("cwsassets", "CWS_Round_Shield_6"); item99.Crafting.Add("CWS_Forge", 2); item99.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item99.RequiredItems.Add("RoundLog", 6); item99.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item99.RequiredUpgradeItems.Add("RoundLog", 8); item99.Configurable = Configurability.Full; item99.CraftAmount = 1; Item item100 = new Item("cwsassets", "CWS_Round_Shield_7"); item100.Crafting.Add("CWS_Forge", 2); item100.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item100.RequiredItems.Add("RoundLog", 6); item100.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item100.RequiredUpgradeItems.Add("RoundLog", 8); item100.Configurable = Configurability.Full; item100.CraftAmount = 1; Item item101 = new Item("cwsassets", "CWS_Heater_Shield_1"); item101.Crafting.Add("CWS_Forge", 2); item101.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item101.RequiredItems.Add("RoundLog", 6); item101.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item101.RequiredUpgradeItems.Add("RoundLog", 8); item101.Configurable = Configurability.Full; item101.CraftAmount = 1; Item item102 = new Item("cwsassets", "CWS_Heater_Shield_2"); item102.Crafting.Add("CWS_Forge", 2); item102.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item102.RequiredItems.Add("RoundLog", 6); item102.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item102.RequiredUpgradeItems.Add("RoundLog", 8); item102.Configurable = Configurability.Full; item102.CraftAmount = 1; Item item103 = new Item("cwsassets", "CWS_Heater_Shield_3"); item103.Crafting.Add("CWS_Forge", 2); item103.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item103.RequiredItems.Add("RoundLog", 6); item103.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item103.RequiredUpgradeItems.Add("RoundLog", 8); item103.Configurable = Configurability.Full; item103.CraftAmount = 1; Item item104 = new Item("cwsassets", "CWS_Heater_Shield_4"); item104.Crafting.Add("CWS_Forge", 2); item104.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item104.RequiredItems.Add("RoundLog", 6); item104.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item104.RequiredUpgradeItems.Add("RoundLog", 8); item104.Configurable = Configurability.Full; item104.CraftAmount = 1; Item item105 = new Item("cwsassets", "CWS_Heater_Shield_5"); item105.Crafting.Add("CWS_Forge", 2); item105.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item105.RequiredItems.Add("RoundLog", 6); item105.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item105.RequiredUpgradeItems.Add("RoundLog", 8); item105.Configurable = Configurability.Full; item105.CraftAmount = 1; Item item106 = new Item("cwsassets", "CWS_Tower_Shield_1"); item106.Crafting.Add("CWS_Forge", 2); item106.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item106.RequiredItems.Add("RoundLog", 6); item106.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item106.RequiredUpgradeItems.Add("RoundLog", 8); item106.Configurable = Configurability.Full; item106.CraftAmount = 1; Item item107 = new Item("cwsassets", "CWS_Tower_Shield_2"); item107.Crafting.Add("CWS_Forge", 2); item107.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item107.RequiredItems.Add("RoundLog", 6); item107.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item107.RequiredUpgradeItems.Add("RoundLog", 8); item107.Configurable = Configurability.Full; item107.CraftAmount = 1; Item item108 = new Item("cwsassets", "CWS_Tower_Shield_3"); item108.Crafting.Add("CWS_Forge", 2); item108.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item108.RequiredItems.Add("RoundLog", 6); item108.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item108.RequiredUpgradeItems.Add("RoundLog", 8); item108.Configurable = Configurability.Full; item108.CraftAmount = 1; Item item109 = new Item("cwsassets", "CWS_Tower_Shield_4"); item109.Crafting.Add("CWS_Forge", 2); item109.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item109.RequiredItems.Add("RoundLog", 6); item109.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item109.RequiredUpgradeItems.Add("RoundLog", 8); item109.Configurable = Configurability.Full; item109.CraftAmount = 1; Item item110 = new Item("cwsassets", "CWS_Tower_Shield_5"); item110.Crafting.Add("CWS_Forge", 2); item110.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item110.RequiredItems.Add("RoundLog", 6); item110.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item110.RequiredUpgradeItems.Add("RoundLog", 8); item110.Configurable = Configurability.Full; item110.CraftAmount = 1; Item item111 = new Item("cwsassets", "CWS_Spear_1"); item111.Crafting.Add("CWS_Forge", 2); item111.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item111.RequiredItems.Add("RoundLog", 6); item111.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item111.RequiredUpgradeItems.Add("RoundLog", 8); item111.Configurable = Configurability.Full; item111.CraftAmount = 1; GameObject val3 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_1_Projectile"); Item item112 = new Item("cwsassets", "CWS_Spear_2"); item112.Crafting.Add("CWS_Forge", 2); item112.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item112.RequiredItems.Add("RoundLog", 6); item112.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item112.RequiredUpgradeItems.Add("RoundLog", 8); item112.Configurable = Configurability.Full; item112.CraftAmount = 1; GameObject val4 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_2_Projectile"); Item item113 = new Item("cwsassets", "CWS_Spear_3"); item113.Crafting.Add("CWS_Forge", 2); item113.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item113.RequiredItems.Add("RoundLog", 6); item113.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item113.RequiredUpgradeItems.Add("RoundLog", 8); item113.Configurable = Configurability.Full; item113.CraftAmount = 1; GameObject val5 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_3_Projectile"); Item item114 = new Item("cwsassets", "CWS_Spear_4"); item114.Crafting.Add("CWS_Forge", 2); item114.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item114.RequiredItems.Add("RoundLog", 6); item114.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item114.RequiredUpgradeItems.Add("RoundLog", 8); item114.Configurable = Configurability.Full; item114.CraftAmount = 1; GameObject val6 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_4_Projectile"); Item item115 = new Item("cwsassets", "CWS_Spear_5"); item115.Crafting.Add("CWS_Forge", 2); item115.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item115.RequiredItems.Add("RoundLog", 6); item115.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item115.RequiredUpgradeItems.Add("RoundLog", 8); item115.Configurable = Configurability.Full; item115.CraftAmount = 1; GameObject val7 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_5_Projectile"); Item item116 = new Item("cwsassets", "CWS_Spear_6"); item116.Crafting.Add("CWS_Forge", 2); item116.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item116.RequiredItems.Add("RoundLog", 6); item116.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item116.RequiredUpgradeItems.Add("RoundLog", 8); item116.Configurable = Configurability.Full; item116.CraftAmount = 1; GameObject val8 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_6_Projectile"); Item item117 = new Item("cwsassets", "CWS_Spear_7"); item117.Crafting.Add("CWS_Forge", 2); item117.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item117.RequiredItems.Add("RoundLog", 6); item117.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item117.RequiredUpgradeItems.Add("RoundLog", 8); item117.Configurable = Configurability.Full; item117.CraftAmount = 1; GameObject val9 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_7_Projectile"); Item item118 = new Item("cwsassets", "CWS_Spear_8"); item118.Crafting.Add("CWS_Forge", 2); item118.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item118.RequiredItems.Add("RoundLog", 6); item118.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item118.RequiredUpgradeItems.Add("RoundLog", 8); item118.Configurable = Configurability.Full; item118.CraftAmount = 1; GameObject val10 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_8_Projectile"); Item item119 = new Item("cwsassets", "CWS_Spear_9"); item119.Crafting.Add("CWS_Forge", 2); item119.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item119.RequiredItems.Add("RoundLog", 6); item119.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item119.RequiredUpgradeItems.Add("RoundLog", 8); item119.Configurable = Configurability.Full; item119.CraftAmount = 1; GameObject val11 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Spear_9_Projectile"); Item item120 = new Item("cwsassets", "CWS_Sword_1"); item120.Crafting.Add("CWS_Forge", 2); item120.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item120.RequiredItems.Add("RoundLog", 6); item120.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item120.RequiredUpgradeItems.Add("RoundLog", 8); item120.Configurable = Configurability.Full; item120.CraftAmount = 1; Item item121 = new Item("cwsassets", "CWS_Sword_2"); item121.Crafting.Add("CWS_Forge", 2); item121.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item121.RequiredItems.Add("RoundLog", 6); item121.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item121.RequiredUpgradeItems.Add("RoundLog", 8); item121.Configurable = Configurability.Full; item121.CraftAmount = 1; Item item122 = new Item("cwsassets", "CWS_Sword_3"); item122.Crafting.Add("CWS_Forge", 2); item122.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item122.RequiredItems.Add("RoundLog", 6); item122.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item122.RequiredUpgradeItems.Add("RoundLog", 8); item122.Configurable = Configurability.Full; item122.CraftAmount = 1; Item item123 = new Item("cwsassets", "CWS_Sword_4"); item123.Crafting.Add("CWS_Forge", 2); item123.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item123.RequiredItems.Add("RoundLog", 6); item123.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item123.RequiredUpgradeItems.Add("RoundLog", 8); item123.Configurable = Configurability.Full; item123.CraftAmount = 1; Item item124 = new Item("cwsassets", "CWS_Sword_5"); item124.Crafting.Add("CWS_Forge", 2); item124.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item124.RequiredItems.Add("RoundLog", 6); item124.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item124.RequiredUpgradeItems.Add("RoundLog", 8); item124.Configurable = Configurability.Full; item124.CraftAmount = 1; Item item125 = new Item("cwsassets", "CWS_Sword_6"); item125.Crafting.Add("CWS_Forge", 2); item125.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item125.RequiredItems.Add("RoundLog", 6); item125.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item125.RequiredUpgradeItems.Add("RoundLog", 8); item125.Configurable = Configurability.Full; item125.CraftAmount = 1; Item item126 = new Item("cwsassets", "CWS_Sword_7"); item126.Crafting.Add("CWS_Forge", 2); item126.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item126.RequiredItems.Add("RoundLog", 6); item126.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item126.RequiredUpgradeItems.Add("RoundLog", 8); item126.Configurable = Configurability.Full; item126.CraftAmount = 1; Item item127 = new Item("cwsassets", "CWS_Sword_8"); item127.Crafting.Add("CWS_Forge", 2); item127.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item127.RequiredItems.Add("RoundLog", 6); item127.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item127.RequiredUpgradeItems.Add("RoundLog", 8); item127.Configurable = Configurability.Full; item127.CraftAmount = 1; Item item128 = new Item("cwsassets", "CWS_Sword_9"); item128.Crafting.Add("CWS_Forge", 2); item128.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item128.RequiredItems.Add("RoundLog", 6); item128.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item128.RequiredUpgradeItems.Add("RoundLog", 8); item128.Configurable = Configurability.Full; item128.CraftAmount = 1; Item item129 = new Item("cwsassets", "CWS_Sword_10"); item129.Crafting.Add("CWS_Forge", 2); item129.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item129.RequiredItems.Add("RoundLog", 6); item129.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item129.RequiredUpgradeItems.Add("RoundLog", 8); item129.Configurable = Configurability.Full; item129.CraftAmount = 1; Item item130 = new Item("cwsassets", "CWS_Sword_11"); item130.Crafting.Add("CWS_Forge", 2); item130.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item130.RequiredItems.Add("RoundLog", 6); item130.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item130.RequiredUpgradeItems.Add("RoundLog", 8); item130.Configurable = Configurability.Full; item130.CraftAmount = 1; Item item131 = new Item("cwsassets", "CWS_Sword_12"); item131.Crafting.Add("CWS_Forge", 2); item131.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item131.RequiredItems.Add("RoundLog", 6); item131.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item131.RequiredUpgradeItems.Add("RoundLog", 8); item131.Configurable = Configurability.Full; item131.CraftAmount = 1; Item item132 = new Item("cwsassets", "CWS_Sword_13"); item132.Crafting.Add("CWS_Forge", 2); item132.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item132.RequiredItems.Add("RoundLog", 6); item132.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item132.RequiredUpgradeItems.Add("RoundLog", 8); item132.Configurable = Configurability.Full; item132.CraftAmount = 1; Item item133 = new Item("cwsassets", "CWS_Sword_14"); item133.Crafting.Add("CWS_Forge", 2); item133.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item133.RequiredItems.Add("RoundLog", 6); item133.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item133.RequiredUpgradeItems.Add("RoundLog", 8); item133.Configurable = Configurability.Full; item133.CraftAmount = 1; Item item134 = new Item("cwsassets", "CWS_Crossbow_1"); item134.Crafting.Add("CWS_Forge", 2); item134.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item134.RequiredItems.Add("RoundLog", 6); item134.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item134.RequiredUpgradeItems.Add("RoundLog", 8); item134.Configurable = Configurability.Full; item134.CraftAmount = 1; Item item135 = new Item("cwsassets", "CWS_Crossbow_2"); item135.Crafting.Add("CWS_Forge", 2); item135.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item135.RequiredItems.Add("RoundLog", 6); item135.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item135.RequiredUpgradeItems.Add("RoundLog", 8); item135.Configurable = Configurability.Full; item135.CraftAmount = 1; Item item136 = new Item("cwsassets", "CWS_Crossbow_3"); item136.Crafting.Add("CWS_Forge", 2); item136.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item136.RequiredItems.Add("RoundLog", 6); item136.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item136.RequiredUpgradeItems.Add("RoundLog", 8); item136.Configurable = Configurability.Full; item136.CraftAmount = 1; Item item137 = new Item("cwsassets", "CWS_Crossbow_4"); item137.Crafting.Add("CWS_Forge", 2); item137.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item137.RequiredItems.Add("RoundLog", 6); item137.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item137.RequiredUpgradeItems.Add("RoundLog", 8); item137.Configurable = Configurability.Full; item137.CraftAmount = 1; Item item138 = new Item("cwsassets", "CWS_Crossbow_5"); item138.Crafting.Add("CWS_Forge", 2); item138.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item138.RequiredItems.Add("RoundLog", 6); item138.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item138.RequiredUpgradeItems.Add("RoundLog", 8); item138.Configurable = Configurability.Full; item138.CraftAmount = 1; Item item139 = new Item("cwsassets", "CWS_Crossbow_6"); item139.Crafting.Add("CWS_Forge", 2); item139.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item139.RequiredItems.Add("RoundLog", 6); item139.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item139.RequiredUpgradeItems.Add("RoundLog", 8); item139.Configurable = Configurability.Full; item139.CraftAmount = 1; Item item140 = new Item("cwsassets", "CWS_Crossbow_7"); item140.Crafting.Add("CWS_Forge", 2); item140.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item140.RequiredItems.Add("RoundLog", 6); item140.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item140.RequiredUpgradeItems.Add("RoundLog", 8); item140.Configurable = Configurability.Full; item140.CraftAmount = 1; Item item141 = new Item("cwsassets", "CWS_Crossbow_8"); item141.Crafting.Add("CWS_Forge", 2); item141.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item141.RequiredItems.Add("RoundLog", 6); item141.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item141.RequiredUpgradeItems.Add("RoundLog", 8); item141.Configurable = Configurability.Full; item141.CraftAmount = 1; Item item142 = new Item("cwsassets", "CWS_Crossbow_9"); item142.Crafting.Add("CWS_Forge", 2); item142.RequiredItems.Add("CWS_Hot_Steel_Finished", 2); item142.RequiredItems.Add("RoundLog", 6); item142.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 4); item142.RequiredUpgradeItems.Add("RoundLog", 8); item142.Configurable = Configurability.Full; item142.CraftAmount = 1; Item item143 = new Item("cwsassets", "CWS_Arrow_1"); item143.Crafting.Add("CWS_Forge", 2); item143.RequiredItems.Add("CWS_Hot_Steel_Finished", 1); item143.RequiredItems.Add("RoundLog", 4); item143.RequiredItems.Add("ElderBark", 1); item143.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 2); item143.RequiredUpgradeItems.Add("RoundLog", 6); item143.Configurable = Configurability.Full; item143.CraftAmount = 20; GameObject val12 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Arrow_Pro_1"); Item item144 = new Item("cwsassets", "CWS_Arrow_2"); item144.Crafting.Add("CWS_Forge", 2); item144.RequiredItems.Add("CWS_Hot_Steel_Finished", 1); item144.RequiredItems.Add("RoundLog", 4); item144.RequiredItems.Add("Obsidian", 1); item144.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 2); item144.RequiredUpgradeItems.Add("RoundLog", 6); item144.Configurable = Configurability.Full; item144.CraftAmount = 20; GameObject val13 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Arrow_Pro_2"); Item item145 = new Item("cwsassets", "CWS_Arrow_3"); item145.Crafting.Add("CWS_Forge", 2); item145.RequiredItems.Add("CWS_Hot_Steel_Finished", 1); item145.RequiredItems.Add("RoundLog", 4); item145.RequiredItems.Add("Entrails", 1); item145.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 2); item145.RequiredUpgradeItems.Add("RoundLog", 6); item145.Configurable = Configurability.Full; item145.CraftAmount = 20; GameObject val14 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Arrow_Pro_3"); Item item146 = new Item("cwsassets", "CWS_Arrow_4"); item146.Crafting.Add("CWS_Forge", 2); item146.RequiredItems.Add("CWS_Hot_Steel_Finished", 1); item146.RequiredItems.Add("RoundLog", 4); item146.RequiredItems.Add("Ooze", 1); item146.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 2); item146.RequiredUpgradeItems.Add("RoundLog", 6); item146.Configurable = Configurability.Full; item146.CraftAmount = 20; GameObject val15 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Arrow_Pro_4"); Item item147 = new Item("cwsassets", "CWS_Arrow_5"); item147.Crafting.Add("CWS_Forge", 2); item147.RequiredItems.Add("CWS_Hot_Steel_Finished", 1); item147.RequiredItems.Add("RoundLog", 4); item147.RequiredItems.Add("FreezeGland", 1); item147.RequiredUpgradeItems.Add("CWS_Hot_Steel_Finished", 2); item147.RequiredUpgradeItems.Add("RoundLog", 6); item147.Configurable = Configurability.Full; item147.CraftAmount = 20; GameObject val16 = PrefabManager.RegisterPrefab("cwsassets", "CWS_Arrow_Pro_5"); Assembly executingAssembly = Assembly.GetExecutingAssembly(); Harmony val17 = new Harmony("org.bepinex.plugins.odinssteelworks"); val17.PatchAll(executingAssembly); } } } namespace Microsoft.CodeAnalysis { [<b89b921d-8954-4084-bd4d-1feb826a594e>Embedded] [CompilerGenerated] internal sealed class <b89b921d-8954-4084-bd4d-1feb826a594e>EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [<b89b921d-8954-4084-bd4d-1feb826a594e>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>NullableAttribute : Attribute { public readonly byte[] NullableFlags; public <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] [CompilerGenerated] [<b89b921d-8954-4084-bd4d-1feb826a594e>Embedded] internal sealed class <bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContextAttribute : Attribute { public readonly byte Flag; public <bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace LocalizationManager { [PublicAPI] [<f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(0)] [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(1)] internal 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; [<f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(2)] private static BaseUnityPlugin _plugin; private static readonly List<string> fileExtensions; private static BaseUnityPlugin plugin { get { //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Expected O, but got Unknown if (_plugin == null) { IEnumerable<TypeInfo> source; try { source = Assembly.GetExecutingAssembly().DefinedTypes.ToList(); } catch (ReflectionTypeLoadException ex) { source = from t in ex.Types where t != null select t.GetTypeInfo(); } _plugin = (BaseUnityPlugin)Chainloader.ManagerObject.GetComponent((Type)source.First([<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] (TypeInfo t) => t.IsClass && typeof(BaseUnityPlugin).IsAssignableFrom(t))); } return _plugin; } } private static void UpdatePlaceholderText(Localization localization, string key) { localizationLanguage.TryGetValue(localization, out var value); string text = loadedTexts[value][key]; if (PlaceholderProcessors.TryGetValue(key, out var value2)) { text = value2.Aggregate(text, [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] (string current, KeyValuePair<string, Func<string>> kv) => current.Replace("{" + kv.Key + "}", kv.Value())); } localization.AddWord(key, text); } public static void AddPlaceholder<T>(string key, string placeholder, ConfigEntry<T> config, [<f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(new byte[] { 2, 1, 1 })] Func<T, string> convertConfigValue = null) { if (convertConfigValue == null) { convertConfigValue = [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] [return: <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(1)] (T val) => val.ToString(); } if (!PlaceholderProcessors.ContainsKey(key)) { PlaceholderProcessors[key] = new Dictionary<string, Func<string>>(); } config.SettingChanged += [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] (object _, EventArgs _) => { UpdatePlaceholder(); }; if (loadedTexts.ContainsKey(Localization.instance.GetSelectedLanguage())) { UpdatePlaceholder(); } void UpdatePlaceholder() { PlaceholderProcessors[key][placeholder] = () => convertConfigValue(config.Value); UpdatePlaceholderText(Localization.instance, key); } } public static void AddText(string key, string text) { List<WeakReference<Localization>> list = new List<WeakReference<Localization>>(); foreach (WeakReference<Localization> localizationObject in localizationObjects) { if (localizationObject.TryGetTarget(out var target)) { Dictionary<string, string> dictionary = loadedTexts[localizationLanguage.GetOrCreateValue(target)]; if (!target.m_translations.ContainsKey(key)) { dictionary[key] = text; target.AddWord(key, text); } } else { list.Add(localizationObject); } } foreach (WeakReference<Localization> item in list) { localizationObjects.Remove(item); } } public static void Load() { LoadLocalization(Localization.instance, Localization.instance.GetSelectedLanguage()); } private static void LoadLocalization(Localization __instance, string language) { if (!localizationLanguage.Remove(__instance)) { localizationObjects.Add(new WeakReference<Localization>(__instance)); } localizationLanguage.Add(__instance, language); Dictionary<string, string> dictionary = new Dictionary<string, string>(); foreach (string item in from f in Directory.GetFiles(Path.GetDirectoryName(Paths.PluginPath), plugin.Info.Metadata.Name + ".*", SearchOption.AllDirectories) where fileExtensions.IndexOf(Path.GetExtension(f)) >= 0 select f) { string text = Path.GetFileNameWithoutExtension(item).Split(new char[1] { '.' })[1]; if (dictionary.ContainsKey(text)) { Debug.LogWarning((object)("Duplicate key " + text + " found for " + plugin.Info.Metadata.Name + ". The duplicate file found at " + item + " will be skipped.")); } else { dictionary[text] = item; } } byte[] array = LoadTranslationFromAssembly("English"); if (array == null) { throw new Exception("Found no English localizations in mod " + plugin.Info.Metadata.Name + ". Expected an embedded resource translations/English.json or translations/English.yml."); } Dictionary<string, string> dictionary2 = new <1224ebca-1f97-47a1-9cde-b02b79544f34>DeserializerBuilder().IgnoreFields().Build().Deserialize<Dictionary<string, string>>(Encoding.UTF8.GetString(array)); if (dictionary2 == null) { throw new Exception("Localization for mod " + plugin.Info.Metadata.Name + " failed: Localization file was empty."); } string text2 = null; if (language != "English") { if (dictionary.ContainsKey(language)) { text2 = File.ReadAllText(dictionary[language]); } else { byte[] array2 = LoadTranslationFromAssembly(language); if (array2 != null) { text2 = Encoding.UTF8.GetString(array2); } } } if (text2 == null && dictionary.ContainsKey("English")) { text2 = File.ReadAllText(dictionary["English"]); } if (text2 != null) { foreach (KeyValuePair<string, string> item2 in new <1224ebca-1f97-47a1-9cde-b02b79544f34>DeserializerBuilder().IgnoreFields().Build().Deserialize<Dictionary<string, string>>(text2) ?? new Dictionary<string, string>()) { dictionary2[item2.Key] = item2.Value; } } loadedTexts[language] = dictionary2; foreach (KeyValuePair<string, string> item3 in dictionary2) { UpdatePlaceholderText(__instance, item3.Key); } } static Localizer() { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown PlaceholderProcessors = new Dictionary<string, Dictionary<string, Func<string>>>(); loadedTexts = new Dictionary<string, Dictionary<string, string>>(); localizationLanguage = new ConditionalWeakTable<Localization, string>(); localizationObjects = new List<WeakReference<Localization>>(); fileExtensions = new List<string> { ".json", ".yml" }; new Harmony("org.bepinex.helpers.LocalizationManager").Patch((MethodBase)AccessTools.DeclaredMethod(typeof(Localization), "LoadCSV", (Type[])null, (Type[])null), (HarmonyMethod)null, new HarmonyMethod(AccessTools.DeclaredMethod(typeof(Localizer), "LoadLocalization", (Type[])null, (Type[])null)), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null); } [return: <f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(2)] private static byte[] LoadTranslationFromAssembly(string language) { foreach (string fileExtension in fileExtensions) { byte[] array = ReadEmbeddedFileBytes("translations." + language + fileExtension); if (array != null) { return array; } } return null; } [<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(2)] public static byte[] ReadEmbeddedFileBytes([<f6f8ff5f-fa45-43ba-9489-b740a9e7c98b>Nullable(1)] string resourceFileName, Assembly containingAssembly = null) { using MemoryStream memoryStream = new MemoryStream(); if ((object)containingAssembly == null) { containingAssembly = Assembly.GetCallingAssembly(); } string text = containingAssembly.GetManifestResourceNames().FirstOrDefault([<bb5e3e5e-5c47-485a-88ef-ea5afd7f01c7>NullableContext(0)] (string str) => str.EndsWith(resourceFileName, StringComparison.Ordinal)); if (text != null) { containingAssembly.GetManifestResourceStream(text)?.CopyTo(memoryStream); } return (memoryStream.Length == 0L) ? null : memoryStream.ToArray(); } } } namespace Microsoft.CodeAnalysis { [CompilerGenerated] [<fde8e83a-9d73-4f66-9c33-14196b715849>Embedded] internal sealed class <fde8e83a-9d73-4f66-9c33-14196b715849>EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [<fde8e83a-9d73-4f66-9c33-14196b715849>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>NullableAttribute : Attribute { public readonly byte[] NullableFlags; public <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [<fde8e83a-9d73-4f66-9c33-14196b715849>Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class <14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContextAttribute : Attribute { public readonly byte Flag; public <14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace System.Diagnostics.CodeAnalysis { [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, Inherited = false)] internal sealed class <3e7e6186-d424-4af7-b245-2b1162b7c71d>AllowNullAttribute : Attribute { } [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, Inherited = false)] internal sealed class <c525f608-c42f-462e-8630-db3c4610a423>DisallowNullAttribute : Attribute { } [AttributeUsage(AttributeTargets.Method, Inherited = false)] internal sealed class <49b82ce6-2a3f-444f-af07-6f5132112c4c>DoesNotReturnAttribute : Attribute { } [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] internal sealed class <70b3a9fc-0e51-4299-89ef-cb7916f8552b>DoesNotReturnIfAttribute : Attribute { public bool ParameterValue { get; } public <70b3a9fc-0e51-4299-89ef-cb7916f8552b>DoesNotReturnIfAttribute(bool parameterValue) { ParameterValue = parameterValue; } } [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.ReturnValue, Inherited = false)] internal sealed class <271ca749-6c90-4c0c-919a-c2bd7ad01c9e>MaybeNullAttribute : Attribute { } [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] internal sealed class <4f943193-2716-4cbc-89b4-605d6ce4f1ea>MaybeNullWhenAttribute : Attribute { public bool ReturnValue { get; } public <4f943193-2716-4cbc-89b4-605d6ce4f1ea>MaybeNullWhenAttribute(bool returnValue) { ReturnValue = returnValue; } } [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.ReturnValue, Inherited = false)] internal sealed class <caeab3c7-586e-40c3-936f-f5a91028b5a2>NotNullAttribute : Attribute { } [AttributeUsage(AttributeTargets.Property | AttributeTargets.Parameter | AttributeTargets.ReturnValue, AllowMultiple = true, Inherited = false)] [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(1)] [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] internal sealed class <635f7e53-49e1-4b26-81f3-a36a39567fc1>NotNullIfNotNullAttribute : Attribute { public string ParameterName { get; } public <635f7e53-49e1-4b26-81f3-a36a39567fc1>NotNullIfNotNullAttribute(string parameterName) { ParameterName = parameterName; } } [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] internal sealed class <9a391831-6787-4524-8351-2e3c5ee172db>NotNullWhenAttribute : Attribute { public bool ReturnValue { get; } public <9a391831-6787-4524-8351-2e3c5ee172db>NotNullWhenAttribute(bool returnValue) { ReturnValue = returnValue; } } } namespace System.Collections.Generic { internal static class <9f372261-424d-4218-9ca3-5c7bc7e7caf1>DeconstructionExtensions { [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(1)] public static void Deconstruct<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] TKey, [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] TValue>([<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(new byte[] { 0, 1, 1 })] this KeyValuePair<TKey, TValue> pair, out TKey key, out TValue value) { key = pair.Key; value = pair.Value; } } } namespace YamlDotNet { [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(1)] [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] internal sealed class <e6e2847b-50e4-4270-bb1a-07ce62be5b77>CultureInfoAdapter : CultureInfo { private readonly IFormatProvider provider; public <e6e2847b-50e4-4270-bb1a-07ce62be5b77>CultureInfoAdapter(CultureInfo baseCulture, IFormatProvider provider) : base(baseCulture.LCID) { this.provider = provider; } [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(2)] public override object GetFormat(Type formatType) { return provider.GetFormat(formatType); } } [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(1)] [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] internal static class <1f00dfe7-c662-457a-8275-ce46575e18d0>ReflectionExtensions { [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] private static readonly FieldInfo RemoteStackTraceField = typeof(Exception).GetField("_remoteStackTraceString", BindingFlags.Instance | BindingFlags.NonPublic); [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public static Type BaseType(this Type type) { return type.BaseType; } public static bool IsValueType(this Type type) { return type.IsValueType; } public static bool IsGenericType(this Type type) { return type.IsGenericType; } public static bool IsGenericTypeDefinition(this Type type) { return type.IsGenericTypeDefinition; } public static bool IsInterface(this Type type) { return type.IsInterface; } public static bool IsEnum(this Type type) { return type.IsEnum; } public static bool IsDbNull(this object value) { return value is DBNull; } public static bool HasDefaultConstructor(this Type type) { if (!type.IsValueType) { return type.GetConstructor(BindingFlags.Instance | BindingFlags.Public, null, Type.EmptyTypes, null) != null; } return true; } public static TypeCode GetTypeCode(this Type type) { return Type.GetTypeCode(type); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public static PropertyInfo GetPublicProperty(this Type type, string name) { return type.GetProperty(name); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public static FieldInfo GetPublicStaticField(this Type type, string name) { return type.GetField(name, BindingFlags.Static | BindingFlags.Public); } public static IEnumerable<PropertyInfo> GetProperties(this Type type, bool includeNonPublic) { BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public; if (includeNonPublic) { bindingFlags |= BindingFlags.NonPublic; } if (!type.IsInterface) { return type.GetProperties(bindingFlags); } return new Type[1] { type }.Concat(type.GetInterfaces()).SelectMany([<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(0)] (Type i) => i.GetProperties(bindingFlags)); } public static IEnumerable<PropertyInfo> GetPublicProperties(this Type type) { return GetProperties(type, includeNonPublic: false); } public static IEnumerable<FieldInfo> GetPublicFields(this Type type) { return type.GetFields(BindingFlags.Instance | BindingFlags.Public); } public static IEnumerable<MethodInfo> GetPublicStaticMethods(this Type type) { return type.GetMethods(BindingFlags.Static | BindingFlags.Public); } public static MethodInfo GetPrivateStaticMethod(this Type type, string name) { return type.GetMethod(name, BindingFlags.Static | BindingFlags.NonPublic) ?? throw new MissingMethodException("Expected to find a method named '" + name + "' in '" + type.FullName + "'."); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public static MethodInfo GetPublicStaticMethod(this Type type, string name, params Type[] parameterTypes) { return type.GetMethod(name, BindingFlags.Static | BindingFlags.Public, null, parameterTypes, null); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public static MethodInfo GetPublicInstanceMethod(this Type type, string name) { return type.GetMethod(name, BindingFlags.Instance | BindingFlags.Public); } public static Exception Unwrap(this TargetInvocationException ex) { Exception innerException = ex.InnerException; if (innerException == null) { return ex; } if (RemoteStackTraceField != null) { RemoteStackTraceField.SetValue(innerException, innerException.StackTrace + "\r\n"); } return innerException; } public static bool IsInstanceOf(this Type type, object o) { return type.IsInstanceOfType(o); } public static Attribute[] GetAllCustomAttributes<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] TAttribute>(this PropertyInfo property) { return Attribute.GetCustomAttributes(property, typeof(TAttribute)); } } internal static class <5e8fda1b-0522-40b2-b6da-988dfbcbec8b>PropertyInfoExtensions { [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(1)] [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public static object ReadValue(this PropertyInfo property, object target) { return property.GetValue(target, null); } } internal static class <d29f7c18-2e9f-46a0-8a0a-a4732c3cdfa5>StandardRegexOptions { public const RegexOptions Compiled = RegexOptions.Compiled; } } namespace YamlDotNet.Serialization { [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(1)] internal abstract class <0bce3c13-9c07-408e-adb7-05882bf68224>BuilderSkeleton<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] TBuilder> where TBuilder : <0bce3c13-9c07-408e-adb7-05882bf68224>BuilderSkeleton<TBuilder> { internal <c09ec9ef-9424-45d2-9c2e-e410fa2c947d>INamingConvention namingConvention = <9e061bf7-6252-4454-bde4-c93887902740>NullNamingConvention.Instance; internal <3001bf28-b7bc-44b2-8eec-349291b48fe3>ITypeResolver typeResolver; internal readonly <9e4283ef-9f7f-420e-8f88-e0e0a60a5460>YamlAttributeOverrides overrides; internal readonly <138bdc65-ae15-46a8-aba1-3fe9ff25b175>LazyComponentRegistrationList<<8382bd95-1b98-4529-a248-87f4a3a46329>Nothing, <b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter> typeConverterFactories; internal readonly <138bdc65-ae15-46a8-aba1-3fe9ff25b175>LazyComponentRegistrationList<<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector, <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector> typeInspectorFactories; private bool ignoreFields; private bool includeNonPublicProperties; protected abstract TBuilder Self { get; } internal <0bce3c13-9c07-408e-adb7-05882bf68224>BuilderSkeleton(<3001bf28-b7bc-44b2-8eec-349291b48fe3>ITypeResolver typeResolver) { overrides = new <9e4283ef-9f7f-420e-8f88-e0e0a60a5460>YamlAttributeOverrides(); typeConverterFactories = new <138bdc65-ae15-46a8-aba1-3fe9ff25b175>LazyComponentRegistrationList<<8382bd95-1b98-4529-a248-87f4a3a46329>Nothing, <b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter> { { typeof(<739567cc-e508-41fe-9dbe-1e6079bb2e77>GuidConverter), (<8382bd95-1b98-4529-a248-87f4a3a46329>Nothing _) => new <739567cc-e508-41fe-9dbe-1e6079bb2e77>GuidConverter(jsonCompatible: false) }, { typeof(<ca1757f5-b278-4964-ae02-25907b9e5f78>SystemTypeConverter), (<8382bd95-1b98-4529-a248-87f4a3a46329>Nothing _) => new <ca1757f5-b278-4964-ae02-25907b9e5f78>SystemTypeConverter() } }; typeInspectorFactories = new <138bdc65-ae15-46a8-aba1-3fe9ff25b175>LazyComponentRegistrationList<<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector, <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector>(); this.typeResolver = typeResolver ?? throw new ArgumentNullException("typeResolver"); } internal <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector BuildTypeInspector() { <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector2 = new <288a4d5b-3dc6-4712-b8df-41cc575910e9>ReadablePropertiesTypeInspector(typeResolver, includeNonPublicProperties); if (!ignoreFields) { <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector2 = new <ea68ddd7-b8e7-4419-b1cd-bf1876210e21>CompositeTypeInspector(new <efc1c028-304f-4a8b-84c3-9634e017a690>ReadableFieldsTypeInspector(typeResolver), <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector2); } return typeInspectorFactories.BuildComponentChain(<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector2); } public TBuilder IgnoreFields() { ignoreFields = true; return Self; } public TBuilder IncludeNonPublicProperties() { includeNonPublicProperties = true; return Self; } public TBuilder WithNamingConvention(<c09ec9ef-9424-45d2-9c2e-e410fa2c947d>INamingConvention namingConvention) { this.namingConvention = namingConvention ?? throw new ArgumentNullException("namingConvention"); return Self; } public TBuilder WithTypeResolver(<3001bf28-b7bc-44b2-8eec-349291b48fe3>ITypeResolver typeResolver) { this.typeResolver = typeResolver ?? throw new ArgumentNullException("typeResolver"); return Self; } public abstract TBuilder WithTagMapping(<e50c2326-884e-4373-af98-37aefa5f6de9>TagName tag, Type type); public TBuilder WithAttributeOverride<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] TClass>(Expression<Func<TClass, object>> propertyAccessor, Attribute attribute) { overrides.Add(propertyAccessor, attribute); return Self; } public TBuilder WithAttributeOverride(Type type, string member, Attribute attribute) { overrides.Add(type, member, attribute); return Self; } public TBuilder WithTypeConverter(<b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter typeConverter) { return WithTypeConverter(typeConverter, delegate(<3969f422-94f5-4ab6-8d66-a97e9587d5ab>IRegistrationLocationSelectionSyntax<<b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter> w) { w.OnTop(); }); } public TBuilder WithTypeConverter(<b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter typeConverter, Action<<3969f422-94f5-4ab6-8d66-a97e9587d5ab>IRegistrationLocationSelectionSyntax<<b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter>> where) { if (typeConverter == null) { throw new ArgumentNullException("typeConverter"); } if (where == null) { throw new ArgumentNullException("where"); } where(typeConverterFactories.CreateRegistrationLocationSelector(typeConverter.GetType(), (<8382bd95-1b98-4529-a248-87f4a3a46329>Nothing _) => typeConverter)); return Self; } public TBuilder WithTypeConverter<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] TYamlTypeConverter>(<262956db-1841-40f2-b76d-56fe2ea36328>WrapperFactory<<b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter, <b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter> typeConverterFactory, Action<<6f3d9a35-2a3c-4ee8-beb7-68a3682e7106>ITrackingRegistrationLocationSelectionSyntax<<b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter>> where) where TYamlTypeConverter : <b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter { if (typeConverterFactory == null) { throw new ArgumentNullException("typeConverterFactory"); } if (where == null) { throw new ArgumentNullException("where"); } where(typeConverterFactories.CreateTrackingRegistrationLocationSelector(typeof(TYamlTypeConverter), (<b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter wrapped, <8382bd95-1b98-4529-a248-87f4a3a46329>Nothing _) => typeConverterFactory(wrapped))); return Self; } public TBuilder WithoutTypeConverter<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] TYamlTypeConverter>() where TYamlTypeConverter : <b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter { return WithoutTypeConverter(typeof(TYamlTypeConverter)); } public TBuilder WithoutTypeConverter(Type converterType) { if (converterType == null) { throw new ArgumentNullException("converterType"); } typeConverterFactories.Remove(converterType); return Self; } public TBuilder WithTypeInspector<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] TTypeInspector>(Func<<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector, TTypeInspector> typeInspectorFactory) where TTypeInspector : <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector { return WithTypeInspector(typeInspectorFactory, delegate(<3969f422-94f5-4ab6-8d66-a97e9587d5ab>IRegistrationLocationSelectionSyntax<<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector> w) { w.OnTop(); }); } public TBuilder WithTypeInspector<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] TTypeInspector>(Func<<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector, TTypeInspector> typeInspectorFactory, Action<<3969f422-94f5-4ab6-8d66-a97e9587d5ab>IRegistrationLocationSelectionSyntax<<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector>> where) where TTypeInspector : <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector { if (typeInspectorFactory == null) { throw new ArgumentNullException("typeInspectorFactory"); } if (where == null) { throw new ArgumentNullException("where"); } where(typeInspectorFactories.CreateRegistrationLocationSelector(typeof(TTypeInspector), (<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector inner) => typeInspectorFactory(inner))); return Self; } public TBuilder WithTypeInspector<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] TTypeInspector>(<bde98e5d-48d4-44b8-8e15-e17994d095b8>WrapperFactory<<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector, <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector, TTypeInspector> typeInspectorFactory, Action<<6f3d9a35-2a3c-4ee8-beb7-68a3682e7106>ITrackingRegistrationLocationSelectionSyntax<<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector>> where) where TTypeInspector : <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector { if (typeInspectorFactory == null) { throw new ArgumentNullException("typeInspectorFactory"); } if (where == null) { throw new ArgumentNullException("where"); } where(typeInspectorFactories.CreateTrackingRegistrationLocationSelector(typeof(TTypeInspector), (<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector wrapped, <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector inner) => typeInspectorFactory(wrapped, inner))); return Self; } public TBuilder WithoutTypeInspector<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] TTypeInspector>() where TTypeInspector : <49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector { return WithoutTypeInspector(typeof(TTypeInspector)); } public TBuilder WithoutTypeInspector(Type inspectorType) { if (inspectorType == null) { throw new ArgumentNullException("inspectorType"); } typeInspectorFactories.Remove(inspectorType); return Self; } protected IEnumerable<<b830451f-48c0-421e-b288-9097c9849fb1>IYamlTypeConverter> BuildTypeConverters() { return typeConverterFactories.BuildComponentList(); } } internal delegate TComponent <262956db-1841-40f2-b76d-56fe2ea36328>WrapperFactory<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] TComponentBase, TComponent>(TComponentBase wrapped) where TComponent : TComponentBase; internal delegate TComponent <bde98e5d-48d4-44b8-8e15-e17994d095b8>WrapperFactory<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] TArgument, [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] TComponentBase, TComponent>(TComponentBase wrapped, TArgument argument) where TComponent : TComponentBase; [Flags] internal enum <2bdd4ccc-2d50-40d5-b474-13690388dee2>DefaultValuesHandling { Preserve = 0, OmitNull = 1, OmitDefaults = 2, OmitEmptyCollections = 4 } [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(1)] [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(0)] internal sealed class <4b80547b-e049-4c3d-a0fe-8cd70ce95bf7>Deserializer : <af9344b2-4d22-4fc4-9e00-b8f5aa3ad305>IDeserializer { private readonly <7ca04465-7f3a-4fbd-90d5-fe1017e5eb9a>IValueDeserializer valueDeserializer; public <4b80547b-e049-4c3d-a0fe-8cd70ce95bf7>Deserializer() : this(new <1224ebca-1f97-47a1-9cde-b02b79544f34>DeserializerBuilder().BuildValueDeserializer()) { } private <4b80547b-e049-4c3d-a0fe-8cd70ce95bf7>Deserializer(<7ca04465-7f3a-4fbd-90d5-fe1017e5eb9a>IValueDeserializer valueDeserializer) { this.valueDeserializer = valueDeserializer ?? throw new ArgumentNullException("valueDeserializer"); } public static <4b80547b-e049-4c3d-a0fe-8cd70ce95bf7>Deserializer FromValueDeserializer(<7ca04465-7f3a-4fbd-90d5-fe1017e5eb9a>IValueDeserializer valueDeserializer) { return new <4b80547b-e049-4c3d-a0fe-8cd70ce95bf7>Deserializer(valueDeserializer); } public T Deserialize<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] T>(string input) { using StringReader input2 = new StringReader(input); return Deserialize<T>(input2); } public T Deserialize<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] T>(TextReader input) { return Deserialize<T>(new <c74b7032-c987-48e6-bd91-4418d5218fed>Parser(input)); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public object Deserialize(TextReader input) { return Deserialize(input, typeof(object)); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public object Deserialize(string input, Type type) { using StringReader input2 = new StringReader(input); return Deserialize(input2, type); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public object Deserialize(TextReader input, Type type) { return Deserialize(new <c74b7032-c987-48e6-bd91-4418d5218fed>Parser(input), type); } public T Deserialize<[<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] T>(<9e89dfaa-7334-401b-8ffa-c532f08f233e>IParser parser) { return (T)Deserialize(parser, typeof(T)); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public object Deserialize(<9e89dfaa-7334-401b-8ffa-c532f08f233e>IParser parser) { return Deserialize(parser, typeof(object)); } [return: <2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(2)] public object Deserialize(<9e89dfaa-7334-401b-8ffa-c532f08f233e>IParser parser, Type type) { if (parser == null) { throw new ArgumentNullException("parser"); } if (type == null) { throw new ArgumentNullException("type"); } <26d328f4-f1de-4c6a-a594-e704f3d8b204>StreamStart @event; bool flag = parser.TryConsume<<26d328f4-f1de-4c6a-a594-e704f3d8b204>StreamStart>(out @event); <6972d506-7238-4326-811a-93f30bef8b87>DocumentStart event2; bool flag2 = parser.TryConsume<<6972d506-7238-4326-811a-93f30bef8b87>DocumentStart>(out event2); object result = null; if (!parser.Accept<<b7ff7752-b851-4a29-8520-2686d6416068>DocumentEnd>(out var _) && !parser.Accept<<0dbfd22b-977d-4069-aa75-d39e6e311144>StreamEnd>(out var _)) { using <96acb200-f683-4bc3-a572-267a85b2d691>SerializerState <96acb200-f683-4bc3-a572-267a85b2d691>SerializerState = new <96acb200-f683-4bc3-a572-267a85b2d691>SerializerState(); result = valueDeserializer.DeserializeValue(parser, type, <96acb200-f683-4bc3-a572-267a85b2d691>SerializerState, valueDeserializer); <96acb200-f683-4bc3-a572-267a85b2d691>SerializerState.OnDeserialization(); } if (flag2) { parser.Consume<<b7ff7752-b851-4a29-8520-2686d6416068>DocumentEnd>(); } if (flag) { parser.Consume<<0dbfd22b-977d-4069-aa75-d39e6e311144>StreamEnd>(); } return result; } } [<14ae092b-5aea-40b0-9fdc-48ae5a3d4aab>NullableContext(1)] [<2c51ee0d-296e-41f3-a179-a37c4a3c53a6>Nullable(new byte[] { 0, 1 })] internal sealed class <1224ebca-1f97-47a1-9cde-b02b79544f34>DeserializerBuilder : <0bce3c13-9c07-408e-adb7-05882bf68224>BuilderSkeleton<<1224ebca-1f97-47a1-9cde-b02b79544f34>DeserializerBuilder> { private Lazy<<7af2fe2f-52f9-4bc8-a8b2-8225b1679990>IObjectFactory> objectFactory; private readonly <138bdc65-ae15-46a8-aba1-3fe9ff25b175>LazyComponentRegistrationList<<8382bd95-1b98-4529-a248-87f4a3a46329>Nothing, <70ef5add-bf92-4568-a19a-9f173905d48b>INodeDeserializer> nodeDeserializerFactories; private readonly <138bdc65-ae15-46a8-aba1-3fe9ff25b175>LazyComponentRegistrationList<<8382bd95-1b98-4529-a248-87f4a3a46329>Nothing, <edf8f813-6034-4eca-b753-c66cb46c544d>INodeTypeResolver> nodeTypeResolverFactories; private readonly Dictionary<<e50c2326-884e-4373-af98-37aefa5f6de9>TagName, Type> tagMappings; private readonly Dictionary<Type, Type> typeMappings; private bool ignoreUnmatched; protected override <1224ebca-1f97-47a1-9cde-b02b79544f34>DeserializerBuilder Self => this; public <1224ebca-1f97-47a1-9cde-b02b79544f34>DeserializerBuilder() : base((<3001bf28-b7bc-44b2-8eec-349291b48fe3>ITypeResolver)new <37e7931b-b4ea-44c1-b6f3-72ddffab1126>StaticTypeResolver()) { typeMappings = new Dictionary<Type, Type>(); objectFactory = new Lazy<<7af2fe2f-52f9-4bc8-a8b2-8225b1679990>IObjectFactory>(() => new <0c4048ad-9303-4876-b00b-e900e75160ac>DefaultObjectFactory(typeMappings), isThreadSafe: true); tagMappings = new Dictionary<<e50c2326-884e-4373-af98-37aefa5f6de9>TagName, Type> { { <463bcd01-9b6d-4379-9dc4-18d6f41636ff>FailsafeSchema.Tags.Map, typeof(Dictionary<object, object>) }, { <463bcd01-9b6d-4379-9dc4-18d6f41636ff>FailsafeSchema.Tags.Str, typeof(string) }, { <96ae0c97-473c-4b94-930c-a36b3608f726>JsonSchema.Tags.Bool, typeof(bool) }, { <96ae0c97-473c-4b94-930c-a36b3608f726>JsonSchema.Tags.Float, typeof(double) }, { <96ae0c97-473c-4b94-930c-a36b3608f726>JsonSchema.Tags.Int, typeof(int) }, { <9dd5bb14-e4d4-449b-a3f4-add7f65c21c7>DefaultSchema.Tags.Timestamp, typeof(DateTime) } }; typeInspectorFactories.Add(typeof(<5789307e-c6eb-4072-a17a-1e0eae146b1e>CachedTypeInspector), (<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector inner) => new <5789307e-c6eb-4072-a17a-1e0eae146b1e>CachedTypeInspector(inner)); typeInspectorFactories.Add(typeof(<9c7882ba-abb7-4b65-8aa8-c9cb85e907e5>NamingConventionTypeInspector), (<49ab975f-9cbe-40e3-83a9-93906f182f2a>ITypeInspector inner) => (!(namingConvention is <9e061bf7-6252-4454-bde4-c93887902740>NullNamingConvention)) ? new <9c7882ba-abb7-4b65-8aa8-c9cb85e907e5>Namin