
////////////////////////////////////////
//                                    //
//   Generated by CEO's YAAAG - V1.2  //
// (Yet Another Arya Addon Generator) //
//                                    //
////////////////////////////////////////
using System;
using Server;
using Server.Items;

namespace Server.Items
{
	public class MegaForgeAddon : BaseAddon
	{
        private static int[,] m_AddOnSimpleComponents = new int[,] {
			  {4023, 0, -3, 6}, {4021, 2, -2, 5}, {5453, 0, -3, 1}// 1	2	3	
			, {4022, 1, -3, 1}, {4024, -1, -2, 11}, {7025, -2, -2, 26}// 6	9	10	
			, {6719, -2, -2, 11}, {7866, 0, -2, 5}, {4024, -1, -2, 14}// 11	13	16	
			, {4027, -1, -1, 13}, {10559, -2, -3, 1}, {5091, -1, -1, 12}// 19	21	24	
			, {6711, -2, -1, 11}, {7152, -1, 1, 13}, {4020, 0, 4, 7}// 28	34	37	
			, {6263, -1, 2, 10}, {13371, -2, 0, 11}, {6265, -1, 2, 13}// 39	41	42	
			, {14027, -1, 1, 26}, {4027, -1, 0, 11}, {7025, -2, 2, 26}// 44	45	46	
			, {3707, 0, 2, 1}, {6711, -2, 2, 11}, {6719, -2, 1, 11}// 51	55	56	
			, {7025, -2, 0, 26}// 59	
		};

 
            
		public override BaseAddonDeed Deed
		{
			get
			{
				return new MegaForgeAddonDeed();
			}
		}

		[ Constructable ]
		public MegaForgeAddon()
		{

            for (int i = 0; i < m_AddOnSimpleComponents.Length / 4; i++)
                AddComponent( new AddonComponent( m_AddOnSimpleComponents[i,0] ), m_AddOnSimpleComponents[i,1], m_AddOnSimpleComponents[i,2], m_AddOnSimpleComponents[i,3] );


			AddComplexComponent( (BaseAddon) this, 10556, -1, -1, 1, 2747, -1, "", 1);// 4
			AddComplexComponent( (BaseAddon) this, 10555, -2, -1, 21, 2747, -1, "", 1);// 5
			AddComplexComponent( (BaseAddon) this, 1180, -2, -1, 26, 1109, -1, "", 1);// 7
			AddComplexComponent( (BaseAddon) this, 10556, -1, -2, 1, 2747, -1, "", 1);// 8
			AddComplexComponent( (BaseAddon) this, 1180, -1, -2, 11, 1109, -1, "", 1);// 12
			AddComplexComponent( (BaseAddon) this, 10559, -2, -3, 11, 2747, -1, "", 1);// 14
			AddComplexComponent( (BaseAddon) this, 10555, -2, -2, 21, 2747, -1, "", 1);// 15
			AddComplexComponent( (BaseAddon) this, 14089, -2, -2, 26, 0, 1, "", 1);// 17
			AddComplexComponent( (BaseAddon) this, 10558, -2, -3, 21, 2747, -1, "", 1);// 18
			AddComplexComponent( (BaseAddon) this, 14133, 0, -3, 6, 1150, -1, "Steam", 1);// 20
			AddComplexComponent( (BaseAddon) this, 10559, -1, -3, 0, 2747, -1, "", 1);// 22
			AddComplexComponent( (BaseAddon) this, 4015, 1, -2, 1, 1109, -1, "", 1);// 23
			AddComplexComponent( (BaseAddon) this, 6534, -1, -2, 4, 2950, -1, "", 1);// 25
			AddComplexComponent( (BaseAddon) this, 6538, -1, -1, 4, 2950, 29, "", 1);// 26
			AddComplexComponent( (BaseAddon) this, 1180, -1, -1, 11, 1109, -1, "", 1);// 27
			AddComplexComponent( (BaseAddon) this, 1180, -1, 1, 11, 1109, -1, "", 1);// 29
			AddComplexComponent( (BaseAddon) this, 10555, -2, 1, 21, 2747, -1, "", 1);// 30
			AddComplexComponent( (BaseAddon) this, 10556, -1, 1, 1, 2747, -1, "", 1);// 31
			AddComplexComponent( (BaseAddon) this, 14089, -2, 2, 26, 0, 1, "", 1);// 32
			AddComplexComponent( (BaseAddon) this, 10556, -1, 0, 1, 2747, -1, "", 1);// 33
			AddComplexComponent( (BaseAddon) this, 10553, -1, 2, 1, 2747, -1, "", 1);// 35
			AddComplexComponent( (BaseAddon) this, 1180, -2, 1, 26, 1109, -1, "", 1);// 36
			AddComplexComponent( (BaseAddon) this, 10552, -2, 2, 21, 2747, -1, "", 1);// 38
			AddComplexComponent( (BaseAddon) this, 4016, -1, 3, 3, 1109, -1, "", 1);// 40
			AddComplexComponent( (BaseAddon) this, 1180, -1, 0, 11, 1109, -1, "", 1);// 43
			AddComplexComponent( (BaseAddon) this, 10559, -2, 2, 1, 2747, -1, "", 1);// 47
			AddComplexComponent( (BaseAddon) this, 10559, -2, 2, 11, 2747, -1, "", 1);// 48
			AddComplexComponent( (BaseAddon) this, 1180, -1, 2, 11, 1109, -1, "", 1);// 49
			AddComplexComponent( (BaseAddon) this, 10555, -2, 0, 21, 2747, -1, "", 1);// 50
			AddComplexComponent( (BaseAddon) this, 14119, 2, 2, 1, 0, 1, "", 1);// 52
			AddComplexComponent( (BaseAddon) this, 7715, -1, 2, 19, 1109, -1, "Ingot Mold", 1);// 53
			AddComplexComponent( (BaseAddon) this, 9560, -1, 1, 11, 0, -1, "Handle", 1);// 54
			AddComplexComponent( (BaseAddon) this, 6546, -1, 1, 4, 2950, -1, "", 1);// 57
			AddComplexComponent( (BaseAddon) this, 6550, -1, 0, 4, 2950, -1, "", 1);// 58

		}

		public MegaForgeAddon( Serial serial ) : base( serial )
		{
		}

        private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource)
        {
            AddComplexComponent(addon, item, xoffset, yoffset, zoffset, hue, lightsource, null, 1);
        }

        private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource, string name, int amount)
        {
            AddonComponent ac;
            ac = new AddonComponent(item);
            if (name != null && name.Length > 0)
                ac.Name = name;
            if (hue != 0)
                ac.Hue = hue;
            if (amount > 1)
            {
                ac.Stackable = true;
                ac.Amount = amount;
            }
            if (lightsource != -1)
                ac.Light = (LightType) lightsource;
            addon.AddComponent(ac, xoffset, yoffset, zoffset);
        }

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );
			writer.Write( 0 ); // Version
		}

		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );
			int version = reader.ReadInt();
		}
	}

	public class MegaForgeAddonDeed : BaseAddonDeed
	{
		public override BaseAddon Addon
		{
			get
			{
				return new MegaForgeAddon();
			}
		}

		[Constructable]
		public MegaForgeAddonDeed()
		{
			Name = "MegaForge";
		}

		public MegaForgeAddonDeed( Serial serial ) : base( serial )
		{
		}

		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );
			writer.Write( 0 ); // Version
		}

		public override void	Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );
			int version = reader.ReadInt();
		}
	}
}