package Vehicle
using RTDB, BaseStats, Driving

v_standard3_mahir_supron_kurtz : Vehicle_4w_Default
{
	entityTemplatePath = "ep1\vehicles\standard\v_standard3_mahir_supron_kurtz_basic_01.ent";
	visualTags = 
	[
		"Standard"
	];
	tags += 
	[
		"CanDriveOnVehicles"
	];
	manufacturer = "Vehicle.Mahir";
	displayName = "LocKey#94000";
	vehicleUIData = "Vehicle.VehicleMahirSupronKurtzUIData";
	destroyedAppearance = "mahir_supron_kurtz_basic_burnt_01";
	headlightColor = 
	[
		255, 240, 200, 255
	];
	fxWheelsDecals = "Vehicle.FxWheels_AllTerrain_M";
	player_audio_resource = "v_car_mahir_supron_kurtz";
	traffic_audio_resource = "v_car_mahir_supron_kurtz_traffic";
	vehDataPackage = "Vehicle.MahirSupronKurtzDataPackage";
	weapons = 
	[
		"Vehicle.Vehicle_Power_Weapon_Left_A", "Vehicle.Vehicle_Power_Weapon_Right_A", "Vehicle.Vehicle_Power_Weapon_Left_B", "Vehicle.Vehicle_Power_Weapon_Right_B", "Vehicle.Vehicle_Power_Weapon_Left_C", "Vehicle.Vehicle_Power_Weapon_Right_C", "Vehicle.Vehicle_Missile_Launcher_A", "Vehicle.Vehicle_Missile_Launcher_B", "Vehicle.Vehicle_Missile_Launcher_C"
	];
	statModifierGroups += 
	[
		"VehicleStatPreset.VeryDurable", "VehicleStatPreset.Prevention"
	];
	enableDestruction = true;
	isArmoredVehicle = true;
	destruction = "Vehicle.VehicleDestructionParamsSupronKurtz";
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.505f;
			rimRadius = 0.38f;
			tireWidth = 0.36f;
			wheelOffset = 0.14f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.505f;
			rimRadius = 0.38f;
			tireWidth = 0.36f;
			wheelOffset = 0.14f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehDriveModelData = "Vehicle.VehicleDriveModelData_SupronKurtz";
	vehEngineData = 
	{
		engineMaxTorque = 445.f;
		finalGearTorqueDecimationScalor = 0.99f;
		reverseDirDelay = 0.35f;
	} : VehicleEngineData_4_Regular_Medium;
	vehAirControl = 
	{
		massReference = 1100.f;
		flippedOverRecoveryPID = 
		[
			-250.f, 0.f, 0.f
		];
	} : VehicleAirControl_TallTruck;
	tppCameraPresets = 
	[
		"Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_High_Close", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_High_Medium", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_High_Far", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_High_DriverCombatClose", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_High_DriverCombatMedium", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_High_DriverCombatFar", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_Low_Close", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_Low_Medium", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_Low_Far", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_Low_DriverCombatClose", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_Low_DriverCombatMedium", "Camera.VehicleTPP_4w_Mahir_Supron_Kurtz_Low_DriverCombatFar"
	];
	vehDriver_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.03f;
		enable_rear_view = true;
		rear_view_offset = ( 0.0, -1.7230, 1.9892 );
	} : VehicleDriverFPPCameraParamsDefault;
	vehDriverCombat_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.03f;
		enable_rear_view = true;
		rear_view_offset = ( 0.0, -1.7230, 1.9892 );
	} : VehicleDriverFPPCameraParamsDefault;
	trafficSuspension = "Vehicle.TrafficSuspension_Standard";
}

MahirSupronKurtzDataPackage : VehicleDataPackageStandard3
{
	useAuxiliary = true;
	vehSeatSet = "Vehicle.Vehicle2SeatSetDefault";
	driverCombat = "DriverCombatTypes.MountedWeapons";
	wheelBumperLengthScalor = 1.25f;
	wheelBumperWidthScalor = 1.3f;
	wheelBumperVertOffsetScalor = 0.45f;
	tireOnVehicleDamageImpulseScalor = 23.0f;
	windowsRollDown = false;
}

VehicleWheelPreset_SupronKurtz_Front : VehicleWheelPreset_Mackinaw_Nomad_Front
{
	frictionMulLateral = 0.93f;
	frictionMulLongitudinal = 0.93f;
	tireLateralSlipEffectsMul = 0.88f;
	swaybarStiffness = 28.0f;
	swaybarDisplacementLimit = 0.17f;
	springStiffness = 43.0f;
	springBoundDampingLowRate = 2800.0f;
	springReboundDampingLowRate = 3000.0f;
	springDampingLowRateCompression = 0.25f;
	extremeCompressionEventScalor = 0.4f;
	logicalSuspensionCompressionLength = 0.0f;
	visualSuspensionDroop = 0.10f;
	wheelsVerticalOffset = 0.03f;
	visualSuspensionCompressionLength = 0.15f;
}

