package player

deathMenu
{
	float delayToDisplay = 3.0;
	float delayToDisplayKillTrigger = 3.0;
}

locomotion
{
	float maxGroundSpeed = 15.0;
	float maxAirXYSpeed = 18.0;
	float extendedMaxGroundSpeed = 30.0;
	float extendedMaxAirXYSpeed = 30.0;
}

crosshair
{
	float screenSpaceX = 0.0;
	float screenSpaceY = 0.0;
}

camera
{
	bool disableHeadBobbing = false;
	float meleeCameraShakeWeight = 1.f;
	float standHeight = -1.f;
	float crouchHeight = -1.f;
	float cameraHeighOffset = 0.f;
	bool resetPitch = false;
}

cameraDefault
{
	float is_forward_offset = 1.0f;
	float forward_offset_value = 0.2f;
	float upperbody_pitch_weight = 0.0f;
	float upperbody_yaw_weight = 0.0f;
	float is_pitch_off = 0.0f;
	float is_yaw_off = 0.0f;
}

cameraFinishers
{
	float is_forward_offset = 0.0f;
	float forward_offset_value = 0.2f;
	float upperbody_pitch_weight = 0.0f;
	float upperbody_yaw_weight = 0.0f;
	float is_pitch_off = 0.0f;
	float is_yaw_off = 0.0f;
}

cameraTakedowns
{
	float is_forward_offset = 0.0f;
	float forward_offset_value = 0.2f;
	float upperbody_pitch_weight = 0.0f;
	float upperbody_yaw_weight = 0.0f;
	float is_pitch_off = 0.0f;
	float is_yaw_off = 0.0f;
}

cameraGrapple
{
	float is_forward_offset = 1.0f;
	float forward_offset_value = -0.2f;
	float upperbody_pitch_weight = 0.0f;
	float upperbody_yaw_weight = 0.0f;
	float is_pitch_off = 0.0f;
	float is_yaw_off = 0.0f;
}

stealth
{
	float durationOfGracePeriodAfterSpawn = 2.7f;
	bool broadcastFootstepStim = false;
	bool broadcastLandingStim = false;
	bool playDetectedSound = true;
	float farVisibilityDistance = 200.0f;
	float nearVisibilityDistance = 6.5f;
	float extraEvalVisibilityDistance = 3.0f;
	float chestVisibilityZOffset = 1.35f;
	float crouchVisibilityZOffset = 0.6f;
}

quickMelee
{
	float quickMeleeCooldown = 5.0f;
	float quickMeleeVehicleMinHealthPercentWhenDamaged = 20.0f;
}

melee
{
	float meleeMaxDefendAngle = 45.0f;
	float meleeMaxDefendAngleKerenzikov = 90.0f;
	float maxLookbackDefendAngle = 150.0f;
}

grapple
{
	bool canGrappleCivilian = true;
	bool civilianConnectedToSecurityRequired = true;
}

onHitRumble
{
	float medIntensityThreshold = 0.3;
	float highIntensityThreshold = 0.5;
	float meleeMedIntensityThreshold = -1.00;
	float meleeHighIntensityThreshold = 0.00;
}

onFootstepRumble
{
	float minFootstepDistanceThreshold = 1.f;
	float medFootstepDistanceThreshold = 4.f;
	float maxFootstepDistanceThreshold = 7.f;
}

cameraShake
{
	bool enableOnHitCameraShake = true;
	bool useMinMaxRangeValues = true;
	float meleeLowMin = 0.02f;
	float meleeLowMax = 0.09f;
	float meleeMedMin = 0.3f;
	float meleeMedMax = 0.4f;
	float meleeHighMin = 0.7f;
	float meleeHighMax = 0.8f;
	float explosionLowMin = 0.08f;
	float explosionLowMax = 0.1f;
	float explosionMedMin = 0.6f;
	float explosionMedMax = 0.9f;
	float explosionHighMin = 1.0f;
	float explosionHighMax = 2.0f;
	float defaultLowMin = 0.03f;
	float defaultLowMax = 0.1f;
	float defaultMedMin = 0.11f;
	float defaultMedMax = 0.18f;
	float defaultHighMin = 0.19f;
	float defaultHighMax = 0.34f;
	float outOfOxyMin = 0.09f;
	float outOfOxyMax = 0.15f;
	float footstepWalkLow = 0.09f;
	float footstepWalkMed = 0.1f;
	float footstepWalkHigh = 0.20f;
	float footstepSprintLow = 0.15f;
	float footstepSprintMed = 0.25f;
	float footstepSprintHigh = 0.44f;
}

