package PreventionSystem
using RTDB

chase_unmounting
{
	float ringWidth = 20.0f;
	float[] thresholds = 
	[
		3.0f, 7.0f
	];
}

chase_rubberbanding
{
	float minTractionBoostSpeed = 5.0f;
	float maxTractionBoostSpeed = 25.0f;
	float maxTractionBoost = 2.0f;
	float[] boostDistanceThresholds = 
	[
		50.0f, 100.0f
	];
	float[] accelerationBoosts = 
	[
		1.0f, 2.0f
	];
}

chase_shooting
{
	int maxIntensityPoints = 3;
	int driverAndPassangerShootingIntensityPoints = 2;
	int passangerShootingIntensityPoints = 1;
}

chase_collisions
{
	float latTractionBoostOverride = -0.6f;
	float longTractionBoostOverride = -0.4f;
	float engineBoostOverride = -0.35f;
}

behaviours_common
{
	float maxManeuverOnCurvesSpeed = 15.0f;
	float specialManoeuvresRange = 30.0f;
	float onFailedAlignmentCollisionCheckCooldown = 2.0f;
	float onFailedSideCheckCooldown = 0.25f;
	float maxRammingMass = 5000.0f;
	float cosThresholdForSharpTurn = 0.7f;
	float minImpulseToStunAI = 14.0f;
	float maxTimeSpentInStun = 5.0f;
	float combatManeuverCooldown = 5.0f;
	float blockingManeuverCooldown = 0.0f;
	float driveByManeuverCooldown = 10.0f;
	float preventionFreeAreaPenetrationRange = 30.0f;
	float topSpeed = 40.0f;
	float boostedStatsTopSpeed = 60.0f;
	float boostedStatsBoostMultiplier = 3.0f;
}

lateral_driving
{
	float lateralDistance = 3.0f;
}

drive_by
{
	float transitionChance = 0.0f;
	float duration = 15.0f;
	float lateralDistance = 5.0f;
	float targetInterpolationSpeedMin = 10.0f;
	float targetInterpolationSpeedMax = 50.0f;
	float targetDistanceFactorMin = 0.0f;
	float targetDistanceFactorMax = 50.0f;
}

ramming
{
	float minBehindDot = 0.0f;
	float maxBehindDot = 0.3f;
	float maxRange = 5.0f;
	float minRammingSpeed = 10.0f;
	float maxRammingSpeed = 25.0f;
	float minRammingChance = 0.1f;
	float maxRammingChance = 0.6f;
	float maxSpeedAdjustmentDotDeviation = 0.25f;
	float minSpeedAdjustmentSpeedDeviation = -2.5f;
	float maxSpeedAdjustmentSpeedDeviation = 4.0f;
	float maxSpeedDifferenceIfFaster = 2.5f;
	float maxSpeedDifferenceIfSlower = 5.0f;
}

overtaking
{
	float overtakingSpeedDifference = 10.0f;
	float forwardDistance = 5.0f;
}

blocking
{
	float toInFrontDotDeviation = 0.1f;
	float fromInFrontDotDeviation = 0.5f;
	float minTargetPointForwardOffset = 20.0f;
	float maxTargetPointForwardOffset = 35.0f;
	float referenceMinTargetSpeed = 8.0f;
	float referenceMaxTargetSpeed = 22.0f;
	float blockingSpeedDifference = 1.0f;
	float straightPathCheckDistance = 15.0f;
	float targetInterpolationSpeedMin = 10.0f;
	float targetInterpolationSpeedMax = 50.0f;
	float targetDistanceFactorMin = 0.0f;
	float targetDistanceFactorMax = 50.0f;
}

suicide_speed
{
	float inFrontDotDeviation = 0.2f;
	float playerInFrontDotDeviation = 0.2f;
	float minPlayerSpeed = 10.0f;
}

stopped
{
	float maxToStoppedRange = 7.5f;
	float maxFromStoppedRange = 12.0f;
	float maxToStoppedSpeed = 0.75f;
}

front_blocking
{
	float maxRange = 80.0f;
	float minTransitionSpeed = 5.0f;
	float minBlockingSpeed = 1.0f;
	float maxInFrontDotDeviation = 0.5f;
	float minSpeed = 0.0f;
	float maxSpeed = 12.0f;
	float minDistance = 0.0f;
	float maxDistance = 25.0f;
}

slam_brakes
{
	float relativeSpeedDifference = 15.0f;
	float minBrakingSpeed = 6.0f;
	float minBrakingDistance = 7.5f;
	float maxBrakingDistance = 30.0f;
	float brakingTractionBoostMultiplier = 12.0f;
}

encircle
{
	float speedDifference = 5.0f;
	float radius = 5.0f;
	float maxTargetSpeed = 5.0f;
	float backwardsTargetPositionOffset = 5.0f;
}

