package Vehicle
using RTDB, BaseStats, Driving, Camera

v_standard2_mizutani_hozuki : Vehicle_4w_Default
{
	entityTemplatePath = "ep1\vehicles\standard\v_standard2_mizutani_hozuki__basic_01.ent";
	visualTags = 
	[
		"Standard"
	];
	manufacturer = "Vehicle.Mizutani";
	destroyedAppearance = "mizutani_hozuki__basic_burnt_01";
	randomPassengers = 
	[
		"Passengers.CorporatDriverEntry", "Passengers.CorporatPassengerFrontEntry", "Passengers.CorporatPassengerBackEntry"
	];
	displayName = "LocKey#94014";
	vehicleUIData = "Vehicle.VehicleMizutaniHozukiUIData";
	headlightColor = 
	[
		255, 240, 200, 255
	];
	fxWheelsDecals = "Vehicle.FxWheels_Radial_S";
	model = "Vehicle.Hozuki";
	player_audio_resource = "v_car_mizutani_hozuki";
	traffic_audio_resource = "v_car_mizutani_hozuki_traffic";
	string hijackDifficulty = "EASY";
	string crackLockDifficulty = "EASY";
	statModifierGroups += 
	[
		"VehicleStatPreset.Weak"
	];
	enableDestruction = true;
	destruction = "Vehicle.VehicleDestructionParamsHozuki";
	vehDataPackage = 
	{
		useAuxiliary = true;
	} : VehicleDataPackageDefault;
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.34f;
			rimRadius = 0.28f;
			tireWidth = 0.23f;
			wheelOffset = -0.01f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.34f;
			rimRadius = 0.28f;
			tireWidth = 0.23f;
			wheelOffset = -0.01f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	rightFrontCamber = -2.0f;
	leftFrontCamber = 2.0f;
	rightBackCamber = -2.0f;
	leftBackCamber = 2.0f;
	rightFrontCamberOffset = ( -0.01, 0, 0 );
	leftFrontCamberOffset = ( 0.01, 0, 0 );
	rightBackCamberOffset = ( -0.03, 0, 0 );
	leftBackCamberOffset = ( 0.03, 0, 0 );
	vehDriveModelData = "Vehicle.VehicleDriveModelData_Hozuki";
	vehEngineData = 
	{
		engineMaxTorque = 200.f;
		wheelsResistanceRatio = 17.f;
	} : VehicleEngineData_4_Base_Transaxle;
	tppCameraPresets = 
	[
		"Camera.VehicleTPP_4w_Hozuki_High_Close", "Camera.VehicleTPP_4w_Hozuki_High_Medium", "Camera.VehicleTPP_4w_Hozuki_High_Far", "Camera.VehicleTPP_4w_Hozuki_High_DriverCombatClose", "Camera.VehicleTPP_4w_Hozuki_High_DriverCombatMedium", "Camera.VehicleTPP_4w_Hozuki_High_DriverCombatFar", "Camera.VehicleTPP_4w_Hozuki_Low_Close", "Camera.VehicleTPP_4w_Hozuki_Low_Medium", "Camera.VehicleTPP_4w_Hozuki_Low_Far", "Camera.VehicleTPP_4w_Hozuki_Low_DriverCombatClose", "Camera.VehicleTPP_4w_Hozuki_Low_DriverCombatMedium", "Camera.VehicleTPP_4w_Hozuki_Low_DriverCombatFar"
	];
	vehDriver_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.06f;
		lookat_yaw_left_offset = 0.15f;
		enable_rear_view = true;
		rear_view_offset = ( 0.0000, -1.3135, 1.0469 );
	} : VehicleDriverFPPCameraParamsDefault;
	vehDriverCombat_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.06f;
		lookat_yaw_left_offset = 0.4f;
		lookat_yaw_left_up_offset = 0.0f;
		lookat_yaw_right_offset = 0.25f;
		lookat_yaw_right_up_offset = 0.0f;
	} : VehicleDriverCombatFPPCameraParamsDefault;
	trafficSuspension = "Vehicle.TrafficSuspension_Standard";
}

