package Vehicle
using RTDB, BaseStats, Driving

v_standard3_makigai_tanishi : Vehicle_4w_Default
{
	entityTemplatePath = "ep1\vehicles\standard\v_standard3_makigai_tanishi_basic_01.ent";
	visualTags = 
	[
		"Standard"
	];
	tags += 
	[
		"CanDriveOnVehicles"
	];
	manufacturer = "Vehicle.Makigai";
	randomPassengers = 
	[
		"Passengers.CorporatDriverEntry", "Passengers.CorporatPassengerFrontEntry"
	];
	displayName = "LocKey#93718";
	vehicleUIData = "Vehicle.VehicleMakigaiTanishiUIData";
	destroyedAppearance = "makigai_tanishi_basic_burnt_01";
	headlightColor = 
	[
		255, 240, 200, 255
	];
	fxWheelsDecals = "Vehicle.FxWheels_AllTerrain_M";
	player_audio_resource = "v_car_makigai_tanishi";
	traffic_audio_resource = "v_car_makigai_tanishi_traffic";
	vehDataPackage = 
	{
		useAuxiliary = true;
		wheelBumperWidthScalor = 1.1f;
		wheelBumperLengthScalor = 1.10f;
		wheelBumperVertOffsetScalor = 0.8f;
		tireOnVehicleDamageImpulseScalor = 25.0f;
	} : VehicleDataPackageStandard3;
	string hijackDifficulty = "TRIVIAL";
	string crackLockDifficulty = "TRIVIAL";
	statModifierGroups += 
	[
		"VehicleStatPreset.Durable"
	];
	enableDestruction = true;
	destruction = "Vehicle.VehicleDestructionParamsTanishi";
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.41f;
			rimRadius = 0.25f;
			tireWidth = 0.29f;
			wheelOffset = 0.0f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.41f;
			rimRadius = 0.25f;
			tireWidth = 0.31f;
			wheelOffset = 0.0f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehDriveModelData = "Vehicle.VehicleDriveModelData_Tanishi";
	vehAirControl = 
	{
		massReference = 1200.f;
	} : VehicleAirControl_TallTruck;
	vehEngineData = 
	{
		engineMaxTorque = 270.f;
		reverseDirDelay = 0.35f;
		finalGearTorqueDecimationScalor = 0.99f;
	} : VehicleEngineData_4_Regular_Medium;
	vehDriver_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.10f;
		enable_rear_view = true;
		rear_view_offset = ( 0.0000, -0.8082, 1.2508 );
	} : VehicleDriverFPPCameraParamsDefault;
	vehDriverCombat_FPPCameraParams = 
	{
		float lookat_yaw_left_offset = 0.5f;
		float lookat_yaw_left_up_offset = 0.1f;
		float lookat_yaw_right_offset = 0.45f;
		float lookat_yaw_right_up_offset = 0.1f;
		float lookat_offset_vertical = 0.10f;
	} : VehicleDriverCombatFPPCameraParamsDefault;
	tppCameraPresets = 
	[
		"Camera.VehicleTPP_4w_Tanishi_High_Close", "Camera.VehicleTPP_4w_Tanishi_High_Medium", "Camera.VehicleTPP_4w_Tanishi_High_Far", "Camera.VehicleTPP_4w_Tanishi_High_DriverCombatClose", "Camera.VehicleTPP_4w_Tanishi_High_DriverCombatMedium", "Camera.VehicleTPP_4w_Tanishi_High_DriverCombatFar", "Camera.VehicleTPP_4w_Tanishi_Low_Close", "Camera.VehicleTPP_4w_Tanishi_Low_Medium", "Camera.VehicleTPP_4w_Tanishi_Low_Far", "Camera.VehicleTPP_4w_Tanishi_Low_DriverCombatClose", "Camera.VehicleTPP_4w_Tanishi_Low_DriverCombatMedium", "Camera.VehicleTPP_4w_Tanishi_Low_DriverCombatFar"
	];
	trafficSuspension = "Vehicle.TrafficSuspension_Standard";
}

VehicleWheelPreset_Tanishi_Front : VehicleWheelPreset_Pickup_Front
{
	frictionMulLateral = 0.88f;
	frictionMulLongitudinal = 0.88f;
	tireLateralSlipEffectsMul = 0.92f;
	maxBrakingTorque = 350.0f;
	swaybarStiffness = 27.0f;
	swaybarLengthScalar = 2.7f;
	swaybarDisplacementLimit = 0.19f;
	springStiffness = 22.0f;
	springDamping = 3000.0f;
	springReboundDamping = 2700.0f;
	springBoundDampingLowRate = 2100.0f;
	springReboundDampingLowRate = 1800.0f;
	springDampingLowRateCompression = 0.30f;
	springDampingHighRateCompression = 0.60f;
	logicalSuspensionCompressionLength = 0.61f;
	visualSuspensionDroop = 0.14f;
	wheelsVerticalOffset = 0.0f;
	visualSuspensionCompressionLength = 0.35f;
}

