package Vehicle
using RTDB, BaseStats, Driving

v_standard2_archer_bandit : Vehicle_4w_Default
{
	entityTemplatePath = "base\vehicles\standard\v_standard2_archer_bandit_01.ent";
	tags += 
	[
		"CanDriveOnVehicles"
	];
	manufacturer = "Vehicle.Archer";
	randomPassengers = 
	[
		"Passengers.LowlifeDriverEntry", "Passengers.LowlifePassengerFrontEntry"
	];
	displayName = "LocKey#78912";
	vehicleUIData = "Vehicle.VehicleArcherBanditUIData";
	fk< UIIcon > icon = "UIIcon.archer_quartz_bandit";
	destroyedAppearance = "archer_bandit_burnt_01";
	widgetStyleSheetPath = "base/gameplay/gui/widgets/vehicle/archer/archer_regular.inkstyle";
	fxWheelsDecalsFrontOverride = "Vehicle.FxWheels_Sport_M";
	fxWheelsDecals = "Vehicle.FxWheels_Sport_XL";
	vehDataPackage = 
	{
		vehSeatSet = "Vehicle.Vehicle2SeatSetDefault";
		wheelBumperVertOffsetScalor = 0.45f;
	} : VehicleDataPackageDefault;
	player_audio_resource = "v_car_archer_quartz_bandit";
	traffic_audio_resource = "v_car_archer_quartz_bandit_traffic";
	enableDestruction = true;
	destruction = "Vehicle.VehicleDestructionParamsArcherBandit";
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.35f;
			rimRadius = 0.27f;
			tireWidth = 0.28f;
			wheelOffset = 0.14f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.35f;
			rimRadius = 0.27f;
			tireWidth = 0.39f;
			wheelOffset = 0.21f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehDriveModelData = 
	{
		chassis_mass = 1220.0f;
		total_mass = 1220.0f;
		maxWheelTurnDeg = 52.f;
		wheelTurnMaxAddPerSecond = 98.f;
		wheelTurnMaxSubPerSecond = 132.f;
		turnUpdateMidSpeedThreshold = 0.f;
		turnUpdateMaxSpeedThreshold = 36.f;
		turnUpdateMaxSpeedTurnChangeMul = 3.0f;
		turnUpdateMaxSpeedTurnMul = 0.32f;
		airResistanceFactor = 2.1f;
		wheelSetup = 
		{
			frontPreset = 
			{
				maxBrakingTorque = 465.0f;
				frictionMulLongitudinal = 0.92f;
				frictionMulLateral = 0.925f;
				tireLateralSlipEffectsMul = 0.52f;
				tireLongitudinalSlipEffectsMul = 0.99f;
				swaybarStiffness = 15.5f;
				springStiffness = 16.0f;
				springDamping = 2000;
				springReboundDamping = 1800.0f;
				springBoundDampingLowRate = 1400.0f;
				springReboundDampingLowRate = 1200.0f;
				extremeCompressionEventScalor = 0.66f;
				logicalSuspensionCompressionLength = 0.46f;
				visualSuspensionDroop = 0.09f;
				wheelsVerticalOffset = 0.02f;
				visualSuspensionCompressionLength = 0.13f;
			} : VehicleWheelDrivingPreset_4_MR_Front;
			backPreset = 
			{
				maxBrakingTorque = 625.0f;
				frictionMulLongitudinal = 0.955f;
				frictionMulLateral = 0.94f;
				tireLateralSlipEffectsMul = 0.99f;
				tireLongitudinalSlipEffectsMul = 0.98f;
				swaybarStiffness = 17.5f;
				springStiffness = 22.0f;
				springDamping = 2800;
				springReboundDamping = 2600.0f;
				springBoundDampingLowRate = 2100.0f;
				springReboundDampingLowRate = 1900.0f;
				extremeCompressionEventScalor = 0.58f;
				logicalSuspensionCompressionLength = 0.47f;
				visualSuspensionDroop = 0.08f;
				wheelsVerticalOffset = 0.01f;
				visualSuspensionCompressionLength = 0.14f;
			} : VehicleWheelDrivingPreset_4_MR_Rear;
		} : VehicleWheelDrivingSetup_4_RWD;
		driveHelpers = 
		[
			{
				type = "Vehicle.RotationLimiter_HelperType";
				driftLimit = 1.3f;
			} : RotationLimiter_MidEngined, 
			{
				type = "Vehicle.RearWheelsFrictionModifier_HelperType";
				minLatFrictionCoef = 0.9f;
				maxSpeed = 13.f;
			} : RearWheelsFrictionModifier_Sport, 
			{
				type = "Vehicle.HandbrakeFrictionModifier_HelperType";
			} : HandbrakeFrictionModifier_MidEngined, 
			{
				type = "Vehicle.UphillDriveHelper_HelperType";
			} : UphillDriveHelper_Standard, 
			{
				type = "Vehicle.InAirGravityModifier_HelperType";
			} : InAirGravityModifier, 
			{
				type = "Vehicle.DriveWheelsAccelerateNoise_HelperType";
			} : DriveWheelsAccelerateNoise_Sport
		];
		burnOut = 
		{
			maxSpeedToInitiateBurnOut = 27.f;
			maxDriveWheelSlipRatio = 24.0f;
			lateralAccelForwardSpeedMaxDecimation = 0.77f;
			maxLateralAccelSlipRatioMultipler = 0.98f;
			maxLongFrictionSlipRatioMultipler = 0.72f;
			minLongFrictionCoeff = 0.73f;
			maxBrakeForceModifier = 0.9f;
			minBrakeForceModifier = 0.01f;
			burnOutGripBonus = 7.0f;
		} : VehicleBurnOut_4w_RWD_Mid;
	} : VehicleDriveModelData_Quartz;
	vehEngineData = 
	{
		gearCurvesPath = "base\gameplay\vehicles\curves\engine_torque\med_balanced_na.curveset";
		engineMaxTorque = 421.0f;
		minRPM = 900.f;
		resistanceTorque = 60.f;
		flyWheelMomentOfInertia = 0.15f;
		gearChangeTime = 0.23f;
		finalGearTorqueDecimationScalor = 0.99f;
		fk< VehicleGear >[] gears = 
		[
			{
				minSpeed = 0.f;
				maxSpeed = 10.f;
				minEngineRPM = 800.f;
				maxEngineRPM = 5200.f;
				torqueMultiplier = 1.0f;
			}, 
			{
				minSpeed = 0.f;
				maxSpeed = 14.f;
				minEngineRPM = 800.f;
				maxEngineRPM = 6100.f;
				torqueMultiplier = 1.0f;
			}, 
			{
				minSpeed = 13.f;
				maxSpeed = 21.0f;
				minEngineRPM = 3300.f;
				maxEngineRPM = 6200.f;
				torqueMultiplier = 0.67f;
			}, 
			{
				minSpeed = 20.f;
				maxSpeed = 27.4f;
				minEngineRPM = 3400.f;
				maxEngineRPM = 6300.f;
				torqueMultiplier = 0.47f;
			}, 
			{
				minSpeed = 26.0f;
				maxSpeed = 32.f;
				minEngineRPM = 3500.f;
				maxEngineRPM = 6400.f;
				torqueMultiplier = 0.34f;
			}, 
			{
				minSpeed = 31.f;
				maxSpeed = 35.3f;
				minEngineRPM = 3700.f;
				maxEngineRPM = 6200.f;
				torqueMultiplier = 0.29f;
			}, 
			{
				minSpeed = 33.5f;
				maxSpeed = 38.f;
				minEngineRPM = 3900.f;
				maxEngineRPM = 6000.f;
				torqueMultiplier = 0.26f;
			}, 
			{
				minSpeed = 35.5f;
				maxSpeed = 42.f;
				minEngineRPM = 4000.f;
				maxEngineRPM = 7100.f;
				torqueMultiplier = 0.24f;
			}
		];
	} : VehicleEngineData_4_Sport;
	vehDriver_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.04f;
		enable_rear_view = true;
		rear_view_offset = ( 0.0000, -0.9593, 1.1053 );
	} : VehicleDriverFPPCameraParamsDefault;
	vehDriverCombat_FPPCameraParams = 
	{
		lookat_yaw_right_offset = 0.2f;
		lookat_yaw_right_up_offset = 0.15f;
		lookat_offset_vertical = 0.04f;
		is_forward_offset = 1.0f;
		forward_offset_value = 0.0f;
	} : VehicleDriverCombatFPPCameraParamsDefault;
	tppCameraPresets = 
	[
		"Camera.VehicleTPP_4w_Archer_Quarz_High_Close", "Camera.VehicleTPP_4w_Archer_Quarz_High_Medium", "Camera.VehicleTPP_4w_Archer_Quarz_High_Far", "Camera.VehicleTPP_4w_Archer_Quarz_High_DriverCombatClose", "Camera.VehicleTPP_4w_Archer_Quarz_High_DriverCombatMedium", "Camera.VehicleTPP_4w_Archer_Quarz_High_DriverCombatFar", "Camera.VehicleTPP_4w_Archer_Quarz_Low_Close", "Camera.VehicleTPP_4w_Archer_Quarz_Low_Medium", "Camera.VehicleTPP_4w_Archer_Quarz_Low_Far", "Camera.VehicleTPP_4w_Archer_Quarz_Low_DriverCombatClose", "Camera.VehicleTPP_4w_Archer_Quarz_Low_DriverCombatMedium", "Camera.VehicleTPP_4w_Archer_Quarz_Low_DriverCombatFar"
	];
	trafficSuspension = "Vehicle.TrafficSuspension_Standard";
}

