intfNextMode;// the next behavior to run (-1 if we aren't switching on next eval)
boolfFadingNextBehavior;// is the next behavior supposed to blend?
boolfLocallyControlled;// is our local AI script the one making all the choices?
boolfAvoidingAvatars;// are we avoiding avatars to the best of our ability when pathfinding?
hsPoint3fFinalGoalPos;// the location we are pathfinding to
hsPoint3fImmediateGoalPos;// the location of the point we are immediately going towards (not necessarily our final goal)
hsScalarfDotGoal;// dot product to our goal
hsScalarfAngRight;// dot product of our local right-hand vector to our goal
hsScalarfStopDistance;// how close we need to get to our goal before stopping
hsScalarfStopDistanceSquared;// the above, squared, for faster calculation
hsScalarfSightConeAngle;// in radians, the width of the cone we can see (/2 on each side of where we face, so 90deg cone is 45deg on each side)
hsScalarfSightConeDotMin;// the minimum dot-product of the cone we can see (1 - straight ahead only, 0 - 90deg either side, -1 - 180 behind, or full 360)
hsScalarfSightDistance;// how far away we can see (cone in front of us)
hsScalarfSightDistanceSquared;// the above, squared, for faster calculation
hsScalarfHearingDistance;// how far away we can hear (360 degrees)
hsScalarfHearingDistanceSquared;// the above, squared, for faster calculation
hsScalarfLoudHearingDistanceSquared;// how far away we can hear loud noises, squared, for faster calculation
std::map<std::string,std::vector<int>>fUserBehaviors;// string is behavior name, internal vector is the list of behaviors that are randomly picked from
std::vector<plKey>fReceivers;// list of people that want messages from us