VehicleWheelDrivingPreset_Hozuki_Front : VehicleWheelDrivingPreset_4_AWD_Front
{
	frictionMulLateral = 0.87f;
	frictionMulLongitudinal = 0.87f;
	tireLateralSlipEffectsMul = 0.85f;
	maxBrakingTorque = 320.0f;
	swaybarStiffness = 21.0f;
	swaybarDisplacementLimit = 0.14f;
	springStiffness = 20.0f;
	springDamping = 3700.0f;
	springReboundDamping = 3500.0f;
	springBoundDampingLowRate = 2200.0f;
	springReboundDampingLowRate = 2000.0f;
	springDampingLowRateCompression = 0.20f;
	springDampingHighRateCompression = 0.40f;
	visualSuspensionDroop = 0.11f;
	visualSuspensionCompressionLength = 0.045f;
	wheelsVerticalOffset = 0.02f;
}

VehicleWheelDrivingPreset_Hozuki_Rear : VehicleWheelDrivingPreset_4_AWD_Rear
{
	frictionMulLateral = 0.87f;
	frictionMulLongitudinal = 0.87f;
	tireLateralSlipEffectsMul = 1.15f;
	maxBrakingTorque = 300.0f;
	swaybarStiffness = 13.0f;
	swaybarLengthScalar = 1.1f;
	swaybarDisplacementLimit = 0.14f;
	springStiffness = 15.0f;
	springDamping = 3200;
	springReboundDamping = 3000;
	springBoundDampingLowRate = 1700.0f;
	springReboundDampingLowRate = 1500.0f;
	springDampingLowRateCompression = 0.20f;
	springDampingHighRateCompression = 0.40f;
	extremeCompressionEventScalor = 0.8f;
	visualSuspensionDroop = 0.12f;
	visualSuspensionCompressionLength = 0.12f;
}

VehicleDriveModelData_Hozuki : VehicleDriveModelData_Regular_Medium_AWD
{
	wheelSetup = 
	{
		frontPreset = 
		{
		} : VehicleWheelDrivingPreset_Hozuki_Front;
		backPreset = 
		{
		} : VehicleWheelDrivingPreset_Hozuki_Rear;
	} : VehicleWheelDrivingSetup_4_AWD;
}

VehicleWheelDrivingPreset_Hozuki_Sport_Front : VehicleWheelDrivingPreset_Hozuki_Front
{
	frictionMulLateral = 0.89f;
	frictionMulLongitudinal = 0.88f;
	tireLateralSlipEffectsMul = 0.77f;
	maxBrakingTorque = 360.0f;
	swaybarStiffness = 22.0f;
	extremeCompressionEventScalor = 0.8f;
}

VehicleWheelDrivingPreset_Hozuki_Sport_Rear : VehicleWheelDrivingPreset_Hozuki_Rear
{
	frictionMulLateral = 0.89f;
	frictionMulLongitudinal = 0.88f;
	tireLateralSlipEffectsMul = 1.27f;
	maxBrakingTorque = 330.0f;
	extremeCompressionEventScalor = 0.73f;
}

VehicleBurnOut_Hozuki_Sport : VehicleBurnOut_4w_AWD
{
	lateralAccelForwardSpeedMaxDecimation = 0.73f;
	maxLongFrictionSlipRatioMultipler = 0.74f;
	maxLateralAccelSlipRatioMultipler = 0.66f;
	gripBonusMaxSpeedMultiplier = 1.9f;
	gripBonusMaxLaunchSpeed = 10.f;
	burnOutGripBonus = 9.f;
}

VehicleDriveModelData_HozukiSport : VehicleDriveModelData_Hozuki
{
	wheelTurnMaxAddPerSecond = 100.f;
	wheelTurnMaxSubPerSecond = 135.f;
	turnUpdateMaxSpeedThreshold = 40.f;
	turnUpdateMidSpeedTurnMul = 0.78f;
	turnUpdateMaxSpeedTurnMul = 0.41f;
	turnUpdateMidSpeedTurnChangeMul = 1.13f;
	turnUpdateMaxSpeedTurnChangeMul = 1.41f;
	handbrakeBrakingTorque = 1150.0f;
	wheelSetup = 
	{
		frontPreset = 
		{
		} : VehicleWheelDrivingPreset_Hozuki_Sport_Front;
		backPreset = 
		{
		} : VehicleWheelDrivingPreset_Hozuki_Sport_Rear;
	} : VehicleWheelDrivingSetup_4_AWD;
	burnOut = "Vehicle.VehicleBurnOut_Hozuki_Sport";
	driveHelpers = 
	[
		{
			type = "Vehicle.RotationLimiter_HelperType";
			driftLimit = 1.3f;
		} : RotationLimiter_Sport, 
		{
			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";
		} : InAirGravityModifier
	];
}

