Пример #1
0
        public override void CheckScratches()
        {
            if (Scratch1 > 0 && Scratch2 > 0 && Scratch3 > 0)
            {
                Checked = true;
                if (Scratch1 == 2 || Scratch2 == 2 || Scratch3 == 2)
                {
                    FreeTicket = true;
                }
                else if (Scratch1 == Scratch2 && Scratch1 == Scratch3)
                {
                    int payOut = 0;
                    if (Scratch1 == 2)
                    {
                        payOut = 250000;
                    }
                    else
                    {
                        payOut = Scratch1;
                    }

                    if (ScratcherLotto.Stone != null && Scratch1 == 1)
                    {
                        payOut = ScratcherLotto.Stone.SkiesProgressive;
                        ScratcherLotto.Stone.SkiesProgressive = 500000;
                        ScratcherLotto.DoProgressiveMessage(Owner, payOut);
                    }

                    Payout = payOut;
                    DoWin(payOut);

                    if (ScratcherLotto.Stone != null)
                    {
                        ScratcherLotto.Stone.GoldSink -= Payout;
                    }
                }
            }

            InvalidateProperties();
        }
Пример #2
0
        public ScratcherGump(BaseLottoTicket ticket, Mobile from)
            : base(50, 50)
        {
            m_Ticket = ticket;
            m_From   = from;
            int bg = GetBackGround();

            AddBackground(50, 0, 400, 200, bg);

            AddImage(125, 12, 0xFC4);
            AddImage(325, 12, 0xFC4);

            AddHtml(50, 20, 400, 30, String.Format("<Center><BASEFONT SIZE=9>{0}</Center>", ScratcherLotto.GetGameType(m_Ticket.Type)), false, false);

            if (m_Ticket.Checked && m_Ticket.Payout > 0)
            {
                AddHtml(75, 150, 200, 20, String.Format("<Basefont Color=#FFFF00>Winnings: {0}</Basefont>", m_Ticket.Payout), false, false);
            }

            switch (m_Ticket.Type)
            {
            case TicketType.GoldenTicket: GoldTicket(); break;

            case TicketType.CrazedCrafting: CrazedCrafting(); break;

            case TicketType.SkiesTheLimit: SkiesTheLimit(); break;
            }

            AddHtml(75, 170, 350, 20, String.Format("<Basefont Size=2>Lotto Association of {0}, All Rights Reserved</Basefont>", ServerList.ServerName), false, false);
        }
        public ScratcherStoneGump(ScratcherLotto stone, Mobile from, bool quickScratch)
            : base(50, 50)
        {
            m_Stone = stone;
            m_From  = from;

            AddPage(0);

            AddBackground(50, 0, 350, 350, 9250);

            AddPage(1);

            if (m_From.AccessLevel > AccessLevel.Player)
            {
                AddLabel(70, 265, GMColor, String.Format("Gold Sink: {0}", m_Stone.GoldSink));

                if (ScratcherLotto.Stone != null)
                {
                    AddLabel(230, 265, GMColor, "Next Stats Reset:");
                    AddLabel(230, 295, GMColor, String.Format("{0}", ScratcherLotto.Stone.StatStart + ScratcherLotto.Stone.WipeStats));
                }

                AddLabel(105, 295, GMColor, m_Stone.IsActive ? "Set Game Inactive" : "Set Active");
                AddButton(70, 295, 0xFBD, 0xFBF, 6, GumpButtonType.Reply, 0);
            }

            AddHtml(70, 20, 300, 16, String.Format("<Center>{0} Lottery Scratchers</Center>", ServerList.ServerName), false, false);

            #region Quick/Normal Scratch Radio
            AddLabel(110, 40, labelColor, "Quick Scratch");
            AddLabel(110, 73, labelColor, "Normal Scratch");

            AddRadio(70, 40, 0x25F8, 0x25FB, quickScratch, 0);
            AddRadio(70, 70, 0x25F8, 0x25FB, !quickScratch, 1);
            #endregion

            #region Ticket Info
            AddLabel(60, 117, labelColor, "Buy Ticket");
            AddLabel(230, 117, labelColor, "Cost");
            AddLabel(350, 117, labelColor, "Stats");

            AddLabel(110, 140, 0, "Golden Ticket");
            if (ScratcherLotto.Stone != null && ScratcherLotto.Stone.IsActive)
            {
                AddButton(70, 140, 0xFBD, 0xFBF, (int)TicketType.GoldenTicket, GumpButtonType.Reply, 0);
                AddLabel(230, 140, 0, GoldenTicket.TicketCost.ToString());
                AddButton(350, 140, 0xFA5, 0xFA7, 0, GumpButtonType.Page, (int)TicketType.GoldenTicket + 1);
            }
            else
            {
                AddLabel(230, 140, GMColor, "Offline");
            }

            AddLabel(110, 170, 0, "Crazed Crafting");
            if (ScratcherLotto.Stone != null && ScratcherLotto.Stone.IsActive)
            {
                AddButton(70, 170, 0xFBD, 0xFBF, (int)TicketType.CrazedCrafting, GumpButtonType.Reply, 0);
                AddLabel(230, 170, 0, CrazedCrafting.TicketCost.ToString());
                AddButton(350, 170, 0xFA5, 0xFA7, 0, GumpButtonType.Page, (int)TicketType.CrazedCrafting + 1);
            }
            else
            {
                AddLabel(230, 170, GMColor, "Offline");
            }

            AddLabel(110, 200, 0, "Skies the Limit");
            if (ScratcherLotto.Stone != null && ScratcherLotto.Stone.IsActive)
            {
                AddButton(70, 200, 0xFBD, 0xFBF, (int)TicketType.SkiesTheLimit, GumpButtonType.Reply, 0);
                AddLabel(230, 200, 0, SkiesTheLimit.TicketCost.ToString());
                AddButton(350, 200, 0xFA5, 0xFA7, 0, GumpButtonType.Page, (int)TicketType.SkiesTheLimit + 1);
            }
            else
            {
                AddLabel(230, 200, GMColor, "Offline");
            }

            AddLabel(110, 230, 0, "Powerball");
            if (PowerBall.Instance != null && PowerBall.Game != null && !PowerBall.Game.Deleted && PowerBall.Instance.CanBuyTickets)
            {
                AddLabel(230, 230, 0, PowerBall.Game != null ? PowerBall.Game.TicketCost.ToString() : "");
                AddButton(70, 230, 0xFBD, 0xFBF, (int)TicketType.Powerball, GumpButtonType.Reply, 0);
            }
            else
            {
                AddLabel(230, 230, GMColor, "Offline");
            }

            #endregion

            AddPage(2); //Golden Ticket Stats

            AddLabel(70, 20, labelColor, "Golden Ticket Top 10 Winners");

            int index = 0;
            for (int i = ScratcherStats.Stats.Count - 1; i >= 0; --i)
            {
                if (ScratcherStats.Stats[i].Type == TicketType.GoldenTicket)
                {
                    string num  = String.Format("{0:##,###,###}", ScratcherStats.Stats[i].Payout);
                    string name = "unknown player";

                    if (ScratcherStats.Stats[i].Winner != null)
                    {
                        name = ScratcherStats.Stats[i].Winner.Name;
                    }

                    AddHtml(70, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", name), false, false);
                    AddHtml(150, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", num), false, false);
                    AddHtml(270, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", ScratcherStats.Stats[i].WinTime), false, false);
                    index++;
                }

                if (index >= 9)
                {
                    break;
                }
            }

            AddButton(350, 300, 0xFAE, 0xFB0, 0, GumpButtonType.Page, 1);

            AddPage(3); //Crazed Crafting Stats


            AddLabel(70, 20, labelColor, "Crazed Crafting Highest Winners");

            index = 0;
            for (int i = ScratcherStats.Stats.Count - 1; i >= 0; --i)
            {
                if (ScratcherStats.Stats[i].Type == TicketType.CrazedCrafting)
                {
                    string num  = String.Format("{0:##,###,###}", ScratcherStats.Stats[i].Payout);
                    string name = "unknown player";

                    if (ScratcherStats.Stats[i].Winner != null)
                    {
                        name = ScratcherStats.Stats[i].Winner.Name;
                    }

                    AddHtml(70, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", name), false, false);
                    AddHtml(150, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", num), false, false);
                    AddHtml(270, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", ScratcherStats.Stats[i].WinTime), false, false);
                    index++;
                }

                if (index >= 9)
                {
                    break;
                }
            }

            AddButton(350, 300, 0xFAE, 0xFB0, 0, GumpButtonType.Page, 1);

            AddPage(4); //Skies the Limit Stats

            AddLabel(70, 20, labelColor, "Skies the Limit");
            AddLabel(70, 300, labelColor, String.Format("Progressive Jackpot: {0}", m_Stone.SkiesProgressive));

            index = 0;
            for (int i = ScratcherStats.Stats.Count - 1; i >= 0; --i)
            {
                if (ScratcherStats.Stats[i].Type == TicketType.SkiesTheLimit)
                {
                    string num  = String.Format("{0:##,###,###}", ScratcherStats.Stats[i].Payout);
                    string name = "unknown player";

                    if (ScratcherStats.Stats[i].Winner != null)
                    {
                        name = ScratcherStats.Stats[i].Winner.Name;
                    }

                    AddHtml(70, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", name), false, false);
                    AddHtml(150, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", num), false, false);
                    AddHtml(270, 50 + (index * 25), 100, 16, String.Format("<Basefont Color=#FFFFFF>{0}</Basefont>", ScratcherStats.Stats[i].WinTime), false, false);
                    index++;
                }

                if (index >= 9)
                {
                    break;
                }
            }

            AddButton(350, 300, 0xFAE, 0xFB0, 0, GumpButtonType.Page, 1);
        }
 public ScratcherStoneGump(ScratcherLotto stone, Mobile from) : this(stone, from, true)
 {
 }