Ejemplo n.º 1
0
 public override void OnDoubleClick(Mobile from)
 {
     if (m_Boat != null)
     {
         if (m_Boat.Owner == from || from.AccessLevel >= AccessLevel.Administrator)
         {
             if (m_Boat.Contains(from))
             {
                 from.SendGump(new TillerManGump(from, m_Boat, false));                             //m_Boat.BeginRename( from );
             }
             else if (DockSearch.NearDock(from) == false)
             {
                 from.SendMessage("You must be near a dock to dry dock your ship!");
             }
             else
             {
                 m_Boat.BeginDryDock(from, m_Boat.Hue);
             }
         }
         else
         {
             from.SendLocalizedMessage(501023);                    // You must be the owner to use this item
         }
     }
 }
Ejemplo n.º 2
0
 public override void OnClick()
 {
     if (m_Boat != null && !m_Boat.Contains(m_From))
     {
         m_Boat.BeginDryDock(m_From);
     }
 }
Ejemplo n.º 3
0
 public override void OnDoubleClick(Mobile from)
 {
     if (m_Boat != null && m_Boat.Contains(from))
     {
         m_Boat.BeginRename(from);
     }
     else if (m_Boat != null)
     {
         m_Boat.BeginDryDock(from);
     }
 }
Ejemplo n.º 4
0
 public override void OnDoubleClick(Mobile from)
 {
     if (m_Boat?.Contains(from) == true)
     {
         m_Boat.BeginRename(from);
     }
     else
     {
         m_Boat?.BeginDryDock(from);
     }
 }
Ejemplo n.º 5
0
            public override void OnClick()
            {
                BaseBoat boat = BaseBoat.GetBoat(m_From);

                if (boat != null && m_DockMaster.InRange(boat.Location, 100))
                {
                    boat.BeginDryDock(m_From, m_DockMaster);
                }
                else
                {
                    m_DockMaster.SayTo(m_From, 502581); //I cannot find the ship!
                }
            }
Ejemplo n.º 6
0
            public override void OnClick()
            {
                BaseBoat boat = m_DockMaster.GetBoatInRegion(m_From);

                if (boat != null)
                {
                    boat.BeginDryDock(m_From, m_DockMaster);
                }
                else
                {
                    m_DockMaster.SayTo(m_From, 502581); //I cannot find the ship!
                }
            }