VehicleWheelPreset_SupronKurtz_Rear : VehicleWheelPreset_Mackinaw_Nomad_Rear
{
	frictionMulLateral = 0.95f;
	frictionMulLongitudinal = 0.93f;
	tireLateralSlipEffectsMul = 1.05f;
	swaybarStiffness = 16.0f;
	swaybarDisplacementLimit = 0.17f;
	springStiffness = 39.0f;
	springDamping = 3100.0f;
	springReboundDamping = 3400.0f;
	springBoundDampingLowRate = 2500.0f;
	springReboundDampingLowRate = 2800.0f;
	springDampingLowRateCompression = 0.25f;
	extremeCompressionEventScalor = 0.4f;
	logicalSuspensionCompressionLength = 0.0f;
	visualSuspensionDroop = 0.11f;
	wheelsVerticalOffset = 0.02f;
	visualSuspensionCompressionLength = 0.16f;
}

VehicleDriveModelData_SupronKurtz : VehicleDriveModelData_Mackinaw_Nomad
{
	chassis_mass = 2400.0f;
	total_mass = 2400.0f;
	center_of_mass_offset = ( 0.0f, 0.07f, 0.48f );
	momentOfInertia = ( 5090.0f, 1800.0f, 5075.0f );
	turningRollFactorWeakContactMul = 1.0f;
	turningRollFactor = 1.0f;
	smoothWheelContactIncreseTime = 0.0f;
	smoothWheelContactDecreaseTime = 0.0f;
	antiSwaybarDampingScalor = 0.7f;
	wheelTurnMaxAddPerSecond = 68.f;
	wheelTurnMaxSubPerSecond = 110.f;
	turnUpdateBaseSpeedThreshold = 7.f;
	turnUpdateMidSpeedThreshold = 20.f;
	turnUpdateMidSpeedTurnMul = 0.71f;
	turnUpdateMidSpeedTurnChangeMul = 0.67f;
	turnUpdateMaxSpeedTurnMul = 0.35f;
	turnUpdateMaxSpeedTurnChangeMul = 0.92f;
	handbrakeBrakingTorque = 1450.0f;
	wheelSetup = 
	{
		frontPreset = 
		{
		} : VehicleWheelPreset_SupronKurtz_Front;
		backPreset = 
		{
		} : VehicleWheelPreset_SupronKurtz_Rear;
	} : VehicleWheelDrivingSetup_4_AWD;
	burnOut = 
	{
		maxDriveWheelSlipRatio = 23.0f;
		maxLateralAccelSlipRatioMultipler = 0.845f;
		maxLongFrictionSlipRatioMultipler = 0.5f;
		lateralForceMaxSpeed = 6.2f;
		minLongFrictionCoeff = 0.69f;
		burnOutGripBonus = 5.5f;
	} : VehicleBurnOut_Mackinaw_Nomad;
	driveHelpers = 
	[
		{
			type = "Vehicle.RotationLimiter_HelperType";
		} : RotationLimiter_StandardPlus, 
		{
			type = "Vehicle.RearWheelsFrictionModifier_HelperType";
		} : RearWheelsFrictionModifier_Nomad, 
		{
			type = "Vehicle.DriveWheelsAccelerateNoise_HelperType";
		} : DriveWheelsAccelerateNoise_Basic, 
		{
			type = "Vehicle.HandbrakeFrictionModifier_HelperType";
		} : HandbrakeFrictionModifier_Nomad, 
		{
			type = "Vehicle.UphillDriveHelper_HelperType";
		} : UphillDriveHelper_Standard, 
		{
			type = "Vehicle.InAirGravityModifier_HelperType";
		} : HeavyArmoredGravityModifier
	];
}

v_standard3_mahir_supron_kurtz_overlander : v_standard3_mahir_supron_kurtz
{
	appearanceName = "mahir_supron_kurtz_basic_player_01";
	destroyedAppearance = "mahir_supron_kurtz_basic_burnt_player_01";
	displayName = "LocKey#94021";
	vehicleUIData = 
	{
		mass = 2553.0f;
		info = "LocKey#94002";
	} : VehicleMahirSupronKurtzUIData;
	statModifierGroups = 
	[
		"VehicleStatPreset.BaseCar", "VehicleStatPreset.VeryDurable"
	];
	fxWheelsDecalsFrontOverride = "Vehicle.FxWheels_AllTerrain_M";
	fxWheelsDecals = "Vehicle.FxWheels_AllTerrain_M_x2";
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.52f;
			rimRadius = 0.38f;
			tireWidth = 0.36f;
			wheelOffset = 0.14f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.52f;
			rimRadius = 0.39f;
			tireWidth = 0.51f;
			wheelOffset = 0.18f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
}

