public override void OnResponse(NetState sender, RelayInfo info) { if (m_Boat == null || m_From == null) { return; } if (!m_Boat.Contains(m_From)) { if (BaseBoat.isCarpet(m_Boat)) { m_From.SendMessage("You have to be on your carpet to do that!"); } else { m_From.SendMessage("You have to be on the boat to do that!"); } m_From.CloseGump(typeof(TillerManGump)); return; } switch (info.ButtonID) { case 100: m_Boat.StopMove(true); break; case 99: m_Boat.BeginRename(m_From); break; case 1: // N { if (m_Boat.Facing == Direction.North) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.North, true); } else { m_Boat.OneMove(Direction.North); } } else if (m_Boat.Facing == Direction.South) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.South, true); } else { m_Boat.OneMove(Direction.South); } } else if (m_Boat.Facing == Direction.East) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.West, true); } else { m_Boat.OneMove(Direction.West); } } else if (m_Boat.Facing == Direction.West) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.East, true); } else { m_Boat.OneMove(Direction.East); } } break; } case 2: // NE { if (m_Boat.Facing == Direction.North) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Right, true); } else { m_Boat.OneMove(Direction.Right); } } else if (m_Boat.Facing == Direction.South) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Left, true); } else { m_Boat.OneMove(Direction.Left); } } else if (m_Boat.Facing == Direction.East) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Up, true); } else { m_Boat.OneMove(Direction.Up); } } else if (m_Boat.Facing == Direction.West) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Down, true); } else { m_Boat.OneMove(Direction.Down); } } break; } case 3: // E { if (m_Boat.Facing == Direction.North) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.East, true); } else { m_Boat.OneMove(Direction.East); } } else if (m_Boat.Facing == Direction.South) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.West, true); } else { m_Boat.OneMove(Direction.West); } } else if (m_Boat.Facing == Direction.East) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.North, true); } else { m_Boat.OneMove(Direction.North); } } else if (m_Boat.Facing == Direction.West) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.South, true); } else { m_Boat.OneMove(Direction.South); } } break; } case 4: // SE { if (m_Boat.Facing == Direction.North) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Down, true); } else { m_Boat.OneMove(Direction.Down); } } else if (m_Boat.Facing == Direction.South) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Up, true); } else { m_Boat.OneMove(Direction.Up); } } else if (m_Boat.Facing == Direction.East) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Right, true); } else { m_Boat.OneMove(Direction.Right); } } else if (m_Boat.Facing == Direction.West) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Left, true); } else { m_Boat.OneMove(Direction.Left); } } break; } case 5: // S { if (m_Boat.Facing == Direction.North) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.South, true); } else { m_Boat.OneMove(Direction.South); } } else if (m_Boat.Facing == Direction.South) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.North, true); } else { m_Boat.OneMove(Direction.North); } } else if (m_Boat.Facing == Direction.East) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.East, true); } else { m_Boat.OneMove(Direction.East); } } else if (m_Boat.Facing == Direction.West) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.West, true); } else { m_Boat.OneMove(Direction.West); } } break; } case 6: // SW { if (m_Boat.Facing == Direction.North) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Left, true); } else { m_Boat.OneMove(Direction.Left); } } else if (m_Boat.Facing == Direction.South) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Right, true); } else { m_Boat.OneMove(Direction.Right); } } else if (m_Boat.Facing == Direction.East) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Down, true); } else { m_Boat.OneMove(Direction.Down); } } else if (m_Boat.Facing == Direction.West) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Up, true); } else { m_Boat.OneMove(Direction.Up); } } break; } case 7: // W { if (m_Boat.Facing == Direction.North) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.West, true); } else { m_Boat.OneMove(Direction.West); } } else if (m_Boat.Facing == Direction.South) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.East, true); } else { m_Boat.OneMove(Direction.East); } } else if (m_Boat.Facing == Direction.East) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.South, true); } else { m_Boat.OneMove(Direction.South); } } else if (m_Boat.Facing == Direction.West) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.North, true); } else { m_Boat.OneMove(Direction.North); } } break; } case 8: // NW { if (m_Boat.Facing == Direction.North) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Up, true); } else { m_Boat.OneMove(Direction.Up); } } else if (m_Boat.Facing == Direction.South) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Down, true); } else { m_Boat.OneMove(Direction.Down); } } else if (m_Boat.Facing == Direction.East) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Left, true); } else { m_Boat.OneMove(Direction.Left); } } else if (m_Boat.Facing == Direction.West) { if (!ToggleOneStep) { m_Boat.StartMove(Direction.Right, true); } else { m_Boat.OneMove(Direction.Right); } } break; } case 9: // TOGGLE ONE STEP { if (!ToggleOneStep) { ToggleOneStep = true; } else { ToggleOneStep = false; } break; } case 10: // RAISE / DROP ANCHOR { if (m_Boat.Anchored) { m_Boat.RaiseAnchor(true); } else { m_Boat.LowerAnchor(true); } break; } case 11: // TURN LEFT/RIGHT/AROUND { m_Boat.StartTurn(-2, true); // LEFT break; } case 12: { m_Boat.StartTurn(2, true); // RIGHT break; } case 13: { m_Boat.StartTurn(-4, true); // AROUND break; } } m_From.CloseGump(typeof(TillerManGump)); m_From.SendGump(new TillerManGump(m_From, m_Boat, ToggleOneStep)); }
public override void OnResponse(NetState sender, RelayInfo info) { BaseBoat boat = BaseBoat.FindBoatAt(m_From, m_From.Map); Container pack = m_From.Backpack; if (boat == null) { return; } if (pack != null) // && pack.ConsumeTotal( typeof( Gold ), 2 ) ) { switch (info.ButtonID) { case 1: // Drop Anchor { boat.LowerAnchor(true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 2: // Raise Anchor { boat.RaiseAnchor(true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 3: // Forward { boat.StartMove(Direction.North, true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 4: // Back { boat.StartMove(Direction.South, true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 5: // Left { boat.StartMove(Direction.West, true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 6: // Right { boat.StartMove(Direction.East, true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 7: // Stop { boat.StopMove(true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 8: // TurnLeft { boat.StartTurn(-2, true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 9: // TurnRight { boat.StartTurn(2, true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 10: // OneForward { boat.OneMove(Direction.North); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 11: // OneBack { boat.OneMove(Direction.South); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 12: // OneLeft { boat.OneMove(Direction.West); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 13: // OneRight { boat.OneMove(Direction.East); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 14: // LeftForward { boat.StartMove(Direction.Up, true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } case 15: // RightForward { boat.StartMove(Direction.Right, true); m_From.SendGump(new NavigationGump((PlayerMobile)m_From)); break; } } } }
public override void OnResponse(NetState sender, RelayInfo info) { BaseBoat boat = BaseBoat.FindBoatAt(m_From, m_From.Map); if (boat == null) { return; } switch (info.ButtonID) { case 1: // Drop Anchor boat.LowerAnchor(true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 2: // Raise Anchor boat.RaiseAnchor(true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 3: // Forward boat.StartMove(Direction.North, true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 4: // Back boat.StartMove(Direction.South, true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 5: // Left boat.StartMove(Direction.West, true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 6: // Right boat.StartMove(Direction.East, true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 7: // Stop boat.StopMove(true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 8: // TurnLeft boat.StartTurn(-2, true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 9: // TurnRight boat.StartTurn(2, true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 10: // OneForward boat.OneMove(Direction.North); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 11: // OneBack boat.OneMove(Direction.South); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 12: // OneLeft boat.OneMove(Direction.West); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 13: // OneRight boat.OneMove(Direction.East); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 14: // LeftForward boat.StartMove(Direction.Up, true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; case 15: // RightForward boat.StartMove(Direction.Right, true); m_From.SendGump(new BoatGump((PlayerMobile)m_From)); break; } }