package Vehicle
using RTDB, BaseStats, Driving

v_sport2_mizutani_shion : Vehicle_4w_Default
{
	visualTags = 
	[
		"Standard"
	];
	tags += 
	[
		"Sport"
	];
	manufacturer = "Vehicle.Mizutani";
	randomPassengers = 
	[
		"Passengers.LowlifeDriverEntry", "Passengers.LowlifePassengerFrontEntry"
	];
	entityTemplatePath = "base\vehicles\sport\v_sport2_mizutani_shion__basic_01.ent";
	displayName = "LocKey#78765";
	vehicleUIData = "Vehicle.VehicleMizutaniShionUIData";
	fk< UIIcon > icon = "UIIcon.mizutani_shion__basic_player_01";
	headlightColor = 
	[
		210, 210, 255, 255
	];
	destroyedAppearance = "mizutani_shion__basic_burnt_01";
	fxWheelsDecalsFrontOverride = "Vehicle.FxWheels_Radial_M";
	fxWheelsDecals = "Vehicle.FxWheels_Radial_L";
	widgetStyleSheetPath = "base/gameplay/gui/widgets/vehicle/mizutani/mizutani_regular.inkstyle";
	model = "Vehicle.Shion";
	fk< VehicleDataPackage > vehDataPackage = 
	{
		vehSeatSet = "Vehicle.Vehicle2SeatSetDefault";
		entering = 2.4f;
		canStoreBody = true;
		slideDuration = 0.8f;
		open_close_duration = 1.2f;
		normal_open = 1.5f;
		stealing_open = 3.3f;
		exitDelay = 0.2f;
	} : VehicleDataPackageSport2;
	enableDestruction = true;
	destruction = "Vehicle.VehicleDestructionParamsShion";
	player_audio_resource = "v_car_mizutani_shion";
	traffic_audio_resource = "v_car_mizutani_shion_traffic";
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.385f;
			rimRadius = 0.31f;
			tireWidth = 0.27f;
			wheelOffset = 0.08f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.385f;
			rimRadius = 0.32f;
			tireWidth = 0.4f;
			wheelOffset = 0.06f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehDriveModelData = "Vehicle.VehicleDriveModelData_Shion";
	vehEngineData = 
	{
		engineMaxTorque = 451.f;
		finalGearTorqueDecimationScalor = 0.99f;
	} : VehicleEngineData_4_Sport;
	vehDriver_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.05f;
		rear_view_offset = ( 0.0000, -1.1224, 1.0965 );
		enable_rear_view = true;
	} : VehicleDriverFPPCameraParamsDefault;
	vehDriverCombat_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.05f;
		is_forward_offset = 1.0f;
		forward_offset_value = 0.0f;
	} : VehicleDriverCombatFPPCameraParamsDefault;
	tppCameraPresets = 
	[
		"Camera.VehicleTPP_4w_Shion_High_Close", "Camera.VehicleTPP_4w_Shion_High_Medium", "Camera.VehicleTPP_4w_Shion_High_Far", "Camera.VehicleTPP_4w_Shion_High_DriverCombatClose", "Camera.VehicleTPP_4w_Shion_High_DriverCombatMedium", "Camera.VehicleTPP_4w_Shion_High_DriverCombatFar", "Camera.VehicleTPP_4w_Shion_Low_Close", "Camera.VehicleTPP_4w_Shion_Low_Medium", "Camera.VehicleTPP_4w_Shion_Low_Far", "Camera.VehicleTPP_4w_Shion_Low_DriverCombatClose", "Camera.VehicleTPP_4w_Shion_Low_DriverCombatMedium", "Camera.VehicleTPP_4w_Shion_Low_DriverCombatFar"
	];
	crowdMemberSettings = "Crowds.Sport_DrivingPackage";
	drivingParamsPanic = "Driving.Panic_Sport";
	trafficSuspension = "Vehicle.TrafficSuspension_Sport";
	weaponSafeModeBounds = 
	{
		enableSafeModeBounds = true;
		backBound = 
		{
			yawMin = -105.0f;
			yawMax = 180.f;
		};
	} : WeaponSafeModeBounds;
}

