Decompiled source of Glitnir Armas v1.0.0

GlitinirArmas.dll

Decompiled 2 weeks ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.IO.Compression;
using System.Linq;
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.RegularExpressions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using ItemManager;
using JetBrains.Annotations;
using Microsoft.CodeAnalysis;
using ServerSync;
using SoftReferenceableAssets;
using TMPro;
using UnityEngine;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("GlitinirArmas")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("GlitinirArmas")]
[assembly: AssemblyCopyright("Copyright ©  2022")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("E74EB49A-461D-48EA-85BC-F462D60C98C4")]
[assembly: AssemblyFileVersion("0.0.1")]
[assembly: AssemblyCompany("Marlthon")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.1.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[<4aac0d9f-6f2a-4128-8371-1f1a675554f4>Embedded]
	internal sealed class <4aac0d9f-6f2a-4128-8371-1f1a675554f4>EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[<4aac0d9f-6f2a-4128-8371-1f1a675554f4>Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class <686c39fa-524f-42ea-a107-551b80781a83>NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public <686c39fa-524f-42ea-a107-551b80781a83>NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public <686c39fa-524f-42ea-a107-551b80781a83>NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[<4aac0d9f-6f2a-4128-8371-1f1a675554f4>Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class <bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public <bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace GlitinirArmas
{
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	[BepInPlugin("wesley.GlitinirArmas", "GlitinirArmas", "0.0.1")]
	public class GlitinirArmasPlugin : BaseUnityPlugin
	{
		[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)]
		private class ConfigurationManagerAttributes
		{
			public bool? Browsable = false;
		}

		internal const string ModName = "GlitinirArmas";

		internal const string ModVersion = "0.0.1";

		internal const string Author = "wesley";

		private const string ModGUID = "wesley.GlitinirArmas";

		private static string ConfigFileName = "wesley.GlitinirArmas.cfg";

		private static string ConfigFileFullPath;

		private readonly Harmony _harmony = new Harmony("wesley.GlitinirArmas");

		public static readonly ManualLogSource GlitinirArmas;

		private static readonly ConfigSync ConfigSync;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		private static ConfigEntry<bool> _serverConfigLocked;

		public void Awake()
		{
			_serverConfigLocked = config("General", "Force Server Config", value: true, "Force Server Config");
			ConfigSync.AddLockingConfigEntry<bool>(_serverConfigLocked);
			Item item = new Item("mar_glitnir", "ShieldGlitnir");
			item.Name.English("Shield Glitnir");
			item.Name.Portuguese_Brazilian("Escudo Glitnir");
			item.Description.English("Shield Glitnir");
			item.Description.Portuguese_Brazilian("Escudo Oficial do Servidor Glitnir");
			Item item2 = new Item("mar_glitnir", "GlitnirSword");
			item2.Name.English("Glitnir Sword");
			item2.Name.Portuguese_Brazilian("Espada Glitnir");
			item2.Description.English("Glitnir Sword");
			item2.Description.Portuguese_Brazilian("Espada Oficial do Servidor Glitnir");
			Item item3 = new Item("mar_glitnir", "Axe_Fire_Glitnir");
			item3.Name.English("Glitnir Fire Axe");
			item3.Name.Portuguese_Brazilian("Machado de Fogo Glitnir");
			item3.Description.English("Glitnir Fire Axe");
			item3.Description.Portuguese_Brazilian("Machado de Fogo Glitnir");
			item3.Crafting.Add(CraftingTable.Forge, 2);
			item3.RequiredItems.Add("Iron", 20);
			item3.RequiredItems.Add("Bronze", 20);
			item3.RequiredItems.Add("Wood", 20);
			item3.RequiredItems.Add("Resin", 20);
			item3.RequiredUpgradeItems.Add("Iron", 5, 2);
			item3.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item3.RequiredUpgradeItems.Add("Wood", 5, 2);
			item3.RequiredUpgradeItems.Add("Resin", 5, 2);
			item3.RequiredUpgradeItems.Add("Silver", 5, 3);
			item3.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item3.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item3.RequiredUpgradeItems.Add("Resin", 5, 3);
			item3.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item3.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item3.RequiredUpgradeItems.Add("Wood", 5, 4);
			item3.RequiredUpgradeItems.Add("Resin", 5, 4);
			item3.RequiredUpgradeItems.Add("Silver", 5, 5);
			item3.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item3.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item3.RequiredUpgradeItems.Add("Resin", 5, 5);
			item3.RequiredUpgradeItems.Add("Silver", 5, 6);
			item3.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item3.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item3.RequiredUpgradeItems.Add("Resin", 5, 6);
			item3.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item4 = new Item("mar_glitnir", "Axe_Ice_Glitnir");
			item4.Name.English("Glitnir Ice Axe");
			item4.Name.Portuguese_Brazilian("Machado de Gelo Glitnir");
			item4.Description.English("Glitnir Ice Axe");
			item4.Description.Portuguese_Brazilian("Machado de Gelo Glitnir");
			item4.Crafting.Add(CraftingTable.Forge, 2);
			item4.RequiredItems.Add("Iron", 20);
			item4.RequiredItems.Add("Bronze", 20);
			item4.RequiredItems.Add("Wood", 20);
			item4.RequiredItems.Add("Resin", 20);
			item4.RequiredUpgradeItems.Add("Iron", 5, 2);
			item4.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item4.RequiredUpgradeItems.Add("Wood", 5, 2);
			item4.RequiredUpgradeItems.Add("Resin", 5, 2);
			item4.RequiredUpgradeItems.Add("Silver", 5, 3);
			item4.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item4.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item4.RequiredUpgradeItems.Add("Resin", 5, 3);
			item4.RequiredUpgradeItems.Add("Iron", 5, 4);
			item4.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item4.RequiredUpgradeItems.Add("Wood", 5, 4);
			item4.RequiredUpgradeItems.Add("Resin", 5, 4);
			item4.RequiredUpgradeItems.Add("Silver", 5, 5);
			item4.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item4.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item4.RequiredUpgradeItems.Add("Resin", 5, 5);
			item4.RequiredUpgradeItems.Add("Silver", 5, 6);
			item4.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item4.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item4.RequiredUpgradeItems.Add("Resin", 5, 6);
			item4.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item5 = new Item("mar_glitnir", "Axe_Poison_Glitnir");
			item5.Name.English("Glitnir Poison Axe");
			item5.Name.Portuguese_Brazilian("Machado de Veneno Glitnir");
			item5.Description.English("Glitnir Poison Axe");
			item5.Description.Portuguese_Brazilian("Machado de Veneno Glitnir");
			item5.Crafting.Add(CraftingTable.Forge, 2);
			item5.RequiredItems.Add("Iron", 20);
			item5.RequiredItems.Add("Bronze", 20);
			item5.RequiredItems.Add("Wood", 20);
			item5.RequiredItems.Add("Resin", 20);
			item5.RequiredUpgradeItems.Add("Iron", 5, 2);
			item5.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item5.RequiredUpgradeItems.Add("Wood", 5, 2);
			item5.RequiredUpgradeItems.Add("Resin", 5, 2);
			item5.RequiredUpgradeItems.Add("Silver", 5, 3);
			item5.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item5.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item5.RequiredUpgradeItems.Add("Resin", 5, 3);
			item5.RequiredUpgradeItems.Add("Iron", 5, 4);
			item5.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item5.RequiredUpgradeItems.Add("Wood", 5, 4);
			item5.RequiredUpgradeItems.Add("Resin", 5, 4);
			item5.RequiredUpgradeItems.Add("Silver", 5, 5);
			item5.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item5.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item5.RequiredUpgradeItems.Add("Resin", 5, 5);
			item5.RequiredUpgradeItems.Add("Silver", 5, 6);
			item5.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item5.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item5.RequiredUpgradeItems.Add("Resin", 5, 6);
			item5.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item6 = new Item("mar_glitnir", "Axe_Thunder_Glitnir");
			item6.Name.English("Glitnir Thunder Axe");
			item6.Name.Portuguese_Brazilian("Machado de Raio Glitnir");
			item6.Description.English("Glitnir Thunder Axe");
			item6.Description.Portuguese_Brazilian("Machado de Raio Glitnir");
			item6.Crafting.Add(CraftingTable.Forge, 2);
			item6.RequiredItems.Add("Iron", 20);
			item6.RequiredItems.Add("Bronze", 20);
			item6.RequiredItems.Add("Wood", 20);
			item6.RequiredItems.Add("Resin", 20);
			item6.RequiredUpgradeItems.Add("Iron", 5, 2);
			item6.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item6.RequiredUpgradeItems.Add("Wood", 5, 2);
			item6.RequiredUpgradeItems.Add("Resin", 5, 2);
			item6.RequiredUpgradeItems.Add("Silver", 5, 3);
			item6.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item6.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item6.RequiredUpgradeItems.Add("Resin", 5, 3);
			item6.RequiredUpgradeItems.Add("Iron", 5, 4);
			item6.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item6.RequiredUpgradeItems.Add("Wood", 5, 4);
			item6.RequiredUpgradeItems.Add("Resin", 5, 4);
			item6.RequiredUpgradeItems.Add("Silver", 5, 5);
			item6.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item6.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item6.RequiredUpgradeItems.Add("Resin", 5, 5);
			item6.RequiredUpgradeItems.Add("Silver", 5, 6);
			item6.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item6.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item6.RequiredUpgradeItems.Add("Resin", 5, 6);
			item6.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item7 = new Item("mar_glitnir", "Battleaxe_Fire_Glitnir");
			item7.Name.English("Glitnir Fire BattleAxe");
			item7.Name.Portuguese_Brazilian("Machadão de Fogo Glitnir");
			item7.Description.English("Glitnir Fire BattleAxe");
			item7.Description.Portuguese_Brazilian("Machadão de Fogo Glitnir");
			item7.Crafting.Add(CraftingTable.Forge, 2);
			item7.RequiredItems.Add("Iron", 20);
			item7.RequiredItems.Add("Bronze", 20);
			item7.RequiredItems.Add("Wood", 20);
			item7.RequiredItems.Add("Resin", 20);
			item7.RequiredUpgradeItems.Add("Iron", 5, 2);
			item7.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item7.RequiredUpgradeItems.Add("Wood", 5, 2);
			item7.RequiredUpgradeItems.Add("Resin", 5, 2);
			item7.RequiredUpgradeItems.Add("Silver", 5, 3);
			item7.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item7.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item7.RequiredUpgradeItems.Add("Resin", 5, 3);
			item7.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item7.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item7.RequiredUpgradeItems.Add("Wood", 5, 4);
			item7.RequiredUpgradeItems.Add("Resin", 5, 4);
			item7.RequiredUpgradeItems.Add("Silver", 5, 5);
			item7.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item7.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item7.RequiredUpgradeItems.Add("Resin", 5, 5);
			item7.RequiredUpgradeItems.Add("Silver", 5, 6);
			item7.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item7.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item7.RequiredUpgradeItems.Add("Resin", 5, 6);
			item7.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item8 = new Item("mar_glitnir", "Battleaxe_Ice_Glitnir");
			item8.Name.English("Glitnir Ice BattleAxe");
			item8.Name.Portuguese_Brazilian("Machadão de Gelo Glitnir");
			item8.Description.English("Glitnir Ice BattleAxe");
			item8.Description.Portuguese_Brazilian("Machadão de Gelo Glitnir");
			item8.Crafting.Add(CraftingTable.Forge, 2);
			item8.RequiredItems.Add("Iron", 20);
			item8.RequiredItems.Add("Bronze", 20);
			item8.RequiredItems.Add("Wood", 20);
			item8.RequiredItems.Add("Resin", 20);
			item8.RequiredUpgradeItems.Add("Iron", 5, 2);
			item8.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item8.RequiredUpgradeItems.Add("Wood", 5, 2);
			item8.RequiredUpgradeItems.Add("Resin", 5, 2);
			item8.RequiredUpgradeItems.Add("Silver", 5, 3);
			item8.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item8.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item8.RequiredUpgradeItems.Add("Resin", 5, 3);
			item8.RequiredUpgradeItems.Add("Iron", 5, 4);
			item8.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item8.RequiredUpgradeItems.Add("Wood", 5, 4);
			item8.RequiredUpgradeItems.Add("Resin", 5, 4);
			item8.RequiredUpgradeItems.Add("Silver", 5, 5);
			item8.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item8.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item8.RequiredUpgradeItems.Add("Resin", 5, 5);
			item8.RequiredUpgradeItems.Add("Silver", 5, 6);
			item8.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item8.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item8.RequiredUpgradeItems.Add("Resin", 5, 6);
			item8.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item9 = new Item("mar_glitnir", "Battleaxe_Poison_Glitnir");
			item9.Name.English("Glitnir Poison BattleAxe");
			item9.Name.Portuguese_Brazilian("Machadão de Veneno Glitnir");
			item9.Description.English("Glitnir Poison BattleAxe");
			item9.Description.Portuguese_Brazilian("Machadão de Veneno Glitnir");
			item9.Crafting.Add(CraftingTable.Forge, 2);
			item9.RequiredItems.Add("Iron", 20);
			item9.RequiredItems.Add("Bronze", 20);
			item9.RequiredItems.Add("Wood", 20);
			item9.RequiredItems.Add("Resin", 20);
			item9.RequiredUpgradeItems.Add("Iron", 5, 2);
			item9.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item9.RequiredUpgradeItems.Add("Wood", 5, 2);
			item9.RequiredUpgradeItems.Add("Resin", 5, 2);
			item9.RequiredUpgradeItems.Add("Silver", 5, 3);
			item9.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item9.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item9.RequiredUpgradeItems.Add("Resin", 5, 3);
			item9.RequiredUpgradeItems.Add("Iron", 5, 4);
			item9.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item9.RequiredUpgradeItems.Add("Wood", 5, 4);
			item9.RequiredUpgradeItems.Add("Resin", 5, 4);
			item9.RequiredUpgradeItems.Add("Silver", 5, 5);
			item9.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item9.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item9.RequiredUpgradeItems.Add("Resin", 5, 5);
			item9.RequiredUpgradeItems.Add("Silver", 5, 6);
			item9.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item9.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item9.RequiredUpgradeItems.Add("Resin", 5, 6);
			item9.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item10 = new Item("mar_glitnir", "Battleaxe_Thunder_Glitnir");
			item10.Name.English("Glitnir Thunder BattleAxe");
			item10.Name.Portuguese_Brazilian("Machadão de Raio Glitnir");
			item10.Description.English("Glitnir Thunder BattleAxe");
			item10.Description.Portuguese_Brazilian("Machadão de Raio Glitnir");
			item10.Crafting.Add(CraftingTable.Forge, 2);
			item10.RequiredItems.Add("Iron", 20);
			item10.RequiredItems.Add("Bronze", 20);
			item10.RequiredItems.Add("Wood", 20);
			item10.RequiredItems.Add("Resin", 20);
			item10.RequiredUpgradeItems.Add("Iron", 5, 2);
			item10.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item10.RequiredUpgradeItems.Add("Wood", 5, 2);
			item10.RequiredUpgradeItems.Add("Resin", 5, 2);
			item10.RequiredUpgradeItems.Add("Silver", 5, 3);
			item10.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item10.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item10.RequiredUpgradeItems.Add("Resin", 5, 3);
			item10.RequiredUpgradeItems.Add("Iron", 5, 4);
			item10.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item10.RequiredUpgradeItems.Add("Wood", 5, 4);
			item10.RequiredUpgradeItems.Add("Resin", 5, 4);
			item10.RequiredUpgradeItems.Add("Silver", 5, 5);
			item10.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item10.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item10.RequiredUpgradeItems.Add("Resin", 5, 5);
			item10.RequiredUpgradeItems.Add("Silver", 5, 6);
			item10.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item10.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item10.RequiredUpgradeItems.Add("Resin", 5, 6);
			item10.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item11 = new Item("mar_glitnir", "Bow_Fire_Glitnir");
			item11.Name.English("Glitnir Fire Bow");
			item11.Name.Portuguese_Brazilian("Arco de Fogo Glitnir");
			item11.Description.English("Glitnir Fire Bow");
			item11.Description.Portuguese_Brazilian("Arco de Fogo Glitnir");
			item11.Crafting.Add(CraftingTable.Forge, 2);
			item11.RequiredItems.Add("Iron", 20);
			item11.RequiredItems.Add("Bronze", 20);
			item11.RequiredItems.Add("Wood", 20);
			item11.RequiredItems.Add("Resin", 20);
			item11.RequiredUpgradeItems.Add("Iron", 5, 2);
			item11.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item11.RequiredUpgradeItems.Add("Wood", 5, 2);
			item11.RequiredUpgradeItems.Add("Resin", 5, 2);
			item11.RequiredUpgradeItems.Add("Silver", 5, 3);
			item11.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item11.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item11.RequiredUpgradeItems.Add("Resin", 5, 3);
			item11.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item11.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item11.RequiredUpgradeItems.Add("Wood", 5, 4);
			item11.RequiredUpgradeItems.Add("Resin", 5, 4);
			item11.RequiredUpgradeItems.Add("Silver", 5, 5);
			item11.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item11.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item11.RequiredUpgradeItems.Add("Resin", 5, 5);
			item11.RequiredUpgradeItems.Add("Silver", 5, 6);
			item11.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item11.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item11.RequiredUpgradeItems.Add("Resin", 5, 6);
			item11.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item12 = new Item("mar_glitnir", "Bow_Ice_Glitnir");
			item12.Name.English("Glitnir Ice Bow");
			item12.Name.Portuguese_Brazilian("Arco de Gelo Glitnir");
			item12.Description.English("Glitnir Ice Bow");
			item12.Description.Portuguese_Brazilian("Arco de Gelo Glitnir");
			item12.Crafting.Add(CraftingTable.Forge, 2);
			item12.RequiredItems.Add("Iron", 20);
			item12.RequiredItems.Add("Bronze", 20);
			item12.RequiredItems.Add("Wood", 20);
			item12.RequiredItems.Add("Resin", 20);
			item12.RequiredUpgradeItems.Add("Iron", 5, 2);
			item12.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item12.RequiredUpgradeItems.Add("Wood", 5, 2);
			item12.RequiredUpgradeItems.Add("Resin", 5, 2);
			item12.RequiredUpgradeItems.Add("Silver", 5, 3);
			item12.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item12.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item12.RequiredUpgradeItems.Add("Resin", 5, 3);
			item12.RequiredUpgradeItems.Add("Iron", 5, 4);
			item12.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item12.RequiredUpgradeItems.Add("Wood", 5, 4);
			item12.RequiredUpgradeItems.Add("Resin", 5, 4);
			item12.RequiredUpgradeItems.Add("Silver", 5, 5);
			item12.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item12.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item12.RequiredUpgradeItems.Add("Resin", 5, 5);
			item12.RequiredUpgradeItems.Add("Silver", 5, 6);
			item12.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item12.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item12.RequiredUpgradeItems.Add("Resin", 5, 6);
			item12.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item13 = new Item("mar_glitnir", "Bow_Poison_Glitnir");
			item13.Name.English("Glitnir Poison Bow");
			item13.Name.Portuguese_Brazilian("Arco de Veneno Glitnir");
			item13.Description.English("Glitnir Poison Bow");
			item13.Description.Portuguese_Brazilian("Arco de Veneno Glitnir");
			item13.Crafting.Add(CraftingTable.Forge, 2);
			item13.RequiredItems.Add("Iron", 20);
			item13.RequiredItems.Add("Bronze", 20);
			item13.RequiredItems.Add("Wood", 20);
			item13.RequiredItems.Add("Resin", 20);
			item13.RequiredUpgradeItems.Add("Iron", 5, 2);
			item13.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item13.RequiredUpgradeItems.Add("Wood", 5, 2);
			item13.RequiredUpgradeItems.Add("Resin", 5, 2);
			item13.RequiredUpgradeItems.Add("Silver", 5, 3);
			item13.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item13.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item13.RequiredUpgradeItems.Add("Resin", 5, 3);
			item13.RequiredUpgradeItems.Add("Iron", 5, 4);
			item13.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item13.RequiredUpgradeItems.Add("Wood", 5, 4);
			item13.RequiredUpgradeItems.Add("Resin", 5, 4);
			item13.RequiredUpgradeItems.Add("Silver", 5, 5);
			item13.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item13.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item13.RequiredUpgradeItems.Add("Resin", 5, 5);
			item13.RequiredUpgradeItems.Add("Silver", 5, 6);
			item13.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item13.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item13.RequiredUpgradeItems.Add("Resin", 5, 6);
			item13.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item14 = new Item("mar_glitnir", "Bow_Thunder_Glitnir");
			item14.Name.English("Glitnir Thunder Bow");
			item14.Name.Portuguese_Brazilian("Arco de Raio Glitnir");
			item14.Description.English("Glitnir Thunder Bow");
			item14.Description.Portuguese_Brazilian("Arco de Raio Glitnir");
			item14.Crafting.Add(CraftingTable.Forge, 2);
			item14.RequiredItems.Add("Iron", 20);
			item14.RequiredItems.Add("Bronze", 20);
			item14.RequiredItems.Add("Wood", 20);
			item14.RequiredItems.Add("Resin", 20);
			item14.RequiredUpgradeItems.Add("Iron", 5, 2);
			item14.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item14.RequiredUpgradeItems.Add("Wood", 5, 2);
			item14.RequiredUpgradeItems.Add("Resin", 5, 2);
			item14.RequiredUpgradeItems.Add("Silver", 5, 3);
			item14.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item14.RequiredUpgradeItems.Add("Resin", 5, 3);
			item14.RequiredUpgradeItems.Add("Iron", 5, 4);
			item14.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item14.RequiredUpgradeItems.Add("Wood", 5, 4);
			item14.RequiredUpgradeItems.Add("Resin", 5, 4);
			item14.RequiredUpgradeItems.Add("Silver", 5, 5);
			item14.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item14.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item14.RequiredUpgradeItems.Add("Resin", 5, 5);
			item14.RequiredUpgradeItems.Add("Silver", 5, 6);
			item14.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item14.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item14.RequiredUpgradeItems.Add("Resin", 5, 6);
			item14.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item15 = new Item("mar_glitnir", "Knife_Fire_Glitnir");
			item15.Name.English("Glitnir Fire Knife");
			item15.Name.Portuguese_Brazilian("Adaga de Fogo Glitnir");
			item15.Description.English("Glitnir Fire Knife");
			item15.Description.Portuguese_Brazilian("Adaga de Fogo Glitnir");
			item15.Crafting.Add(CraftingTable.Forge, 2);
			item15.RequiredItems.Add("Iron", 20);
			item15.RequiredItems.Add("Bronze", 20);
			item15.RequiredItems.Add("Wood", 20);
			item15.RequiredItems.Add("Resin", 20);
			item15.RequiredUpgradeItems.Add("Iron", 5, 2);
			item15.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item15.RequiredUpgradeItems.Add("Wood", 5, 2);
			item15.RequiredUpgradeItems.Add("Resin", 5, 2);
			item15.RequiredUpgradeItems.Add("Silver", 5, 3);
			item15.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item15.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item15.RequiredUpgradeItems.Add("Resin", 5, 3);
			item15.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item15.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item15.RequiredUpgradeItems.Add("Wood", 5, 4);
			item15.RequiredUpgradeItems.Add("Resin", 5, 4);
			item15.RequiredUpgradeItems.Add("Silver", 5, 5);
			item15.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item15.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item15.RequiredUpgradeItems.Add("Resin", 5, 5);
			item15.RequiredUpgradeItems.Add("Silver", 5, 6);
			item15.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item15.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item15.RequiredUpgradeItems.Add("Resin", 5, 6);
			item15.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item16 = new Item("mar_glitnir", "Knife_Ice_Glitnir");
			item16.Name.English("Glitnir Ice Knife");
			item16.Name.Portuguese_Brazilian("Adaga de Gelo Glitnir");
			item16.Description.English("Glitnir Ice Knife");
			item16.Description.Portuguese_Brazilian("Adaga de Gelo Glitnir");
			item16.Crafting.Add(CraftingTable.Forge, 2);
			item16.RequiredItems.Add("Iron", 20);
			item16.RequiredItems.Add("Bronze", 20);
			item16.RequiredItems.Add("Wood", 20);
			item16.RequiredItems.Add("Resin", 20);
			item16.RequiredUpgradeItems.Add("Iron", 5, 2);
			item16.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item16.RequiredUpgradeItems.Add("Wood", 5, 2);
			item16.RequiredUpgradeItems.Add("Resin", 5, 2);
			item16.RequiredUpgradeItems.Add("Silver", 5, 3);
			item16.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item16.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item16.RequiredUpgradeItems.Add("Resin", 5, 3);
			item16.RequiredUpgradeItems.Add("Iron", 5, 4);
			item16.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item16.RequiredUpgradeItems.Add("Wood", 5, 4);
			item16.RequiredUpgradeItems.Add("Resin", 5, 4);
			item16.RequiredUpgradeItems.Add("Silver", 5, 5);
			item16.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item16.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item16.RequiredUpgradeItems.Add("Resin", 5, 5);
			item16.RequiredUpgradeItems.Add("Silver", 5, 6);
			item16.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item16.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item16.RequiredUpgradeItems.Add("Resin", 5, 6);
			item16.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item17 = new Item("mar_glitnir", "Knife_Poison_Glitnir");
			item17.Name.English("Glitnir Poison Knife");
			item17.Name.Portuguese_Brazilian("Adaga de Veneno Glitnir");
			item17.Description.English("Glitnir Poison Knife");
			item17.Description.Portuguese_Brazilian("Adaga de Veneno Glitnir");
			item17.Crafting.Add(CraftingTable.Forge, 2);
			item17.RequiredItems.Add("Iron", 20);
			item17.RequiredItems.Add("Bronze", 20);
			item17.RequiredItems.Add("Wood", 20);
			item17.RequiredItems.Add("Resin", 20);
			item17.RequiredUpgradeItems.Add("Iron", 5, 2);
			item17.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item17.RequiredUpgradeItems.Add("Wood", 5, 2);
			item17.RequiredUpgradeItems.Add("Resin", 5, 2);
			item17.RequiredUpgradeItems.Add("Silver", 5, 3);
			item17.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item17.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item17.RequiredUpgradeItems.Add("Resin", 5, 3);
			item17.RequiredUpgradeItems.Add("Iron", 5, 4);
			item17.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item17.RequiredUpgradeItems.Add("Wood", 5, 4);
			item17.RequiredUpgradeItems.Add("Resin", 5, 4);
			item17.RequiredUpgradeItems.Add("Silver", 5, 5);
			item17.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item17.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item17.RequiredUpgradeItems.Add("Resin", 5, 5);
			item17.RequiredUpgradeItems.Add("Silver", 5, 6);
			item17.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item17.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item17.RequiredUpgradeItems.Add("Resin", 5, 6);
			item17.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item18 = new Item("mar_glitnir", "Knife_Thunder_Glitnir");
			item18.Name.English("Glitnir Thunder Knife");
			item18.Name.Portuguese_Brazilian("Adaga de Raio Glitnir");
			item18.Description.English("Glitnir Thunder Knife");
			item18.Description.Portuguese_Brazilian("Adaga de Raio Glitnir");
			item18.Crafting.Add(CraftingTable.Forge, 2);
			item18.RequiredItems.Add("Iron", 20);
			item18.RequiredItems.Add("Bronze", 20);
			item18.RequiredItems.Add("Wood", 20);
			item18.RequiredItems.Add("Resin", 20);
			item18.RequiredUpgradeItems.Add("Iron", 5, 2);
			item18.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item18.RequiredUpgradeItems.Add("Wood", 5, 2);
			item18.RequiredUpgradeItems.Add("Resin", 5, 2);
			item18.RequiredUpgradeItems.Add("Silver", 5, 3);
			item18.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item18.RequiredUpgradeItems.Add("Resin", 5, 3);
			item18.RequiredUpgradeItems.Add("Iron", 5, 4);
			item18.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item18.RequiredUpgradeItems.Add("Wood", 5, 4);
			item18.RequiredUpgradeItems.Add("Resin", 5, 4);
			item18.RequiredUpgradeItems.Add("Silver", 5, 5);
			item18.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item18.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item18.RequiredUpgradeItems.Add("Resin", 5, 5);
			item18.RequiredUpgradeItems.Add("Silver", 5, 6);
			item18.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item18.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item18.RequiredUpgradeItems.Add("Resin", 5, 6);
			item18.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item19 = new Item("mar_glitnir", "Mace_Fire_Glitnir");
			item19.Name.English("Glitnir Fire Mace");
			item19.Name.Portuguese_Brazilian("Maça de Fogo Glitnir");
			item19.Description.English("Glitnir Fire Mace");
			item19.Description.Portuguese_Brazilian("Maça de Fogo Glitnir");
			item19.Crafting.Add(CraftingTable.Forge, 2);
			item19.RequiredItems.Add("Iron", 20);
			item19.RequiredItems.Add("Bronze", 20);
			item19.RequiredItems.Add("Wood", 20);
			item19.RequiredItems.Add("Resin", 20);
			item19.RequiredUpgradeItems.Add("Iron", 5, 2);
			item19.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item19.RequiredUpgradeItems.Add("Wood", 5, 2);
			item19.RequiredUpgradeItems.Add("Resin", 5, 2);
			item19.RequiredUpgradeItems.Add("Silver", 5, 3);
			item19.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item19.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item19.RequiredUpgradeItems.Add("Resin", 5, 3);
			item19.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item19.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item19.RequiredUpgradeItems.Add("Wood", 5, 4);
			item19.RequiredUpgradeItems.Add("Resin", 5, 4);
			item19.RequiredUpgradeItems.Add("Silver", 5, 5);
			item19.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item19.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item19.RequiredUpgradeItems.Add("Resin", 5, 5);
			item19.RequiredUpgradeItems.Add("Silver", 5, 6);
			item19.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item19.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item19.RequiredUpgradeItems.Add("Resin", 5, 6);
			item19.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item20 = new Item("mar_glitnir", "Mace_Ice_Glitnir");
			item20.Name.English("Glitnir Ice Mace");
			item20.Name.Portuguese_Brazilian("Maça de Gelo Glitnir");
			item20.Description.English("Glitnir Ice Mace");
			item20.Description.Portuguese_Brazilian("Maça de Gelo Glitnir");
			item20.Crafting.Add(CraftingTable.Forge, 2);
			item20.RequiredItems.Add("Iron", 20);
			item20.RequiredItems.Add("Bronze", 20);
			item20.RequiredItems.Add("Wood", 20);
			item20.RequiredItems.Add("Resin", 20);
			item20.RequiredUpgradeItems.Add("Iron", 5, 2);
			item20.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item20.RequiredUpgradeItems.Add("Wood", 5, 2);
			item20.RequiredUpgradeItems.Add("Resin", 5, 2);
			item20.RequiredUpgradeItems.Add("Silver", 5, 3);
			item20.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item20.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item20.RequiredUpgradeItems.Add("Resin", 5, 3);
			item20.RequiredUpgradeItems.Add("Iron", 5, 4);
			item20.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item20.RequiredUpgradeItems.Add("Wood", 5, 4);
			item20.RequiredUpgradeItems.Add("Resin", 5, 4);
			item20.RequiredUpgradeItems.Add("Silver", 5, 5);
			item20.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item20.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item20.RequiredUpgradeItems.Add("Resin", 5, 5);
			item20.RequiredUpgradeItems.Add("Silver", 5, 6);
			item20.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item20.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item20.RequiredUpgradeItems.Add("Resin", 5, 6);
			item20.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item21 = new Item("mar_glitnir", "Mace_Poison_Glitnir");
			item21.Name.English("Glitnir Poison Mace");
			item21.Name.Portuguese_Brazilian("Maça de Veneno Glitnir");
			item21.Description.English("Glitnir Poison Mace");
			item21.Description.Portuguese_Brazilian("Maça de Veneno Glitnir");
			item21.Crafting.Add(CraftingTable.Forge, 2);
			item21.RequiredItems.Add("Iron", 20);
			item21.RequiredItems.Add("Bronze", 20);
			item21.RequiredItems.Add("Wood", 20);
			item21.RequiredItems.Add("Resin", 20);
			item21.RequiredUpgradeItems.Add("Iron", 5, 2);
			item21.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item21.RequiredUpgradeItems.Add("Wood", 5, 2);
			item21.RequiredUpgradeItems.Add("Resin", 5, 2);
			item21.RequiredUpgradeItems.Add("Silver", 5, 3);
			item21.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item21.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item21.RequiredUpgradeItems.Add("Resin", 5, 3);
			item21.RequiredUpgradeItems.Add("Iron", 5, 4);
			item21.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item21.RequiredUpgradeItems.Add("Wood", 5, 4);
			item21.RequiredUpgradeItems.Add("Resin", 5, 4);
			item21.RequiredUpgradeItems.Add("Silver", 5, 5);
			item21.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item21.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item21.RequiredUpgradeItems.Add("Resin", 5, 5);
			item21.RequiredUpgradeItems.Add("Silver", 5, 6);
			item21.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item21.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item21.RequiredUpgradeItems.Add("Resin", 5, 6);
			item21.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item22 = new Item("mar_glitnir", "Mace_Thunder_Glitnir");
			item22.Name.English("Glitnir Thunder Mace");
			item22.Name.Portuguese_Brazilian("Maça de Raio Glitnir");
			item22.Description.English("Glitnir Thunder Mace");
			item22.Description.Portuguese_Brazilian("Maça de Raio Glitnir");
			item22.Crafting.Add(CraftingTable.Forge, 2);
			item22.RequiredItems.Add("Iron", 20);
			item22.RequiredItems.Add("Bronze", 20);
			item22.RequiredItems.Add("Wood", 20);
			item22.RequiredItems.Add("Resin", 20);
			item22.RequiredUpgradeItems.Add("Iron", 5, 2);
			item22.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item22.RequiredUpgradeItems.Add("Wood", 5, 2);
			item22.RequiredUpgradeItems.Add("Resin", 5, 2);
			item22.RequiredUpgradeItems.Add("Silver", 5, 3);
			item22.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item22.RequiredUpgradeItems.Add("Resin", 5, 3);
			item22.RequiredUpgradeItems.Add("Iron", 5, 4);
			item22.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item22.RequiredUpgradeItems.Add("Wood", 5, 4);
			item22.RequiredUpgradeItems.Add("Resin", 5, 4);
			item22.RequiredUpgradeItems.Add("Silver", 5, 5);
			item22.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item22.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item22.RequiredUpgradeItems.Add("Resin", 5, 5);
			item22.RequiredUpgradeItems.Add("Silver", 5, 6);
			item22.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item22.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item22.RequiredUpgradeItems.Add("Resin", 5, 6);
			item22.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item23 = new Item("mar_glitnir", "Reinforced_Shield_Glitnir");
			item23.Name.English("Reinforced Shield Glitnir");
			item23.Name.Portuguese_Brazilian("Escudo Glitnir Reforçado");
			item23.Description.English("Reinforced Shield Glitnir");
			item23.Description.Portuguese_Brazilian("Escudo Glitnir Reforçado");
			item23.Crafting.Add(CraftingTable.Forge, 2);
			item23.RequiredItems.Add("Iron", 20);
			item23.RequiredItems.Add("Bronze", 20);
			item23.RequiredItems.Add("Wood", 20);
			item23.RequiredItems.Add("Resin", 20);
			item23.RequiredUpgradeItems.Add("Iron", 5, 2);
			item23.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item23.RequiredUpgradeItems.Add("Wood", 5, 2);
			item23.RequiredUpgradeItems.Add("Resin", 5, 2);
			item23.RequiredUpgradeItems.Add("Silver", 5, 3);
			item23.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item23.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item23.RequiredUpgradeItems.Add("Resin", 5, 3);
			item23.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item23.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item23.RequiredUpgradeItems.Add("Wood", 5, 4);
			item23.RequiredUpgradeItems.Add("Resin", 5, 4);
			item23.RequiredUpgradeItems.Add("Silver", 5, 5);
			item23.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item23.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item23.RequiredUpgradeItems.Add("Resin", 5, 5);
			item23.RequiredUpgradeItems.Add("Silver", 5, 6);
			item23.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item23.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item23.RequiredUpgradeItems.Add("Resin", 5, 6);
			item23.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item24 = new Item("mar_glitnir", "Sledge_Fire_Glitnir");
			item24.Name.English("Glitnir Fire Sledge");
			item24.Name.Portuguese_Brazilian("Marreta de Fogo Glitnir");
			item24.Description.English("Glitnir Fire Sledge");
			item24.Description.Portuguese_Brazilian("Marreta de Fogo Glitnir");
			item24.Crafting.Add(CraftingTable.Forge, 2);
			item24.RequiredItems.Add("Iron", 20);
			item24.RequiredItems.Add("Bronze", 20);
			item24.RequiredItems.Add("Wood", 20);
			item24.RequiredItems.Add("Resin", 20);
			item24.RequiredUpgradeItems.Add("Iron", 5, 2);
			item24.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item24.RequiredUpgradeItems.Add("Wood", 5, 2);
			item24.RequiredUpgradeItems.Add("Resin", 5, 2);
			item24.RequiredUpgradeItems.Add("Silver", 5, 3);
			item24.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item24.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item24.RequiredUpgradeItems.Add("Resin", 5, 3);
			item24.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item24.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item24.RequiredUpgradeItems.Add("Wood", 5, 4);
			item24.RequiredUpgradeItems.Add("Resin", 5, 4);
			item24.RequiredUpgradeItems.Add("Silver", 5, 5);
			item24.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item24.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item24.RequiredUpgradeItems.Add("Resin", 5, 5);
			item24.RequiredUpgradeItems.Add("Silver", 5, 6);
			item24.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item24.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item24.RequiredUpgradeItems.Add("Resin", 5, 6);
			item24.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item25 = new Item("mar_glitnir", "Sledge_Ice_Glitnir");
			item25.Name.English("Glitnir Ice Sledge");
			item25.Name.Portuguese_Brazilian("Marreta de Gelo Glitnir");
			item25.Description.English("Glitnir Ice Sledge");
			item25.Description.Portuguese_Brazilian("Marreta de Gelo Glitnir");
			item25.Crafting.Add(CraftingTable.Forge, 2);
			item25.RequiredItems.Add("Iron", 20);
			item25.RequiredItems.Add("Bronze", 20);
			item25.RequiredItems.Add("Wood", 20);
			item25.RequiredItems.Add("Resin", 20);
			item25.RequiredUpgradeItems.Add("Iron", 5, 2);
			item25.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item25.RequiredUpgradeItems.Add("Wood", 5, 2);
			item25.RequiredUpgradeItems.Add("Resin", 5, 2);
			item25.RequiredUpgradeItems.Add("Silver", 5, 3);
			item25.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item25.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item25.RequiredUpgradeItems.Add("Resin", 5, 3);
			item25.RequiredUpgradeItems.Add("Iron", 5, 4);
			item25.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item25.RequiredUpgradeItems.Add("Wood", 5, 4);
			item25.RequiredUpgradeItems.Add("Resin", 5, 4);
			item25.RequiredUpgradeItems.Add("Silver", 5, 5);
			item25.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item25.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item25.RequiredUpgradeItems.Add("Resin", 5, 5);
			item25.RequiredUpgradeItems.Add("Silver", 5, 6);
			item25.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item25.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item25.RequiredUpgradeItems.Add("Resin", 5, 6);
			item25.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item26 = new Item("mar_glitnir", "Sledge_Poison_Glitnir");
			item26.Name.English("Glitnir Poison Sledge");
			item26.Name.Portuguese_Brazilian("Marreta de Veneno Glitnir");
			item26.Description.English("Glitnir Poison Sledge");
			item26.Description.Portuguese_Brazilian("Marreta de Veneno Glitnir");
			item26.Crafting.Add(CraftingTable.Forge, 2);
			item26.RequiredItems.Add("Iron", 20);
			item26.RequiredItems.Add("Bronze", 20);
			item26.RequiredItems.Add("Wood", 20);
			item26.RequiredItems.Add("Resin", 20);
			item26.RequiredUpgradeItems.Add("Iron", 5, 2);
			item26.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item26.RequiredUpgradeItems.Add("Wood", 5, 2);
			item26.RequiredUpgradeItems.Add("Resin", 5, 2);
			item26.RequiredUpgradeItems.Add("Silver", 5, 3);
			item26.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item26.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item26.RequiredUpgradeItems.Add("Resin", 5, 3);
			item26.RequiredUpgradeItems.Add("Iron", 5, 4);
			item26.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item26.RequiredUpgradeItems.Add("Wood", 5, 4);
			item26.RequiredUpgradeItems.Add("Resin", 5, 4);
			item26.RequiredUpgradeItems.Add("Silver", 5, 5);
			item26.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item26.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item26.RequiredUpgradeItems.Add("Resin", 5, 5);
			item26.RequiredUpgradeItems.Add("Silver", 5, 6);
			item26.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item26.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item26.RequiredUpgradeItems.Add("Resin", 5, 6);
			item26.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item27 = new Item("mar_glitnir", "Sledge_Thunder_Glitnir");
			item27.Name.English("Glitnir Thunder Sledge");
			item27.Name.Portuguese_Brazilian("Marreta de Raio Glitnir");
			item27.Description.English("Glitnir Thunder Sledge");
			item27.Description.Portuguese_Brazilian("Marreta de Raio Glitnir");
			item27.Crafting.Add(CraftingTable.Forge, 2);
			item27.RequiredItems.Add("Iron", 20);
			item27.RequiredItems.Add("Bronze", 20);
			item27.RequiredItems.Add("Wood", 20);
			item27.RequiredItems.Add("Resin", 20);
			item27.RequiredUpgradeItems.Add("Iron", 5, 2);
			item27.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item27.RequiredUpgradeItems.Add("Wood", 5, 2);
			item27.RequiredUpgradeItems.Add("Resin", 5, 2);
			item27.RequiredUpgradeItems.Add("Silver", 5, 3);
			item27.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item27.RequiredUpgradeItems.Add("Resin", 5, 3);
			item27.RequiredUpgradeItems.Add("Iron", 5, 4);
			item27.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item27.RequiredUpgradeItems.Add("Wood", 5, 4);
			item27.RequiredUpgradeItems.Add("Resin", 5, 4);
			item27.RequiredUpgradeItems.Add("Silver", 5, 5);
			item27.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item27.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item27.RequiredUpgradeItems.Add("Resin", 5, 5);
			item27.RequiredUpgradeItems.Add("Silver", 5, 6);
			item27.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item27.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item27.RequiredUpgradeItems.Add("Resin", 5, 6);
			item27.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item28 = new Item("mar_glitnir", "Spear_Fire_Glitnir");
			item28.Name.English("Glitnir Fire Spear");
			item28.Name.Portuguese_Brazilian("Lança de Fogo Glitnir");
			item28.Description.English("Glitnir Fire Spear");
			item28.Description.Portuguese_Brazilian("Lança de Fogo Glitnir");
			item28.Crafting.Add(CraftingTable.Forge, 2);
			item28.RequiredItems.Add("Iron", 20);
			item28.RequiredItems.Add("Bronze", 20);
			item28.RequiredItems.Add("Wood", 20);
			item28.RequiredItems.Add("Resin", 20);
			item28.RequiredUpgradeItems.Add("Iron", 5, 2);
			item28.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item28.RequiredUpgradeItems.Add("Wood", 5, 2);
			item28.RequiredUpgradeItems.Add("Resin", 5, 2);
			item28.RequiredUpgradeItems.Add("Silver", 5, 3);
			item28.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item28.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item28.RequiredUpgradeItems.Add("Resin", 5, 3);
			item28.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item28.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item28.RequiredUpgradeItems.Add("Wood", 5, 4);
			item28.RequiredUpgradeItems.Add("Resin", 5, 4);
			item28.RequiredUpgradeItems.Add("Silver", 5, 5);
			item28.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item28.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item28.RequiredUpgradeItems.Add("Resin", 5, 5);
			item28.RequiredUpgradeItems.Add("Silver", 5, 6);
			item28.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item28.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item28.RequiredUpgradeItems.Add("Resin", 5, 6);
			item28.Configurable = Configurability.Recipe | Configurability.Stats;
			GameObject val = PrefabManager.RegisterPrefab("mar_glitnir", "projectile_splitner_fire_glitnir");
			Item item29 = new Item("mar_glitnir", "Spear_Ice_Glitnir");
			item29.Name.English("Glitnir Ice Spear");
			item29.Name.Portuguese_Brazilian("Lança de Gelo Glitnir");
			item29.Description.English("Glitnir Ice Spear");
			item29.Description.Portuguese_Brazilian("Lança de Gelo Glitnir");
			item29.Crafting.Add(CraftingTable.Forge, 2);
			item29.RequiredItems.Add("Iron", 20);
			item29.RequiredItems.Add("Bronze", 20);
			item29.RequiredItems.Add("Wood", 20);
			item29.RequiredItems.Add("Resin", 20);
			item29.RequiredUpgradeItems.Add("Iron", 5, 2);
			item29.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item29.RequiredUpgradeItems.Add("Wood", 5, 2);
			item29.RequiredUpgradeItems.Add("Resin", 5, 2);
			item29.RequiredUpgradeItems.Add("Silver", 5, 3);
			item29.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item29.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item29.RequiredUpgradeItems.Add("Resin", 5, 3);
			item29.RequiredUpgradeItems.Add("Iron", 5, 4);
			item29.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item29.RequiredUpgradeItems.Add("Wood", 5, 4);
			item29.RequiredUpgradeItems.Add("Resin", 5, 4);
			item29.RequiredUpgradeItems.Add("Silver", 5, 5);
			item29.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item29.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item29.RequiredUpgradeItems.Add("Resin", 5, 5);
			item29.RequiredUpgradeItems.Add("Silver", 5, 6);
			item29.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item29.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item29.RequiredUpgradeItems.Add("Resin", 5, 6);
			item29.Configurable = Configurability.Recipe | Configurability.Stats;
			GameObject val2 = PrefabManager.RegisterPrefab("mar_glitnir", "projectile_splitner_ice_glitnir");
			Item item30 = new Item("mar_glitnir", "Spear_Poison_Glitnir");
			item30.Name.English("Glitnir Poison Spear");
			item30.Name.Portuguese_Brazilian("Lança de Veneno Glitnir");
			item30.Description.English("Glitnir Poison Spear");
			item30.Description.Portuguese_Brazilian("Lança de Veneno Glitnir");
			item30.Crafting.Add(CraftingTable.Forge, 2);
			item30.RequiredItems.Add("Iron", 20);
			item30.RequiredItems.Add("Bronze", 20);
			item30.RequiredItems.Add("Wood", 20);
			item30.RequiredItems.Add("Resin", 20);
			item30.RequiredUpgradeItems.Add("Iron", 5, 2);
			item30.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item30.RequiredUpgradeItems.Add("Wood", 5, 2);
			item30.RequiredUpgradeItems.Add("Resin", 5, 2);
			item30.RequiredUpgradeItems.Add("Silver", 5, 3);
			item30.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item30.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item30.RequiredUpgradeItems.Add("Resin", 5, 3);
			item30.RequiredUpgradeItems.Add("Iron", 5, 4);
			item30.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item30.RequiredUpgradeItems.Add("Wood", 5, 4);
			item30.RequiredUpgradeItems.Add("Resin", 5, 4);
			item30.RequiredUpgradeItems.Add("Silver", 5, 5);
			item30.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item30.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item30.RequiredUpgradeItems.Add("Resin", 5, 5);
			item30.RequiredUpgradeItems.Add("Silver", 5, 6);
			item30.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item30.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item30.RequiredUpgradeItems.Add("Resin", 5, 6);
			item30.Configurable = Configurability.Recipe | Configurability.Stats;
			GameObject val3 = PrefabManager.RegisterPrefab("mar_glitnir", "projectile_splitner_poison_glitnir");
			Item item31 = new Item("mar_glitnir", "Spear_Thunder_Glitnir");
			item31.Name.English("Glitnir Thunder Spear");
			item31.Name.Portuguese_Brazilian("Lança de Raio Glitnir");
			item31.Description.English("Glitnir Thunder Spear");
			item31.Description.Portuguese_Brazilian("Lança de Raio Glitnir");
			item31.Crafting.Add(CraftingTable.Forge, 2);
			item31.RequiredItems.Add("Iron", 20);
			item31.RequiredItems.Add("Bronze", 20);
			item31.RequiredItems.Add("Wood", 20);
			item31.RequiredItems.Add("Resin", 20);
			item31.RequiredUpgradeItems.Add("Iron", 5, 2);
			item31.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item31.RequiredUpgradeItems.Add("Wood", 5, 2);
			item31.RequiredUpgradeItems.Add("Resin", 5, 2);
			item31.RequiredUpgradeItems.Add("Silver", 5, 3);
			item31.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item31.RequiredUpgradeItems.Add("Resin", 5, 3);
			item31.RequiredUpgradeItems.Add("Iron", 5, 4);
			item31.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item31.RequiredUpgradeItems.Add("Wood", 5, 4);
			item31.RequiredUpgradeItems.Add("Resin", 5, 4);
			item31.RequiredUpgradeItems.Add("Silver", 5, 5);
			item31.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item31.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item31.RequiredUpgradeItems.Add("Resin", 5, 5);
			item31.RequiredUpgradeItems.Add("Silver", 5, 6);
			item31.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item31.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item31.RequiredUpgradeItems.Add("Resin", 5, 6);
			item31.Configurable = Configurability.Recipe | Configurability.Stats;
			GameObject val4 = PrefabManager.RegisterPrefab("mar_glitnir", "projectile_splitner_thunder_glitnir");
			Item item32 = new Item("mar_glitnir", "OneHandSword_Fire_Glitnir");
			item32.Name.English("Glitnir Fire Sword");
			item32.Name.Portuguese_Brazilian("Espada de Fogo Glitnir");
			item32.Description.English("Glitnir Fire Sword");
			item32.Description.Portuguese_Brazilian("Espada de Fogo Glitnir");
			item32.Crafting.Add(CraftingTable.Forge, 2);
			item32.RequiredItems.Add("Iron", 20);
			item32.RequiredItems.Add("Bronze", 20);
			item32.RequiredItems.Add("Wood", 20);
			item32.RequiredItems.Add("Resin", 20);
			item32.RequiredUpgradeItems.Add("Iron", 5, 2);
			item32.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item32.RequiredUpgradeItems.Add("Wood", 5, 2);
			item32.RequiredUpgradeItems.Add("Resin", 5, 2);
			item32.RequiredUpgradeItems.Add("Silver", 5, 3);
			item32.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item32.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item32.RequiredUpgradeItems.Add("Resin", 5, 3);
			item32.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item32.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item32.RequiredUpgradeItems.Add("Wood", 5, 4);
			item32.RequiredUpgradeItems.Add("Resin", 5, 4);
			item32.RequiredUpgradeItems.Add("Silver", 5, 5);
			item32.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item32.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item32.RequiredUpgradeItems.Add("Resin", 5, 5);
			item32.RequiredUpgradeItems.Add("Silver", 5, 6);
			item32.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item32.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item32.RequiredUpgradeItems.Add("Resin", 5, 6);
			item32.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item33 = new Item("mar_glitnir", "OneHandSword_Ice_Glitnir");
			item33.Name.English("Glitnir Ice Sword");
			item33.Name.Portuguese_Brazilian("Espada de Gelo Glitnir");
			item33.Description.English("Glitnir Ice Sword");
			item33.Description.Portuguese_Brazilian("Espada de Gelo Glitnir");
			item33.Crafting.Add(CraftingTable.Forge, 2);
			item33.RequiredItems.Add("Iron", 20);
			item33.RequiredItems.Add("Bronze", 20);
			item33.RequiredItems.Add("Wood", 20);
			item33.RequiredItems.Add("Resin", 20);
			item33.RequiredUpgradeItems.Add("Iron", 5, 2);
			item33.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item33.RequiredUpgradeItems.Add("Wood", 5, 2);
			item33.RequiredUpgradeItems.Add("Resin", 5, 2);
			item33.RequiredUpgradeItems.Add("Silver", 5, 3);
			item33.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item33.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item33.RequiredUpgradeItems.Add("Resin", 5, 3);
			item33.RequiredUpgradeItems.Add("Iron", 5, 4);
			item33.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item33.RequiredUpgradeItems.Add("Wood", 5, 4);
			item33.RequiredUpgradeItems.Add("Resin", 5, 4);
			item33.RequiredUpgradeItems.Add("Silver", 5, 5);
			item33.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item33.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item33.RequiredUpgradeItems.Add("Resin", 5, 5);
			item33.RequiredUpgradeItems.Add("Silver", 5, 6);
			item33.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item33.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item33.RequiredUpgradeItems.Add("Resin", 5, 6);
			item33.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item34 = new Item("mar_glitnir", "OneHandSword_Poison_Glitnir");
			item34.Name.English("Glitnir Poison Sword");
			item34.Name.Portuguese_Brazilian("Espada de Veneno Glitnir");
			item34.Description.English("Glitnir Poison Sword");
			item34.Description.Portuguese_Brazilian("Espada de Veneno Glitnir");
			item34.Crafting.Add(CraftingTable.Forge, 2);
			item34.RequiredItems.Add("Iron", 20);
			item34.RequiredItems.Add("Bronze", 20);
			item34.RequiredItems.Add("Wood", 20);
			item34.RequiredItems.Add("Resin", 20);
			item34.RequiredUpgradeItems.Add("Iron", 5, 2);
			item34.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item34.RequiredUpgradeItems.Add("Wood", 5, 2);
			item34.RequiredUpgradeItems.Add("Resin", 5, 2);
			item34.RequiredUpgradeItems.Add("Silver", 5, 3);
			item34.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item34.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item34.RequiredUpgradeItems.Add("Resin", 5, 3);
			item34.RequiredUpgradeItems.Add("Iron", 5, 4);
			item34.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item34.RequiredUpgradeItems.Add("Wood", 5, 4);
			item34.RequiredUpgradeItems.Add("Resin", 5, 4);
			item34.RequiredUpgradeItems.Add("Silver", 5, 5);
			item34.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item34.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item34.RequiredUpgradeItems.Add("Resin", 5, 5);
			item34.RequiredUpgradeItems.Add("Silver", 5, 6);
			item34.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item34.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item34.RequiredUpgradeItems.Add("Resin", 5, 6);
			item34.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item35 = new Item("mar_glitnir", "OneHandSword_Thunder_Glitnir");
			item35.Name.English("Glitnir Thunder Sword");
			item35.Name.Portuguese_Brazilian("Espada de Raio Glitnir");
			item35.Description.English("Glitnir Thunder Sword");
			item35.Description.Portuguese_Brazilian("Espada de Raio Glitnir");
			item35.Crafting.Add(CraftingTable.Forge, 2);
			item35.RequiredItems.Add("Iron", 20);
			item35.RequiredItems.Add("Bronze", 20);
			item35.RequiredItems.Add("Wood", 20);
			item35.RequiredItems.Add("Resin", 20);
			item35.RequiredUpgradeItems.Add("Iron", 5, 2);
			item35.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item35.RequiredUpgradeItems.Add("Wood", 5, 2);
			item35.RequiredUpgradeItems.Add("Resin", 5, 2);
			item35.RequiredUpgradeItems.Add("Silver", 5, 3);
			item35.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item35.RequiredUpgradeItems.Add("Resin", 5, 3);
			item35.RequiredUpgradeItems.Add("Iron", 5, 4);
			item35.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item35.RequiredUpgradeItems.Add("Wood", 5, 4);
			item35.RequiredUpgradeItems.Add("Resin", 5, 4);
			item35.RequiredUpgradeItems.Add("Silver", 5, 5);
			item35.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item35.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item35.RequiredUpgradeItems.Add("Resin", 5, 5);
			item35.RequiredUpgradeItems.Add("Silver", 5, 6);
			item35.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item35.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item35.RequiredUpgradeItems.Add("Resin", 5, 6);
			item35.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item36 = new Item("mar_glitnir", "TwoHandSword_Fire_Glitnir");
			item36.Name.English("Glitnir Fire BastardSword");
			item36.Name.Portuguese_Brazilian("Bastarda de Fogo Glitnir");
			item36.Description.English("Glitnir Fire BastardSword");
			item36.Description.Portuguese_Brazilian("Espada Bastarda de Fogo Glitnir");
			item36.Crafting.Add(CraftingTable.Forge, 2);
			item36.RequiredItems.Add("Iron", 20);
			item36.RequiredItems.Add("Bronze", 20);
			item36.RequiredItems.Add("Wood", 20);
			item36.RequiredItems.Add("Resin", 20);
			item36.RequiredUpgradeItems.Add("Iron", 5, 2);
			item36.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item36.RequiredUpgradeItems.Add("Wood", 5, 2);
			item36.RequiredUpgradeItems.Add("Resin", 5, 2);
			item36.RequiredUpgradeItems.Add("Silver", 5, 3);
			item36.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item36.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item36.RequiredUpgradeItems.Add("Resin", 5, 3);
			item36.RequiredUpgradeItems.Add("BlackMetal", 5, 4);
			item36.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item36.RequiredUpgradeItems.Add("Wood", 5, 4);
			item36.RequiredUpgradeItems.Add("Resin", 5, 4);
			item36.RequiredUpgradeItems.Add("Silver", 5, 5);
			item36.RequiredUpgradeItems.Add("Bronze", 5, 5);
			item36.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item36.RequiredUpgradeItems.Add("Resin", 5, 5);
			item36.RequiredUpgradeItems.Add("Silver", 5, 6);
			item36.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item36.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item36.RequiredUpgradeItems.Add("Resin", 5, 6);
			item36.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item37 = new Item("mar_glitnir", "TwoHandSword_Ice_Glitnir");
			item37.Name.English("Glitnir Ice BastardSword");
			item37.Name.Portuguese_Brazilian("Bastarda de Gelo Glitnir");
			item37.Description.English("Glitnir Ice BastardSword");
			item37.Description.Portuguese_Brazilian("Espada Bastarda de Gelo Glitnir");
			item37.Crafting.Add(CraftingTable.Forge, 2);
			item37.RequiredItems.Add("Iron", 20);
			item37.RequiredItems.Add("Bronze", 20);
			item37.RequiredItems.Add("Wood", 20);
			item37.RequiredItems.Add("Resin", 20);
			item37.RequiredUpgradeItems.Add("Iron", 5, 2);
			item37.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item37.RequiredUpgradeItems.Add("Wood", 5, 2);
			item37.RequiredUpgradeItems.Add("Resin", 5, 2);
			item37.RequiredUpgradeItems.Add("Silver", 5, 3);
			item37.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item37.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item37.RequiredUpgradeItems.Add("Resin", 5, 3);
			item37.RequiredUpgradeItems.Add("Iron", 5, 4);
			item37.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item37.RequiredUpgradeItems.Add("Wood", 5, 4);
			item37.RequiredUpgradeItems.Add("Resin", 5, 4);
			item37.RequiredUpgradeItems.Add("Silver", 5, 5);
			item37.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item37.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item37.RequiredUpgradeItems.Add("Resin", 5, 5);
			item37.RequiredUpgradeItems.Add("Silver", 5, 6);
			item37.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item37.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item37.RequiredUpgradeItems.Add("Resin", 5, 6);
			item37.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item38 = new Item("mar_glitnir", "TwoHandSword_Poison_Glitnir");
			item38.Name.English("Glitnir Poison BastardSword");
			item38.Name.Portuguese_Brazilian("Bastarda de Veneno Glitnir");
			item38.Description.English("Glitnir Poison BastardSword");
			item38.Description.Portuguese_Brazilian("Espada Bastarda de Veneno Glitnir");
			item38.Crafting.Add(CraftingTable.Forge, 2);
			item38.RequiredItems.Add("Iron", 20);
			item38.RequiredItems.Add("Bronze", 20);
			item38.RequiredItems.Add("Wood", 20);
			item38.RequiredItems.Add("Resin", 20);
			item38.RequiredUpgradeItems.Add("Iron", 5, 2);
			item38.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item38.RequiredUpgradeItems.Add("Wood", 5, 2);
			item38.RequiredUpgradeItems.Add("Resin", 5, 2);
			item38.RequiredUpgradeItems.Add("Silver", 5, 3);
			item38.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item38.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item38.RequiredUpgradeItems.Add("Resin", 5, 3);
			item38.RequiredUpgradeItems.Add("Iron", 5, 4);
			item38.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item38.RequiredUpgradeItems.Add("Wood", 5, 4);
			item38.RequiredUpgradeItems.Add("Resin", 5, 4);
			item38.RequiredUpgradeItems.Add("Silver", 5, 5);
			item38.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item38.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item38.RequiredUpgradeItems.Add("Resin", 5, 5);
			item38.RequiredUpgradeItems.Add("Silver", 5, 6);
			item38.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item38.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item38.RequiredUpgradeItems.Add("Resin", 5, 6);
			item38.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item39 = new Item("mar_glitnir", "TwoHandSword_Thunder_Glitnir");
			item39.Name.English("Glitnir Thunder BastardSword");
			item39.Name.Portuguese_Brazilian("Bastarda de Raio Glitnir");
			item39.Description.English("Glitnir Thunder BastardSword");
			item39.Description.Portuguese_Brazilian("Espada Bastarda de Raio Glitnir");
			item39.Crafting.Add(CraftingTable.Forge, 2);
			item39.RequiredItems.Add("Iron", 20);
			item39.RequiredItems.Add("Bronze", 20);
			item39.RequiredItems.Add("Wood", 20);
			item39.RequiredItems.Add("Resin", 20);
			item39.RequiredUpgradeItems.Add("Iron", 5, 2);
			item39.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item39.RequiredUpgradeItems.Add("Wood", 5, 2);
			item39.RequiredUpgradeItems.Add("Resin", 5, 2);
			item39.RequiredUpgradeItems.Add("Silver", 5, 3);
			item39.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item39.RequiredUpgradeItems.Add("Resin", 5, 3);
			item39.RequiredUpgradeItems.Add("Iron", 5, 4);
			item39.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item39.RequiredUpgradeItems.Add("Wood", 5, 4);
			item39.RequiredUpgradeItems.Add("Resin", 5, 4);
			item39.RequiredUpgradeItems.Add("Silver", 5, 5);
			item39.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item39.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item39.RequiredUpgradeItems.Add("Resin", 5, 5);
			item39.RequiredUpgradeItems.Add("Silver", 5, 6);
			item39.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item39.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item39.RequiredUpgradeItems.Add("Resin", 5, 6);
			item39.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item40 = new Item("mar_glitnir", "Staff_Glitnir_Fire");
			item40.Name.English("Glitnir Fire Staff");
			item40.Name.Portuguese_Brazilian("Cajado de Fogo Glitnir");
			item40.Description.English("Glitnir Fire Staff");
			item40.Description.Portuguese_Brazilian("Cajado de Fogo Glitnir");
			item40.Crafting.Add(CraftingTable.Forge, 1);
			item40.RequiredItems.Add("Iron", 20);
			item40.RequiredItems.Add("Bronze", 20);
			item40.RequiredItems.Add("Wood", 20);
			item40.RequiredItems.Add("Resin", 20);
			item40.RequiredUpgradeItems.Add("Iron", 5, 2);
			item40.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item40.RequiredUpgradeItems.Add("Wood", 5, 2);
			item40.RequiredUpgradeItems.Add("Resin", 5, 2);
			item40.RequiredUpgradeItems.Add("Silver", 5, 3);
			item40.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item40.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item40.RequiredUpgradeItems.Add("Resin", 5, 3);
			item40.RequiredUpgradeItems.Add("Iron", 5, 4);
			item40.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item40.RequiredUpgradeItems.Add("Wood", 5, 4);
			item40.RequiredUpgradeItems.Add("Resin", 5, 4);
			item40.RequiredUpgradeItems.Add("Silver", 5, 5);
			item40.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item40.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item40.RequiredUpgradeItems.Add("Resin", 5, 5);
			item40.RequiredUpgradeItems.Add("Silver", 5, 6);
			item40.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item40.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item40.RequiredUpgradeItems.Add("Resin", 5, 6);
			item40.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item41 = new Item("mar_glitnir", "Staff_Glitnir_Ice");
			item41.Name.English("Glitnir Ice Staff");
			item41.Name.Portuguese_Brazilian("Cajado de Gelo Glitnir");
			item41.Description.English("Glitnir Ice Staff");
			item41.Description.Portuguese_Brazilian("Cajado de Gelo Glitnir");
			item41.Crafting.Add(CraftingTable.Forge, 1);
			item41.RequiredItems.Add("Iron", 20);
			item41.RequiredItems.Add("Bronze", 20);
			item41.RequiredItems.Add("Wood", 20);
			item41.RequiredItems.Add("Resin", 20);
			item41.RequiredUpgradeItems.Add("Iron", 5, 2);
			item41.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item41.RequiredUpgradeItems.Add("Wood", 5, 2);
			item41.RequiredUpgradeItems.Add("Resin", 5, 2);
			item41.RequiredUpgradeItems.Add("Silver", 5, 3);
			item41.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item41.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item41.RequiredUpgradeItems.Add("Resin", 5, 3);
			item41.RequiredUpgradeItems.Add("Iron", 5, 4);
			item41.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item41.RequiredUpgradeItems.Add("Wood", 5, 4);
			item41.RequiredUpgradeItems.Add("Resin", 5, 4);
			item41.RequiredUpgradeItems.Add("Silver", 5, 5);
			item41.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item41.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item41.RequiredUpgradeItems.Add("Resin", 5, 5);
			item41.RequiredUpgradeItems.Add("Silver", 5, 6);
			item41.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item41.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item41.RequiredUpgradeItems.Add("Resin", 5, 6);
			item41.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item42 = new Item("mar_glitnir", "Staff_Glitnir_Poison");
			item42.Name.English("Glitnir Poison Staff");
			item42.Name.Portuguese_Brazilian("Cajado de Veneno Glitnir");
			item42.Description.English("Glitnir Poison Staff");
			item42.Description.Portuguese_Brazilian("Cajado de Veneno Glitnir");
			item42.Crafting.Add(CraftingTable.Forge, 1);
			item42.RequiredItems.Add("Iron", 20);
			item42.RequiredItems.Add("Bronze", 20);
			item42.RequiredItems.Add("Wood", 20);
			item42.RequiredItems.Add("Resin", 20);
			item42.RequiredUpgradeItems.Add("Iron", 5, 2);
			item42.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item42.RequiredUpgradeItems.Add("Wood", 5, 2);
			item42.RequiredUpgradeItems.Add("Resin", 5, 2);
			item42.RequiredUpgradeItems.Add("Silver", 5, 3);
			item42.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item42.RequiredUpgradeItems.Add("FineWood", 5, 3);
			item42.RequiredUpgradeItems.Add("Resin", 5, 3);
			item42.RequiredUpgradeItems.Add("Iron", 5, 4);
			item42.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item42.RequiredUpgradeItems.Add("Wood", 5, 4);
			item42.RequiredUpgradeItems.Add("Resin", 5, 4);
			item42.RequiredUpgradeItems.Add("Silver", 5, 5);
			item42.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item42.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item42.RequiredUpgradeItems.Add("Resin", 5, 5);
			item42.RequiredUpgradeItems.Add("Silver", 5, 6);
			item42.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item42.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item42.RequiredUpgradeItems.Add("Resin", 5, 6);
			item42.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item43 = new Item("mar_glitnir", "Staff_Glitnir_Thunder");
			item43.Name.English("Glitnir Thunder Staff");
			item43.Name.Portuguese_Brazilian("Cajado de Raio Glitnir");
			item43.Description.English("Glitnir Thunder Staff");
			item43.Description.Portuguese_Brazilian("Cajado de Raio Glitnir");
			item43.Crafting.Add(CraftingTable.Forge, 1);
			item43.RequiredItems.Add("Iron", 20);
			item43.RequiredItems.Add("Bronze", 20);
			item43.RequiredItems.Add("Wood", 20);
			item43.RequiredItems.Add("Resin", 20);
			item43.RequiredUpgradeItems.Add("Iron", 5, 2);
			item43.RequiredUpgradeItems.Add("Bronze", 5, 2);
			item43.RequiredUpgradeItems.Add("Wood", 5, 2);
			item43.RequiredUpgradeItems.Add("Resin", 5, 2);
			item43.RequiredUpgradeItems.Add("Silver", 5, 3);
			item43.RequiredUpgradeItems.Add("BlackMetal", 5, 3);
			item43.RequiredUpgradeItems.Add("Resin", 5, 3);
			item43.RequiredUpgradeItems.Add("Iron", 5, 4);
			item43.RequiredUpgradeItems.Add("Bronze", 5, 4);
			item43.RequiredUpgradeItems.Add("Wood", 5, 4);
			item43.RequiredUpgradeItems.Add("Resin", 5, 4);
			item43.RequiredUpgradeItems.Add("Silver", 5, 5);
			item43.RequiredUpgradeItems.Add("BlackMetal", 5, 5);
			item43.RequiredUpgradeItems.Add("FineWood", 5, 5);
			item43.RequiredUpgradeItems.Add("Resin", 5, 5);
			item43.RequiredUpgradeItems.Add("Silver", 5, 6);
			item43.RequiredUpgradeItems.Add("Bronze", 5, 6);
			item43.RequiredUpgradeItems.Add("FineWood", 5, 6);
			item43.RequiredUpgradeItems.Add("Resin", 5, 6);
			item43.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item44 = new Item("mar_glitnir", "GoldBow_GDN");
			item44.Name.English("Glitnir Gold Bow");
			item44.Name.Portuguese_Brazilian("Arco de Ouro Glitnir");
			item44.Description.English("Glitnir Gold Bow");
			item44.Description.Portuguese_Brazilian("Arco de Ouro Glitnir");
			item44.Crafting.Add(CraftingTable.BlackForge, 2);
			item44.RequiredItems.Add("Iron", 40);
			item44.RequiredItems.Add("Bronze", 20);
			item44.RequiredItems.Add("Resin", 20);
			item44.RequiredUpgradeItems.Add("Iron", 20);
			item44.RequiredUpgradeItems.Add("Bronze", 20);
			item44.RequiredUpgradeItems.Add("Resin", 5);
			item44.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item45 = new Item("mar_glitnir", "GoldArrow_GDN");
			item45.Name.English("Glitnir Gold Arrow");
			item45.Name.Portuguese_Brazilian("Flecha de Ouro Glitnir");
			item45.Description.English("Glitnir Champion Arrow");
			item45.Description.Portuguese_Brazilian("Flecha de Ouro Glitnir");
			item45.Crafting.Add(CraftingTable.BlackForge, 2);
			item45.RequiredItems.Add("Iron", 2);
			item45.RequiredItems.Add("Bronze", 1);
			item45.RequiredItems.Add("Resin", 5);
			item45.CraftAmount = 100;
			item45.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item46 = new Item("mar_glitnir", "GoldStaff_GDN");
			item46.Name.English("Glitnir Gold Staff");
			item46.Name.Portuguese_Brazilian("Cajado de Ouro Glitnir");
			item46.Description.English("Glitnir Gold Staff");
			item46.Description.Portuguese_Brazilian("Cajado de Ouro Glitnir");
			item46.Crafting.Add(CraftingTable.BlackForge, 2);
			item46.RequiredItems.Add("Iron", 40);
			item46.RequiredItems.Add("Bronze", 20);
			item46.RequiredItems.Add("Resin", 20);
			item46.RequiredUpgradeItems.Add("Iron", 20);
			item46.RequiredUpgradeItems.Add("Bronze", 20);
			item46.RequiredUpgradeItems.Add("Resin", 5);
			item46.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item47 = new Item("mar_glitnir", "GoldSword_GDN");
			item47.Name.English("Glitnir Gold Sword");
			item47.Name.Portuguese_Brazilian("Espada de Ouro Glitnir");
			item47.Description.English("Glitnir Gold Sword");
			item47.Description.Portuguese_Brazilian("Espada de Ouro Glitnir");
			item47.Crafting.Add(CraftingTable.BlackForge, 2);
			item47.RequiredItems.Add("Iron", 40);
			item47.RequiredItems.Add("Bronze", 20);
			item47.RequiredItems.Add("Resin", 20);
			item47.RequiredUpgradeItems.Add("Iron", 20);
			item47.RequiredUpgradeItems.Add("Bronze", 20);
			item47.RequiredUpgradeItems.Add("Resin", 5);
			item47.Configurable = Configurability.Recipe | Configurability.Stats;
			Item item48 = new Item("mar_glitnir", "GoldShield_GDN");
			item48.Name.English("Glitnir Gold Shield");
			item48.Name.Portuguese_Brazilian("Escudo de Ouro Glitnir");
			item48.Description.English("Glitnir Gold Shield");
			item48.Description.Portuguese_Brazilian("Escudo de Ouro Glitnir");
			item48.Crafting.Add(CraftingTable.BlackForge, 2);
			item48.RequiredItems.Add("Iron", 40);
			item48.RequiredItems.Add("Bronze", 20);
			item48.RequiredItems.Add("Resin", 20);
			item48.RequiredUpgradeItems.Add("Iron", 20);
			item48.RequiredUpgradeItems.Add("Bronze", 20);
			item48.RequiredUpgradeItems.Add("Resin", 5);
			item48.Configurable = Configurability.Recipe | Configurability.Stats;
			GameObject val5 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_GoldStaff_Explosion");
			GameObject val6 = PrefabManager.RegisterPrefab("mar_glitnir", "GoldArrow_Projectile");
			GameObject val7 = PrefabManager.RegisterPrefab("mar_glitnir", "GoldStaff_Projectile");
			GameObject val8 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_sword_swing_dnglitnir");
			GameObject val9 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_bomb_throw_dng");
			GameObject val10 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_bow_draw_dng");
			GameObject val11 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_firestaff_launch_dng");
			GameObject val12 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_sword_hit_dnglitnir");
			GameObject val13 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_build_hammer_metal_glitnir");
			GameObject val14 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_club_hit_glitnir");
			GameObject val15 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_club_swing_glitnir");
			GameObject val16 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_metal_blocked_glitnir");
			GameObject val17 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_sword_hit_glitnir");
			GameObject val18 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_sword_swing_glitnir");
			GameObject val19 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_wood_blocked_glitnir");
			GameObject val20 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_bow_draw_glitnir");
			GameObject val21 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_bow_fire_glitnir");
			GameObject val22 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_kromsword_swing_glitnir");
			GameObject val23 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_block_camshake_glitnir");
			GameObject val24 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_hit_camshake_glitnir");
			GameObject val25 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_swing_camshake_glitnir");
			GameObject val26 = PrefabManager.RegisterPrefab("mar_glitnir", "vfx_blocked_glitnir");
			GameObject val27 = PrefabManager.RegisterPrefab("mar_glitnir", "vfx_clubhit_glitnir");
			GameObject val28 = PrefabManager.RegisterPrefab("mar_glitnir", "vfx_HitSparks_glitnir");
			GameObject val29 = PrefabManager.RegisterPrefab("mar_glitnir", "vfx_Place_wood_pole_glitnir");
			GameObject val30 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_fortress_door_close_glitnir");
			GameObject val31 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_fortress_door_open_glitnir");
			GameObject val32 = PrefabManager.RegisterPrefab("mar_glitnir", "vfx_bow_fire_glitnir");
			GameObject val33 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_sledge_swing_glitnir");
			GameObject val34 = PrefabManager.RegisterPrefab("mar_glitnir", "vfx_sledge_iron_hit_glitnir");
			GameObject val35 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_sledge_iron_hit_glitnir");
			GameObject val36 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_battleaxe_hit_glitnir");
			GameObject val37 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_battleaxe_swing_wosh_glitnir");
			GameObject val38 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_axe_hit_glitnir");
			GameObject val39 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_axe_swing_glitnir");
			GameObject val40 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_arrow_hit_glitnir");
			GameObject val41 = PrefabManager.RegisterPrefab("mar_glitnir", "vfx_arrowhit_glitnir");
			GameObject val42 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_spear_hit_glitnir");
			GameObject val43 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_spear_throw_glitnir");
			GameObject val44 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_spear_poke_glitnir");
			GameObject val45 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_knife_swing_glitnir");
			GameObject val46 = PrefabManager.RegisterPrefab("mar_glitnir", "burn_Glitnir");
			GameObject val47 = PrefabManager.RegisterPrefab("mar_glitnir", "Cinder_Glitnir");
			GameObject val48 = PrefabManager.RegisterPrefab("mar_glitnir", "Fire_Glitnir");
			GameObject val49 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_Cinder_hit_Glitnir");
			GameObject val50 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_CinderFire_Burn_glitnir");
			GameObject val51 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_fireball_staff_explosion_glitnir");
			GameObject val52 = PrefabManager.RegisterPrefab("mar_glitnir", "HouseFire_Glitnir");
			GameObject val53 = PrefabManager.RegisterPrefab("mar_glitnir", "SmokeBallTurbulent_Glitnir");
			GameObject val54 = PrefabManager.RegisterPrefab("mar_glitnir", "staff_fireball_projectile_glitnir");
			GameObject val55 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_bomb_Glitnir");
			GameObject val56 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_build_cultivator_Glitnir");
			GameObject val57 = PrefabManager.RegisterPrefab("mar_glitnir", "sfx_firestaff_launch_glitnir");
			GameObject val58 = PrefabManager.RegisterPrefab("mar_glitnir", "vfx_Place_mud_road_glitnir");
			GameObject val59 = PrefabManager.RegisterPrefab("mar_glitnir", "Burn_Glitnir_ice");
			GameObject val60 = PrefabManager.RegisterPrefab("mar_glitnir", "Cinder_Glitnir_ice");
			GameObject val61 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_Cinder_hit_Glitnir_ice");
			GameObject val62 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_CinderFire_Burn_glitnir_ice");
			GameObject val63 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_fireball_staff_explosion_glitnir_ice");
			GameObject val64 = PrefabManager.RegisterPrefab("mar_glitnir", "Glitnir_ice");
			GameObject val65 = PrefabManager.RegisterPrefab("mar_glitnir", "HouseFire_Glitnir_ice");
			GameObject val66 = PrefabManager.RegisterPrefab("mar_glitnir", "SmokeBallTurbulent_Glitnir_ice");
			GameObject val67 = PrefabManager.RegisterPrefab("mar_glitnir", "staff_iceball_projectile_glitnir");
			GameObject val68 = PrefabManager.RegisterPrefab("mar_glitnir", "staff_thunderball_projectile_glitnir");
			GameObject val69 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_thunderball_staff_explosion_glitnir");
			GameObject val70 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_poisonball_staff_explosion_glitnir");
			GameObject val71 = PrefabManager.RegisterPrefab("mar_glitnir", "staff_poisonball_projectile_glitnir");
			GameObject val72 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_sledge_fire_glitnir");
			GameObject val73 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_sledge_ice_glitnir");
			GameObject val74 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_sledge_poison_glitnir");
			GameObject val75 = PrefabManager.RegisterPrefab("mar_glitnir", "fx_sledge_thunder_glitnir");
			SetupWatcher();
			_harmony.PatchAll();
		}

		private void OnDestroy()
		{
			((BaseUnityPlugin)this).Config.Save();
		}

		private void SetupWatcher()
		{
			FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(Paths.ConfigPath, ConfigFileName);
			fileSystemWatcher.Changed += ReadConfigValues;
			fileSystemWatcher.Created += ReadConfigValues;
			fileSystemWatcher.Renamed += ReadConfigValues;
			fileSystemWatcher.IncludeSubdirectories = true;
			fileSystemWatcher.SynchronizingObject = ThreadingHelper.SynchronizingObject;
			fileSystemWatcher.EnableRaisingEvents = true;
		}

		private void ReadConfigValues(object sender, FileSystemEventArgs e)
		{
			if (!File.Exists(ConfigFileFullPath))
			{
				return;
			}
			try
			{
				GlitinirArmas.LogDebug((object)"ReadConfigValues called");
				((BaseUnityPlugin)this).Config.Reload();
			}
			catch
			{
				GlitinirArmas.LogError((object)("There was an issue loading your " + ConfigFileName));
				GlitinirArmas.LogError((object)"Please check your config entries for spelling and format!");
			}
		}

		private ConfigEntry<T> config<[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)] T>(string group, string name, T value, ConfigDescription description, bool synchronizedSetting = true)
		{
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Expected O, but got Unknown
			ConfigDescription val = new ConfigDescription(description.Description + (synchronizedSetting ? " [Synced with Server]" : " [Not Synced with Server]"), description.AcceptableValues, description.Tags);
			ConfigEntry<T> val2 = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, val);
			SyncedConfigEntry<T> syncedConfigEntry = ConfigSync.AddConfigEntry<T>(val2);
			syncedConfigEntry.SynchronizedConfig = synchronizedSetting;
			return val2;
		}

		private ConfigEntry<T> config<[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)] T>(string group, string name, T value, string description, bool synchronizedSetting = true)
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			return config(group, name, value, new ConfigDescription(description, (AcceptableValueBase)null, Array.Empty<object>()), synchronizedSetting);
		}

		static GlitinirArmasPlugin()
		{
			string configPath = Paths.ConfigPath;
			char directorySeparatorChar = Path.DirectorySeparatorChar;
			ConfigFileFullPath = configPath + directorySeparatorChar + ConfigFileName;
			GlitinirArmas = Logger.CreateLogSource("GlitinirArmas");
			ConfigSync = new ConfigSync("wesley.GlitinirArmas")
			{
				DisplayName = "GlitinirArmas",
				CurrentVersion = "0.0.1",
				MinimumRequiredVersion = "0.0.1"
			};
		}
	}
}
namespace PieceManager
{
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	[PublicAPI]
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	public static class MaterialReplacer
	{
		[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)]
		public enum ShaderType
		{
			PieceShader,
			VegetationShader,
			RockShader,
			RugShader,
			GrassShader,
			CustomCreature,
			UseUnityShader
		}

