Example #1
0
 public override void OnChop(Mobile from)
 {
     if (Auction != null && Auction.AuctionItemOnDisplay())
     {
         from.SendLocalizedMessage(1156452); // You can't use a bladed item on an auction safe that has an auction item or is currently active.
     }
     else
     {
         base.OnChop(from);
     }
 }
Example #2
0
        public override void AddGumpLayout()
        {
            base.AddGumpLayout();

            _TempBid    = 0;
            _TempBuyout = 0;
            _NoBid      = false;

            if (Auction == null)
            {
                if (Safe.Auction != null)
                {
                    Auction = Safe.Auction;
                }
                else
                {
                    Safe.Auction = Auction = new Auction(User, Safe);
                }
            }

            int y = 166;

            // Add Auction Item
            AddHtmlLocalized(200, y, 175, 22, 1156421, Yellow, false, false); // Select New Auction Item
            AddButton(160, y, 4005, 4007, 1, GumpButtonType.Reply, 0);

            y += 24;

            // Description
            AddHtmlLocalized(15, y, 175, 110, 1114514, "#1156400", Yellow, false, false); // Description:
            AddButton(345, y, 4014, 4016, 2, GumpButtonType.Reply, 0);

            AddBackground(200, y, 140, 110, 9350);
            AddTextEntry(202, y + 2, 136, 106, 0, 1, Auction.Description, 140);

            // Display Item
            if (Auction.AuctionItem != null)
            {
                Item i = Auction.AuctionItem;
                AddImageTiledButton(102, 212, 0x918, 0x918, 0x0, GumpButtonType.Page, 0, i.ItemID, i.Hue, 23, 5);
                AddItemProperty(i.Serial);
            }

            y += 112;

            AddHtmlLocalized(15, y, 175, 18, 1114514, "#1156404", Yellow, false, false); // Time Remaining:

            if (Auction.HasBegun)
            {
                TimeSpan left = Auction.EndTime - DateTime.Now;
                int      cliloc;
                double   v;

                if (left.TotalSeconds < 0 || Auction.InClaimPeriod)
                {
                    AddHtmlLocalized(200, y, 175, 18, 1114513, "#1156438", Gray, false, false); // Auction Ended
                }
                else
                {
                    if (left.TotalDays >= 1)
                    {
                        cliloc = 1153091; // Lifespan: ~1_val~ days
                        v      = left.TotalDays;
                    }
                    else if (left.TotalHours >= 1)
                    {
                        cliloc = 1153090; // Lifespan: ~1_val~ hours
                        v      = left.TotalHours;
                    }
                    else
                    {
                        cliloc = 1153089; // Lifespan: ~1_val~ minutes
                        v      = left.TotalMinutes;
                    }

                    AddHtmlLocalized(200, y, 175, 18, cliloc, ((int)v).ToString(), Gray, false, false);
                }
            }
            else
            {
                TimeSpan ts = TimeSpan.FromMinutes(Auction.Duration);

                if (ts.TotalMinutes > 60)
                {
                    AddHtmlLocalized(200, y, 175, 18, 1153091, string.Format("{0}", ts.TotalDays), Gray, false, false); // Lifespan: ~1_val~ days
                }
                else
                {
                    AddHtmlLocalized(200, y, 175, 18, 1153089, string.Format("{0}", ts.TotalMinutes), Gray, false, false); // Lifespan: ~1_val~ minutes
                }
            }

            y += 20;

            AddHtmlLocalized(200, y, 140, 20, 1114514, "#1156455", Yellow, false, false); // One Hour
            AddButton(345, y, 4014, 4016, 3, GumpButtonType.Reply, 0);

            y += 20;

            AddHtmlLocalized(200, y, 140, 20, 1114514, "#1156418", Yellow, false, false); // Three Days
            AddButton(345, y, 4014, 4016, 4, GumpButtonType.Reply, 0);

            y += 20;

            AddHtmlLocalized(Length / 2, y, 140, 20, 1114514, "#1156419", Yellow, false, false); // Five Days
            AddButton(345, y, 4014, 4016, 5, GumpButtonType.Reply, 0);

            y += 20;

            AddHtmlLocalized(200, y, 140, 20, 1114514, "#1156420", Yellow, false, false); // Seven Days
            AddButton(Length - 55, y, 4014, 4016, 6, GumpButtonType.Reply, 0);

            y += 24;

            int[] startbid = GetPlatGold(Auction.StartBid);

            // Start Bid Plat/Gold
            AddHtmlLocalized(15, y, 175, 22, 1114514, "#1156410", Yellow, false, false); // Item Starting Bid Plat:
            AddBackground(200, y, 175, 22, 9350);
            AddTextEntry(202, y, 171, 18, 0, 2, startbid[0] > 0 ? startbid[0].ToString() : "", 9);

            y += 24;

            AddHtmlLocalized(15, y, 175, 22, 1114514, "#1156411", Yellow, false, false); // Item Starting Bid Gold:
            AddBackground(200, y, 175, 22, 9350);
            AddTextEntry(202, y, 171, 18, 0, 3, startbid[1] > 0 ? startbid[1].ToString() : "", 9);

            y += 24;

            AddHtmlLocalized(200, y, 175, 22, 1156416, Yellow, false, false); // Set Starting Bids
            AddButton(160, y, 4005, 4007, 7, GumpButtonType.Reply, 0);

            y += 26;

            // Buy Now
            AddHtmlLocalized(15, y, 175, 22, 1114514, "#1156413", Yellow, false, false); // Buy Now Plat Price:
            AddBackground(200, y, 175, 22, 9350);
            AddTextEntry(202, y + 2, 171, 18, 0, 4, Auction.BuyoutPlat > 0 ? Auction.BuyoutPlat.ToString() : "", 9);

            y += 26;

            AddHtmlLocalized(15, y, 175, 22, 1114514, "#1156412", Yellow, false, false); // Buy Now Gold Price:
            AddBackground(200, y, 175, 22, 9350);
            AddTextEntry(202, y, 171, 18, 0, 5, Auction.BuyoutGold > 0 ? Auction.BuyoutGold.ToString() : "", 9);

            y += 24;

            AddHtmlLocalized(200, y, 175, 22, 1156417, Yellow, false, false); // Set Buy Now Price
            AddButton(160, y, 4005, 4007, 8, GumpButtonType.Reply, 0);

            y += 24;

            if (Auction.AuctionItemOnDisplay() && !Auction.OnGoing)
            {
                AddHtmlLocalized(200, y, 175, 22, 1156414, Yellow, false, false); // Start Auction
                AddButton(160, y, 4005, 4007, 9, GumpButtonType.Reply, 0);
            }

            if (Auction.OnGoing && Auction.HighestBid == null)
            {
                AddHtmlLocalized(200, y, 175, 22, 1156415, Yellow, false, false); // Stop Auction
                AddButton(160, y, 4005, 4007, 23, GumpButtonType.Reply, 0);
            }
        }
