interpose p ts os b maxv = (seekVelocity (plentity p) point maxv, nearToBall p ts b)
    where point = addVector3 ap (scaleVector3 (diffVector3 ap bp) interposeDistance)
          ap    = (scaleVector3 (velocity ae) t) `addVector3` (location ae)
          bp    = (scaleVector3 (velocity be) t) `addVector3` (location be)
          t     = vectorLength (diffVector3 (location (plentity p)) mp) / maxv
          mp    = scaleVector3 (location ae `addVector3` location be) 0.5
          ae    = plentity apl
          be    = plentity bpl
          apl   = nearestPlayerToBall os b
          bpl   = nearestPlayerToBall (filter (\x -> idnum (staticplayer apl) /= idnum (staticplayer x)) os) b
interpose p ts os b maxv = (seekVelocity (plentity p) point maxv, nearToBall p ts b)
    where point = addVector3 ap (scaleVector3 (diffVector3 ap bp) interposeDistance)
          ap    = (scaleVector3 (velocity ae) t) `addVector3` (location ae)
          bp    = (scaleVector3 (velocity be) t) `addVector3` (location be)
          t     = vectorLength (diffVector3 (location (plentity p)) mp) / maxv
          mp    = scaleVector3 (location ae `addVector3` location be) 0.5
          ae    = plentity apl
          be    = plentity bpl
          apl   = nearestPlayerToBall os b
          bpl   = nearestPlayerToBall (filter (\x -> idnum (staticplayer apl) /= idnum (staticplayer x)) os) b
interpose p ts os b maxv = (seekVelocity (plentity p) point maxv, nearToBall p ts b)
    where point = addVector3 ap (scaleVector3 (diffVector3 ap bp) interposeDistance)
          ap    = (scaleVector3 (velocity ae) t) `addVector3` (location ae)
          bp    = (scaleVector3 (velocity be) t) `addVector3` (location be)
          t     = vectorLength (diffVector3 (location (plentity p)) mp) / maxv
          mp    = scaleVector3 (location ae `addVector3` location be) 0.5
          ae    = plentity apl
          be    = plentity bpl
          apl   = nearestPlayerToBall os b
          bpl   = nearestPlayerToBall (filter (\x -> idnum (staticplayer apl) /= idnum (staticplayer x)) os) b