class CAI_MovementGaitSettings
{
public:
// MPropertySortPriority = 4
// MPropertyFriendlyName = Speed Range (optional)
CRangeFloat m_speedRange;
// MPropertySortPriority = 3
CRangeFloat m_stopDistanceRange;
// MPropertySortPriority = 2
CRangeFloat m_hopDistanceRange;
// MPropertySortPriority = 5
// MPropertyFriendlyName = Speed (Preferred)
float32 m_flPreferredSpeed;
// MPropertySortPriority = 1
float32 m_flStartDistance;
// MPropertySortPriority = 0
// MPropertyFriendlyName = Min Turn Radius
float32 m_flMinTurnRadius;
// MPropertySortPriority = 6
CBitVecEnum<MovementCapability_t> m_capabilities;
// MPropertyGroupName = Additional Settings
float32 m_flAcceleration;
// MPropertyGroupName = Additional Settings
float32 m_flDeceleration;
// MPropertyGroupName = Additional Settings
CPiecewiseCurve m_decelerationCurve;
// MPropertyGroupName = Additional Settings
float32 m_flProceduralIdleTurnSpeed;
// MPropertyGroupName = Additional Settings
AI_MovementHeadingSettings_t m_heading;
// MPropertyGroupName = Additional Settings
float32 m_flMaxIdleTurnScaleUp;
// MPropertyGroupName = Additional Settings
// MPropertyDescription = What angle between the current move direction and the direction to the next waypoint will trigger a planted turn. Any value <= 0 will use the sharp angle from the vmdl movement settings.
float32 m_flMovementPlantedTurnAngleThreshold;
// MPropertyGroupName = Additional Settings
float32 m_flBashStartDistance;
// MPropertyGroupName = Additional Settings
float32 m_flMinBashDelay;
// MPropertyGroupName = Additional Settings
CRangeFloat m_flMantleDelayRange;
// MPropertyGroupName = Additional Settings
float32 m_flMantleStartDistance;
// MPropertyFlattenIntoParentRow
bool m_bEnabled;
};
KV3 Class Defaults
{
m_speedRange = 0.0
m_stopDistanceRange = 0.0
m_hopDistanceRange = 0.0
m_flPreferredSpeed = 75.0
m_flStartDistance = 0.0
m_flMinTurnRadius = 0.0
m_capabilities = ""
m_flAcceleration = 150.0
m_flDeceleration = 500.0
m_decelerationCurve =
{
m_spline =
[
{
x = 0.0
y = 1.0
m_flSlopeIncoming = -0.4
m_flSlopeOutgoing = -0.4
},
{
x = 1.0
y = 0.6
m_flSlopeIncoming = -0.4
m_flSlopeOutgoing = -0.4
},
]
m_tangents =
[
{
m_nIncomingTangent = "CURVE_TANGENT_SPLINE"
m_nOutgoingTangent = "CURVE_TANGENT_SPLINE"
},
{
m_nIncomingTangent = "CURVE_TANGENT_SPLINE"
m_nOutgoingTangent = "CURVE_TANGENT_SPLINE"
},
]
m_vDomainMins = [ 0.0, 0.6 ]
m_vDomainMaxs = [ 1.0, 1.0 ]
}
m_flProceduralIdleTurnSpeed = 180.0
m_heading =
{
m_eMode = "eContinuous"
m_bUseBadZones = true
m_badZones = [ ]
m_flPredictionLookAhead = 0.0
}
m_flMaxIdleTurnScaleUp = 0.2
m_flMovementPlantedTurnAngleThreshold = 120.0
m_flBashStartDistance = 0.0
m_flMinBashDelay = 3.0
m_flMantleDelayRange = [ 1.0, 4.0 ]
m_flMantleStartDistance = 50.0
m_bEnabled = true
}