damageThresholds
{
	float meleeLowDamageThreshold = 0.f;
	float meleeMedDamageThreshold = 0.1f;
	float meleeHighDamageThreshold = 0.4f;
	float explosionLowDamageThreshold = 0.f;
	float explosionMedDamageThreshold = 0.4f;
	float explosionHighDamageThreshold = 0.7f;
	float lowDamageThreshold = 0.0f;
	float medDamageThreshold = 0.2f;
	float highDamageThreshold = 0.3f;
}

weapon
{
	bool enableWeaponBlur = false;
	float blockbreakDamageFactor = 0.4f;
	float maxRicochetSearchDistance = 12.f;
}

hitVFX
{
	float delay = 0.2f;
	float lowHealthThreshold = 40.f;
	float critHealthThreshold = 20.f;
	bool useCriticalThreshold = false;
	float critHealthRumbleEndThreshold = 30.0f;
	float critHealthRumbleMaxDuration = 8.0f;
}

oxygenThresholds
{
	float critOxygenThreshold = 10.f;
	float lowOxygenThreshold = 20.f;
}

staminaThresholds
{
	float exhaustedThreshold = 1.f;
}

staminaCosts
{
	float sprint = 0.0f;
	float crouchSprint = 0.4f;
	float slide = 0.0f;
	float jump = 0.0f;
	float dodge = 25.0f;
	float airDodge = 33.0f;
	float blockStaminaDelay = 0.66;
	float leapAttack = 15.0f;
	float airLeapAttack = 20.0f;
}

staminaSFXEvent
{
	float threshold = 0.5f;
	float delay = 1.f;
	CName sfxName = "lcm_breathing_stamina";
}

rocketSpiralTest
{
	bool enabled = true;
	float rampupDistanceStart = 0.0f;
	float ramupDistanceEnd = 5.0f;
	bool randomizePhase = false;
	float radius = 0.13f;
	float cycleTimeMin = 0.5f;
	float cycleTimeMax = 0.5f;
}

covers
{
	float minHoleSizeToPeak = 0.21f;
	float edgeProbingMaxExtent = 0.98f;
	float minSpaceBehind = 1.0f;
	float minThickness = 0.195f;
	int thicknessTestNumRays = 2;
	float coverDetectionRangeForLean = 3.9f;
	float maxLeanDist = 0.55f;
	float optimalLeanDistFromEdge = 0.2f;
	float facingAngleBlendOffStart = 1.0f;
	float facingAngleBlendOffEnd = 10.0f;
	float maxFacingCorrectionOnLeanActivation = 20.0f;
	float coverDetectionRangeForStand = 2.5f;
	float maxStandDist = 0.55f;
	float optimalStandDistFromEdge = 0.15f;
	float gunRefPointOffset = 0.34f;
	Vector2 gunDistFromCoverActivationRange = ( 0.6f, 1.1f );
	Vector2 gunDistPassedCoverActivationRange = ( 0.0, 0.25f );
	float blockedTimeout = 0.35f;
	float activationOnlyMaxLeanTime = 0.4f;
	float switchLeanDir_maxLean = 0.25f;
	float switchLeanDirFromUp_maxLean = 0.05f;
	float hasLineOfSightBuffer = 0.05f;
	float hasLineOfSightBufferTimeout = 1.5f;
	float forwardMovementToLeanRatio = 0.2f;
	float leanExcessMaxBlend = 0.7f;
	float leanExcessMinBlend = 0.01f;
	float leanExcessBlendRatio = 3.0f;
}

coversHighWaterMark
{
	float minPositionChange_side = 0.25f;
	float leanChangePerMeter_side = 1.0f;
	float leanChangePerMeterTowardsLean_side = 0.4f;
	float minAngleChange_side = 20.0f;
	float leanChangePerDegree_side = 0.01f;
	float validLeanReductionBuffer_side = 0.15f;
	float invalidLeanReductionBuffer_side = 0.55f;
	float minPositionChange_up = 0.5f;
	float leanChangePerMeter_up = 0.4f;
	float minAngleChange_up = 10.0f;
	float leanChangePerDegree_up = 0.01f;
	float validLeanReductionBuffer_up = 0.1f;
	float InvalidLeanReductionBuffer_up = 0.3f;
}