		private static readonly Dictionary<GameObject, bool> ObjectToSwap;

		private static readonly Dictionary<string, Material> OriginalMaterials;

		private static readonly Dictionary<GameObject, ShaderType> ObjectsForShaderReplace;

		private static readonly HashSet<Shader> CachedShaders;

		private static bool hasRun;

		static MaterialReplacer()
		{
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Expected O, but got Unknown
			CachedShaders = new HashSet<Shader>();
			hasRun = false;
			OriginalMaterials = new Dictionary<string, Material>();
			ObjectToSwap = new Dictionary<GameObject, bool>();
			ObjectsForShaderReplace = new Dictionary<GameObject, ShaderType>();
			Harmony val = new Harmony("org.bepinex.helpers.PieceManager");
			val.Patch((MethodBase)AccessTools.DeclaredMethod(typeof(ZoneSystem), "Start", (Type[])null, (Type[])null), (HarmonyMethod)null, new HarmonyMethod(typeof(MaterialReplacer), "ReplaceAllMaterialsWithOriginal", (Type[])null), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null);
		}

		public static void RegisterGameObjectForShaderSwap(GameObject go, ShaderType type)
		{
			if (!ObjectsForShaderReplace.ContainsKey(go))
			{
				ObjectsForShaderReplace.Add(go, type);
			}
		}

