Decompiled source of RavenwoodEgypt v1.0.8

plugins/RavenwoodEgypt/RavenwoodEgypt.dll

Decompiled 2 months ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("RavenwoodEgypt")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("MagicMike")]
[assembly: AssemblyProduct("RavenwoodEgypt")]
[assembly: AssemblyCopyright("Copyright © MagicMike 2025RavenwoodEgypt")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("e3243d22-4307-4008-ba36-9f326008cde5")]
[assembly: AssemblyFileVersion("1.0.8")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.8.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
public class Elevator : MonoBehaviour
{
	public bool m_canMove = true;

	public float m_speed = 2f;

	public int m_startPoint;

	public Transform[] m_points;

	private int i;

	private bool m_reverse;

	public static readonly int m_elevatorPosition = StringExtensionMethods.GetStableHashCode("elevatorPosition");

	private ZNetView m_nview;

	public void Start()
	{
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_005b: Unknown result type (might be due to invalid IL or missing references)
		m_nview = ((Component)this).gameObject.GetComponentInParent<ZNetView>();
		if ((Object)(object)m_nview != (Object)null && m_nview.GetZDO() != null)
		{
			i = m_nview.GetZDO().GetInt(m_elevatorPosition, 0);
			((Component)this).transform.position = m_points[i].position;
		}
		else
		{
			((Component)this).transform.position = m_points[m_startPoint].position;
			i = m_startPoint;
		}
	}

	public void Update()
	{
		//IL_0027: Unknown result type (might be due to invalid IL or missing references)
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		if (!((Object)(object)m_nview != (Object)null) || m_nview.GetZDO() == null)
		{
			return;
		}
		if (Vector3.Distance(((Component)this).transform.position, m_points[i].position) < 0.01f)
		{
			m_canMove = false;
			if (i == m_points.Length - 1)
			{
				m_reverse = true;
				i--;
				return;
			}
			if (i == 0)
			{
				m_reverse = false;
				i++;
				return;
			}
			if (m_reverse)
			{
				i--;
			}
			else
			{
				i++;
			}
		}
		if (m_canMove)
		{
			((Component)this).transform.position = Vector3.MoveTowards(((Component)this).transform.position, m_points[i].position, m_speed * Time.deltaTime);
			m_nview.GetZDO().Set(m_elevatorPosition, i, false);
		}
	}
}
public class ElevatorSwitch : MonoBehaviour, Hoverable, Interactable
{
	public Elevator m_elevator;

	private string m_name;

	private Piece m_piece;

	private void Start()
	{
		m_piece = ((Component)this).gameObject.GetComponentInParent<Piece>();
		m_name = m_piece.m_name;
	}

	public string GetHoverText()
	{
		return Localization.instance.Localize(m_name + "\n[<color=yellow><b>$KEY_Use</b></color>] $text_fb_use_elevator");
	}

	public string GetHoverName()
	{
		return m_name;
	}

	public bool Interact(Humanoid human, bool hold, bool alt)
	{
		if (hold)
		{
			return false;
		}
		if (m_elevator.m_canMove)
		{
			return true;
		}
		m_elevator.m_speed = 2f;
		m_elevator.m_canMove = true;
		return true;
	}

	public bool UseItem(Humanoid user, ItemData item)
	{
		return false;
	}
}
public class ParentPlatform : MonoBehaviour
{
	private Piece m_piece;

	private void Start()
	{
		m_piece = ((Component)this).gameObject.GetComponentInParent<Piece>();
	}

	private void OnCollisionEnter(Collision other)
	{
		other.transform.SetParent(((Component)this).transform);
		other.gameObject.GetComponent<Rigidbody>().interpolation = (RigidbodyInterpolation)0;
		m_piece.m_canBeRemoved = false;
	}

	private void OnCollisionExit(Collision other)
	{
		other.transform.SetParent((Transform)null);
		other.gameObject.GetComponent<Rigidbody>().interpolation = (RigidbodyInterpolation)1;
		m_piece.m_canBeRemoved = true;
	}
}
public class TriggerPlatform : MonoBehaviour
{
	public Elevator m_platform;

	private void OnTriggerEnter(Collider other)
	{
	}
}
namespace RavenwoodEgypt
{
	internal class GamePatches
	{
		[HarmonyPatch(typeof(ZNetScene), "Awake")]
		private static class ZNetSceneSoundsPatch
		{
			private static void Postfix(ZNetScene __instance)
			{
				GameObject prefab = __instance.GetPrefab("sfx_pyramid_door");
				GameObject prefab2 = __instance.GetPrefab("sfx_elevator_re");
				try
				{
					prefab.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = AudioMan.instance.m_ambientMixer;
					prefab2.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = AudioMan.instance.m_ambientMixer;
				}
				catch
				{
					Logger.LogError((object)"Error with ZNetSceneSoundsPatch!");
				}
			}
		}
	}
	[BepInPlugin("MagicMike.RavenwoodEgypt", "RavenwoodEgypt", "1.0.8")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	public class RavenwoodEgyptPlugin : BaseUnityPlugin
	{
		internal const string PluginName = "RavenwoodEgypt";

		internal const string PluginVersion = "1.0.8";

		internal const string PluginAuthor = "MagicMike";

		internal const string PluginGUID = "MagicMike.RavenwoodEgypt";

		internal const string PluginCopy = "Copyright © MagicMike 2025RavenwoodEgypt";

		public static RavenwoodEgyptPlugin plugininstance;

		public static AssetBundle rwegypt;

		public static string egyptBundle = "ravenwoodegypt";

		public static AssetBundle rwegyptnew;

		public static string egyptBundleNew = "ravenwoodegyptnew";

		private Harmony harmony = new Harmony("MagicMike.RavenwoodEgypt");

		public void Awake()
		{
			LoadAssetBundles();
			LoadAssets();
			PrefabManager.OnVanillaPrefabsAvailable += AddRWPieces;
			harmony = Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "MagicMike.RavenwoodEgypt");
			Game.isModded = true;
		}

		public static void LoadAssetBundles()
		{
			rwegypt = AssetUtils.LoadAssetBundleFromResources(egyptBundle, Assembly.GetExecutingAssembly());
			if ((Object)(object)rwegypt == (Object)null)
			{
				Logger.LogError((object)("Failed to load asset bundle with name: " + egyptBundle));
			}
			rwegyptnew = AssetUtils.LoadAssetBundleFromResources(egyptBundleNew, Assembly.GetExecutingAssembly());
			if ((Object)(object)rwegyptnew == (Object)null)
			{
				Logger.LogError((object)("Failed to load asset bundle with name: " + egyptBundleNew));
			}
		}

		public static void LoadAssets()
		{
			//IL_0010: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Expected O, but got Unknown
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Expected O, but got Unknown
			try
			{
				CustomPrefab val = new CustomPrefab(rwegypt.LoadAsset<GameObject>("sfx_pyramid_door"), true);
				PrefabManager.Instance.AddPrefab(val);
				CustomPrefab val2 = new CustomPrefab(rwegyptnew.LoadAsset<GameObject>("sfx_elevator_re"), true);
				PrefabManager.Instance.AddPrefab(val2);
			}
			catch (Exception ex)
			{
				Logger.LogError((object)("Exception caught while loading Custom Assets: " + ex.Message));
			}
		}

		public static void AddRWPieces()
		{
			try
			{
				RW_Pieces.AddPieces();
			}
			catch (Exception ex)
			{
				Logger.LogError((object)("Exception caught while adding Egypt Pieces: " + ex.Message));
			}
			finally
			{
				PrefabManager.OnVanillaPrefabsAvailable -= AddRWPieces;
			}
		}
	}
	public class RW_Pieces
	{
		public static EffectList buildWood;

		public static EffectList breakWood;

		public static EffectList hitWood;

		public static EffectList buildStone;

		public static EffectList breakStone;

		public static EffectList hitStone;

		public static EffectList buildMetal;

		public static EffectList breakMetal;

		public static EffectList hitMetal;

		public static EffectList addFuel;

		public static EffectList doorOpen;

		public static EffectList doorClose;

		public static EffectList gateOpenClose;

		public static ItemDrop fuelWood;

		public static ItemDrop fuelResin;

		public static GameObject _gameObject;

		public static CustomPiece _customPiece;

		public static void AddPieces()
		{
			SetupGamePrefabs();
			AddPyramid();
			AddPyramidEnterable();
			AddPyramidDoor();
			AddSphinx();
			AddLargeWall();
			AddLargeWallCorner();
			AddLargeWallCross();
			AddLargeWallTjunction();
			AddLargeWallStairs();
			AddLargeWallStairsReverse();
			AddLargeWallGateway();
			AddLargeWallTower();
			AddLargeWallEnd();
			AddLargeWallGate();
			AddLargeTower01();
			AddLargeTower02();
			AddHouse01();
			AddHouse02();
			AddHouse03();
			AddHouse04();
			AddHouse05();
			AddHouse06();
			AddHouseDoor();
			AddColumnTopSingle();
			AddColumnTopDouble();
			AddSquareColumn();
			AddRoundColumn();
			AddShortObelisk();
			AddTallObelisk();
			AddFancyObelisk();
			AddStoneSteps();
			AddBlock1();
			AddBlock2();
			AddBlock3();
			AddBlock4();
			AddBlock5();
			AddWall1();
			AddWall2();
			AddWallCorner();
			AddFirepitSmall();
			AddFirepitLarge();
			AddPalmTreePlanter();
			AddPalmTree();
			AddHorusStatue();
			AddFuneralStatue();
			AddAkhenatonStatue();
			AddAnubisStatue();
			AddAnubisStatue02();
			AddAnubisStatue02Large();
			AddAnubisJackalStatue();
			AddAnubisSculpture();
			AddEgyptianStatue();
			AddKingStatue();
			AddKingStatueLarge();
			AddCarvedObelisk();
			AddWaterFountain();
			AddPharaohsMask();
			AddPharaohsChair();
			AddGoldEagle();
			AddCoffin01();
			AddCoffin02();
			AddChest();
			AddCanopicJar01();
			AddCanopicJar02();
		}

		public static void SetupGamePrefabs()
		{
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Expected O, but got Unknown
			//IL_009d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Expected O, but got Unknown
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bd: Expected O, but got Unknown
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Expected O, but got Unknown
			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e7: Expected O, but got Unknown
			//IL_00f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fe: Expected O, but got Unknown
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0111: Expected O, but got Unknown
			//IL_011b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0120: Unknown result type (might be due to invalid IL or missing references)
			//IL_0128: Expected O, but got Unknown
			//IL_0134: Unknown result type (might be due to invalid IL or missing references)
			//IL_013b: Expected O, but got Unknown
			//IL_0145: Unknown result type (might be due to invalid IL or missing references)
			//IL_014a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0153: Expected O, but got Unknown
			//IL_015f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0166: Expected O, but got Unknown
			//IL_0170: Unknown result type (might be due to invalid IL or missing references)
			//IL_0175: Unknown result type (might be due to invalid IL or missing references)
			//IL_017e: Expected O, but got Unknown
			//IL_018a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0191: Expected O, but got Unknown
			//IL_019b: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a9: Expected O, but got Unknown
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bc: Expected O, but got Unknown
			//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d4: Expected O, but got Unknown
			//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e7: Expected O, but got Unknown
			//IL_01f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ff: Expected O, but got Unknown
			//IL_020b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0212: Expected O, but got Unknown
			//IL_021c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0221: Unknown result type (might be due to invalid IL or missing references)
			//IL_022a: Expected O, but got Unknown
			//IL_022c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0231: Unknown result type (might be due to invalid IL or missing references)
			//IL_023a: Expected O, but got Unknown
			//IL_0246: Unknown result type (might be due to invalid IL or missing references)
			//IL_024d: Expected O, but got Unknown
			//IL_0257: Unknown result type (might be due to invalid IL or missing references)
			//IL_025c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0265: Expected O, but got Unknown
			//IL_0271: Unknown result type (might be due to invalid IL or missing references)
			//IL_0278: Expected O, but got Unknown
			//IL_0282: Unknown result type (might be due to invalid IL or missing references)
			//IL_0287: Unknown result type (might be due to invalid IL or missing references)
			//IL_0290: Expected O, but got Unknown
			//IL_029c: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a3: Expected O, but got Unknown
			//IL_02ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bb: Expected O, but got Unknown
			GameObject prefab = Cache.GetPrefab<GameObject>("sfx_build_hammer_wood");
			GameObject prefab2 = Cache.GetPrefab<GameObject>("sfx_wood_break");
			GameObject prefab3 = Cache.GetPrefab<GameObject>("sfx_wood_hit");
			GameObject prefab4 = Cache.GetPrefab<GameObject>("sfx_build_hammer_stone");
			GameObject prefab5 = Cache.GetPrefab<GameObject>("sfx_rock_hit");
			GameObject prefab6 = Cache.GetPrefab<GameObject>("sfx_build_hammer_metal");
			GameObject prefab7 = Cache.GetPrefab<GameObject>("sfx_metal_blocked");
			GameObject prefab8 = Cache.GetPrefab<GameObject>("vfx_walltorch_addFuel");
			GameObject prefab9 = Cache.GetPrefab<GameObject>("sfx_FireAddFuel");
			GameObject prefab10 = Cache.GetPrefab<GameObject>("sfx_door_open");
			GameObject prefab11 = Cache.GetPrefab<GameObject>("sfx_door_close");
			GameObject prefab12 = Cache.GetPrefab<GameObject>("sfx_pyramid_door");
			EffectList val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab
				}
			};
			buildWood = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab2
				}
			};
			breakWood = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab3
				}
			};
			hitWood = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab4
				}
			};
			buildStone = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab5
				}
			};
			breakStone = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab5
				}
			};
			hitStone = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab6
				}
			};
			buildMetal = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab7
				}
			};
			breakMetal = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab7
				}
			};
			hitMetal = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[2]
			{
				new EffectData
				{
					m_prefab = prefab8
				},
				new EffectData
				{
					m_prefab = prefab9
				}
			};
			addFuel = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab10
				}
			};
			doorOpen = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab11
				}
			};
			doorClose = val;
			val = new EffectList();
			val.m_effectPrefabs = (EffectData[])(object)new EffectData[1]
			{
				new EffectData
				{
					m_prefab = prefab12
				}
			};
			gateOpenClose = val;
			fuelWood = Cache.GetPrefab<GameObject>("Wood").GetComponent<ItemDrop>();
			fuelResin = Cache.GetPrefab<GameObject>("Resin").GetComponent<ItemDrop>();
		}

		public static void AddPyramid()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Expected O, but got Unknown
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Expected O, but got Unknown
			//IL_00df: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e9: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_pyramid");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Grausten",
					Amount = 400,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Coins",
					Amount = 3000,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 100,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddPyramidEnterable()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Expected O, but got Unknown
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Expected O, but got Unknown
			//IL_00df: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e9: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_pyramid_enterable");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Grausten",
					Amount = 400,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Coins",
					Amount = 5000,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 100,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, true, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddPyramidDoor()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_pyramid_door");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			Door component = _gameObject.GetComponent<Door>();
			component.m_openEffects = gateOpenClose;
			component.m_closeEffects = gateOpenClose;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddSphinx()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Expected O, but got Unknown
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Expected O, but got Unknown
			//IL_00df: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e9: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_sphinx");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 800,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Grausten",
					Amount = 200,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 100,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Coins",
					Amount = 2000,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWall()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_wall");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 300,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallCorner()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_wall_corner");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 300,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallCross()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_wall_cross");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 500,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallTjunction()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_wall_tjunction");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallStairs()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_wall_stairs");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallStairsReverse()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_wall_stairs_reverse");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallGateway()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_wall_gateway");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 300,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallTower()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegyptnew.LoadAsset<GameObject>("mm_egypt_large_wall_tower");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallEnd()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_wall_end");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 200,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeWallGate()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Expected O, but got Unknown
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_large_gate");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "forge";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 100,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 10,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildWood;
			Door component = _gameObject.GetComponent<Door>();
			component.m_openEffects = doorOpen;
			component.m_closeEffects = doorClose;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeTower01()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_tower_01");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 300,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddLargeTower02()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_tower_02");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 600,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddHouse01()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_008f: Expected O, but got Unknown
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_0096: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Expected O, but got Unknown
			//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Expected O, but got Unknown
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e3: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_house_01");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 200,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "FineWood",
					Amount = 100,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 50,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 15,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddHouse02()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Expected O, but got Unknown
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Expected O, but got Unknown
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_house_02");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 300,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "FineWood",
					Amount = 150,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 75,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 30,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddHouse03()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Expected O, but got Unknown
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Expected O, but got Unknown
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_house_03");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 300,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "FineWood",
					Amount = 150,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 75,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 30,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddHouse04()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Expected O, but got Unknown
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Expected O, but got Unknown
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_house_04");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "FineWood",
					Amount = 200,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 100,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddHouse05()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Expected O, but got Unknown
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Expected O, but got Unknown
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_house_05");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "FineWood",
					Amount = 200,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 100,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddHouse06()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Expected O, but got Unknown
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d6: Expected O, but got Unknown
			//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_house_06");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 400,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "FineWood",
					Amount = 200,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 100,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Tar",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddHouseDoor()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Expected O, but got Unknown
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_house_door");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 10,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "BronzeNails",
					Amount = 5,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildWood;
			Door component = _gameObject.GetComponent<Door>();
			component.m_openEffects = doorOpen;
			component.m_closeEffects = doorClose;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddColumnTopSingle()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_square_column_top_single");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 25,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddColumnTopDouble()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_square_column_top_double");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddSquareColumn()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_square_column");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddRoundColumn()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_round_column");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddShortObelisk()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_short_obelisk");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 25,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddTallObelisk()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_tall_obelisk");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 100,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddFancyObelisk()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_006c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Expected O, but got Unknown
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_fancy_obelisk");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 40,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Bronze",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddStoneSteps()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_stone_steps");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 10,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddBlock1()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_block_1");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 100,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddBlock2()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_block_2");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 10,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddBlock3()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_block_3");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddBlock4()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Expected O, but got Unknown
			//IL_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_block_4");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 2,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddBlock5()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_block_5");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 10,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddWall1()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_wall_01");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddWall2()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_wall_02");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddWallCorner()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_wall_corner");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 100,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddFirepitSmall()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Expected O, but got Unknown
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Expected O, but got Unknown
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Expected O, but got Unknown
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_brazier_small");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "forge";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
			{
				new RequirementConfig
				{
					Item = "Bronze",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 4,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 5,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, true, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildMetal;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakMetal;
			component.m_hitEffect = hitMetal;
			Fireplace component2 = _gameObject.GetComponent<Fireplace>();
			component2.m_fuelItem = fuelWood;
			component2.m_fuelAddedEffects = addFuel;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddFirepitLarge()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Expected O, but got Unknown
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Expected O, but got Unknown
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Expected O, but got Unknown
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_brazier_large");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "forge";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
			{
				new RequirementConfig
				{
					Item = "Bronze",
					Amount = 3,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 8,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 5,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, true, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildMetal;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakMetal;
			component.m_hitEffect = hitMetal;
			Fireplace component2 = _gameObject.GetComponent<Fireplace>();
			component2.m_fuelItem = fuelWood;
			component2.m_fuelAddedEffects = addFuel;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddPalmTreePlanter()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_palm_tree_planter");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_workbench";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 25,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildWood;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakWood;
			component.m_hitEffect = hitWood;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddPalmTree()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_palm_tree");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_workbench";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 20,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildWood;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakWood;
			component.m_hitEffect = hitWood;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddHorusStatue()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_horus_statue");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "forge";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Bronze",
					Amount = 20,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildMetal;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakMetal;
			component.m_hitEffect = hitMetal;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddFuneralStatue()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_funeral_statue");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "forge";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Bronze",
					Amount = 20,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildMetal;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakMetal;
			component.m_hitEffect = hitMetal;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddAkhenatonStatue()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_akhenaton_statue");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "piece_stonecutter";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 50,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildStone;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakStone;
			component.m_hitEffect = hitStone;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddAnubisStatue()
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Expected O, but got Unknown
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Expected O, but got Unknown
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Expected O, but got Unknown
			_gameObject = RavenwoodEgyptPlugin.rwegypt.LoadAsset<GameObject>("mm_egypt_anubis_statue");
			GameObject gameObject = _gameObject;
			PieceConfig val = new PieceConfig();
			val.CraftingStation = "forge";
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Ravenwood-Egypt";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "Bronze",
					Amount = 20,
					Recover = true
				}
			};
			_customPiece = new CustomPiece(gameObject, false, val);
			_gameObject.GetComponent<Piece>().m_placeEffect = buildMetal;
			WearNTear component = _gameObject.GetComponent<WearNTear>();
			component.m_destroyedEffect = breakMetal;
			component.m_hitEffect = hitMetal;
			PieceManager.Instance.AddPiece(_customPiece);
		}

		public static void AddAnubisStatue02()