Exemplo n.º 1
0
        public override void OnResponse(NetState state, int index)
        {
            Mobile from = state.Mobile;

            PageType type = (PageType)(-1);

            switch (index)
            {
            case 0:
                from.LaunchBrowser("http://www.uorebirth.com/");
                break;

            case 1:
            {
                if (from.Region is Server.Regions.Jail)
                {
                    from.SendLocalizedMessage(1041530, "", 0x35);                               // You'll need a better jailbreak plan then that!
                }
                else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen && !from.Criminal)
                {
                    StuckMenu menu = new StuckMenu(from, from, true);
                    menu.BeginClose();
                    from.SendGump(menu);
                }
                else
                {
                    type = PageType.Stuck;
                }
                break;
            }

            case 2:
                type = PageType.Harassment;
                break;

            case 3:
                type = PageType.Bug;
                break;

            case 4:
                type = PageType.Other;
                break;
            }

            if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from))
            {
                from.Prompt = new PagePrompt(type);
                from.SendAsciiMessage("Enter a description of your problem, or press (Esc) to cancel:");
            }
            //from.SendGump( new PagePromptGump( from, type ) );
        }
Exemplo n.º 2
0
        private static void EventSink_HelpRequest(HelpRequestEventArgs e)
        {
            if (!PageQueue.CheckAllowedToPage(e.Mobile))
            {
                return;
            }
            if (StuckMenu.IsInSecondAgeArea(e.Mobile))
            {
                return;
            }

            if (PageQueue.Contains(e.Mobile))
            {
                e.Mobile.SendMenu(new ContainedMenu(e.Mobile));
            }
            else
            {
                e.Mobile.SendMenu(new HelpMenu());                  //e.Mobile.SendGump( new HelpGump( e.Mobile ) );
            }
        }
Exemplo n.º 3
0
        public override void OnResponse(NetState state, RelayInfo info)
        {
            Mobile from = state.Mobile;

            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(from);

                if (house != null && house.IsAosRules)
                {
                    from.Location = house.BanLocation;
                }
                else if (from.Region.IsPartOf(typeof(Server.Regions.Jail)))
                {
                    from.SendLocalizedMessage(1114345, "", 0x35);                               // You'll need a better jailbreak plan than that!
                }
                else if (Factions.Sigil.ExistsOn(from))
                {
                    from.SendLocalizedMessage(1061632);                               // You can't do that while carrying the sigil.
                }
                else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen && !from.Criminal && (Core.AOS || from.Kills < 5))
                {
                    StuckMenu menu = new StuckMenu(from, from, true);

                    menu.BeginClose();

                    from.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;
            }

            case 9:                     // Young player transport
            {
                if (IsYoung(from))
                {
                    if (from.Region.IsPartOf(typeof(Regions.Jail)))
                    {
                        from.SendLocalizedMessage(1114345, "", 0x35);                                   // You'll need a better jailbreak plan than that!
                    }
                    else if (from.Region.IsPartOf("Haven Island"))
                    {
                        from.SendLocalizedMessage(1041529);                                   // You're already in Haven
                    }
                    else
                    {
                        from.MoveToWorld(new Point3D(3503, 2574, 14), Map.Felucca);
                    }
                }

                break;
            }
            }

            if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from))
            {
                from.SendGump(new PagePromptGump(from, type));
            }
        }
Exemplo n.º 4
0
        public override void OnResponse(NetState state, RelayInfo info)
        {
            Mobile from = state.Mobile;

            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
            {
                if (from.Region.IsPartOf(typeof(Server.Regions.Jail)))
                {
                    from.SendLocalizedMessage(1114345, "", 0x35);                               // You'll need a better jailbreak plan than that!
                }
                else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen && !from.Criminal && from.Kills < 5)
                {
                    StuckMenu menu = new StuckMenu(from, from, true);

                    menu.BeginClose();

                    from.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));
            }
        }