VehicleDriveModelData_Shion : VehicleDriveModelData_Sport_RWD
{
	momentOfInertia = ( 3820.0f, 800.0f, 4080.0f );
	turnUpdateInputSlowChangeSpeed = 0.10f;
	turnUpdateMidSpeedThreshold = 23.f;
	turnUpdateMidSpeedTurnMul = 0.52;
	turnUpdateMidSpeedTurnChangeMul = 1.54f;
	wheelSetup = 
	{
		frontPreset = 
		{
			wheelsVerticalOffset = 0.01f;
			visualSuspensionCompressionLength = 0.06f;
		} : VehicleWheelDrivingPreset_4_RWD_Front;
		backPreset = 
		{
			tireLateralSlipEffectsMul = 0.92f;
			visualSuspensionCompressionLength = 0.08f;
		} : VehicleWheelDrivingPreset_4_RWD_Rear;
	} : VehicleWheelDrivingSetup_4_RWD;
	driveHelpers = 
	[
		{
			type = "Vehicle.RotationLimiter_HelperType";
		} : RotationLimiter_Sport, 
		{
			type = "Vehicle.DriveWheelsAccelerateNoise_HelperType";
		} : DriveWheelsAccelerateNoise_Sport, 
		{
			type = "Vehicle.HandbrakeFrictionModifier_HelperType";
			rearWheelsLatFrictionCoef = 0.72f;
		} : HandbrakeFrictionModifier_Drift, 
		{
			type = "Vehicle.UphillDriveHelper_HelperType";
		} : UphillDriveHelper_Standard, 
		{
			type = "Vehicle.DynamicDownforceHelper_HelperType";
		} : DynamicDownforceHelper_Sport, 
		{
			type = "Vehicle.InAirGravityModifier_HelperType";
		} : InAirGravityModifier, 
		{
			type = "Vehicle.RearWheelsFrictionModifier_HelperType";
		} : RearWheelsFrictionModifier_Sport
	];
}

VehicleDriveModelData_Shion_Sport : VehicleDriveModelData_Shion
{
	wheelTurnMaxSubPerSecond = 135.f;
	turnUpdateMaxSpeedThreshold = 41.f;
	turnUpdateMaxSpeedTurnMul = 0.25f;
	turnUpdateMaxSpeedTurnChangeMul = 2.0f;
	turnUpdateMidSpeedThreshold = 25.f;
	turnUpdateMidSpeedTurnMul = 0.46;
	turnUpdateMidSpeedTurnChangeMul = 1.5f;
	wheelSetup = 
	{
		frontPreset = 
		{
			maxBrakingTorque = 700.0f;
			frictionMulLateral = 0.91f;
			frictionMulLongitudinal = 0.91f;
			wheelsVerticalOffset = 0.01f;
			visualSuspensionCompressionLength = 0.06f;
		} : VehicleWheelDrivingPreset_4_RWD_Front;
		backPreset = 
		{
			maxBrakingTorque = 600.0f;
			frictionMulLateral = 0.91f;
			frictionMulLongitudinal = 0.91f;
			tireLateralSlipEffectsMul = 0.92f;
			visualSuspensionCompressionLength = 0.08f;
		} : VehicleWheelDrivingPreset_4_RWD_Rear;
	} : VehicleWheelDrivingSetup_4_RWD;
	burnOut = 
	{
		lateralForceMaxAcceleration = 0.62f;
		lateralForceMaxSpeed = 6.7f;
		burnOutGripBonus = 7.5f;
	} : VehicleBurnOut_4w_RWD;
	driveHelpers = 
	[
		{
			type = "Vehicle.RotationLimiter_HelperType";
		} : RotationLimiter_Sport, 
		{
			type = "Vehicle.DriveWheelsAccelerateNoise_HelperType";
		} : DriveWheelsAccelerateNoise_Sport, 
		{
			type = "Vehicle.HandbrakeFrictionModifier_HelperType";
			rearWheelsLatFrictionCoef = 0.77f;
			rearWheelsLongFrictionCoef = 0.64f;
			blendOutTime = 0.5f;
		} : HandbrakeFrictionModifier_Drift, 
		{
			type = "Vehicle.UphillDriveHelper_HelperType";
		} : UphillDriveHelper_Standard, 
		{
			type = "Vehicle.DynamicDownforceHelper_HelperType";
		} : DynamicDownforceHelper_Sport, 
		{
			type = "Vehicle.InAirGravityModifier_HelperType";
		} : InAirGravityModifier, 
		{
			type = "Vehicle.RearWheelsFrictionModifier_HelperType";
		} : RearWheelsFrictionModifier_Sport
	];
}

