public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; PlayerMobile player = from as PlayerMobile; if (player == null) { return; } PageType type = (PageType)(-1); switch (info.ButtonID) { case 0: // Close/Cancel { from.SendLocalizedMessage(501235, "", 0x35); // Help request aborted. break; } case 1: // General question { type = PageType.Question; break; } case 2: // Stuck { BaseHouse house = BaseHouse.FindHouseAt(player); WarpBlockerTotem recallBlocker = WarpBlockerTotem.RecallBlockerTriggered(player, WarpBlockerTotem.MovementMode.HelpStuck, player.Location, player.Map); if (house != null) { player.Location = house.BanLocation; } else if (recallBlocker != null) { if (recallBlocker.PreventHelpStuckResponse != "") { player.SendMessage(recallBlocker.PreventHelpStuckResponse); } else { player.SendMessage(WarpBlockerTotem.DefaultHelpStuckResponse); } } else if (player.Region.IsPartOf(typeof(Server.Regions.Jail))) { player.SendLocalizedMessage(1041530, "", 0x35); // You'll need a better jailbreak plan then that! } else if (CheckCombat(player)) { player.SendMessage("You have been in combat too recently to use this option."); } else if (player.RecallRestrictionExpiration > DateTime.UtcNow) { player.SendMessage("You must wait for your Recall Restriction to expire before you may use this option."); } else if (player.CanUseStuckMenu() && from.Region.CanUseStuckMenu(player) && !player.Frozen) { StuckMenu menu = new StuckMenu(player, player, true); menu.BeginClose(); player.SendGump(menu); } else { type = PageType.Stuck; } break; } case 3: // Report bug or contact Origin { type = PageType.Bug; break; } case 4: // Game suggestion { type = PageType.Suggestion; break; } case 5: // Account management { type = PageType.Account; break; } case 6: // Other { type = PageType.Other; break; } case 7: // Harassment: verbal/exploit { type = PageType.VerbalHarassment; break; } case 8: // Harassment: physical { type = PageType.PhysicalHarassment; break; } } if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from)) { from.SendGump(new PagePromptGump(from, type)); } }