v_standard2_mizutani_hozuki_sport : v_standard2_mizutani_hozuki
{
	displayName = "LocKey#94015";
	visualTags = 
	[
		"Premium"
	];
	randomPassengers = 
	[
		"Passengers.NightLifeDriverEntry", "Passengers.NightLifePassengerFrontEntry"
	];
	player_audio_resource = "v_car_mizutani_hozuki_sport";
	traffic_audio_resource = "v_car_mizutani_hozuki_traffic";
	vehicleUIData = 
	{
		horsepower = 242.0f;
		mass = 1485.0f;
		info = "LocKey#94017";
	} : VehicleMizutaniHozukiUIData;
	vehDriveModelData = "Vehicle.VehicleDriveModelData_HozukiSport";
	vehEngineData = 
	{
		engineMaxTorque = 260.f;
		wheelsResistanceRatio = 20.f;
	} : VehicleEngineData_4_Sport_Transaxle_Turbo;
}

v_standard2_mizutani_hozuki_sti : v_standard2_mizutani_hozuki
{
	appearanceName = "mizutani_hozuki__basic_player_01";
	displayName = "LocKey#93142";
	player_audio_resource = "v_car_mizutani_hozuki_sti";
	traffic_audio_resource = "v_car_mizutani_hozuki_traffic";
	vehicleUIData = 
	{
		horsepower = 362.0f;
		mass = 1449.0f;
		info = "LocKey#94018";
	} : VehicleMizutaniHozukiUIData;
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.34f;
			rimRadius = 0.28f;
			tireWidth = 0.23f;
			wheelOffset = -0.01f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.34f;
			rimRadius = 0.28f;
			tireWidth = 0.26f;
			wheelOffset = -0.03f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	rightFrontCamber = -2.5f;
	leftFrontCamber = 2.5f;
	rightBackCamber = -2.5f;
	leftBackCamber = 2.5f;
	rightFrontCamberOffset = ( 0.01, 0, 0 );
	leftFrontCamberOffset = ( -0.01, 0, 0 );
	rightBackCamberOffset = ( -0.01, 0, 0 );
	leftBackCamberOffset = ( 0.01, 0, 0 );
	vehDriveModelData = 
	{
		chassis_mass = 1530.0f;
		total_mass = 1530.0f;
		airResistanceFactor = 2.15f;
		wheelTurnMaxAddPerSecond = 105.f;
		wheelTurnMaxSubPerSecond = 140.f;
		handbrakeBrakingTorque = 1200.0f;
		wheelSetup = 
		{
			frontPreset = 
			{
				frictionMulLateral = 0.91f;
				frictionMulLongitudinal = 0.9f;
				tireLateralSlipEffectsMul = 0.76f;
				maxBrakingTorque = 410.0f;
				springReboundDamping = 3600.0f;
				springReboundDampingLowRate = 2100.0f;
				extremeCompressionEventScalor = 0.75f;
				visualSuspensionCompressionLength = 0.04f;
				wheelsVerticalOffset = 0.0f;
			} : VehicleWheelDrivingPreset_Hozuki_Sport_Front;
			backPreset = 
			{
				frictionMulLateral = 0.91f;
				frictionMulLongitudinal = 0.9f;
				tireLateralSlipEffectsMul = 1.38f;
				maxBrakingTorque = 380.0f;
				swaybarStiffness = 14.0f;
				springReboundDamping = 3100;
				springReboundDampingLowRate = 1600.0f;
				extremeCompressionEventScalor = 0.7f;
				wheelsVerticalOffset = -0.02f;
			} : VehicleWheelDrivingPreset_Hozuki_Sport_Rear;
		} : VehicleWheelDrivingSetup_4_AWD;
		burnOut = 
		{
			maxSpeedToInitiateBurnOut = 24.f;
			lateralAccelForwardSpeedMaxDecimation = 0.74f;
			maxLongFrictionSlipRatioMultipler = 0.71f;
			maxLateralAccelSlipRatioMultipler = 0.68f;
		} : VehicleBurnOut_Hozuki_Sport;
	} : VehicleDriveModelData_HozukiSport;
	vehEngineData = 
	{
		gearCurvesPath = "base\gameplay\vehicles\curves\engine_torque\med_torquey_turbo.curveset";
		engineMaxTorque = 320.f;
		wheelsResistanceRatio = 20.f;
		finalGearTorqueDecimationScalor = 0.9f;
	} : VehicleEngineData_4_Sport_Transaxle;
}