Exemplo n.º 5
0
        public override void OnResponse(NetState state, int index)
        {
            //pla, 03/10/07
            // Log help stuck attempt
            if (index != 2)
            {
                LogHelper log = new LogHelper("HelpStuck.log");
                if (log != null)
                {
                    log.Log(LogType.Mobile, state.Mobile);
                    log.Finish();
                }
            }
            if (index == 0)
            {
                bool bGood = false;
                if (m_From.Alive == false)                 //dead: always allow to transport
                {
                    bGood = true;
                }
                else if (m_From.Region.IsDungeonRules)                 //alive and in dungeon
                {
                    m_From.SendMessage("You have chosen to die.");
                    m_From.Kill();
                    bGood = true;
                }
                else if (m_From.TotalWeight < StuckMenu.MAXHELPSTUCKALIVEWEIGHT)                 //alive and out of dungeon and not over weight limit
                {
                    bGood = true;
                }
                else                 // alive, out of dungeon, over weight limit
                {
                    m_From.SendMessage("You are too encumbered to be moved, drop most of your stuff and help-stuck again.");
                }

                if (bGood)
                {
                    //auto-choose destination now, so don't give them this message
                    //m_From.SendMessage("You will now be given the standard help-stuck menu.");

                    StuckMenu menu = new StuckMenu(m_From, m_From, true, true);
                    //menu.BeginClose();
                    //m_From.SendGump(menu);
                    menu.AutoSelect();
                }
            }
            else if (index == 1)
            {
                if (!HelpGump.TryMoveStuckPlayer(m_From, 4))
                {
                    int staffonline = 0;
                    foreach (NetState ns in NetState.Instances)
                    {
                        Mobile m = ns.Mobile;
                        if (m != null && m.AccessLevel >= AccessLevel.Counselor && m.AutoPageNotify)
                        {
                            staffonline++;
                        }
                    }

                    if (staffonline == 0)
                    {
                        StuckMenu menu = new StuckMenu(m_From, m_From, true);
                        //menu.BeginClose();
                        //m_From.SendGump(menu);
                        menu.AutoSelect();
                    }
                }
            }
            else if (index == 2)
            {
                m_From.SendMessage("Help Stuck request cancelled.");
            }
        }
Exemplo n.º 6
0
        public override void OnResponse(NetState state, RelayInfo info)
        {
            try
            {
                Mobile from = state.Mobile;

                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
                {
                    if (CoreAI.IsDynamicFeatureSet(CoreAI.FeatureBits.HelpStuckDisabled))
                    {
                        from.SendMessage("Sorry, help stuck is unavailable at this time. Please page for GM assistance");
                        return;
                    }

                    if (StuckMenu.ValidUseLocation(from, from))
                    {
                        //if (!TryMoveStuckPlayer(from, 4))
                        //{
                        //	int staffonline = 0;
                        //	foreach (NetState ns in NetState.Instances)
                        //	{
                        //		Mobile m = ns.Mobile;
                        //		if (m != null && m.AccessLevel >= AccessLevel.Counselor && m.AutoPageNotify)
                        //			staffonline++;
                        //	}
                        //
                        //	if (staffonline == 0)
                        //	{
                        //		StuckMenu menu = new StuckMenu( from, from, true );
                        //
                        //		menu.BeginClose();
                        //
                        //		from.SendGump( menu );
                        //	}
                        //	else
                        //	{
                        //		type = PageType.Stuck;
                        //	}
                        //}


                        from.SendMenu(new HelpStuckQuestion(from));
                    }
                    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.Harassment;
                    break;
                }

                case 8:                         // Harassment: physical
                {
                    type = PageType.PhysicalHarassment;
                    break;
                }

                case 9:                         // Young player transport
                {
                    /*
                     * if ( IsYoung( from ) )
                     * {
                     *      if ( from.Region is Regions.Jail )
                     *      {
                     *              from.SendLocalizedMessage( 1041530, "", 0x35 ); // You'll need a better jailbreak plan then that!
                     *      }
                     *      else if ( from.Region.Name == "Haven" )
                     *      {
                     *              from.SendLocalizedMessage( 1041529 ); // You're already in Haven
                     *      }
                     *      else
                     *      {
                     *              from.MoveToWorld( new Point3D( 3618, 2587, 0 ), Map.Trammel );
                     *      }
                     * }
                     */

                    break;
                }
                }

                if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from))
                {
                    from.SendGump(new PagePromptGump(from, type));
                }
            }
            catch (Exception exc)
            {
                LogHelper.LogException(exc);
                System.Console.WriteLine("Exception caught in HelpGump.OnResponse: " + exc.Message);
                System.Console.WriteLine(exc.StackTrace.ToString());
            }
        }