Ejemplo n.º 7
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            if (m_Player == null)
            {
                return;
            }

            BaseBoat m_Boat = m_Player.BoatOccupied;

            if (m_Boat != null)
            {
                if (m_Boat.Deleted || m_Boat.m_SinkTimer != null)
                {
                    m_Boat = null;
                }
            }

            bool closeGump = true;

            int minorActionCount = 0;
            int epicActionCount  = 0;

            int currentMovementMode;
            int movementModeCount = Enum.GetNames(typeof(MovementMode)).Length;

            int currentShipAction;
            int shipActionCount = Enum.GetNames(typeof(ShipAction)).Length;

            switch (info.ButtonID)
            {
            //Forward
            case 1:
                if (m_Boat != null)
                {
                    if (m_Player.m_ShipControlSettings.m_MovementMode == MovementMode.Full)
                    {
                        BaseBoat.StartMoveForward(m_Player);
                    }

                    else
                    {
                        BaseBoat.OneMoveForward(m_Player);
                    }
                }

                closeGump = false;
                break;

            //Forward Right
            case 2:
                if (m_Boat != null)
                {
                    if (m_Player.m_ShipControlSettings.m_MovementMode == MovementMode.Full)
                    {
                        BaseBoat.StartMoveForwardRight(m_Player);
                    }

                    else
                    {
                        BaseBoat.OneMoveForwardRight(m_Player);
                    }
                }

                closeGump = false;
                break;

            //Right
            case 3:
                if (m_Boat != null)
                {
                    if (m_Player.m_ShipControlSettings.m_MovementMode == MovementMode.Full)
                    {
                        BaseBoat.StartMoveRight(m_Player);
                    }

                    else
                    {
                        BaseBoat.OneMoveRight(m_Player);
                    }
                }

                closeGump = false;
                break;

            //Backwards Right
            case 4:
                if (m_Boat != null)
                {
                    if (m_Player.m_ShipControlSettings.m_MovementMode == MovementMode.Full)
                    {
                        BaseBoat.StartMoveBackwardRight(m_Player);
                    }

                    else
                    {
                        BaseBoat.OneMoveBackwardRight(m_Player);
                    }
                }

                closeGump = false;
                break;

            //Backward
            case 5:
                if (m_Boat != null)
                {
                    if (m_Player.m_ShipControlSettings.m_MovementMode == MovementMode.Full)
                    {
                        BaseBoat.StartMoveBackward(m_Player);
                    }

                    else
                    {
                        BaseBoat.OneMoveBackward(m_Player);
                    }
                }

                closeGump = false;
                break;

            //Backwards Left
            case 6:
                if (m_Boat != null)
                {
                    if (m_Player.m_ShipControlSettings.m_MovementMode == MovementMode.Full)
                    {
                        BaseBoat.StartMoveBackwardLeft(m_Player);
                    }

                    else
                    {
                        BaseBoat.OneMoveBackwardLeft(m_Player);
                    }
                }

                closeGump = false;
                break;

            //Left
            case 7:
                if (m_Boat != null)
                {
                    if (m_Player.m_ShipControlSettings.m_MovementMode == MovementMode.Full)
                    {
                        BaseBoat.StartMoveLeft(m_Player);
                    }

                    else
                    {
                        BaseBoat.OneMoveLeft(m_Player);
                    }
                }

                closeGump = false;
                break;

            //Forward Left
            case 8:
                if (m_Boat != null)
                {
                    if (m_Player.m_ShipControlSettings.m_MovementMode == MovementMode.Full)
                    {
                        BaseBoat.StartMoveForwardLeft(m_Player);
                    }

                    else
                    {
                        BaseBoat.OneMoveForwardLeft(m_Player);
                    }
                }

                closeGump = false;
                break;

            //Turn Left
            case 9:
                if (m_Boat != null)
                {
                    BaseBoat.StartTurnLeft(m_Player);
                }

                closeGump = false;
                break;

            //Stop
            case 10:
                if (m_Boat != null)
                {
                    BaseBoat.Stop(m_Player);
                }

                closeGump = false;
                break;

            //Turn Right
            case 11:
                if (m_Boat != null)
                {
                    BaseBoat.StartTurnRight(m_Player);
                }

                closeGump = false;
                break;

            //Previous Movement Mode
            case 12:
                currentMovementMode = (int)m_Player.m_ShipControlSettings.m_MovementMode;
                currentMovementMode--;

                if (currentMovementMode < 0)
                {
                    currentMovementMode = movementModeCount - 1;
                }

                m_Player.m_ShipControlSettings.m_MovementMode = (MovementMode)currentMovementMode;

                closeGump = false;
                break;

            //Next Movement Mode
            case 13:
                currentMovementMode = (int)m_Player.m_ShipControlSettings.m_MovementMode;
                currentMovementMode++;

                if (currentMovementMode > movementModeCount - 1)
                {
                    currentMovementMode = 0;
                }

                m_Player.m_ShipControlSettings.m_MovementMode = (MovementMode)currentMovementMode;

                closeGump = false;
                break;

            //Previous Ship Action
            case 14:
                currentShipAction = (int)m_Player.m_ShipControlSettings.m_ShipAction;
                currentShipAction--;

                if (currentShipAction < 0)
                {
                    currentShipAction = shipActionCount - 1;
                }

                m_Player.m_ShipControlSettings.m_ShipAction = (ShipAction)currentShipAction;

                closeGump = false;
                break;

            //Next Ship Action
            case 15:
                currentShipAction = (int)m_Player.m_ShipControlSettings.m_ShipAction;
                currentShipAction++;

                if (currentShipAction > shipActionCount - 1)
                {
                    currentShipAction = 0;
                }

                m_Player.m_ShipControlSettings.m_ShipAction = (ShipAction)currentShipAction;

                closeGump = false;
                break;

            //Activate Ship Action
            case 16:
                switch (m_Player.m_ShipControlSettings.m_ShipAction)
                {
                case ShipAction.RaiseAnchor:
                    if (m_Boat != null)
                    {
                        if (m_Boat.IsCoOwner(m_Player) || m_Boat.IsOwner(m_Player))
                        {
                            BaseBoat.RaiseAnchor(m_Player);
                        }
                    }
                    break;

                case ShipAction.LowerAnchor:
                    if (m_Boat != null)
                    {
                        if (m_Boat.IsCoOwner(m_Player) || m_Boat.IsOwner(m_Player))
                        {
                            BaseBoat.LowerAnchor(m_Player);
                        }
                    }
                    break;

                case ShipAction.Embark:
                    BaseBoat.TargetedEmbark(m_Player);
                    break;

                case ShipAction.EmbarkFollowers:
                    BaseBoat.TargetedEmbarkFollowers(m_Player);
                    break;

                case ShipAction.Disembark:
                    if (m_Boat != null)
                    {
                        m_Boat.Disembark(m_Player);
                    }
                    break;

                case ShipAction.DisembarkFollowers:
                    if (m_Boat != null)
                    {
                        m_Boat.DisembarkFollowers(m_Player);
                    }
                    break;

                case ShipAction.Dock:
                    if (m_Boat != null)
                    {
                        if (m_Boat.IsOwner(m_Player))
                        {
                            m_Boat.BeginDryDock(m_Player);
                        }
                    }
                    break;

                case ShipAction.ClearDeck:
                    //TEST: Finish
                    break;

                case ShipAction.DividePlunder:
                    if (m_Boat != null)
                    {
                        if (m_Boat.IsOwner(m_Player))
                        {
                            m_Boat.BeginDivideThePlunder(m_Player);
                        }
                    }
                    break;

                case ShipAction.AddFriend:
                    if (m_Boat != null)
                    {
                        m_Boat.AddFriendCommand(m_Player);
                    }
                    break;

                case ShipAction.AddCoOwner:
                    if (m_Boat != null)
                    {
                        m_Boat.AddCoOwnerCommand(m_Player);
                    }
                    break;

                case ShipAction.ThrowTargetOverboard:
                    if (m_Boat != null)
                    {
                        m_Boat.ThrowOverboardCommand(m_Player);
                    }
                    break;
                }

                closeGump = false;
                break;

            //Fire Left Cannons
            case 17:
                if (m_Boat != null)
                {
                    if (m_Boat.IsCoOwner(m_Player) || m_Boat.IsOwner(m_Player))
                    {
                        BaseBoat.FireCannons(m_Player, true);
                    }
                }

                closeGump = false;
                break;

            //Fire Right Cannons
            case 18:
                if (m_Boat != null)
                {
                    if (m_Boat.IsCoOwner(m_Player) || m_Boat.IsOwner(m_Player))
                    {
                        BaseBoat.FireCannons(m_Player, false);
                    }
                }

                closeGump = false;
                break;

            //Targeting Mode: Previous
            case 19:
                if (m_Boat != null)
                {
                    if (m_Boat.IsCoOwner(m_Player) || m_Boat.IsOwner(m_Player))
                    {
                        switch (m_Boat.TargetingMode)
                        {
                        case TargetingMode.Random: m_Boat.SetTargetingMode(TargetingMode.Guns); break;

                        case TargetingMode.Hull: m_Boat.SetTargetingMode(TargetingMode.Random); break;

                        case TargetingMode.Sails: m_Boat.SetTargetingMode(TargetingMode.Hull); break;

                        case TargetingMode.Guns: m_Boat.SetTargetingMode(TargetingMode.Sails); break;
                        }
                    }
                }

                closeGump = false;
                break;

            //Targeting Mode: Next
            case 20:
                if (m_Boat != null)
                {
                    if (m_Boat.IsCoOwner(m_Player) || m_Boat.IsOwner(m_Player))
                    {
                        switch (m_Boat.TargetingMode)
                        {
                        case TargetingMode.Random: m_Boat.SetTargetingMode(TargetingMode.Hull); break;

                        case TargetingMode.Hull: m_Boat.SetTargetingMode(TargetingMode.Sails); break;

                        case TargetingMode.Sails: m_Boat.SetTargetingMode(TargetingMode.Guns); break;

                        case TargetingMode.Guns: m_Boat.SetTargetingMode(TargetingMode.Random); break;
                        }
                    }
                }

                closeGump = false;
                break;

            //Minor Ability: Previous
            case 21:
                if (m_Boat != null)
                {
                }

                closeGump = false;
                break;

            //Minor Ability: Next
            case 22:
                if (m_Boat != null)
                {
                }

                closeGump = false;
                break;

            //Minor Ability: Activate
            case 23:
                if (m_Boat != null)
                {
                }

                closeGump = false;
                break;

            //Epic Ability: Previous
            case 24:
                if (m_Boat != null)
                {
                }

                closeGump = false;
                break;

            //Epic Ability: Next
            case 25:
                if (m_Boat != null)
                {
                }

                closeGump = false;
                break;

            //Epic Ability: Activate
            case 26:
                if (m_Boat != null)
                {
                }

                closeGump = false;
                break;

            //Collapse + Expand
            case 27:
                m_Player.m_ShipControlSettings.m_CollapseMode = !m_Player.m_ShipControlSettings.m_CollapseMode;

                closeGump = false;
                break;

            //Ship Selection
            case 28:
                BaseBoat.ShipSelection(m_Player);

                closeGump = false;
                break;
            }

            if (!closeGump)
            {
                m_Player.CloseGump(typeof(BoatHotbarGump));
                m_Player.SendGump(new BoatHotbarGump(m_Player));
            }
        }