package AimAssist
using RTDB

AimAssistMagnetism_Default : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( .80f, .50f );
	float maxTimeTillOffTarget = 0.2f;
	float minTimeTillOffTarget = 0.06f;
	CName distanceMultiplier = "Default_DistanceMod";
	CName stickInputMagMultiplier = "Default_InputMod";
	float blendOnTime = 0.0f;
	float blendOffTime = 0.35f;
	bool checkWeaponEffectiveRange = false;
	bool disableWithNoInput = false;
	float fullStickYawAngleDisable = 10.0f;
}

AimAssistMagnetism_Exhausted_Default : AimAssistMagnetism_Default
{
	Vector2 maxStrength = ( .40f, .30f );
}

AimAssistMagnetism_Exhausted_Heavy : AimAssistMagnetism_Default
{
	Vector2 maxStrength = ( .65f, .40f );
}

AimAssistMagnetism_DefaultLight : AimAssistMagnetism_Default
{
	Vector2 maxStrength = ( 0.45f, 0.35f );
}

AimAssistMagnetism_DefaultHeavy : AimAssistMagnetism_Default
{
	Vector2 maxStrength = ( 1.00f, .65f );
	float blendOnTime = 0.0001f;
	float fullStickYawAngleDisable = 15.0f;
}

AimAssistMagnetism_Melee : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( 1.0f, 1.0f );
	float maxTimeTillOffTarget = 0.15f;
	float minTimeTillOffTarget = 0.033f;
	CName distanceMultiplier = "Melee_DistanceMod";
	CName stickInputMagMultiplier = "Melee_InputMod";
	float blendOnTime = 0.0001f;
	float blendOffTime = 0.5f;
	bool finishingEnabled = false;
	bool disableWithNoInput = false;
}

AimAssistMagnetism_MeleeLight : AimAssistMagnetism_Melee
{
	Vector2 maxStrength = ( 0.6f, 0.6f );
	float blendOffTime = 0.2f;
}

AimAssistMagnetism_Aiming : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( .99f, .8f );
	float maxTimeTillOffTarget = 0.15f;
	float minTimeTillOffTarget = 0.06f;
	CName distanceMultiplier = "Aiming_DistanceMod";
	CName stickInputMagMultiplier = "Aiming_InputMod";
	float blendOnTime = 0.01f;
	float blendOffTime = 0.1f;
	float softLockTimeToReach = 0.45f;
	float pitchBoundAdditiveForYawMagnetism = .75f;
	float yawBoundAdditiveForPitchMagnetism = .75f;
	bool checkWeaponEffectiveRange = false;
	bool disableWithNoInput = false;
}

AimAssistMagnetism_AimingLight : AimAssistMagnetism_Aiming
{
	Vector2 maxStrength = ( 0.45f, 0.4f );
	float fullStickYawAngleDisable = 32.5f;
}

AimAssistMagnetism_AimingHeavy : AimAssistMagnetism_Aiming
{
	Vector2 maxStrength = ( 1.0f, 1.0f );
	float fullStickYawAngleDisable = 32.5f;
}

AimAssistMagnetism_VehicleCombat : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( 0.85f, 0.85f );
	float maxTimeTillOffTarget = 0.25f;
	float minTimeTillOffTarget = 0.1f;
	CName distanceMultiplier = "VehicleCombat_DistanceMod";
	CName stickInputMagMultiplier = "";
	float blendOnTime = 0.05f;
	float blendOffTime = 0.2f;
	bool disableWithNoInput = false;
	float pitchBoundAdditiveForYawMagnetism = 4.0f;
	float yawBoundAdditiveForPitchMagnetism = 5.0f;
}

AimAssistMagnetism_VehicleCombatLight : AimAssistMagnetism_VehicleCombat
{
	Vector2 maxStrength = ( 0.3f, 0.3f );
}

AimAssistMagnetism_DriverCombat : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( 1.0f, 1.0f );
	float maxTimeTillOffTarget = 9999.0f;
	float minTimeTillOffTarget = 9999.0f;
	CName distanceMultiplier = "VehicleDrivingCombat_DistanceMod";
	CName stickInputMagMultiplier = "";
	float blendOnTime = 0.0f;
	float blendOffTime = 0.5f;
	bool disableWithNoInput = false;
	bool targetLostBlendOut = false;
	bool checkWeaponEffectiveRange = false;
	float softLockMinimumMagnetism = -1.f;
	float softLockTimeToReach = 0.0f;
	float softLockBlendInTime = 0.0f;
	bool trackedTargetAutoTargeting = true;
}

AimAssistMagnetism_DriverCombat_Light : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( 1.0f, 1.0f );
	float maxTimeTillOffTarget = 0.1f;
	float minTimeTillOffTarget = 0.05f;
	CName distanceMultiplier = "VehicleDrivingCombat_DistanceMod";
	CName stickInputMagMultiplier = "";
	float blendOnTime = 0.0f;
	float blendOffTime = 0.5f;
	bool disableWithNoInput = false;
	bool targetLostBlendOut = false;
	bool checkWeaponEffectiveRange = false;
	float softLockMinimumMagnetism = -1.f;
	float softLockTimeToReach = 0.0f;
	float softLockBlendInTime = 0.0f;
	bool trackedTargetAutoTargeting = true;
}

AimAssistMagnetism_DriverCombatAiming : AimAssistMagnetism_Aiming
{
	bool targetLostBlendOut = false;
}