VehicleWheelPreset_Tanishi_Rear : VehicleWheelPreset_Pickup_Rear
{
	frictionMulLateral = 0.91f;
	frictionMulLongitudinal = 0.88f;
	maxBrakingTorque = 300.0f;
	swaybarStiffness = 15.0f;
	springStiffness = 18.0f;
	springDamping = 2800.0f;
	springReboundDamping = 2500.0f;
	springBoundDampingLowRate = 1900.0f;
	springReboundDampingLowRate = 1600.0f;
	springDampingLowRateCompression = 0.30f;
	springDampingHighRateCompression = 0.60f;
	logicalSuspensionCompressionLength = 0.58f;
	visualSuspensionDroop = 0.15f;
	wheelsVerticalOffset = 0.0f;
	visualSuspensionCompressionLength = 0.32f;
}

VehicleBurnOut_Tanishi : VehicleBurnOut_4w_Pickup
{
	maxDriveWheelSlipRatio = 17.0f;
	lateralForceMaxAcceleration = 0.47f;
	lateralForceMaxSpeed = 4.5f;
	lateralAccelForwardSpeedMaxDecimation = 0.79f;
	maxLongFrictionSlipRatioMultipler = 0.63f;
	minBrakeForceModifier = 0.3f;
	burnOutGripBonus = 3.0f;
}

VehicleDriveModelData_Tanishi : VehicleDriveModelData_Pickup
{
	chassis_mass = 1480.0f;
	total_mass = 1480.0f;
	center_of_mass_offset = ( 0.0f, 0.06f, 0.34f );
	momentOfInertia = ( 1400.0f, 730.0f, 1290.0f );
	wheelTurnMaxAddPerSecond = 60.f;
	wheelTurnMaxSubPerSecond = 110.f;
	turnUpdateMidSpeedTurnMul = 0.74f;
	turnUpdateMidSpeedTurnChangeMul = 0.73f;
	turnUpdateMaxSpeedTurnMul = 0.39f;
	turnUpdateMaxSpeedTurnChangeMul = 1.04f;
	wheelSetup = 
	{
		frontPreset = 
		{
		} : VehicleWheelPreset_Tanishi_Front;
		backPreset = 
		{
		} : VehicleWheelPreset_Tanishi_Rear;
	} : VehicleWheelDrivingSetup_4_AWD;
	burnOut = "Vehicle.VehicleBurnOut_Tanishi";
}

v_standard3_makigai_tanishi_hfs : v_standard3_makigai_tanishi
{
	entityTemplatePath = "ep1\vehicles\standard\v_standard3_makigai_tanishi_hfs_01.ent";
	appearanceName = "makigai_tanishi_basic_hfs_01";
	destroyedAppearance = "makigai_tanishi_basic_burnt_hfs_01";
}

v_standard3_makigai_tanishi_kuma : v_standard3_makigai_tanishi
{
	displayName = "LocKey#93148";
	entityTemplatePath = "ep1\vehicles\standard\v_standard3_makigai_tanishi_player_01.ent";
	appearanceName = "makigai_tanishi_basic_player_01";
	destroyedAppearance = "makigai_tanishi_basic_burnt_player_01";
	hasSideWindows = false;
	vehicleUIData = 
	{
		horsepower = 275.0f;
		mass = 1348.0f;
		info = "LocKey#93790";
	} : VehicleMakigaiTanishiUIData;
	fxWheelsDecalsFrontOverride = "Vehicle.FxWheels_AllTerrain_M";
	fxWheelsDecals = "Vehicle.FxWheels_AllTerrain_M_x2";
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.41f;
			rimRadius = 0.26f;
			tireWidth = 0.30f;
			wheelOffset = 0.0f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.41f;
			rimRadius = 0.26f;
			tireWidth = 0.47f;
			wheelOffset = 0.13f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehEngineData = 
	{
		engineMaxTorque = 310.f;
		reverseDirDelay = 0.35f;
		finalGearTorqueDecimationScalor = 0.99f;
	} : VehicleEngineData_4_Regular_Medium;
}

v_standard3_makigai_tanishi_poor : v_standard3_makigai_tanishi
{
	visualTags = 
	[
		"Poor"
	];
	randomPassengers = 
	[
		"Passengers.LowlifeDriverEntry", "Passengers.LowlifePassengerFrontEntry"
	];
}

v_standard3_makigai_tanishi_premium : v_standard3_makigai_tanishi
{
	visualTags = 
	[
		"Premium"
	];
	randomPassengers = 
	[
		"Passengers.CitizenRichDriverEntry", "Passengers.CitizenRichPassengerFrontEntry"
	];
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.41f;
			rimRadius = 0.25f;
			tireWidth = 0.29f;
			wheelOffset = 0.05f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.41f;
			rimRadius = 0.25f;
			tireWidth = 0.31f;
			wheelOffset = 0.09f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
}

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

