public LotteryStatisticsGump(Mobile from, LotteryBasket _basket) : base(100, 100) { basket = _basket; if (!from.Deleted && from != null && !basket.Deleted && basket != null) { int height = 550; int lenght = 550; uint[] numbers = basket.Outcome; if (numbers == null) { height = 385; lenght = 450; } AddBackground(0, 0, lenght, height, 2600); int y = 25; AddLabel(45, y, 133, "Defiance Lottery"); y += 15; AddLabel(45, y, 133, "GM Menu - Statistics"); y += 40; AddLabel(45, y, 2213, "Global statistics"); y += 20; AddLabel(60, y, 2215, "Gold destroyed: " + basket.Destroyed); y += 20; AddLabel(60, y, 2215, "Gold given out: " + basket.Given); y += 30; AddLabel(45, y, 2213, "Drawing statistics"); y += 25; AddLabel(60, y, 2213, "Surrent drawing"); y += 20; AddLabel(60, y, 2215, "Drawing ID: " + basket.Drawing); ulong jp = basket.Award; foreach (ulong v in basket.Jackpot) { jp += v; } y += 20; AddLabel(60, y, 2215, "Jackpot: " + jp); y += 20; AddLabel(75, y, 2215, "Ticket sales revenue: " + basket.Award); ulong[] jps = new ulong[4] { basket.Jackpot6, basket.Jackpot5, basket.Jackpot4, basket.Jackpot3 }; for (uint cnt = 0; cnt < 4; cnt++) { y += 20; AddLabel(75, y, 2215, "Jackpot " + (6 - cnt) + "-Rights: " + jps[cnt]); } y += 20; AddLabel(60, y, 2215, "Submitted tickets until now: " + basket.Participants); if (numbers != null) { y += 30; AddLabel(60, y, 2213, "Past drawing"); y += 20; AddLabel(60, y, 2215, "Drawing ID: " + (basket.Drawing - 1)); y += 20; string outcome = ""; Array.Sort(numbers); string[] text = new string[6]; for (int z = 0; z < 6; z++) { text[z] = "" + numbers[z]; } outcome = string.Join(", ", text); AddLabel(60, y, 2215, "Drawn numbers: " + outcome); for (uint cnt = 0; cnt < 4; cnt++) { y += 20; if (basket.Awards[cnt] == 0) { text[cnt] = "n/a"; } else { text[cnt] = "" + basket.Awards[cnt]; } AddLabel(60, y, 2215, "Win with " + (6 - cnt) + " rights: " + text[cnt]); if (basket.Winners[cnt] > 0) { AddLabel(400, y, 2215, "Winners: " + basket.Winners[cnt]); } } y += 20; AddLabel(60, y, 2215, "Participants: " + basket.OldParticipants); } } }
public LotteryBasketGump(Mobile from, LotteryBasket _basket) : base(200, 200) { basket = _basket; AddBackground(0, 0, 400, 260, 2600); int y = 25; AddLabel(45, y, 902, "Defiance Lottery"); y += 5; y += 30; ulong jp = basket.Award; foreach (ulong v in basket.Jackpot) { jp += v; } AddLabel(45, y, 902, "Current jackpot: " + jp + " gold"); y += 30; uint[] outcome = basket.Outcome; string lastDrawing; if (outcome == null) { lastDrawing = "none yet"; } else if (basket.Mode == LotteryBasketMode.Closed && from.AccessLevel <= AccessLevel.Counselor) { /* only GMs can see the new drawing until the * lottery is open again */ lastDrawing = "unknown yet"; } else { string[] text = new string[LotteryConstants.Picks]; for (int z = 0; z < LotteryConstants.Picks; z++) { text[z] = "" + outcome[z]; } lastDrawing = string.Join(", ", text); } AddLabel(45, y, 902, (basket.Mode == LotteryBasketMode.Closed ? "Next" : "Last") + " drawing: " + lastDrawing); y += 40; AddButton(45, y, 2152, 2154, 1, GumpButtonType.Reply, 0); AddLabel(90, y, 902, "Buy a ticket for " + LotteryConstants.TicketPrice + " gold"); y += 30; if (from.AccessLevel >= AccessLevel.Counselor) { AddButton(45, y, 2152, 2154, 3, GumpButtonType.Reply, 0); AddLabel(90, y, 133, "DFI Staff Functions"); } y += 30; AddButton(45, y, 2152, 2154, -1, GumpButtonType.Reply, 0); AddLabel(90, y, 902, "Cancel"); }
public LotteryGMGump(Mobile from, LotteryBasket _basket) : base(100, 100) { basket = _basket; if (!from.Deleted && from != null && !basket.Deleted && basket != null) { if (from.AccessLevel == AccessLevel.Counselor) { AddBackground(0, 0, 420, 200, 2600); } else { AddBackground(0, 0, 420, 400, 2600); } int y = 25; AddLabel(45, y, 133, "Defiance Lottery"); y += 15; AddLabel(45, y, 133, "GM Menu"); y += 20; if (basket.Debug) { AddLabel(150, y, 133, "!!! DEBUG MODE ENABLED !!!"); } y += 25; AddLabel(45, y, 2213, "Statistics"); y += 30; AddButton(45, y, 2152, 2154, 5, GumpButtonType.Reply, 0); AddLabel(90, y, 902, "Open statistics gump"); if (from.AccessLevel >= AccessLevel.GameMaster) { y += 50; AddLabel(45, y, 2213, "Settings"); y += 30; AddButton(45, y, 2152, 2154, 7, GumpButtonType.Reply, 0); AddLabel(90, y, 902, "Item prize true/false"); AddLabel(230, y, 902, "Currently: " + basket.ItemPrize); y += 30; AddLabel(90, y, 902, "Current publishing Item: "); y += 15; if (basket.Board != null) { AddLabel(90, y, 902, "" + basket.Board); } else { AddLabel(90, y, 902, "none"); } y += 15; AddLabel(90, y, 902, "(change this via [props)"); y += 50; AddLabel(45, y, 2213, "Preform a drawing"); y += 30; if (basket.Mode == LotteryBasketMode.Open) { AddButton(45, y, 2152, 2154, -1, GumpButtonType.Reply, 0); AddLabel(90, y, 902, "Close lottery and draw new numbers (GM)"); } else if (basket.Mode == LotteryBasketMode.Closed) { AddButton(45, y, 2152, 2154, -2, GumpButtonType.Reply, 0); AddLabel(90, y, 902, "Publish new drawing and re-open lottery"); } y += 20; AddLabel(90, y, 902, "Attention: This can not be undone!"); } } }