v_standard2_mizutani_hozuki_poor : v_standard2_mizutani_hozuki
{
	visualTags = 
	[
		"Poor"
	];
	randomPassengers = 
	[
		"Passengers.LowlifeDriverEntry", "Passengers.LowlifePassengerFrontEntry", "Passengers.LowlifePassengerBackEntry"
	];
}

v_standard2_mizutani_hozuki_premium : v_standard2_mizutani_hozuki_sport
{
}

[ EP1 ]
v_standard2_mizutani_hozuki_poor_dogtown : v_standard2_mizutani_hozuki
{
	visualTags = 
	[
		"Poor"
	];
	[ EP1 ]
	randomPassengers = 
	[
		"Passengers.EP1StacksDriverEntry", "Passengers.EP1StacksPassengerFrontEntry"
	];
}

VehicleDestructionParamsHozuki : VehicleDestructionParamsDefault_4w
{
	gridDimensions = ( 1.6f, 3.9f, 0.3f );
	gridLocalOffset = ( 0.0f, 0.05f, 0.7f );
	chargePortCenter = ( -0.889444351f, -1.48641348f, 0.593811691f );
	pointDampers = 
	[
		{
			pointIndex = 1;
			dampValue = 0.90;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 2;
			dampValue = 0.90;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 3;
			dampValue = 1.00;
			pointFragility = 2.00;
		}, 
		{
			pointIndex = 5;
			dampValue = 1.00;
			pointFragility = 2.00;
		}, 
		{
			pointIndex = 6;
			dampValue = 1.00;
			pointFragility = 2.00;
		}, 
		{
			pointIndex = 8;
			dampValue = 1.00;
			pointFragility = 2.00;
		}, 
		{
			pointIndex = 9;
			dampValue = 1.00;
			pointFragility = 2.00;
		}, 
		{
			pointIndex = 11;
			dampValue = 1.00;
			pointFragility = 2.00;
		}, 
		{
			pointIndex = 12;
			dampValue = 0.80;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 13;
			dampValue = 0.75;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 14;
			dampValue = 0.75;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 16;
			dampValue = 0.90;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 17;
			dampValue = 0.90;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 27;
			dampValue = 0.80;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 28;
			dampValue = 0.75;
			pointFragility = 1.00;
		}, 
		{
			pointIndex = 29;
			dampValue = 0.75;
			pointFragility = 1.00;
		}
	];
	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, 12
			];
			threshold = 0.1;
		}, 
		{
			component = "window_fr";
			effect = "damage_glass_fr";
			gridCells = 
			[
				5, 3, 13
			];
			threshold = 0.1;
		}, 
		{
			component = "window_bl";
			effect = "damage_glass_bl";
			gridCells = 
			[
				2, 10
			];
			threshold = 0.1;
		}, 
		{
			component = "window_br";
			effect = "damage_glass_br";
			gridCells = 
			[
				3, 11
			];
			threshold = 0.1;
		}, 
		{
			component = "window_bl_02";
			effect = "damage_glass_bl_02";
			gridCells = 
			[
				0, 8
			];
			threshold = 0.1;
		}, 
		{
			component = "window_br_02";
			effect = "damage_glass_br_02";
			gridCells = 
			[
				1, 9
			];
			threshold = 0.1;
		}, 
		{
			component = "trunk_a_window_01";
			effect = "damage_glass_b";
			gridCells = 
			[
				0, 1, 8, 9
			];
			threshold = 0.1;
		}
	];
	detachableParts = 
	[
		{
			name = "Trunk_a";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.7;
			components = 
			[
				"trunk_a", "trunk_a_shadow", "wing_a", "brake_light_c"
			];
		}, 
		{
			name = "Trunk_b";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.65;
			components = 
			[
				"trunk_b", "trunk_b_shadow", "reverse_light_left_01", "reverse_light_right_01"
			];
		}, 
		{
			name = "Hood";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.7;
			components = 
			[
				"hood_a", "hood_a_shadow"
			];
		}, 
		{
			name = "License_plate_f";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.07;
			components = 
			[
				"license_plate_f"
			];
		}, 
		{
			name = "License_plate_b";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.07;
			components = 
			[
				"license_plate_b"
			];
		}, 
		{
			name = "BumperFront";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.8;
			components = 
			[
				"bumper_f_01", "bumper_f_shadow", "license_plate_f"
			];
		}, 
		{
			name = "BumperBack";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.7;
			components = 
			[
				"bumper_b_01", "bumper_b_shadow", "license_plate_b"
			];
		}, 
		{
			name = "DoorFrontLeft";
			gridCells = 
			[
				4, 2
			];
			threshold = 0.7;
			components = 
			[
				"door_fl_a", "door_fl_shadow"
			];
		}, 
		{
			name = "DoorFrontRight";
			gridCells = 
			[
				5, 3
			];
			threshold = 0.7;
			components = 
			[
				"door_fr_a", "door_fr_shadow"
			];
		}, 
		{
			name = "DoorBackLeft";
			gridCells = 
			[
				2
			];
			threshold = 0.7;
			components = 
			[
				"door_bl_a", "door_bl_shadow"
			];
		}, 
		{
			name = "DoorBackRight";
			gridCells = 
			[
				3
			];
			threshold = 0.7;
			components = 
			[
				"door_br_a", "door_br_shadow"
			];
		}, 
		{
			name = "MirrorLeft";
			gridCells = 
			[
				4
			];
			threshold = 0.07;
			components = 
			[
				"mirror_01"
			];
		}
	];
	lights = 
	[
		{
			component = "head_light_left_01";
			gridCells = 
			[
				6
			];
			threshold = 0.1f;
		}, 
		{
			component = "head_light_right_01";
			gridCells = 
			[
				7
			];
			threshold = 0.1f;
		}, 
		{
			component = "brake_light_c";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.1f;
		}, 
		{
			component = "brake_light_right_01";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "brake_light_left_01";
			gridCells = 
			[
				0
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_left_02";
			gridCells = 
			[
				0
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_right_02";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "reverse_light_left_01";
			gridCells = 
			[
				0
			];
			threshold = 0.1f;
		}, 
		{
			component = "reverse_light_right_01";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_left_01";
			gridCells = 
			[
				6
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_right_01";
			gridCells = 
			[
				7
			];
			threshold = 0.1f;
		}
	];
	wheels = 
	[
		{
			name = "FrontLeft";
			intact = "tire_01_fl_a";
			flat = "tire_flat_01_fl_a";
		}, 
		{
			name = "FrontRight";
			intact = "tire_01_fr_a";
			flat = "tire_flat_01_fr_a";
		}, 
		{
			name = "BackRight";
			intact = "tire_01_br_a";
			flat = "tire_flat_01_br_a";
		}, 
		{
			name = "BackLeft";
			intact = "tire_01_bl_a";
			flat = "tire_flat_01_bl_a";
		}
	];
	deformableParts = 
	[
		{
			component = "hood_a";
			zones = 
			[
				{
					shapes = 
					[
						0
					];
					gridCells = 
					[
						6, 7
					];
				}
			];
		}, 
		{
			component = "trunk_a";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2, 3
					];
					gridCells = 
					[
						0, 1
					];
				}
			];
		}, 
		{
			component = "trunk_b";
			zones = 
			[
				{
					shapes = 
					[
						0, 1
					];
					gridCells = 
					[
						0, 1
					];
				}
			];
		}, 
		{
			component = "bumper_f_01";
			zones = 
			[
				{
					shapes = 
					[
						0, 1
					];
					gridCells = 
					[
						6, 7
					];
				}
			];
		}, 
		{
			component = "bumper_b_01";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2
					];
					gridCells = 
					[
						0, 1
					];
				}
			];
		}, 
		{
			component = "body_01";
			zones = 
			[
				{
					shapes = 
					[
						0
					];
					gridCells = 
					[
						6, 7
					];
				}, 
				{
					shapes = 
					[
						9, 16, 20, 22
					];
					gridCells = 
					[
						0, 1
					];
				}
			];
		}
	];
}

VehicleMizutaniHozukiUIData : VehicleDefaultUIData
{
	productionYear = "2062-2072";
	driveLayout = "LocKey#45372";
	horsepower = 180.0f;
	mass = 1481.0f;
	info = "LocKey#94016";
}