VehicleDestructionParamsSupronKurtz : VehicleDestructionParamsDefault_4w
{
	gridDimensions = ( 2.1f, 4.5f, 1.05f );
	gridLocalOffset = ( 0.0f, 0.05f, 0.8f );
	chargePortCenter = ( 0.694187164f, -2.42652369f, 0.981406093f );
	detachableParts = 
	[
		{
			name = "DoorFrontLeft";
			gridCells = 
			[
				4, 12
			];
			threshold = 0.95;
			components = 
			[
				"v_standard25_mahir_supron__ext01_door_fl_01", "v_standard25_mahir_supron_kurtz__ext01_door_fl_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_door_cover_fl_01", "v_standard25_mahir_supron_kurtz__ext01_door_cover_fl_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_window_fl_kurtz_01", "v_standard25_mahir_supron_kurtz__ext01_window_fl_kurtz_02", "window_fl_01", "grate_fl_01"
			];
		}, 
		{
			name = "DoorFrontRight";
			gridCells = 
			[
				5, 13
			];
			threshold = 0.95;
			components = 
			[
				"v_standard25_mahir_supron__ext01_door_fr_01", "v_standard25_mahir_supron_kurtz__ext01_door_fr_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_door_cover_fr_01", "v_standard25_mahir_supron_kurtz__ext01_door_cover_fr_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_window_fr_kurtz_01", "v_standard25_mahir_supron_kurtz__ext01_window_fr_kurtz_02", "window_fr_01", "grate_fr_01"
			];
		}, 
		{
			name = "DoorBackLeft";
			gridCells = 
			[
				2, 10
			];
			threshold = 0.95;
			components = 
			[
				"v_standard25_mahir_supron__ext01_door_bl_01", "v_standard25_mahir_supron_kurtz__ext01_door_bl_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_door_cover_bl_01", "v_standard25_mahir_supron_kurtz__ext01_door_cover_bl_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_window_bl_kurtz_01", "v_standard25_mahir_supron_kurtz__ext01_window_bl_kurtz_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_window_bl_kurtz_02", "v_standard25_mahir_supron_kurtz__ext01_window_bl_kurtz_02_shadow", "v_standard25_mahir_supron_kurtz__ext01_window_bl_kurtz_03", "window_bl_01", "grate_bl_01"
			];
		}, 
		{
			name = "DoorBackRight";
			gridCells = 
			[
				3, 11
			];
			threshold = 0.95;
			components = 
			[
				"v_standard25_mahir_supron__ext01_door_br_01", "v_standard25_mahir_supron_kurtz__ext01_door_br_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_door_cover_br_01", "v_standard25_mahir_supron_kurtz__ext01_door_cover_br_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_window_br_kurtz_01", "v_standard25_mahir_supron_kurtz__ext01_window_br_kurtz_01_shadow", "v_standard25_mahir_supron_kurtz__ext01_window_br_kurtz_02", "v_standard25_mahir_supron_kurtz__ext01_window_br_kurtz_02_shadow", "v_standard25_mahir_supron_kurtz__ext01_window_br_kurtz_03", "window_br_01", "grate_br_01"
			];
		}, 
		{
			name = "Sensors";
			gridCells = 
			[
				6
			];
			threshold = 0.35;
			components = 
			[
				"detachable_sensor_l_01", "detector_medium_01_shadow0320", "detachable_sensor_l_02", "detector_medium_01_shadow2878", "detachable_sensor_r_01", "detector_medium_01_shadow2151", "detachable_sensor_r_02", "detector_medium_01_shadow"
			];
		}
	];
	lights = 
	[
		{
			component = "head_light_left_01";
			gridCells = 
			[
				6
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_right_01";
			gridCells = 
			[
				6
			];
			threshold = 0.1f;
		}, 
		{
			component = "light_militia_br";
			gridCells = 
			[
				1
			];
			threshold = 0.3f;
		}, 
		{
			component = "light_militia_bl";
			gridCells = 
			[
				0
			];
			threshold = 0.3f;
		}, 
		{
			component = "light_militia_roof";
			gridCells = 
			[
				5, 7
			];
			threshold = 0.3f;
		}, 
		{
			component = "light_militia_fl_02";
			gridCells = 
			[
				6
			];
			threshold = 0.3f;
		}, 
		{
			component = "light_militia_fr_02";
			gridCells = 
			[
				7
			];
			threshold = 0.3f;
		}, 
		{
			component = "light_militia_fl_01";
			gridCells = 
			[
				6
			];
			threshold = 0.3f;
		}, 
		{
			component = "light_militia_fr_01";
			gridCells = 
			[
				7
			];
			threshold = 0.3f;
		}
	];
	wheels = 
	[
		{
			name = "FrontLeft";
			intact = "tire_fl_01";
			hitsToFlatten = 3;
		}, 
		{
			name = "FrontRight";
			intact = "tire_fr_01";
			hitsToFlatten = 3;
		}, 
		{
			name = "BackRight";
			intact = "tire_br_01";
			hitsToFlatten = 3;
		}, 
		{
			name = "BackLeft";
			intact = "tire_bl_01";
			hitsToFlatten = 3;
		}
	];
}

VehicleMahirSupronKurtzUIData : VehicleDefaultUIData
{
	productionYear = "2047-2059";
	driveLayout = "LocKey#45372";
	horsepower = 349.0f;
	mass = 2495.0f;
	info = "LocKey#94001";
}

