package RTDB

MovementPolicy
{
	bool ignoreCollisionAvoidance = false;
	bool ignoreSpotReservation = false;
	bool ignoreRestrictedMovementArea = false;
	bool avoidSafeArea = false;
	bool ignoreNavigation = false;
	bool stopOnObstacle = false;
	bool ignoreLoSPrecheck = false;
	bool avoidObstacleWithinTolerance = false;
	bool avoidThreat = false;
	bool avoidThreatIgnoringDirection = false;
	bool dontUseStart = false;
	bool dontUseStop = false;
	bool useOffMeshAllowedTags = false;
	bool useOffMeshBlockedTags = false;
	bool calculateStartTangent = false;
	bool useFollowSlots = false;
	bool symmetricAnglesScores = false;
	bool getOutOfWay = false;
	fk< MovementPolicyTagList >[] allowedTags = [];
	fk< MovementPolicyTagList >[] blockedTags = [];
	fk< AIActionTarget > target = "";
	fk< AIActionTarget > strafingTarget = "";
	fk< AIActionTarget > destinationOrientationPosition = "";
	float distance = 0.f;
	float tolerance = 0.f;
	float zDiff = -1.0f;
	fk< AIRingType > ring = "AIRingType.Undefined";
	float ringDistanceOffset = 0.f;
	float ringDistanceMult = -1.f;
	float ringToleranceOffset = 0.f;
	float ringToleranceMult = -1.f;
	float minDistance = 0.f;
	float strafingPredictionTime = 0.3f;
	float strafingPredictionVelocityMax = 10.f;
	float strafingRotationOffset = 0.f;
	float deadAngle = 40.f;
	float dynamicTargetUpdateTimer = 0.f;
	float dynamicTargetUpdateDistance = 0.f;
	float avoidThreatRange = 9.f;
	float avoidThreatCost = 9.f;
	CName movementType = "Walk";
	CName keepLineOfSight = "None";
	CName lineOfSightPointPreference = "None";
	CName circlingDirection = "None";
	Vector3 spatialHintMults = ( 1.f, 1.f, 1.f );
	CName maxPathLengthToDirectDistanceRatioCurve = "";
	float maxPathLength = -1.0f;
	CName debugName = "Script";
}

MovementPolicyTagList
{
	fk< AIActionCondition > condition = "";
	CName[] tags = [];
}

