code: public boolean tick (Pathable pable, long timestamp)
      {
          // if we've blown past our arrival time, we need to get our bootay
          // to the prearranged spot and get the hell out
          if (timestamp >= _startStamp + _duration) {
              pable.setLocation(_dest.x, _dest.y);
              pable.pathCompleted(timestamp);
              return true;
          }
  
          // determine where we should be along the path
          long elapsed = timestamp - _startStamp;
          computePosition(_source, _dest, elapsed, _duration, _tpos);
  
          // only update the pathable's location if it actually moved
          if (pable.getX() != _tpos.x || pable.getY() != _tpos.y) {
              pable.setLocation(_tpos.x, _tpos.y);
              return true;
          }
  
          return false;
      }
docs: documentation inherited