v_sport2_mizutani_shion_quest : v_sport2_mizutani_shion_sport
{
	savable = true;
	tags += 
	[
		"Immortal", "IgnoreImpulses"
	];
	destroyedAppearance = "mizutani_shion__basic_burnt_targa_01";
	vehDefaultState = 
	{
		DisableAllInteractions = true;
	};
}

v_sport2_mizutani_shion_targa : v_sport2_mizutani_shion
{
	visualTags = 
	[
		"Premium"
	];
	displayName = "LocKey#22355";
	vehicleUIData = 
	{
		mass = 1476.0f;
		horsepower = 482.0f;
	} : VehicleMizutaniShionUIData;
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.38f;
			rimRadius = 0.30f;
			tireWidth = 0.27f;
			wheelOffset = 0.18f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.38f;
			rimRadius = 0.31f;
			tireWidth = 0.4f;
			wheelOffset = 0.18f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehDriveModelData = 
	{
		chassis_mass = 1556.0f;
		total_mass = 1556.0f;
		airResistanceFactor = 2.1f;
	} : VehicleDriveModelData_Shion_Sport;
	vehEngineData = 
	{
		gearCurvesPath = "base\gameplay\vehicles\curves\engine_torque\med_lowcomp_bigturbo.curveset";
		engineMaxTorque = 600.f;
	} : VehicleEngineData_4_SportPlus;
	destroyedAppearance = "mizutani_shion__basic_burnt_targa_01";
	headlightColor = 
	[
		215, 190, 255, 255
	];
	player_audio_resource = "v_car_mizutani_shion_targa";
	traffic_audio_resource = "v_car_mizutani_shion_targa_traffic";
	randomPassengers = 
	[
		"Passengers.CitizenRichDriverEntry", "Passengers.CitizenRichPassengerFrontEntry"
	];
	rightFrontCamber = -4.0f;
	leftFrontCamber = 4.0f;
	rightBackCamber = -4.0f;
	leftBackCamber = 4.0f;
	rightFrontCamberOffset = ( 0, 0, 0 );
	leftFrontCamberOffset = ( 0, 0, 0 );
	rightBackCamberOffset = ( 0, 0, 0 );
	leftBackCamberOffset = ( 0, 0, 0 );
	vehDriver_FPPCameraParams = 
	{
		enable_rear_view = true;
		rear_view_offset = ( 0.0000, -1.5892, 0.8628 );
	} : VehicleDriverFPPCameraParamsDefault;
	vehDriverCombat_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.0f;
		is_forward_offset = 1.0f;
		forward_offset_value = 0.0f;
	} : VehicleDriverCombatFPPCameraParamsDefault;
	weaponSafeModeBounds = 
	{
		enableSafeModeBounds = true;
		backBound = 
		{
			yawMin = -105.0f;
			yawMax = 180.f;
		};
	} : WeaponSafeModeBounds;
}

v_sport2_mizutani_shion_poor : v_sport2_mizutani_shion
{
	visualTags = 
	[
		"Poor"
	];
	headlightColor = 
	[
		255, 230, 150, 255
	];
	randomPassengers = 
	[
		"Passengers.LowlifeDriverEntry", "Passengers.LowlifePassengerFrontEntry"
	];
}