Exemplo n.º 7
0
        public override void OnResponse(NetState state, RelayInfo info)
        {
            Mobile from = state.Mobile;

            PageType type = (PageType)(-1);

            switch (info.ButtonID)
            {
            case 0:                                    // Close/Cancel
            {
                from.SendLocalizedMessage(501235, ""); // Help request aborted.

                break;
            }

            case 1:                     // General question
            {
                type = PageType.Question;
                break;
            }

            case 2:                     // Stuck
            {
                BaseHouse house = BaseHouse.FindHouseAt(from);

                if (house != null && house.IsAosRules)
                {
                    from.Location = house.BanLocation;
                }
                else if (from.Region.IsPartOf(typeof(Jail)))
                {
                    from.SendLocalizedMessage(1114345, "", 0x35);     // You'll need a better jailbreak plan than that!
                }
                else if (Sigil.ExistsOn(from))
                {
                    from.SendLocalizedMessage(1061632);                               // You can't do that while carrying the sigil.
                }
                else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from))
                {
                    StuckMenu menu = new StuckMenu(from, from, true);

                    menu.BeginClose();

                    from.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;
            }

            case 9:                     // Young player transport
            {
                if (IsYoung(from))
                {
                    if (from.Region.IsPartOf(typeof(Jail)))
                    {
                        from.SendLocalizedMessage(1114345, "", 0x35);     // You'll need a better jailbreak plan than that!
                    }
                    else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from))
                    {
                        from.MoveToWorld(new Point3D(1426, 1696, 0), Map.Felucca);

                        if (from.IsInEvent)
                        {
                            from.IsInEvent = false;
                            from.SendAsciiMessage("You auto supply has been removed.");

                            SupplySystem.RemoveEventGear(from);
                        }
                    }
                    else
                    {
                        from.SendAsciiMessage("You cannot use the young player transport system from where you are");
                    }
                }

                break;
            }
            }

            if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from))
            {
                from.SendGump(new PagePromptGump(from, type));
            }
        }
Exemplo n.º 8
0
        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));
            }
        }
Exemplo n.º 9
0
        public override void OnResponse(NetState state, RelayInfo info)
        {
            Mobile from = state.Mobile;

            PageType type = (PageType)(-1);

            switch (info.ButtonID)
            {
            case 0:                                          // Close/Cancel
            {
                from.SendLocalizedMessage(501235, "", 0x35); // Help request aborted.

                break;
            }

            case 1:                     // General question about Ultima Online
            {
                from.LaunchBrowser("http://www.uo.com");
                break;
            }

            case 2:                     // Stuck
            {
                var house = HousingHelper.FindHouseAt(from);

                if (house != null)
                {
                    from.Location = house.BanLocation;
                }
                else if (from.Region.IsPartOf <Regions.Jail>())
                {
                    from.SendLocalizedMessage(1041530, "", 0x35);                                       // You'll need a better jailbreak plan then that!
                }
                else if (Factions.Sigil.ExistsOn(from))
                {
                    from.SendLocalizedMessage(1061632);                                       // You can't do that while carrying the sigil.
                }
                else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen && !from.Criminal)
                {
                    StuckMenu menu = new StuckMenu(from, from, true);

                    menu.BeginClose();

                    from.SendGump(menu);
                }
                else
                {
                    type = PageType.Stuck;
                }

                break;
            }

            case 3:                     // Harassment: Verbal
            {
                type = PageType.VerbalHarassment;
                break;
            }

            case 4:                     // Other
            {
                type = PageType.Other;
                break;
            }

            case 5:                     // Visit the OWO web page
            {
                from.LaunchBrowser("http://www.uoguide.com/");
                break;
            }

            case 6:                     // Report a bug or contact Origin
            {
                from.LaunchBrowser("http://www.uo.com");
                break;
            }

            case 7:                     // Contact a Councelor
            {
                type = PageType.Question;
                break;
            }

            case 8:                     // Visit the Ultima Online web site
            {
                from.LaunchBrowser("http://www.uo.com");
                break;
            }

            case 10:                     // Young player transport
            {
                if (IsYoung(from))
                {
                    if (from.Region.IsPartOf <Regions.Jail>())
                    {
                        from.SendLocalizedMessage(1041530, "", 0x35);                                           // You'll need a better jailbreak plan then that!
                    }
                    else if (from.Region.Name == "Haven" || from.Region.Name == "New Haven")
                    {
                        from.SendLocalizedMessage(1041529);                                           // You're already in Haven
                    }
                    else
                    {
                        if (from.Alive)
                        {
                            from.MoveToWorld(new Point3D(3503, 2574, 14), Map.Trammel);
                        }
                        else
                        {
                            from.MoveToWorld(new Point3D(3469, 2559, 36), Map.Trammel);
                        }
                    }
                }

                break;
            }

            case 11:                     // Promotional Code
            {
                if (PromotionalSystem.Enabled)
                {
                    from.SendGump(new PromotionalCodeGump());
                }
                else
                {
                    from.SendLocalizedMessage(1062904);                                       // The promo code redemption system is currently unavailable. Please try again later.

                    from.SendLocalizedMessage(501235, "", 0x35);                              // Help request aborted.
                }

                break;
            }

            case 12:                     // Harassment: Physical
            {
                type = PageType.PhysicalHarassment;
                break;
            }
            }

            if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from))
            {
                from.SendGump(new PagePromptGump(from, type));
            }
        }