VehicleDestructionParamsTanishi : VehicleDestructionParamsDefault_4w
{
	gridDimensions = ( 1.7f, 3.2f, 0.9f );
	gridLocalOffset = ( 0.0f, -0.1f, 0.8f );
	chargePortCenter = ( -0.845901489f, -0.784667969f, 0.689469576f );
	glass = 
	[
		{
			component = "v_standard3_makigai_tanishi__ext01_window_f_01";
			effect = "damage_windshield";
			isWindshield = true;
			gridCells = 
			[
				4, 5, 12, 13
			];
			threshold = 0.15;
		}, 
		{
			component = "v_standard3_makigai_tanishi__ext01_window_fl_01";
			effect = "damage_glass_fl_01";
			gridCells = 
			[
				2., 4, 10, 12
			];
			threshold = 0.1;
		}, 
		{
			component = "v_standard3_makigai_tanishi__ext01_window_fr_01";
			effect = "damage_glass_fr_01";
			gridCells = 
			[
				3, 5, 11, 13
			];
			threshold = 0.1;
		}, 
		{
			component = "v_standard3_makigai_tanishi__ext01_window_bl_01";
			effect = "damage_glass_bl_01";
			gridCells = 
			[
				2, 3, 10, 11
			];
			threshold = 0.1;
		}, 
		{
			component = "v_standard3_makigai_tanishi__ext01_window_br_01";
			effect = "damage_glass_br_01";
			gridCells = 
			[
				3, 11
			];
			threshold = 0.1;
		}
	];
	detachableParts = 
	[
		{
			name = "Trunk";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.7;
			components = 
			[
				"trunk_a", "trunk_a_shadow", "brake_light_left_01", "break_light_right_01"
			];
		}, 
		{
			name = "Hood";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.7;
			components = 
			[
				"hood_a", "hood_a_shadow"
			];
		}, 
		{
			name = "License_plate";
			gridCells = 
			[
				7
			];
			threshold = 0.07;
			components = 
			[
				"license_plate_b"
			];
		}, 
		{
			name = "BumperFront";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.7;
			components = 
			[
				"bumper_f_01_a", "bumper_f_01_a_shadow"
			];
		}, 
		{
			name = "BumperBack";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.7;
			components = 
			[
				"v_standard3_makigai_tanishi__ext01_b_bumper_01", "bumper_b_shadow", "reverse_light_left_01", "reverse_light_right_01"
			];
		}, 
		{
			name = "DoorFrontLeft";
			gridCells = 
			[
				4, 2
			];
			threshold = 0.7;
			components = 
			[
				"v_standard3_makigai_tanishi__ext01_door_fl_01", "door_fl_shadow", "v_standard3_makigai_tanishi__ext01_window_fl_01"
			];
		}, 
		{
			name = "DoorFrontRight";
			gridCells = 
			[
				5, 3
			];
			threshold = 0.7;
			components = 
			[
				"door_fr_a", "door_fr_shadow", "v_standard3_makigai_tanishi__ext01_window_fr_01"
			];
		}, 
		{
			name = "MirrorLeft";
			gridCells = 
			[
				4
			];
			threshold = 0.07;
			components = 
			[
				"v_standard3_makigai_tanishi__ext01_mirror_fl_01", "door_fl_mirror_shadow"
			];
		}, 
		{
			name = "MirrorRight";
			gridCells = 
			[
				5
			];
			threshold = 0.07;
			components = 
			[
				"door_fr_mirror", "door_fr_shadow0257"
			];
		}, 
		{
			name = "Snorkel";
			gridCells = 
			[
				5, 13
			];
			threshold = 0.27;
			components = 
			[
				"v_standard3_makigai_tanishi__ext01_snorkel_01", "v_standard3_makigai_tanishi__ext01_snorkel_01_shadowmesh"
			];
		}
	];
	lights = 
	[
		{
			component = "head_light_left_01";
			gridCells = 
			[
				7
			];
			threshold = 0.1f;
		}, 
		{
			component = "break_light_right_01";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "break_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";
			hitsToFlatten = 3;
		}, 
		{
			name = "FrontRight";
			intact = "tire_01_fr_a";
			hitsToFlatten = 3;
		}, 
		{
			name = "BackRight";
			intact = "tire_01_br_a";
			hitsToFlatten = 3;
		}, 
		{
			name = "BackLeft";
			intact = "tire_01_bl_a";
			hitsToFlatten = 3;
		}
	];
}

VehicleMakigaiTanishiUIData : VehicleDefaultUIData
{
	productionYear = "2030-2077";
	driveLayout = "LocKey#45372";
	horsepower = 230.0f;
	mass = 1404.0f;
	info = "LocKey#93760";
}