v_sport2_mizutani_shion_sport : v_sport2_mizutani_shion
{
	visualTags = 
	[
		"Sport"
	];
	displayName = "LocKey#1616";
	headlightColor = 
	[
		255, 255, 255, 255
	];
	player_audio_resource = "v_car_mizutani_shion_sport";
	traffic_audio_resource = "v_car_mizutani_shion";
	randomPassengers = 
	[
		"Passengers.NightLifeDriverEntry", "Passengers.NightLifePassengerFrontEntry"
	];
	vehicleUIData = 
	{
		horsepower = 482.0f;
		info = "LocKey#78766";
	} : VehicleMizutaniShionUIData;
	destruction = 
	{
		wheels = 
		[
			{
				name = "FrontLeft";
				intact = "tire_standard_fl_01";
				flat = "tire_flat_01_fl_a";
			}, 
			{
				name = "FrontRight";
				intact = "tire_standard_fr_01";
				flat = "tire_flat_01_fr_a";
			}, 
			{
				name = "BackRight";
				intact = "tire_standard_br_01";
				flat = "tire_flat_01_br_a";
			}, 
			{
				name = "BackLeft";
				intact = "tire_standard_bl_01";
				flat = "tire_flat_01_bl_a";
			}
		];
	} : VehicleDestructionParamsShion;
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.385f;
			rimRadius = 0.28f;
			tireWidth = 0.27f;
			wheelOffset = 0.08f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.385f;
			rimRadius = 0.28f;
			tireWidth = 0.4f;
			wheelOffset = 0.06f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehDriveModelData = "Vehicle.VehicleDriveModelData_Shion_Sport";
	vehEngineData = 
	{
		gearCurvesPath = "base\gameplay\vehicles\curves\engine_torque\med_lowcomp_bigturbo.curveset";
		engineMaxTorque = 600.f;
	} : VehicleEngineData_4_SportPlus;
}

v_sport2_mizutani_shion_tdr : v_sport2_mizutani_shion_sport
{
	headlightColor = 
	[
		210, 210, 255, 255
	];
	appearanceName = "mizutani_shion__basic_player_01";
}

v_sport2_mizutani_shion_tyger : v_sport2_mizutani_shion
{
	player_audio_resource = "v_car_mizutani_shion_tygerclaw";
	traffic_audio_resource = "v_car_mizutani_shion_tygerclaw_traffic";
	headlightColor = 
	[
		255, 220, 220, 255
	];
	rightFrontCamber = -3.0f;
	leftFrontCamber = 3.0f;
	rightBackCamber = -4.0f;
	leftBackCamber = 4.0f;
	rightFrontCamberOffset = ( 0, 0, 0 );
	leftFrontCamberOffset = ( 0, 0, 0 );
	rightBackCamberOffset = ( 0, 0, 0 );
	leftBackCamberOffset = ( 0, 0, 0 );
	displayName = "LocKey#23302";
	visualTags = 
	[
		"TygerClaws"
	];
}