Example #3
0
        public override void AddGumpLayout()
        {
            base.AddGumpLayout();

            _TempBid    = 0;
            _TempBuyout = 0;
            _NoBid      = false;

            if (Auction == null)
            {
                if (Safe.Auction != null)
                {
                    this.Auction = Safe.Auction;
                }
                else
                {
                    Safe.Auction = this.Auction = new Auction(User, Safe);
                }
            }

            int y = 160;

            // Add Auction Item
            AddHtmlLocalized((Length / 2) + 3, y, 200, 16, 1156421, Yellow, false, false); // Select New Auction Item
            AddButton((Length / 2) - 33, y, 4005, 4007, 1, GumpButtonType.Reply, 0);

            y += 25;

            // Description
            AddHtmlLocalized(0, y, (Length / 2) - 3, 16, 1114514, "#1156400", Yellow, false, false); // Description:
            AddButton(Length - 60, y, 4014, 4016, 2, GumpButtonType.Reply, 0);

            AddBackground((Length / 2) + 3, y, 150, 130, 9350);
            AddTextEntry((Length / 2) + 5, y, 145, 129, 0, 1, Auction.Description);

            y += 25;

            // Display Item
            if (Auction.AuctionItem != null)
            {
                Item i = Auction.AuctionItem;
                AddImage((Length / 2) - 83, y, 2329);
                Rectangle2D b = ItemBounds.Table[i.ItemID];
                AddItem(((Length / 2) - (83 / 2)) - b.Width / 2 - b.X, (y + 60 / 2) - b.Height / 2 - b.Y, i.ItemID, i.Hue);
                AddItemProperty(i.Serial);
            }

            y = 320;

            AddHtmlLocalized(0, y, (Length / 2) - 3, 16, 1114514, "#1156404", Yellow, false, false); // Time Remaining:

            if (Auction.HasBegun)
            {
                TimeSpan left = Auction.EndTime - DateTime.Now;
                int      cliloc;
                double   v;

                if (left.TotalDays >= 7)
                {
                    cliloc = 1153092; // Lifespan: ~1_val~ weeks
                    v      = left.TotalDays / 7;
                }
                else if (left.TotalDays >= 1)
                {
                    cliloc = 1153091; // Lifespan: ~1_val~ days
                    v      = left.TotalDays;
                }
                else if (left.TotalHours >= 1)
                {
                    cliloc = 1153090; // Lifespan: ~1_val~ hours
                    v      = left.TotalHours;
                }
                else
                {
                    cliloc = 1153089; // Lifespan: ~1_val~ minutes
                    v      = left.TotalMinutes;
                }

                AddHtmlLocalized((Length / 2) + 3, y, 200, 16, cliloc, ((int)v).ToString(), C32216(Gray), false, false);
            }
            else
            {
                AddHtmlLocalized((Length / 2) + 3, y, 200, 16, 1153091, Auction.Duration.ToString(), C32216(Gray), false, false);
            }

            y += 20;

            AddHtmlLocalized(Length / 2, y, (Length / 2) - 65, 16, 1114514, "#1156418", Yellow, false, false); // Three Days;
            AddButton(Length - 60, y, 4014, 4016, 3, GumpButtonType.Reply, 0);

            y += 20;

            AddHtmlLocalized(Length / 2, y, (Length / 2) - 65, 16, 1114514, "#1156419", Yellow, false, false); // Five Days;
            AddButton(Length - 60, y, 4014, 4016, 4, GumpButtonType.Reply, 0);

            y += 20;

            AddHtmlLocalized(Length / 2, y, (Length / 2) - 65, 16, 1114514, "#1156420", Yellow, false, false); // Seven Days;
            AddButton(Length - 60, y, 4014, 4016, 5, GumpButtonType.Reply, 0);

            y += 22;
            // Start Bid Plat/Gold
            AddHtmlLocalized(0, y, (Length / 2) - 3, 16, 1114514, "#1156410", Yellow, false, false); // Item Starting Bid Plat:
            AddBackground((Length / 2) + 3, y, (Length / 2) - 68, 20, 9350);
            AddTextEntry((Length / 2) + 5, y, (Length / 2) - 65, 20, 0, 2, Auction.CurrentPlatBid.ToString("N0", CultureInfo.GetCultureInfo("en-US")));

            y += 25;

            AddHtmlLocalized(0, y, (Length / 2) - 3, 16, 1114514, "#1156411", Yellow, false, false); // Item Starting Bid Gold:
            AddBackground((Length / 2) + 3, y, (Length / 2) - 68, 20, 9350);
            AddTextEntry((Length / 2) + 5, y, (Length / 2) - 63, 20, 0, 3, Auction.CurrentGoldBid.ToString("N0", CultureInfo.GetCultureInfo("en-US")));

            y += 25;

            AddHtmlLocalized((Length / 2) + 3, y, Length / 2, 16, 1156416, Yellow, false, false); // Set Starting Bids
            AddButton((Length / 2) - 33, y, 4005, 4007, 6, GumpButtonType.Reply, 0);

            y += 25;

            // Buy Now
            AddHtmlLocalized(0, y, (Length / 2) - 3, 16, 1114514, "#1156413", Yellow, false, false); // Buy Now Plat Price:
            AddBackground((Length / 2) + 3, y, (Length / 2) - 68, 20, 9350);
            AddTextEntry((Length / 2) + 5, y, (Length / 2) - 63, 20, 0, 4, Auction.BuyoutPlat.ToString("N0", CultureInfo.GetCultureInfo("en-US")));

            y += 25;

            AddHtmlLocalized(0, y, (Length / 2) - 3, 16, 1114514, "#1156412", Yellow, false, false); // Buy Now Gold Price:
            AddBackground((Length / 2) + 3, y, (Length / 2) - 68, 20, 9350);
            AddTextEntry((Length / 2) + 5, y, (Length / 2) - 63, 20, 0, 5, Auction.BuyoutGold.ToString("N0", CultureInfo.GetCultureInfo("en-US")));

            y += 25;

            AddHtmlLocalized((Length / 2) + 3, y, Length / 2, 16, 1156417, Yellow, false, false); // Set Buy Now Price
            AddButton((Length / 2) - 33, y, 4005, 4007, 7, GumpButtonType.Reply, 0);

            y += 25;

            if (Auction.AuctionItemOnDisplay() && !Auction.OnGoing)
            {
                AddHtmlLocalized((Length / 2) + 3, y, 200, 16, 1156414, Yellow, false, false); // Start Auction
                AddButton((Length / 2) - 33, y, 4005, 4007, 8, GumpButtonType.Reply, 0);
            }

            if (Auction.OnGoing && Auction.HighestBid == null)
            {
                AddHtmlLocalized((Length / 2) + 3, y, 200, 16, 1114057, "Cancel Auction", Yellow, false, false);
                AddButton((Length / 2) - 33, y, 4005, 4007, 23, GumpButtonType.Reply, 0);
            }
        }