@Override
  public String onEnterZone(L2Character character, L2ZoneType zone) {
    if (character instanceof L2ControllableAirShipInstance) {
      if (_dockedShip == null) {
        _dockedShip = (L2ControllableAirShipInstance) character;
        _dockedShip.setInDock(_dockZone);
        _dockedShip.setOustLoc(_oustLoc);

        // Ship is not empty - display movie to passengers and dock
        if (_dockedShip.isEmpty()) {
          _departSchedule =
              ThreadPoolManager.getInstance().scheduleGeneral(_departTask, DEPART_INTERVAL);
        } else {
          if (_movieId != 0) {
            _dockedShip
                .getPassengers()
                .stream()
                .filter(passenger -> passenger != null)
                .forEach(passenger -> passenger.showQuestMovie(_movieId));
          }

          ThreadPoolManager.getInstance().scheduleGeneral(_decayTask, 1000);
        }
      }
    }
    return null;
  }