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

namespace Server.Items
{
	public class ChristmasTrainEastAddon : BaseAddon
	{
        private static int[,] m_AddOnSimpleComponents = new int[,] {
			  {9008, -3, 0, 12}, {14120, 9, 1, 15}, {9009, -2, 0, 11}// 17	39	56	
			, {9009, 3, 0, 9}, {9008, 4, 0, 11}// 60	61	
		};

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

		[ Constructable ]
		public ChristmasTrainEastAddon()
		{

            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, 5377, -3, 0, 1, 1908, -1, "", 1);// 1
			AddComplexComponent( (BaseAddon) this, 5376, -4, 0, 1, 1908, -1, "", 1);// 2
			AddComplexComponent( (BaseAddon) this, 5377, -5, 0, 1, 1908, -1, "", 1);// 3
			AddComplexComponent( (BaseAddon) this, 5377, -6, 0, 1, 1908, -1, "", 1);// 4
			AddComplexComponent( (BaseAddon) this, 5376, -7, 0, 1, 1908, -1, "", 1);// 5
			AddComplexComponent( (BaseAddon) this, 5377, -8, 0, 1, 1908, -1, "", 1);// 6
			AddComplexComponent( (BaseAddon) this, 5377, -9, 0, 1, 1908, -1, "", 1);// 7
			AddComplexComponent( (BaseAddon) this, 2883, -3, 0, 7, 172, -1, "", 1);// 8
			AddComplexComponent( (BaseAddon) this, 2883, -6, 0, 7, 197, -1, "", 1);// 9
			AddComplexComponent( (BaseAddon) this, 2883, -9, 0, 7, 33, -1, "", 1);// 10
			AddComplexComponent( (BaseAddon) this, 2884, -8, 0, 7, 33, -1, "", 1);// 11
			AddComplexComponent( (BaseAddon) this, 2884, -5, 0, 7, 197, -1, "", 1);// 12
			AddComplexComponent( (BaseAddon) this, 7031, -9, 0, 14, 33, -1, "", 1);// 13
			AddComplexComponent( (BaseAddon) this, 7031, -8, 0, 14, 33, -1, "", 1);// 14
			AddComplexComponent( (BaseAddon) this, 2869, -9, 0, 8, 33, -1, "", 1);// 15
			AddComplexComponent( (BaseAddon) this, 2869, -8, 0, 8, 33, -1, "", 1);// 16
			AddComplexComponent( (BaseAddon) this, 9002, -6, 0, 10, 2548, -1, "", 1);// 18
			AddComplexComponent( (BaseAddon) this, 9002, -5, 0, 10, 2810, -1, "", 1);// 19
			AddComplexComponent( (BaseAddon) this, 9003, -6, 0, 10, 2441, -1, "", 1);// 20
			AddComplexComponent( (BaseAddon) this, 5118, -3, 0, 0, 1908, -1, "", 1);// 21
			AddComplexComponent( (BaseAddon) this, 5118, -6, 0, 0, 1908, -1, "", 1);// 22
			AddComplexComponent( (BaseAddon) this, 5118, -9, 0, 0, 1908, -1, "", 1);// 23
			AddComplexComponent( (BaseAddon) this, 2883, 6, 0, 6, 1908, -1, "", 1);// 24
			AddComplexComponent( (BaseAddon) this, 2883, 7, 0, 6, 1908, -1, "", 1);// 25
			AddComplexComponent( (BaseAddon) this, 2884, 8, 0, 6, 1908, -1, "", 1);// 26
			AddComplexComponent( (BaseAddon) this, 5377, 6, 0, 1, 1908, -1, "", 1);// 27
			AddComplexComponent( (BaseAddon) this, 5377, 8, 0, 1, 1908, -1, "", 1);// 28
			AddComplexComponent( (BaseAddon) this, 5377, 7, 0, 1, 1908, -1, "", 1);// 29
			AddComplexComponent( (BaseAddon) this, 7031, 6, 0, 9, 1908, -1, "", 1);// 30
			AddComplexComponent( (BaseAddon) this, 7031, 7, 0, 9, 1908, -1, "", 1);// 31
			AddComplexComponent( (BaseAddon) this, 7031, 8, 0, 9, 1908, -1, "", 1);// 32
			AddComplexComponent( (BaseAddon) this, 7031, 6, 0, 13, 1908, -1, "", 1);// 33
			AddComplexComponent( (BaseAddon) this, 2874, 6, 0, 10, 1908, -1, "", 1);// 34
			AddComplexComponent( (BaseAddon) this, 7027, 8, 0, 11, 1908, -1, "", 1);// 35
			AddComplexComponent( (BaseAddon) this, 7027, 8, 0, 12, 1908, -1, "", 1);// 36
			AddComplexComponent( (BaseAddon) this, 7027, 8, 0, 13, 1908, -1, "", 1);// 37
			AddComplexComponent( (BaseAddon) this, 7027, 8, 0, 14, 1908, -1, "", 1);// 38
			AddComplexComponent( (BaseAddon) this, 5118, 7, 0, 0, 1908, -1, "", 1);// 40
			AddComplexComponent( (BaseAddon) this, 5118, 6, 0, 0, 1908, -1, "", 1);// 41
			AddComplexComponent( (BaseAddon) this, 6282, 9, 0, 7, 1908, -1, "", 1);// 42
			AddComplexComponent( (BaseAddon) this, 5376, 5, 0, 1, 1908, -1, "", 1);// 43
			AddComplexComponent( (BaseAddon) this, 5377, 3, 0, 1, 1908, -1, "", 1);// 44
			AddComplexComponent( (BaseAddon) this, 5376, 2, 0, 1, 1908, -1, "", 1);// 45
			AddComplexComponent( (BaseAddon) this, 5377, 1, 0, 1, 1908, -1, "", 1);// 46
			AddComplexComponent( (BaseAddon) this, 5377, 0, 0, 1, 1908, -1, "", 1);// 47
			AddComplexComponent( (BaseAddon) this, 2884, 4, 0, 6, 10, -1, "", 1);// 48
			AddComplexComponent( (BaseAddon) this, 2883, 3, 0, 6, 10, -1, "", 1);// 49
			AddComplexComponent( (BaseAddon) this, 2883, 0, 0, 7, 1260, -1, "", 1);// 50
			AddComplexComponent( (BaseAddon) this, 2884, 1, 0, 7, 1260, -1, "", 1);// 51
			AddComplexComponent( (BaseAddon) this, 5377, 4, 0, 1, 1908, -1, "", 1);// 52
			AddComplexComponent( (BaseAddon) this, 5376, -1, 0, 1, 1908, -1, "", 1);// 53
			AddComplexComponent( (BaseAddon) this, 5377, -2, 0, 1, 1908, -1, "", 1);// 54
			AddComplexComponent( (BaseAddon) this, 2884, -2, 0, 7, 172, -1, "", 1);// 55
			AddComplexComponent( (BaseAddon) this, 9002, 0, 0, 10, 2691, -1, "", 1);// 57
			AddComplexComponent( (BaseAddon) this, 9002, 1, 0, 10, 2867, -1, "", 1);// 58
			AddComplexComponent( (BaseAddon) this, 9003, 0, 0, 10, 2500, -1, "", 1);// 59
			AddComplexComponent( (BaseAddon) this, 7186, 7, 0, 15, 1260, -1, "Train Bell", 1);// 62
			AddComplexComponent( (BaseAddon) this, 5118, 3, 0, 0, 1908, -1, "", 1);// 63
			AddComplexComponent( (BaseAddon) this, 5118, 0, 0, 0, 1908, -1, "", 1);// 64

		}

		public ChristmasTrainEastAddon( 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 ChristmasTrainEastAddonDeed : BaseAddonDeed
	{
		public override BaseAddon Addon
		{
			get
			{
				return new ChristmasTrainEastAddon();
			}
		}

		[Constructable]
		public ChristmasTrainEastAddonDeed()
		{
			Name = "ChristmasTrainEast";
		}

		public ChristmasTrainEastAddonDeed( 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();
		}
	}
}