public override void OnResponse(NetState state, RelayInfo info) { if (m_From.Deleted) { return; } if (info.ButtonID == 2) { TextRelay tr_BuyTickets = info.GetTextEntry(1); if (tr_BuyTickets != null) { int i_BuyTickets = 0; try { i_BuyTickets = Convert.ToInt32(tr_BuyTickets.Text, 10); } catch { m_From.SendMessage("Please make sure you wrote only numbers."); m_From.SendGump(new LadyLuckSellingGump(m_From)); } if (i_BuyTickets <= 0) { return; } else if (i_BuyTickets >= 1000000) { m_From.SendMessage(32, "you can't buy more then 999,999 tickets at the same time"); return; } else { if (TokenSystem.TakePlayerTokens(m_From as PlayerMobile, (i_BuyTickets * i_TicketCost), true)) { LotteryTicket lottery = new LotteryTicket(); lottery.DrawingNumber = i_Drawing; lottery.StartTicketNumber = i_Ticket; lottery.EndTicketNumber = (i_Ticket + i_BuyTickets - 1); m_From.AddToBackpack(lottery); i_Ticket = (i_Ticket + i_BuyTickets); m_From.CloseGump(typeof(LadyLuckSellingGump)); m_From.SendMessage("You bought {0} lottery tickets.", i_BuyTickets); i_Reward = (i_Reward + (i_BuyTickets * (i_TicketCost / 2))); } } } } }
public override bool OnDragDrop(Mobile from, Item dropped) { CheckDrawingTime(); Mobile m = from; PlayerMobile mobile = m as PlayerMobile; if (mobile != null) { if (dropped is LotteryTicket) { LotteryTicket ticket = dropped as LotteryTicket; if (((LotteryTicket)ticket).DrawingNumber == (i_Drawing - 1)) //last drawing { if (((LotteryTicket)ticket).StartTicketNumber <= i_Winner && i_Winner <= ((LotteryTicket)ticket).EndTicketNumber) //winner { switch (Utility.Random(3)) { case 0: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "I am very Pleased to Inform you that you have won!!!", mobile.NetState); break; case 1: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "Congratulations!!! You have won!!!", mobile.NetState); break; case 2: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "YAY! We have a winner!", mobile.NetState); break; } m.AddToBackpack(new TokenCheck(i_WinnerReward)); m.AddToBackpack(new FireworksWand()); if (m.Name == null) { s_WinnerName = "John Doe"; } else { s_WinnerName = m.Name; } World.Broadcast(88, true, "{0} claimed {1} tokens from drawing {2}, Congratulations.", s_WinnerName, i_WinnerReward, (i_Drawing - 1)); World.Broadcast(66, true, "Drawing number {0} will take place at {1}.", i_Drawing, dt_NextDrawing); new Celebration(m.Map, m).Start(); } else //looser { switch (Utility.Random(3)) { case 0: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "Sorry, The Gods are not with you today. Try again next time.", mobile.NetState); break; case 1: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "You are not a winner.", mobile.NetState); break; case 2: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "You are a big Loser!", mobile.NetState); break; } } dropped.Delete(); return(true); } else if (((LotteryTicket)ticket).DrawingNumber == i_Drawing) //drowing isn't over { switch (Utility.Random(3)) { case 0: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "I am sorry, the drawing is not yet closed.", mobile.NetState); break; case 1: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "This drawing is not over yet.", mobile.NetState); break; case 2: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "Please come back at the end of drawing to see if you have won.", mobile.NetState); break; } } else //old drawings { switch (Utility.Random(3)) { case 0: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "I am very sorry, That ticket has expired.", mobile.NetState); break; case 1: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "That Ticket is no longer any good.", mobile.NetState); break; case 2: this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "Do not try to fool me With outdated Tickets!!!", mobile.NetState); break; } dropped.Delete(); } return(false); } else { this.PrivateOverheadMessage(MessageType.Regular, 1153, false, "I have no need of this!", mobile.NetState); } } return(false); }
public override void OnResponse(NetState state, RelayInfo info) { if (m_From.Deleted) { return; } if (info.ButtonID == 2) { TextRelay tr_BuyTickets = info.GetTextEntry(1); if (tr_BuyTickets != null) { int i_BuyTickets = 0; try { i_BuyTickets = Convert.ToInt32(tr_BuyTickets.Text, 10); } catch { m_From.SendMessage("Please make sure you wrote only numbers."); m_From.SendGump(new LadyLuckSellingGump(m_From)); } if (i_BuyTickets <= 0) { return; } else if (i_BuyTickets >= 1000000) { m_From.SendMessage(32, "you can't buy more then 999,999 tickets at the same time"); return; } else { Item[] items = m_From.Backpack.FindItemsByType(typeof(TokenLedger)); foreach (TokenLedger tl in items) { if (tl.Owner == m_From.Serial) { if (tl.Tokens >= (i_BuyTickets * i_TicketCost)) { if (!(tl.Deleted)) { tl.Tokens = (tl.Tokens - (i_BuyTickets * i_TicketCost)); LotteryTicket lottery = new LotteryTicket(); lottery.DrawingNumber = i_Drawing; lottery.StartTicketNumber = i_Ticket; lottery.EndTicketNumber = (i_Ticket + i_BuyTickets - 1); m_From.AddToBackpack(lottery); i_Ticket = (i_Ticket + i_BuyTickets); m_From.CloseGump(typeof(LadyLuckSellingGump)); m_From.SendMessage("You bought {0} lottery tickets.", i_BuyTickets); i_Reward = (i_Reward + (i_BuyTickets * (i_TicketCost / 2))); } else { m_From.PlaySound(1069); //play Hey!! sound m_From.SendMessage("Hey, don't try to rob the bank!!!"); m_From.SendGump(new LadyLuckSellingGump(m_From)); } return; } } } m_From.SendMessage("Please make sure you have your token ledger with enough tokens in your backpack."); return; } } } }