AimAssistMagnetism_DriverCombatAimingLight : AimAssistMagnetism_AimingLight
{
	bool targetLostBlendOut = false;
}

AimAssistMagnetism_DriverCombatAimingHeavy : AimAssistMagnetism_AimingHeavy
{
	bool targetLostBlendOut = false;
}

AimAssistMagnetism_DriverCombatMeleeTPP : AimAssistMagnetism
{
	bool isEnabled = false;
	Vector2 maxStrength = ( 1.0f, 1.0f );
	float maxTimeTillOffTarget = -9999.0f;
	float minTimeTillOffTarget = -9999.0f;
	CName distanceMultiplier = "VehicleDrivingCombatMelee_DistanceMod";
	CName stickInputMagMultiplier = "";
	float blendOnTime = 0.0f;
	float blendOffTime = 0.0f;
	bool disableWithNoInput = false;
	bool targetLostBlendOut = false;
	bool checkWeaponEffectiveRange = false;
	float softLockMinimumMagnetism = -1.f;
	float softLockTimeToReach = 0.0f;
	float softLockBlendInTime = 0.0f;
	bool trackedTargetAutoTargeting = true;
}

AimAssistMagnetism_Scanning : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( 0.8f, 0.8f );
	float maxTimeTillOffTarget = 0.25f;
	float minTimeTillOffTarget = 0.15f;
	CName distanceMultiplier = "Scanning_DistanceMod";
	CName stickInputMagMultiplier = "Default_InputMod";
	float blendOnTime = 0.005f;
	float blendOffTime = 0.25f;
	bool checkWeaponEffectiveRange = false;
}

AimAssistMagnetism_ScanningLight : AimAssistMagnetism_Scanning
{
	Vector2 maxStrength = ( 0.45f, 0.45f );
}

AimAssistMagnetism_ScanningHeavy : AimAssistMagnetism_Scanning
{
	Vector2 maxStrength = ( .85f, .85f );
}

AimAssistMagnetism_QuickMelee : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( 1.0f, 0.6f );
	float maxTimeTillOffTarget = 0.15f;
	float minTimeTillOffTarget = 0.033f;
	CName distanceMultiplier = "Melee_DistanceMod";
	CName stickInputMagMultiplier = "Melee_InputMod";
	float blendOnTime = 0.01f;
	float blendOffTime = 0.35f;
	bool finishingEnabled = false;
	bool disableWithNoInput = false;
}

AimAssistMagnetism_QuickMeleeLight : AimAssistMagnetism_QuickMelee
{
	Vector2 maxStrength = ( 0.5f, 0.35f );
}

AimAssistMagnetism_LeftHandCyberware : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( 0.65f, 0.6f );
	float maxTimeTillOffTarget = 0.15f;
	float minTimeTillOffTarget = 0.033f;
	CName distanceMultiplier = "Default_DistanceMod";
	CName stickInputMagMultiplier = "Default_InputMod";
	float blendOnTime = 0.01f;
	float blendOffTime = 0.35f;
}

AimAssistMagnetism_LeftHandCyberwareLight : AimAssistMagnetism_LeftHandCyberware
{
	Vector2 maxStrength = ( 0.35f, 0.3f );
}

AimAssistMagnetism_LeftHandCyberwareHeavy : AimAssistMagnetism_LeftHandCyberware
{
	Vector2 maxStrength = ( 0.8f, 0.75f );
}

AimAssistMagnetism_LeftHandCyberwareCharge : AimAssistMagnetism
{
	bool isEnabled = true;
	Vector2 maxStrength = ( 0.8f, 0.7f );
	float maxTimeTillOffTarget = 0.15f;
	float minTimeTillOffTarget = 0.033f;
	CName distanceMultiplier = "Default_DistanceMod";
	CName stickInputMagMultiplier = "Default_InputMod";
	float blendOnTime = 0.01f;
	float blendOffTime = 0.35f;
}

AimAssistMagnetism_LeftHandCyberwareChargeLight : AimAssistMagnetism_LeftHandCyberwareCharge
{
	Vector2 maxStrength = ( 0.55f, 0.45f );
}

AimAssistMagnetism_LeftHandCyberwareChargeHeavy : AimAssistMagnetism_LeftHandCyberwareCharge
{
	Vector2 maxStrength = ( 0.9f, 0.8f );
}

AimAssistMagnetism_ZoomLevel1 : AimAssistMagnetism_Aiming
{
	Vector2 maxStrength = ( 1.00f, .65f );
}

AimAssistMagnetism_ZoomLevel2 : AimAssistMagnetism_Aiming
{
	Vector2 maxStrength = ( 1.00f, .90f );
	CName distanceMultiplier = "ZoomLevel2_DistanceMod";
}

AimAssistMagnetism_ZoomLevel1Light : AimAssistMagnetism_ZoomLevel1
{
	Vector2 maxStrength = ( 0.45f, 0.35f );
}

AimAssistMagnetism_ZoomLevel2Light : AimAssistMagnetism_ZoomLevel2
{
	Vector2 maxStrength = ( 0.75f, 0.55f );
}

AimAssistMagnetism_ZoomLevel1Heavy : AimAssistMagnetism_Aiming
{
	Vector2 maxStrength = ( 1.00f, .75f );
}

AimAssistMagnetism_ZoomLevel2Heavy : AimAssistMagnetism_Aiming
{
	Vector2 maxStrength = ( 1.00f, .95f );
	CName distanceMultiplier = "ZoomLevel2_DistanceMod";
}

