public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { if (info.ButtonID == 1 && m_Callback != null) { m_Callback(sender.Mobile, m_State); } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { Mobile from = sender.Mobile; switch (info.ButtonID) { case 1: // Search { TextRelay te = info.GetTextEntry(0); string match = (te == null ? "" : te.Text.Trim()); if (match.Length < 3) { from.SendMessage("Invalid search string."); from.SendGump(new AddGump(from, match, m_Page, m_SearchResults, false)); } else { from.SendGump(new AddGump(from, match, 0, (Type[])Match(match).ToArray(typeof(Type)), true)); } break; } case 2: // Previous page { if (m_Page > 0) { from.SendGump(new AddGump(from, m_SearchString, m_Page - 1, m_SearchResults, true)); } break; } case 3: // Next page { if ((m_Page + 1) * 10 < m_SearchResults.Length) { from.SendGump(new AddGump(from, m_SearchString, m_Page + 1, m_SearchResults, true)); } break; } default: { int index = info.ButtonID - 4; if (index >= 0 && index < m_SearchResults.Length) { from.SendMessage("Where do you wish to place this object? <ESC> to cancel."); from.Target = new InternalTarget(m_SearchResults[index], m_SearchResults, m_SearchString, m_Page); } break; } } }
public override void OnResponse(Server.Network.GameClient state, RelayInfo info) { if (m_Engraver == null || m_Engraver.Deleted) { return; } if (info.ButtonID == (int)Buttons.Confirm) { m_Engraver.Recharge(state.Mobile, m_Guildmaster); } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { if (info.ButtonID == 2) { if (!m_Pet.Deleted && m_Pet.Controlled && m_From == m_Pet.ControlMaster && m_From.CheckAlive()) { if (m_Pet.Map == m_From.Map && m_Pet.InRange(m_From, 14)) { m_Pet.Delete(); } } } }
public override void OnResponse(Server.Network.GameClient state, RelayInfo info) { if (info.ButtonID == (int)Buttons.Confirm) { if (info.IsSwitched((int)Buttons.Break)) { Confirm(state.Mobile); } else { Refuse(state.Mobile); } } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { if (info.ButtonID == 2) { if (!m_Pet.Deleted && m_Pet.Controlled && m_From == m_Pet.ControlMaster && m_From.CheckAlive()) { if (m_Pet.Map == m_From.Map && m_Pet.InRange(m_From, 14)) { m_Pet.ControlTarget = null; m_Pet.ControlOrder = OrderType.Release; m_Pet.RemoveOnSave = true; } } } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { if (info.ButtonID == 2) { bool okay = info.IsSwitched(1); if (okay) { JusticeVirtue.OnVirtueAccepted(m_Protector, m_Protectee); } else { JusticeVirtue.OnVirtueRejected(m_Protector, m_Protectee); } } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { if (m_Aquarium == null || m_Aquarium.Deleted) { return; } if (info.ButtonID > 0 && info.ButtonID <= m_Aquarium.Items.Count && m_Edit) { m_Aquarium.RemoveItem(sender.Mobile, info.ButtonID - 1); } if (info.ButtonID > 0) { sender.Mobile.SendGump(new AquariumGump(m_Aquarium, m_Edit)); } }
public override void OnResponse(Server.Network.GameClient state, RelayInfo info) { if (m_Tool == null || m_Tool.Deleted || m_Target == null || m_Target.Deleted) { return; } if (info.ButtonID == (int)Buttons.Okay) { TextRelay relay = info.GetTextEntry((int)Buttons.Text); string sanitized_text = relay.Text; sanitized_text = sanitized_text.Replace("<", "").Replace(">", "").Trim(); relay = new TextRelay(relay.EntryID, sanitized_text); if (relay != null) { if (String.IsNullOrEmpty(relay.Text)) { m_Target.EngravedText = null; state.Mobile.SendLocalizedMessage(1072362); // You remove the engraving from the object. } else { if (relay.Text.Length > 64) { m_Target.EngravedText = relay.Text.Substring(0, 64); } else { m_Target.EngravedText = relay.Text; } state.Mobile.SendLocalizedMessage(1072361); // You engraved the object. m_Target.InvalidateProperties(); m_Tool.UsesRemaining -= 1; m_Tool.InvalidateProperties(); } } } else { state.Mobile.SendLocalizedMessage(1072363); // The object was not engraved. } }
public override void OnResponse(Server.Network.GameClient state, RelayInfo info) { if (info.ButtonID != (int)Buttons.Okay || m_Quest == null) { return; } if (m_Quest.ChainID != QuestChain.None && info.IsSwitched((int)Radios.Chain)) { m_Quest.OnResign(true); } if (info.IsSwitched((int)Radios.Quest)) { m_Quest.OnResign(false); } if (info.IsSwitched((int)Radios.None) && m_Quest.Owner != null) { m_Quest.Owner.SendGump(new MLQuestMainLogGump(m_Quest.Owner)); } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { BOBFilter f = (m_From.UseOwnFilter ? m_From.BOBFilter : m_Book.Filter); int index = info.ButtonID; switch (index) { case 0: // Apply { m_From.SendGump(new BOBGump(m_From, m_Book)); break; } case 1: // Set Book Filter { m_From.UseOwnFilter = false; m_From.SendGump(new BOBFilterGump(m_From, m_Book)); break; } case 2: // Set Your Filter { m_From.UseOwnFilter = true; m_From.SendGump(new BOBFilterGump(m_From, m_Book)); break; } case 3: // Clear Filter { f.Clear(); m_From.SendGump(new BOBFilterGump(m_From, m_Book)); break; } default: { index -= 4; int type = index % 4; index /= 4; if (type >= 0 && type < m_Filters.Length) { int[,] filters = m_Filters[type]; if (index >= 0 && index < filters.GetLength(0)) { if (filters[index, 0] == 0) { break; } switch (type) { case 0: f.Type = filters[index, 1]; break; case 1: f.Quality = filters[index, 1]; break; case 2: f.Material = filters[index, 1]; break; case 3: f.Quantity = filters[index, 1]; break; } m_From.SendGump(new BOBFilterGump(m_From, m_Book)); } } break; } } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { if (m_Selection == null) { int v = info.ButtonID - 1; if (v >= 0 && v < m_List.Count) { m_From.SendGump(new ViewHousesGump(m_From, m_List, (BaseHouse)m_List[v])); } } else if (!m_Selection.Deleted) { switch (info.ButtonID) { case 0: { m_From.SendGump(new ViewHousesGump(m_From, m_List, null)); break; } case 1: { Map map = m_Selection.Map; if (map != null && map != Map.Internal) { m_From.MoveToWorld(m_Selection.BanLocation, map); } m_From.SendGump(new ViewHousesGump(m_From, m_List, m_Selection)); break; } case 2: { m_From.SendGump(new ViewHousesGump(m_From, m_List, m_Selection)); HouseSign sign = m_Selection.Sign; if (sign != null && !sign.Deleted) { sign.OnDoubleClick(m_From); } break; } case 3: { m_From.SendGump(new ViewHousesGump(m_From, m_List, m_Selection)); m_From.SendGump(new HouseDemolishGump(m_From, m_Selection)); break; } case 4: { m_Selection.RefreshDecay(); m_From.SendGump(new ViewHousesGump(m_From, m_List, m_Selection)); break; } } } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { if (info.ButtonID == 2) { PlayerVendor pv = m_Book.RootParent as PlayerVendor; if (m_Book.Entries.Contains(m_Object) && pv != null) { int price = 0; VendorItem vi = pv.GetVendorItem(m_Book); if (vi != null && !vi.IsForSale) { if (m_Object is BOBLargeEntry) { price = ((BOBLargeEntry)m_Object).Price; } else if (m_Object is BOBSmallEntry) { price = ((BOBSmallEntry)m_Object).Price; } } if (price != m_Price) { pv.SayTo(m_From, "The price has been been changed. If you like, you may offer to purchase the item again."); } else if (price == 0) { pv.SayTo(m_From, 1062382); // The deed selected is not available. } else { Item item = null; if (m_Object is BOBLargeEntry) { item = ((BOBLargeEntry)m_Object).Reconstruct(); } else if (m_Object is BOBSmallEntry) { item = ((BOBSmallEntry)m_Object).Reconstruct(); } if (item == null) { m_From.SendMessage("Internal error. The bulk order deed could not be reconstructed."); } else { pv.Say(m_From.Name); Container pack = m_From.Backpack; if ((pack != null && pack.ConsumeTotal(typeof(Gold), price)) || Banker.Withdraw(m_From, price)) { m_Book.Entries.Remove(m_Object); m_Book.InvalidateProperties(); pv.HoldGold += price; if (m_From.AddToBackpack(item)) { m_From.SendLocalizedMessage(1045152); // The bulk order deed has been placed in your backpack. } else { pv.SayTo(m_From, 503204); // You do not have room in your backpack for this. } if (m_Book.Entries.Count > 0) { m_From.SendGump(new BOBGump(m_From, m_Book)); } else { m_From.SendLocalizedMessage(1062381); // The book is empty. } } else { pv.SayTo(m_From, 503205); // You cannot afford this item. item.Delete(); } } } } else { if (pv == null) { m_From.SendLocalizedMessage(1062382); // The deed selected is not available. } else { pv.SayTo(m_From, 1062382); // The deed selected is not available. } } } else { m_From.SendLocalizedMessage(503207); // Cancelled purchase. } }
public override void OnResponse(Server.Network.GameClient sender, RelayInfo info) { int index = info.ButtonID; switch (index) { case 0: // EXIT { break; } case 1: // Set Filter { m_From.SendGump(new BOBFilterGump(m_From, m_Book)); break; } case 2: // Previous page { if (m_Page > 0) { m_From.SendGump(new BOBGump(m_From, m_Book, m_Page - 1, m_List)); } return; } case 3: // Next page { if (GetIndexForPage(m_Page + 1) < m_List.Count) { m_From.SendGump(new BOBGump(m_From, m_Book, m_Page + 1, m_List)); } break; } default: { //bool canDrop = m_Book.IsChildOf( m_From.Backpack ); //bool canPrice = canDrop || ( m_Book.RootParent is PlayerVendor ); index -= 4; int type = index % 2; index /= 2; if (index < 0 || index >= m_List.Count) { break; } object obj = m_List[index]; if (!m_Book.Entries.Contains(obj)) { m_From.SendLocalizedMessage(1062382); // The deed selected is not available. break; } if (type == 0) // Drop { if (m_Book.IsChildOf(m_From.Backpack)) { Item item = Reconstruct(obj); if (item != null) { m_From.AddToBackpack(item); m_From.SendLocalizedMessage(1045152); // The bulk order deed has been placed in your backpack. m_Book.Entries.Remove(obj); m_Book.InvalidateProperties(); if (m_Book.Entries.Count > 0) { m_From.SendGump(new BOBGump(m_From, m_Book, 0, null)); } else { m_From.SendLocalizedMessage(1062381); // The book is empty. } } else { m_From.SendMessage("Internal error. The bulk order deed could not be reconstructed."); } } } else // Set Price | Buy { if (m_Book.IsChildOf(m_From.Backpack)) { m_From.Prompt = new SetPricePrompt(m_Book, obj, m_Page, m_List); } else if (m_Book.RootParent is PlayerVendor) { PlayerVendor pv = (PlayerVendor)m_Book.RootParent; VendorItem vi = pv.GetVendorItem(m_Book); int price = 0; if (vi != null && !vi.IsForSale) { if (obj is BOBLargeEntry) { price = ((BOBLargeEntry)obj).Price; } else if (obj is BOBSmallEntry) { price = ((BOBSmallEntry)obj).Price; } } if (price == 0) { m_From.SendLocalizedMessage(1062382); // The deed selected is not available. } else { m_From.SendGump(new BODBuyGump(m_From, m_Book, obj, price)); } } } break; } } }