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