v_standard2_archer_bandit_quest : v_standard2_archer_bandit
{
	savable = true;
	tags += 
	[
		"Immortal", "IgnoreImpulses"
	];
	player_audio_resource = "v_car_archer_quartz_bandit";
	traffic_audio_resource = "v_car_archer_quartz_bandit_traffic";
	vehDefaultState = 
	{
		DisableAllInteractions = true;
	};
}

VehicleDestructionParamsArcherBandit : VehicleDestructionParamsDefault_4w
{
	gridDimensions = ( 1.7f, 3.9f, 0.3f );
	gridLocalOffset = ( 0.0f, 0.0f, 0.7f );
	chargePortCenter = ( 0.885255814f, -1.33467758f, 0.688443065f );
	glass = 
	[
		{
			component = "window_f";
			effect = "damage_windshield";
			isWindshield = true;
			gridCells = 
			[
				4, 5, 12, 13
			];
			threshold = 0.15;
		}, 
		{
			component = "window_fl";
			effect = "damage_glass_fl";
			gridCells = 
			[
				4, 2, 10
			];
			threshold = 0.1;
		}, 
		{
			component = "window_fr";
			effect = "damage_glass_fr";
			gridCells = 
			[
				5, 3, 11
			];
			threshold = 0.1;
		}, 
		{
			component = "window_bl";
			effect = "damage_glass_bl";
			gridCells = 
			[
				4, 2, 10
			];
			threshold = 0.1;
		}, 
		{
			component = "window_br";
			effect = "damage_glass_br";
			gridCells = 
			[
				5, 3, 11
			];
			threshold = 0.1;
		}, 
		{
			component = "window_b";
			effect = "damage_glass_b";
			gridCells = 
			[
				0, 1, 8, 9
			];
			threshold = 0.1;
		}
	];
	detachableParts = 
	[
		{
			name = "license_plate_f";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.07;
			components = 
			[
				"license_plate_f"
			];
		}, 
		{
			name = "license_plate_b";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.07;
			components = 
			[
				"license_plate_b"
			];
		}, 
		{
			name = "Hood";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.8;
			components = 
			[
				"hood_a_02"
			];
		}, 
		{
			name = "BumperFront";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.7;
			components = 
			[
				"bumper_f_01", "bumper_f_shadow"
			];
		}, 
		{
			name = "BumperBack";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.6;
			components = 
			[
				"bumper_b_01", "bumper_b_shadow"
			];
		}, 
		{
			name = "DoorFrontLeft";
			gridCells = 
			[
				4
			];
			threshold = 0.7;
			components = 
			[
				"door_fl_a", "window_fl"
			];
		}, 
		{
			name = "DoorFrontRight";
			gridCells = 
			[
				5
			];
			threshold = 0.7;
			components = 
			[
				"door_fr_a", "window_fr"
			];
		}, 
		{
			name = "MirrorLeft";
			gridCells = 
			[
				4
			];
			threshold = 0.07;
			components = 
			[
				"mirror_fl"
			];
		}, 
		{
			name = "MirrorRight";
			gridCells = 
			[
				5
			];
			threshold = 0.07;
			components = 
			[
				"mirror_fr"
			];
		}
	];
	wheels = 
	[
		{
			name = "FrontLeft";
			intact = "tire_02_fl_a";
		}, 
		{
			name = "FrontRight";
			intact = "tire_02_fr_a";
		}, 
		{
			name = "BackRight";
			intact = "tire_02_br_a";
			hitsToFlatten = 2;
		}, 
		{
			name = "BackLeft";
			intact = "tire_02_bl_a";
			hitsToFlatten = 2;
		}
	];
	lights = 
	[
		{
			component = "head_light_left_01";
			gridCells = 
			[
				6
			];
			threshold = 0.1f;
		}, 
		{
			component = "head_light_left_02";
			gridCells = 
			[
				6
			];
			threshold = 0.1f;
		}, 
		{
			component = "head_light_right_01";
			gridCells = 
			[
				7
			];
			threshold = 0.1f;
		}, 
		{
			component = "head_light_right_02";
			gridCells = 
			[
				7
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_ left_01";
			gridCells = 
			[
				6
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_right_01";
			gridCells = 
			[
				7
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_left_02";
			gridCells = 
			[
				0
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_right_02";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "brake_light_01";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.2f;
		}, 
		{
			component = "brake_light_left_01";
			gridCells = 
			[
				0
			];
			threshold = 0.1f;
		}, 
		{
			component = "brake_light_right_01";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "brake_light_right_02";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "reverse_light_right_01";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}
	];
	deformableParts = 
	[
		{
			component = "hood_a_02";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2, 3, 4, 5
					];
					gridCells = 
					[
						6, 7
					];
				}
			];
		}, 
		{
			component = "trunk_a";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2, 3
					];
					gridCells = 
					[
						0, 1
					];
				}
			];
		}, 
		{
			component = "bumper_f_01";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2, 3
					];
					gridCells = 
					[
						6, 7, 14, 15
					];
				}
			];
		}, 
		{
			component = "body_01";
			zones = 
			[
				{
					shapes = 
					[
						7, 8
					];
					gridCells = 
					[
						6, 7
					];
				}, 
				{
					shapes = 
					[
						0, 2, 5
					];
					gridCells = 
					[
						0, 1
					];
				}
			];
		}
	];
}

VehicleArcherBanditUIData : VehicleDefaultUIData
{
	productionYear = "2041-2077";
	driveLayout = "LocKey#45371";
	horsepower = 364.0f;
	mass = 1140.0f;
	info = "LocKey#78914";
}