VehicleDestructionParamsShion : VehicleDestructionParamsDefault_4w
{
	gridDimensions = ( 1.9f, 4.6f, 0.2f );
	gridLocalOffset = ( 0.0f, 0.0f, 0.75f );
	chargePortCenter = ( -1.02123928f, 0.856536388f, 0.537057281f );
	glass = 
	[
		{
			component = "window_f";
			effect = "damage_windshield";
			isWindshield = true;
			gridCells = 
			[
				6, 7, 12
			];
			threshold = 0.15;
		}, 
		{
			component = "window_fl";
			effect = "damage_glass_fl";
			gridCells = 
			[
				4, 12
			];
			threshold = 0.1;
		}, 
		{
			component = "window_fr";
			effect = "damage_glass_fr";
			gridCells = 
			[
				5, 13
			];
			threshold = 0.1;
		}
	];
	detachableParts = 
	[
		{
			name = "Trunk";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.7;
			components = 
			[
				"trunk_a", "trunk_a_shadow"
			];
		}, 
		{
			name = "Hood";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.8;
			components = 
			[
				"hood_a", "hood_a_shadow"
			];
		}, 
		{
			name = "License_plate";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.07;
			components = 
			[
				"license_plate"
			];
		}, 
		{
			name = "BumperFront";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.7;
			components = 
			[
				"bumper_f_01", "bumper_f_shadow"
			];
		}, 
		{
			name = "BumperBack";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.7;
			components = 
			[
				"bumper_b_01", "bumper_b_shadow"
			];
		}, 
		{
			name = "MirrorLeft_01";
			gridCells = 
			[
				4
			];
			threshold = 0.07;
			components = 
			[
				"mirror_fl_01", "mirror_fl_01_shadow"
			];
		}, 
		{
			name = "MirrorRight_01";
			gridCells = 
			[
				5
			];
			threshold = 0.07;
			components = 
			[
				"mirror_fr_01", "mirror_fr_01_shadow"
			];
		}, 
		{
			name = "DoorFrontLeft";
			gridCells = 
			[
				4
			];
			threshold = 0.7;
			components = 
			[
				"door_fl_a", "door_fl_b", "door_fl_shadow", "window_fl"
			];
		}, 
		{
			name = "DoorFrontRight";
			gridCells = 
			[
				5
			];
			threshold = 0.7;
			components = 
			[
				"door_fr_a", "door_fr_b", "door_fr_shadow", "window_fr"
			];
		}
	];
	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";
		}
	];
	lights = 
	[
		{
			component = "head_light_left_01";
			gridCells = 
			[
				6
			];
			threshold = 0.1f;
		}, 
		{
			component = "head_light_right_01";
			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 = "break_light_01";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.1f;
		}, 
		{
			component = "deco_light_right_01";
			gridCells = 
			[
				5, 8, 11
			];
			threshold = 0.1f;
		}, 
		{
			component = "deco_light_left_01";
			gridCells = 
			[
				3, 6, 9
			];
			threshold = 0.1f;
		}, 
		{
			component = "deco_light_back_01";
			gridCells = 
			[
				0, 1, 2
			];
			threshold = 0.1f;
		}, 
		{
			component = "reverse_light_left_01";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.1f;
		}, 
		{
			component = "reverse_light_right_01";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.1f;
		}
	];
	deformableParts = 
	[
		{
			component = "hood_a";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2
					];
					gridCells = 
					[
						6, 7
					];
				}
			];
		}, 
		{
			component = "trunk_a";
			zones = 
			[
				{
					shapes = 
					[
						0, 1
					];
					gridCells = 
					[
						0, 1
					];
				}
			];
		}, 
		{
			component = "bumper_b_01";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2
					];
					gridCells = 
					[
						0, 1, 8, 9
					];
				}
			];
		}, 
		{
			component = "bumper_f_01";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2
					];
					gridCells = 
					[
						6, 7, 14, 15
					];
				}
			];
		}, 
		{
			component = "body_01";
			zones = 
			[
				{
					shapes = 
					[
						1, 6, 7, 9, 27, 29, 30
					];
					gridCells = 
					[
						0, 1
					];
				}, 
				{
					shapes = 
					[
						12, 13, 14, 15, 16, 17, 18, 22, 26
					];
					gridCells = 
					[
						4, 5
					];
				}
			];
		}
	];
}

VehicleDestructionParamsShionTakemura : VehicleDestructionParamsShion
{
	glass = 
	[
		{
			component = "window_f";
			effect = "damage_windshield";
			isWindshield = true;
			gridCells = 
			[
				12, 13
			];
			threshold = 0.5;
		}, 
		{
			component = "window_fl";
			effect = "damage_glass_fl";
			gridCells = 
			[
				12
			];
			threshold = 0.5;
		}, 
		{
			component = "window_fr";
			effect = "damage_glass_fr";
			gridCells = 
			[
				13
			];
			threshold = 0.5;
		}
	];
	detachableParts += 
	[
		{
			name = "WindshieldFrame";
			gridCells = 
			[
				12, 13
			];
			threshold = 0.5;
			components = 
			[
				"window_frame_01"
			];
		}
	];
}

VehicleMizutaniShionUIData : VehicleDefaultUIData
{
	productionYear = "2058-2069";
	driveLayout = "LocKey#45371";
	horsepower = 320.0f;
	mass = 1420.0f;
	info = "LocKey#53533";
}