Exemplo n.º 10
0
        public override void OnResponse(NetState state, int index)
        {
            Mobile from = state.Mobile;

            PageType type = (PageType)(-1);

            switch (index)
            {
            /*case 0: // Close/Cancel
             *  {
             *      from.SendAsciiMessage("Help request unchanged.", 0x35); // Help request aborted.
             *
             *      break;
             *  }*/
            case 0:     // General question
            {
                type = PageType.Question;
                break;
            }

            case 1:     // Stuck
            {
                BaseHouse house = BaseHouse.FindHouseAt(from);

                if (house != null && house.IsAosRules)
                {
                    from.Location = house.BanLocation;
                }
                else if (from.Region.IsPartOf(typeof(Server.Regions.Jail)))
                {
                    from.SendLocalizedMessage(0x35, "You'll need a better jailbreak plan then that!");        // You'll need a better jailbreak plan then that!
                }
                else if (Factions.Sigil.ExistsOn(from))
                {
                    from.SendLocalizedMessage(1061632);         // You can't do that while carrying the sigil.
                }
                else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen && !from.Criminal && (Core.AOS || from.Kills < 5))
                {
                    StuckMenu menu = new StuckMenu(from, from, true);

                    menu.BeginClose();

                    from.SendGump(menu);
                }
                else
                {
                    type = PageType.Stuck;
                }

                break;
            }

            case 2:     // Harassment: verbal/exploit
            {
                type = PageType.VerbalHarassment;
                break;
            }

            case 3:     // Other
            {
                type = PageType.Other;
                break;
            }
            }

            if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from))
            {
                from.SendAsciiMessage(0x35, "Please enter a brief description (up to 40 characters) of your problem:");
                from.Prompt = new HelpPrompt(from, type);
            }
            //from.SendGump(new PagePromptGump(from, type));
        }
Exemplo n.º 11
0
        public override void OnResponse(NetState state, RelayInfo info)
        {
            Mobile from = state.Mobile;

            var 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
            {
                if (from is BaseCreature)
                {
                    from.SendMessage("You can't use the help stuck menu if on anything but a player character!");
                    return;
                }
                if (from != null && from.Map == Map.ZombieLand)
                {
                    from.SendMessage(54, "You cannot use the stuck option while in the zombie event.  Please log out of the event first.");
                    return;
                }
                BaseHouse house = BaseHouse.FindHouseAt(from);

                if (house != null && house.IsAosRules && !from.Region.IsPartOf(typeof(SafeZone)))                                 // Dueling
                {
                    from.Location = house.BanLocation;
                }
                else if (from.Region.IsPartOf(typeof(Regions.Jail)))
                {
                    from.SendLocalizedMessage(1114345, "", 0x35);                                     // You'll need a better jailbreak plan than that!
                }
                else if (Sigil.ExistsOn(from))
                {
                    from.SendLocalizedMessage(1061632);                                     // You can't do that while carrying the sigil.
                }
                else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen &&
                         !from.Criminal)                                         // && (Core.AOS || from.Kills < Mobile.MurderCount) )
                {
                    var menu = new StuckMenu(from, from, true);

                    menu.BeginClose();

                    from.SendGump(menu);
                }
                else
                {
                    type = PageType.Stuck;
                }

                break;
            }

            case 3:                     // Report bug or contact UOFOREVER
            {
                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;
            }

            case 9:                     // Young player transport
            {
                if (IsYoung(from))
                {
                    if (from.Region.IsPartOf(typeof(Regions.Jail)))
                    {
                        from.SendLocalizedMessage(1114345, "", 0x35);
                        // You'll need a better jailbreak plan than that!
                    }
                    else if (from.Region.IsPartOf("Haven Island"))
                    {
                        from.SendLocalizedMessage(1041529);                                         // You're already in Haven
                    }
                    else
                    {
                        from.MoveToWorld(new Point3D(3503, 2574, 14), Map.Felucca);
                    }
                }

                break;
            }
            }

            if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from))
            {
                from.SendGump(new PagePromptGump(from, type));
            }
        }