closestCover
{
	float detectionRange = 0.8f;
	float detectionHeight = 0.65f;
}

dofDefault
{
	float intensity = 0.f;
	float nearBlur = -1.f;
	float nearFocus = -1.f;
	float farBlur = -1.f;
	float farFocus = -1.f;
	float dofBlendInTime = -1.0;
	float dofBlendOutTime = -1.0;
}

dofHandgunAiming : dofDefault
{
	float intensity = 0.5;
	float nearBlur = 0.2;
	float nearFocus = 0.1227;
	float farBlur = 0.0;
	float farFocus = 100000.0;
}

dofCyberware : dofDefault
{
	float intensity = 0.1;
	float nearBlur = 10;
	float nearFocus = 0.1220;
	float farBlur = 0.0;
	float farFocus = 100000.0;
}

dofFirstEquip : dofDefault
{
	float intensity = 1.0;
	float nearBlur = 0.0;
	float nearFocus = 0.0;
	float farBlur = 15.0;
	float farFocus = 1.0;
	float dofBlendInTime = 1.0;
	float dofBlendOutTime = 0.3;
}

obstacleDetection
{
	float zOffset = 0.6f;
	float zOffsetSwimming = 0.0f;
	float probingPrecision = 0.01f;
	bool useRaycastInsteadOfSweep = false;
	float approximateCameraHeight = 1.6f;
}

slopeDetection
{
	float queryDistanceOffset = -0.5f;
	float queryRadius = 0.3f;
	float queryLength = 2.5f;
}

hedgehog
{
	float raycastLength = 120.f;
}

secureFooting
{
	CName unsecureCollisionFilterName = "AI";
	CName slopeCurveName = "slope_curve";
	float maxVerticalDistanceForCentreRaycast = 0.35f;
	float maxAngularDistanceForOtherRaycasts = 30.0f;
	float maxStaticGroundFactor = -1.f;
	float standingMinCollisionHorizontalDistance = 0.2f;
	int standingMinNumberOfRaycasts = 3;
	float fallingMinCollisionHorizontalDistance = 0.1f;
	int fallingMinNumberOfRaycasts = 5;
	float minVelocityForFalling = -0.5f;
	bool needsCentreRaycast = true;
}

externalImpules
{
	float bilboard = 5.0f;
}

CPODataRaceParams
{
	float armorDPS = 2.0f;
	float healthDPS = 2.0f;
}

CPODataRaceParamsIncreasedDmg
{
	float armorDPS = 4.0f;
	float healthDPS = 4.0f;
}

CPODataRaceParamsArmorOnly
{
	float armorDPS = 3.f;
	float healthDPS = 0.f;
}

CPODataRaceParamsHealthOnly
{
	float armorDPS = 0.f;
	float healthDPS = 1.f;
}

CPODataRaceParamsNoDmg
{
	float armorDPS = 0.f;
	float healthDPS = 0.f;
}

RPGInput
{
	bool equipMeleeOnQuickMeleeHit = true;
	bool equipMeleeOnQuickMeleeHold = true;
}

npcAvoidance
{
	float avoidanceRadiusSpeedInflationFactor = 0.1f;
}

vehicle
{
	bool canEnterDriverCombat = true;
}

vehicleQuickHacks
{
	float maxRange = 100.0f;
	float forceBrakesDuration = 10.0f;
	float accelerateDuration = 6.0f;
	float accelerateMaxTurningAmount = 0.05f;
	float vehicleQuickhackStimVisualRange = 15.0f;
	float vehicleQuickhackStimAudioRange = 13.0f;
	float vehicleQuickhackIllegalStimDuration = 2.0f;
	float vehicleQuickhackAlarmStimDuration = 6.0f;
	float reevaluateDetectionRange = 40.f;
	float distanceAllowedToScanCiviliansInCars = 25.f;
}

defaultPlayer
{
	fk< Character > playerCharacterId = "Character.Player_Puppet_Base";
}