		public static void RegisterGameObjectForMatSwap(GameObject go, bool isJotunnMock = false)
		{
			if (!ObjectToSwap.ContainsKey(go))
			{
				ObjectToSwap.Add(go, isJotunnMock);
			}
		}

		private static void GetAllMaterials()
		{
			Material[] array = Resources.FindObjectsOfTypeAll<Material>();
			foreach (Material val in array)
			{
				OriginalMaterials[((Object)val).name] = val;
			}
		}

		[HarmonyPriority(700)]
		private static void ReplaceAllMaterialsWithOriginal()
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Invalid comparison between Unknown and I4
			if ((int)SystemInfo.graphicsDeviceType == 4 || hasRun)
			{
				return;
			}
			if (OriginalMaterials.Count == 0)
			{
				GetAllMaterials();
			}
			foreach (KeyValuePair<GameObject, bool> item in ObjectToSwap)
			{
				GameObject key = item.Key;
				bool value = item.Value;
				ProcessGameObjectMaterials(key, value);
			}
			AssetBundle[] array = Resources.FindObjectsOfTypeAll<AssetBundle>();
			AssetBundle[] array2 = array;
			foreach (AssetBundle val in array2)
			{
				IEnumerable<Shader> enumerable3;
				try
				{
					IEnumerable<Shader> enumerable2;
					if (!val.isStreamedSceneAssetBundle || !Object.op_Implicit((Object)(object)val))
					{
						IEnumerable<Shader> enumerable = val.LoadAllAssets<Shader>();
						enumerable2 = enumerable;
					}
					else
					{
						enumerable2 = from shader in ((IEnumerable<string>)val.GetAllAssetNames()).Select((Func<string, Shader>)val.LoadAsset<Shader>)
							where (Object)(object)shader != (Object)null
							select shader;
					}
					enumerable3 = enumerable2;
				}
				catch (Exception)
				{
					continue;
				}
				if (enumerable3 == null)
				{
					continue;
				}
				foreach (Shader item2 in enumerable3)
				{
					CachedShaders.Add(item2);
				}
			}
			foreach (KeyValuePair<GameObject, ShaderType> item3 in ObjectsForShaderReplace)
			{
				GameObject key2 = item3.Key;
				ShaderType value2 = item3.Value;
				ProcessGameObjectShaders(key2, value2);
			}
			hasRun = true;
		}

		private static void ProcessGameObjectMaterials(GameObject go, bool isJotunnMock)
		{
			Renderer[] componentsInChildren = go.GetComponentsInChildren<Renderer>(true);
			Renderer[] array = componentsInChildren;
			foreach (Renderer val in array)
			{
				Material[] sharedMaterials = val.sharedMaterials.Select([<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)] (Material material) => ReplaceMaterial(material, isJotunnMock)).ToArray();
				val.sharedMaterials = sharedMaterials;
			}
		}

		private static Material ReplaceMaterial(Material originalMaterial, bool isJotunnMock)
		{
			string text = (isJotunnMock ? "JVLmock_" : "_REPLACE_");
			if (!((Object)originalMaterial).name.StartsWith(text, StringComparison.Ordinal))
			{
				return originalMaterial;
			}
			string text2 = ((Object)originalMaterial).name.Replace(" (Instance)", "").Replace(text, "");
			if (OriginalMaterials.TryGetValue(text2, out var value))
			{
				return value;
			}
			Debug.LogWarning((object)("No suitable material found to replace: " + text2));
			return originalMaterial;
		}

		private static void ProcessGameObjectShaders(GameObject go, ShaderType shaderType)
		{
			Renderer[] componentsInChildren = go.GetComponentsInChildren<Renderer>(true);
			Renderer[] array = componentsInChildren;
			foreach (Renderer val in array)
			{
				Material[] sharedMaterials = val.sharedMaterials;
				foreach (Material val2 in sharedMaterials)
				{
					if ((Object)(object)val2 != (Object)null)
					{
						val2.shader = GetShaderForType(val2.shader, shaderType, ((Object)val2.shader).name);
					}
				}
			}
		}

		private static Shader GetShaderForType(Shader orig, ShaderType shaderType, string originalShaderName)
		{
			return (Shader)(shaderType switch
			{
				ShaderType.PieceShader => FindShaderWithName(orig, "Custom/Piece"), 
				ShaderType.VegetationShader => FindShaderWithName(orig, "Custom/Vegetation"), 
				ShaderType.RockShader => FindShaderWithName(orig, "Custom/StaticRock"), 
				ShaderType.RugShader => FindShaderWithName(orig, "Custom/Rug"), 
				ShaderType.GrassShader => FindShaderWithName(orig, "Custom/Grass"), 
				ShaderType.CustomCreature => FindShaderWithName(orig, "Custom/Creature"), 
				ShaderType.UseUnityShader => FindShaderWithName(orig, ((Object)(object)FindShaderWithName(orig, originalShaderName) != (Object)null) ? originalShaderName : "ToonDeferredShading2017"), 
				_ => FindShaderWithName(orig, "Standard"), 
			});
		}

		public static Shader FindShaderWithName(Shader origShader, string name)
		{
			foreach (Shader cachedShader in CachedShaders)
			{
				if (((Object)cachedShader).name == name)
				{
					return cachedShader;
				}
			}
			return origShader;
		}
	}
	[PublicAPI]
	public enum CraftingTable
	{
		None,
		[InternalName("piece_workbench")]
		Workbench,
		[InternalName("piece_cauldron")]
		Cauldron,
		[InternalName("forge")]
		Forge,
		[InternalName("piece_artisanstation")]
		ArtisanTable,
		[InternalName("piece_stonecutter")]
		StoneCutter,
		[InternalName("piece_magetable")]
		MageTable,
		[InternalName("blackforge")]
		BlackForge,
		[InternalName("piece_preptable")]
		FoodPreparationTable,
		[InternalName("piece_MeadCauldron")]
		MeadKetill,
		Custom
	}
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	public class InternalName : Attribute
	{
		public readonly string internalName;

		public InternalName(string internalName)
		{
			this.internalName = internalName;
		}
	}
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	[PublicAPI]
	public class ExtensionList
	{
		public readonly List<ExtensionConfig> ExtensionStations = new List<ExtensionConfig>();

		public void Set(CraftingTable table, int maxStationDistance = 5)
		{
			ExtensionStations.Add(new ExtensionConfig
			{
				Table = table,
				maxStationDistance = maxStationDistance
			});
		}

		public void Set(string customTable, int maxStationDistance = 5)
		{
			ExtensionStations.Add(new ExtensionConfig
			{
				Table = CraftingTable.Custom,
				custom = customTable,
				maxStationDistance = maxStationDistance
			});
		}
	}
	public struct ExtensionConfig
	{
		public CraftingTable Table;

		public float maxStationDistance;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		public string custom;
	}
	[PublicAPI]
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	public class CraftingStationList
	{
		public readonly List<CraftingStationConfig> Stations = new List<CraftingStationConfig>();

		public void Set(CraftingTable table)
		{
			Stations.Add(new CraftingStationConfig
			{
				Table = table
			});
		}

		public void Set(string customTable)
		{
			Stations.Add(new CraftingStationConfig
			{
				Table = CraftingTable.Custom,
				custom = customTable
			});
		}
	}
	public struct CraftingStationConfig
	{
		public CraftingTable Table;

		public int level;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		public string custom;
	}
	[PublicAPI]
	public enum BuildPieceCategory
	{
		Misc = 0,
		Crafting = 1,
		BuildingWorkbench = 2,
		BuildingStonecutter = 3,
		Furniture = 4,
		All = 100,
		Custom = 99
	}
	[PublicAPI]
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	public class RequiredResourcesList
	{
		public readonly List<Requirement> Requirements = new List<Requirement>();

		public void Add(string item, int amount, bool recover)
		{
			Requirements.Add(new Requirement
			{
				itemName = item,
				amount = amount,
				recover = recover
			});
		}
	}
	public struct Requirement
	{
		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(1)]
		public string itemName;

		public int amount;

		public bool recover;
	}
	public struct SpecialProperties
	{
		[Description("Admins should be the only ones that can build this piece.")]
		public bool AdminOnly;

		[Description("Turns off generating a config for this build piece.")]
		public bool NoConfig;
	}
	[PublicAPI]
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	public class BuildingPieceCategory
	{
		public BuildPieceCategory Category;

		public string custom = "";

		public void Set(BuildPieceCategory category)
		{
			Category = category;
		}

		public void Set(string customCategory)
		{
			Category = BuildPieceCategory.Custom;
			custom = customCategory;
		}
	}
	[PublicAPI]
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	public class PieceTool
	{
		public readonly HashSet<string> Tools = new HashSet<string>();

		public void Add(string tool)
		{
			Tools.Add(tool);
		}
	}
	[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(1)]
	[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
	[PublicAPI]
	public class BuildPiece
	{
		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
		internal class PieceConfig
		{
			public ConfigEntry<string> craft = null;

			public ConfigEntry<BuildPieceCategory> category = null;

			public ConfigEntry<string> customCategory = null;

			public ConfigEntry<string> tools = null;

			public ConfigEntry<CraftingTable> extensionTable = null;

			public ConfigEntry<string> customExtentionTable = null;

			public ConfigEntry<float> maxStationDistance = null;

			public ConfigEntry<CraftingTable> table = null;

			public ConfigEntry<string> customTable = null;
		}

		[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)]
		private class ConfigurationManagerAttributes
		{
			[UsedImplicitly]
			public int? Order;

			[UsedImplicitly]
			public bool? Browsable;

			[UsedImplicitly]
			[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
			public string Category;

			[UsedImplicitly]
			[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(new byte[] { 2, 1 })]
			public Action<ConfigEntryBase> CustomDrawer;
		}

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(0)]
		private class SerializedRequirements
		{
			public readonly List<Requirement> Reqs;

			public SerializedRequirements(List<Requirement> reqs)
			{
				Reqs = reqs;
			}

			public SerializedRequirements(string reqs)
			{
				Reqs = reqs.Split(new char[1] { ',' }).Select([<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)] (string r) =>
				{
					string[] array = r.Split(new char[1] { ':' });
					Requirement result = default(Requirement);
					result.itemName = array[0];
					result.amount = ((array.Length <= 1 || !int.TryParse(array[1], out var result2)) ? 1 : result2);
					bool result3 = default(bool);
					result.recover = array.Length <= 2 || !bool.TryParse(array[2], out result3) || result3;
					return result;
				}).ToList();
			}

			public override string ToString()
			{
				return string.Join(",", Reqs.Select([<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)] (Requirement r) => $"{r.itemName}:{r.amount}:{r.recover}"));
			}

			[return: <686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
			public static ItemDrop fetchByName(ObjectDB objectDB, string name)
			{
				GameObject itemPrefab = objectDB.GetItemPrefab(name);
				ItemDrop val = ((itemPrefab != null) ? itemPrefab.GetComponent<ItemDrop>() : null);
				if ((Object)(object)val == (Object)null)
				{
					Debug.LogWarning((object)(((!string.IsNullOrWhiteSpace(((Object)plugin).name)) ? ("[" + ((Object)plugin).name + "]") : "") + " The required item '" + name + "' does not exist."));
				}
				return val;
			}

			public static Requirement[] toPieceReqs(SerializedRequirements craft)
			{
				Dictionary<string, Requirement> dictionary = craft.Reqs.Where((Requirement r) => r.itemName != "").ToDictionary((Func<Requirement, string>)([<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)] (Requirement r) => r.itemName), (Func<Requirement, Requirement>)([<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)] (Requirement r) =>
				{
					//IL_000d: Unknown result type (might be due to invalid IL or missing references)
					//IL_0012: Unknown result type (might be due to invalid IL or missing references)
					//IL_001e: Unknown result type (might be due to invalid IL or missing references)
					//IL_0025: Unknown result type (might be due to invalid IL or missing references)
					ItemDrop val = ResItem(r);
					return (val == null) ? ((Requirement)null) : new Requirement
					{
						m_amount = r.amount,
						m_resItem = val,
						m_recover = r.recover
					};
				}));
				return dictionary.Values.Where([<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(0)] (Requirement v) => v != null).ToArray();
				[<bd34b537-5a3f-458e-ba86-d802921e60c5>NullableContext(2)]
				static ItemDrop ResItem(Requirement r)
				{
					return fetchByName(ObjectDB.instance, r.itemName);
				}
			}
		}

		internal static readonly List<BuildPiece> registeredPieces = new List<BuildPiece>();

		private static readonly Dictionary<Piece, BuildPiece> pieceMap = new Dictionary<Piece, BuildPiece>();

		internal static Dictionary<BuildPiece, PieceConfig> pieceConfigs = new Dictionary<BuildPiece, PieceConfig>();

		internal List<Conversion> Conversions = new List<Conversion>();

		internal List<ItemConversion> conversions = new List<ItemConversion>();

		[Description("Disables generation of the configs for your pieces. This is global, this turns it off for all pieces in your mod.")]
		public static bool ConfigurationEnabled = true;

		public readonly GameObject Prefab;

		[Description("Specifies the resources needed to craft the piece.\nUse .Add to add resources with their internal ID and an amount.\nUse one .Add for each resource type the building piece should need.")]
		public readonly RequiredResourcesList RequiredItems = new RequiredResourcesList();

		[Description("Sets the category for the building piece.")]
		public readonly BuildingPieceCategory Category = new BuildingPieceCategory();

		[Description("Specifies the tool needed to build your piece.\nUse .Add to add a tool.")]
		public readonly PieceTool Tool = new PieceTool();

		[Description("Specifies the crafting station needed to build your piece.\nUse .Add to add a crafting station, using the CraftingTable enum and a minimum level for the crafting station.")]
		public CraftingStationList Crafting = new CraftingStationList();

		[Description("Makes this piece a station extension")]
		public ExtensionList Extension = new ExtensionList();

		[Description("Change the extended/special properties of your build piece.")]
		public SpecialProperties SpecialProperties;

		[Description("Specifies a config entry which toggles whether a recipe is active.")]
		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		public ConfigEntryBase RecipeIsActive = null;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		private LocalizeKey _name;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		private LocalizeKey _description;

		internal string[] activeTools = null;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		private static object configManager;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		private static Localization _english;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		internal static BaseUnityPlugin _plugin = null;

		private static bool hasConfigSync = true;

		[<686c39fa-524f-42ea-a107-551b80781a83>Nullable(2)]
		private static object _configSync;

		public LocalizeKey Name
		{
			get
			{
				LocalizeKey name = _name;
				if (name != null)
				{
					return name;
				}
				Piece component = Prefab.GetComponent<Piece>();
				if (component.m_name.StartsWith("$"))
				{
					_name = new LocalizeKey(component.m_name);
				}
				else
				{
					string text = "$piece_" + ((Object)Prefab).name.Replace(" ", "_");
					_name = new LocalizeKey(text).English(component.m_name);
					component.m_name = text;