virtualboolIsAtMoveGoal(floaterror=20.0f)const=0;// return true if improv is standing on its movement goal
virtualboolHasLookAt()const=0;// return true if improv has a look at goal
virtualboolHasFaceTo()const=0;// return true if improv has a face to goal
virtualboolIsAtFaceGoal()const=0;// return true if improv is facing towards its face goal
virtualboolIsFriendInTheWay(constVector&goalPos)const=0;// return true if a friend is blocking our line to the given goal position
virtualboolIsFriendInTheWay(CBaseEntity*myFriend,constVector&goalPos)const=0;// return true if the given friend is blocking our line to the given goal position
virtualvoidTrackPath(constVector&pathGoal,floatdeltaT)=0;// move along path by following "pathGoal"
virtualvoidStartLadder(constCNavLadder*ladder,enumNavTraverseTypehow,constVector*approachPos,constVector*departPos)=0;// invoked when a ladder is encountered while following a path
virtualboolTraverseLadder(constCNavLadder*ladder,enumNavTraverseTypehow,constVector*approachPos,constVector*departPos,floatdeltaT)=0;// traverse given ladder
virtualboolGetSimpleGroundHeightWithFloor(constVector*pos,float*height,Vector*normal=nullptr)=0;// find "simple" ground height, treating current nav area as part of the floor
virtualboolIsVisible(constVector&pos,booltestFOV=false)const=0;// return true if improv can see position
virtualboolIsPlayerLookingAtMe(CBasePlayer*pOther,floatcosTolerance=0.95f)const=0;// return true if 'other' is looking right at me
virtualCBasePlayer*IsAnyPlayerLookingAtMe(intteam=0,floatcosTolerance=0.95f)const=0;// return player on given team that is looking right at me (team == 0 means any team), NULL otherwise
virtualCBasePlayer*GetClosestPlayerByTravelDistance(intteam=0,float*range=nullptr)const=0;// return actual travel distance to closest player on given team (team == 0 means any team)