public PlayerStatueGump( Mobile from, PlayerMadeStatue statue )
            : base(20, 30)
        {
            m_Mobile = from;
            m_Statue = statue;

            this.Closable=true;
            this.Disposable=true;
            this.Dragable=true;
            this.Resizable=false;
            this.AddPage(0);
            this.AddBackground(0, 0, 160, 250, 9200);
            this.AddLabel(20, 10, 1149, @"Character Statue");
            this.AddButton(10, 50, 2151, 2152, (int)Buttons.EngraveChange, GumpButtonType.Reply, 0);
            this.AddLabel(45, 55, 0, @"Change Engraving");

            //			this.AddButton(10, 100, 2151, 2152, (int)Buttons.MaterialChange, GumpButtonType.Reply, 0);
            //			this.AddLabel(45, 105, 0, @"Change Material");
            //			this.AddButton(10, 150, 2151, 2152, (int)Buttons.DirectionChange, GumpButtonType.Reply, 0);
            //			this.AddLabel(45, 155, 0, @"Change Direction");
            //			this.AddButton(10, 200, 2151, 2152, (int)Buttons.PoseChange, GumpButtonType.Reply, 0);
            //			this.AddLabel(45, 205, 0, @"Change Pose");
            //			this.AddButton(10, 250, 2151, 2152, (int)Buttons.ReDeed, GumpButtonType.Reply, 0);
            //			this.AddLabel(45, 255, 0, @"Re-Deed");

            this.AddButton(10, 100, 2151, 2152, (int)Buttons.DirectionChange, GumpButtonType.Reply, 0);
            this.AddLabel(45, 105, 0, @"Change Direction");
            this.AddButton(10, 150, 2151, 2152, (int)Buttons.PoseChange, GumpButtonType.Reply, 0);
            this.AddLabel(45, 155, 0, @"Change Pose");
            this.AddButton(10, 200, 2151, 2152, (int)Buttons.ReDeed, GumpButtonType.Reply, 0);
            this.AddLabel(45, 205, 0, @"Re-Deed");
        }
        public PlayerStatuePoseGump( Mobile from, PlayerMadeStatue statue)
            : base(20, 30)
        {
            m_Statue = statue;
            m_Mobile = from;

            this.Closable=true;
            this.Disposable=true;
            this.Dragable=true;
            this.Resizable=false;
            this.AddPage(0);
            this.AddBackground(0, 0, 150, 250, 9200);
            this.AddLabel(35, 10, 1149, @"Change Pose");
            this.AddButton(15, 50, 2117, 2118, (int)Buttons.Ready, GumpButtonType.Reply, 0);
            this.AddLabel(45, 50, 0, @"Ready");
            this.AddButton(15, 80, 2117, 2118, (int)Buttons.Fighting, GumpButtonType.Reply, 0);
            this.AddLabel(45, 80, 0, @"Fighting");
            this.AddButton(15, 110, 2117, 2118, (int)Buttons.AllPraise, GumpButtonType.Reply, 0);
            this.AddLabel(45, 110, 0, @"All Praise Me");
            this.AddButton(15, 140, 2117, 2118, (int)Buttons.Casting, GumpButtonType.Reply, 0);
            this.AddLabel(45, 140, 0, @"Casting");
            this.AddButton(15, 170, 2117, 2118, (int)Buttons.Hips, GumpButtonType.Reply, 0);
            this.AddLabel(45, 170, 0, @"Hands On Hips");
            this.AddButton(15, 200, 2117, 2118, (int)Buttons.Salute, GumpButtonType.Reply, 0);
            this.AddLabel(45, 200, 0, @"Salute");
        }
        public PlayerStatueMaterialGump( Mobile from, PlayerMadeStatue statue )
            : base(20, 30)
        {
            m_Mobile = from;
            m_Statue = statue;

            this.Closable=true;
            this.Disposable=true;
            this.Dragable=true;
            this.Resizable=false;
            this.AddPage(0);
            this.AddBackground(0, 0, 240, 400, 9200);
            this.AddLabel(60, 10, 1149, @"Change Material");

            this.AddButton(20, 45, 1209, 1210, (int)Buttons.JadeX1, GumpButtonType.Reply, 0);
            this.AddLabel(40, 40, 0, @"Jade 1");
            this.AddButton(20, 115, 1209, 1210, (int)Buttons.Jade1, GumpButtonType.Reply, 0);
            this.AddLabel(40, 145, 0, @"Jade 4");
            this.AddButton(20, 185, 1209, 1210, (int)Buttons.Jade3, GumpButtonType.Reply, 0);
            this.AddLabel(40, 180, 0, @"Jade 5");
            this.AddButton(20, 80, 1209, 1210, (int)Buttons.Jade0, GumpButtonType.Reply, 0);
            this.AddLabel(40, 75, 0, @"Jade 2");
            this.AddButton(20, 150, 1209, 1210, (int)Buttons.Jade2, GumpButtonType.Reply, 0);
            this.AddLabel(40, 110, 0, @"Jade 3");

            this.AddButton(20, 255, 1209, 1210, (int)Buttons.BronzeX2, GumpButtonType.Reply, 0);
            this.AddLabel(40, 250, 0, @"Bronze 2");
            this.AddButton(20, 325, 1209, 1210, (int)Buttons.Bronze1, GumpButtonType.Reply, 0);
            this.AddLabel(40, 320, 0, @"Bronze 4");
            this.AddButton(20, 220, 1209, 1210, (int)Buttons.BronzeX1, GumpButtonType.Reply, 0);
            this.AddLabel(40, 215, 0, @"Bronze 1");
            this.AddButton(20, 290, 1209, 1210, (int)Buttons.Bronze0, GumpButtonType.Reply, 0);
            this.AddLabel(40, 285, 0, @"Bronze 3");
            this.AddButton(20, 360, 1209, 1210, (int)Buttons.Bronze2, GumpButtonType.Reply, 0);
            this.AddLabel(40, 355, 0, @"Bronze 5");
            this.AddButton(120, 45, 1209, 1210, (int)Buttons.Bronze3, GumpButtonType.Reply, 0);
            this.AddLabel(140, 40, 0, @"Bronze 6");

            this.AddButton(120, 80, 1209, 1210, (int)Buttons.AlabasterX1, GumpButtonType.Reply, 0);
            this.AddLabel(140, 75, 0, @"Alabaster 1");
            this.AddButton(120, 115, 1209, 1210, (int)Buttons.AlabasterMarbleX0, GumpButtonType.Reply, 0);
            this.AddLabel(140, 110, 0, @"Alabaster 2");
            this.AddButton(120, 150, 1209, 1210, (int)Buttons.AlabasterMarble1, GumpButtonType.Reply, 0);
            this.AddLabel(140, 145, 0, @"Alabaster 3");
            this.AddButton(120, 185, 1209, 1210, (int)Buttons.AlabasterMarble2, GumpButtonType.Reply, 0);
            this.AddLabel(140, 180, 0, @"Alabaster 4");
            this.AddButton(120, 220, 1209, 1210, (int)Buttons.AlabasterMarble3, GumpButtonType.Reply, 0);
            this.AddLabel(140, 215, 0, @"Alabaster 5");

            this.AddButton(120, 255, 1209, 1210, (int)Buttons.MarbleX1, GumpButtonType.Reply, 0);
            this.AddLabel(140, 250, 0, @"Marble 1");
            this.AddButton(120, 290, 1209, 1210, (int)Buttons.MarbleX2, GumpButtonType.Reply, 0);
            this.AddLabel(140, 285, 0, @"Marble 2");

            this.AddButton(120, 325, 1209, 1210, (int)Buttons.Granite1, GumpButtonType.Reply, 0);
            this.AddLabel(140, 320, 0, @"Granite 1");
            this.AddButton(120, 360, 1209, 1210, (int)Buttons.BloodStoneX1, GumpButtonType.Reply, 0);
            this.AddLabel(140, 355, 0, @"Granite 2");
        }
        public PlayerStatueDirectionGump( Mobile from, PlayerMadeStatue statue )
            : base(20, 30)
        {
            m_Statue = statue;
            m_Mobile = from;

            this.Closable=true;
            this.Disposable=true;
            this.Dragable=true;
            this.Resizable=false;
            this.AddPage(0);
            this.AddBackground(0, 0, 170, 240, 9200);
            this.AddLabel(30, 10, 1149, @"Change Direction");
            this.AddButton(60, 45, 4500, 4500, (int)Buttons.Up, GumpButtonType.Reply, 0);
            this.AddButton(60, 160, 4504, 4504, (int)Buttons.Down, GumpButtonType.Reply, 0);
            this.AddButton(100, 60, 4501, 4501, (int)Buttons.North, GumpButtonType.Reply, 0);
            this.AddButton(110, 100, 4502, 4502, (int)Buttons.Right, GumpButtonType.Reply, 0);
            this.AddButton(100, 140, 4503, 4503, (int)Buttons.East, GumpButtonType.Reply, 0);
            this.AddButton(20, 140, 4505, 4505, (int)Buttons.South, GumpButtonType.Reply, 0);
            this.AddButton(10, 100, 4506, 4506, (int)Buttons.Left, GumpButtonType.Reply, 0);
            this.AddButton(20, 60, 4507, 4507, (int)Buttons.West, GumpButtonType.Reply, 0);
        }
            protected override void OnTarget( Mobile from, object obj )
            {
                PlayerMobile model = obj as PlayerMobile;
                Mobile creature = obj as Mobile;

                BaseHouse house = BaseHouse.FindHouseAt(from);
                BaseHouse house2 = null;

                if( obj is PlayerMobile )
                {
                    house2 = BaseHouse.FindHouseAt(from);
                }

                if( !( obj is Mobile ) )
                {
                    from.SendMessage( "Invalid target." );
                    return;
                }

                if( from.AccessLevel >= AccessLevel.GameMaster ||
                   ( house != null && house.IsOwner( from ) ) || ( house != null && house.IsCoOwner( from ) ) ||
                   ( obj is PlayerMobile && house2 != null && house2.IsOwner( model ) ) || ( obj is PlayerMobile && house2 != null && house2.IsCoOwner( model ) ) )
                {
                    PlayerMadeStatue m = new PlayerMadeStatue( from );
                    m.Map = from.Map;
                    m.Location = from.Location;
                    m.Direction = from.Direction;
                    m_deed.Delete();

                    m.Material = StatueMaterial.BronzeX1;
                    m.HasPlinth = true;

                    m.Name = creature.Name;
                    m.Body = creature.Body;
                    m.Female = creature.Female;
                    m.HairItemID = creature.HairItemID;
                    m.HairHue = creature.HairHue;
                    m.FacialHairItemID = creature.FacialHairItemID;
                    m.FacialHairHue = creature.FacialHairHue;

                  		ArrayList items = new ArrayList( creature.Items );
                  		for (int i=0; i<items.Count; i++)
                  		{
                 			Item item = (Item)items[i];
                 			if((( item != null ) && ( item.Parent == creature ) && ( item != creature.Backpack ) && (item != creature.BankBox)))
                 			//if((( item != null ) && ( item.Parent == from )))
                 			{
                            Type type = item.GetType();
                            Item newitem = Loot.Construct( type );
                            //newitem.ItemID = item.ItemID;
                                    //CopyProperties( newitem, item );
                            if (newitem != null)
                            {
                 								//CopyProperties( newitem, item );
                 								newitem.LootType = LootType.Blessed;

                                        newitem.Parent = null;
                                        m.AddItem( newitem );
                            }
                 			}
                  		}
                }

                else
                {
                    from.SendMessage( "You must be in your house or in your model's house to do this." );
                }
            }
 public override void Deserialize(GenericReader reader)
 {
     base.Deserialize(reader);
     int version = reader.ReadInt();
     m_Statue = reader.ReadMobile() as PlayerMadeStatue;
     //m_Statue = reader.ReadMobile();
 }
 public Plinth( PlayerMadeStatue statue )
     : base(0x32F2)
 {
     m_Statue = statue;
     Name = "statue plinth";
     Hue = statue.Hue;
     Movable = false;
 }
 public InternalPrompt( PlayerMadeStatue statue )
 {
     m_Statue = statue;
 }