package Vehicle
using RTDB, BaseStats, Driving

v_standard3_thorton_mackinaw_nomad : v_standard3_thorton_mackinaw
{
	entityTemplatePath = "base\vehicles\standard\v_standard3_thorton_mackinaw_nomad_01__basic_01.ent";
	visualTags = 
	[
		"Standard"
	];
	tags += 
	[
		"CanDriveOnVehicles"
	];
	manufacturer = "Vehicle.Thorton";
	displayName = "LocKey#22082";
	vehicleUIData = "Vehicle.VehicleThortonMackinawNomadUIData";
	destroyedAppearance = "thorton_mackinaw_nomad_burnt_01";
	vehDataPackage = 
	{
		useAuxiliary = true;
		wheelBumperWidthScalor = 1.12f;
		wheelBumperLengthScalor = 1.15f;
		wheelBumperVertOffsetScalor = 0.62f;
		tireOnVehicleDamageImpulseScalor = 23.0f;
	} : VehicleDataPackageStandard3;
	player_audio_resource = "v_car_thorton_mackinaw_nomad";
	traffic_audio_resource = "v_car_thorton_mackinaw_nomad_traffic";
	widgetStyleSheetPath = "base/gameplay/gui/widgets/vehicle/v_standard2_thorton_galena/thorton_stylesheet_nomad.inkstyle";
	statModifierGroups = 
	[
		"VehicleStatPreset.BaseCar", "VehicleStatPreset.VeryDurable"
	];
	enableDestruction = true;
	destruction = "Vehicle.VehicleDestructionParamsThortonMackinawNomad";
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.425f;
			rimRadius = 0.27f;
			tireWidth = 0.32f;
			wheelOffset = 0.05f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.425f;
			rimRadius = 0.28f;
			tireWidth = 0.50f;
			wheelOffset = 0.2f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehDriveModelData = "Vehicle.VehicleDriveModelData_Mackinaw_Nomad";
	vehEngineData = "Vehicle.VehicleEngineData_4_Truck_Nomad";
	vehAirControl = 
	{
		massReference = 1600.f;
	} : VehicleAirControl_TallTruck;
	vehDriver_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.02f;
		enable_rear_view = true;
		rear_view_offset = ( 0.0000, -0.8772, 1.5237 );
	} : VehicleDriverFPPCameraParamsDefault;
	vehDriverCombat_FPPCameraParams = 
	{
		lookat_offset_vertical = 0.02f;
		is_forward_offset = 1.0f;
		forward_offset_value = 0.0f;
	} : VehicleDriverCombatFPPCameraParamsDefault;
	tppCameraPresets = 
	[
		"Camera.VehicleTPP_4w_Truck_Preset_High_Close", "Camera.VehicleTPP_4w_Truck_Preset_High_Medium", "Camera.VehicleTPP_4w_Truck_Preset_High_Far", "Camera.VehicleTPP_4w_Truck_Preset_High_DriverCombatClose", "Camera.VehicleTPP_4w_Truck_Preset_High_DriverCombatMedium", "Camera.VehicleTPP_4w_Truck_Preset_High_DriverCombatFar", "Camera.VehicleTPP_4w_Truck_Preset_Low_Close", "Camera.VehicleTPP_4w_Truck_Preset_Low_Medium", "Camera.VehicleTPP_4w_Truck_Preset_Low_Far", "Camera.VehicleTPP_4w_Truck_Preset_Low_DriverCombatClose", "Camera.VehicleTPP_4w_Truck_Preset_Low_DriverCombatMedium", "Camera.VehicleTPP_4w_Truck_Preset_Low_DriverCombatFar"
	];
	weaponSafeModeBounds = 
	{
		enableSafeModeBounds = true;
		backBound = 
		{
			yawMin = -96.0f;
			yawMax = 180.f;
		};
	} : WeaponSafeModeBounds;
}

VehicleBurnOut_Mackinaw_Nomad : VehicleBurnOut_Nomad_AWD
{
	maxSpeedToInitiateBurnOut = 25.f;
	lateralForceMaxAcceleration = 0.4f;
	lateralForceMaxSpeed = 6.4f;
	maxDriveWheelSlipRatio = 25.0f;
	lateralSlipRatioInfluence = 0.62f;
	lateralAccelForwardSpeedMaxDecimation = 0.94f;
	maxLateralAccelSlipRatioMultipler = 0.75f;
	maxLongFrictionSlipRatioMultipler = 0.73f;
	minLongFrictionCoeff = 0.65f;
	maxBrakeForceModifier = 0.9f;
	minBrakeForceModifier = 0.02f;
}

VehicleWheelPreset_Mackinaw_Nomad_Front : VehicleWheelPreset_Truck_Front
{
	frictionMulLongitudinal = 0.97f;
	frictionMulLateral = 0.95f;
	tireLongitudinalSlipEffectsMul = 1.06f;
	tireLateralSlipEffectsMul = 0.87f;
	maxBrakingTorque = 900.0f;
	swaybarLengthScalar = 2.9f;
	springStiffness = 43.0f;
	springDamping = 3600.0f;
	springReboundDamping = 3800.0f;
	springBoundDampingLowRate = 2900.0f;
	springReboundDampingLowRate = 3200.0f;
	springDampingLowRateCompression = 0.20f;
	springDampingHighRateCompression = 0.60f;
	extremeCompressionEventScalor = 0.6f;
	logicalSuspensionCompressionLength = 0.61f;
	visualSuspensionDroop = 0.09f;
	wheelsVerticalOffset = 0.14f;
}

VehicleWheelPreset_Mackinaw_Nomad_Rear : VehicleWheelPreset_Truck_Rear
{
	frictionMulLongitudinal = 0.99f;
	frictionMulLateral = 1.09f;
	tireLateralSlipEffectsMul = 1.06f;
	tireLongitudinalSlipEffectsMul = 1.06f;
	mass = 50.0f;
	maxBrakingTorque = 750.0f;
	swaybarStiffness = 18.0f;
	swaybarLengthScalar = 2.8f;
	springStiffness = 35.0f;
	springDamping = 2900.0f;
	springReboundDamping = 4000.0f;
	springBoundDampingLowRate = 2300.0f;
	springReboundDampingLowRate = 3300.0f;
	springDampingLowRateCompression = 0.20f;
	springDampingHighRateCompression = 0.70f;
	extremeCompressionEventScalor = 0.6f;
	visualSuspensionDroop = 0.1f;
	logicalSuspensionCompressionLength = 0.0f;
	wheelsVerticalOffset = 0.13f;
}

VehicleDriveModelData_Mackinaw_Nomad : VehicleDriveModelData_Regular_Nomad
{
	center_of_mass_offset = ( 0.0f, 0.05f, 0.18f );
	chassis_mass = 2000.f;
	total_mass = 2000.0f;
	momentOfInertiaScale = ( 1.0f, 1.0f, 1.0f );
	momentOfInertia = ( 5500.0f, 2900.0f, 5001.0f );
	antiSwaybarDampingScalor = 0.65f;
	turningRollFactorWeakContactMul = 0.6f;
	wheelTurnMaxAddPerSecond = 112.f;
	wheelTurnMaxSubPerSecond = 167.f;
	turnUpdateBaseSpeedThreshold = 8.0f;
	turnUpdateMaxSpeedThreshold = 38.f;
	turnUpdateMaxSpeedTurnMul = 0.32f;
	turnUpdateMaxSpeedTurnChangeMul = 1.7f;
	smoothWheelContactIncreseTime = 0.05f;
	smoothWheelContactDecreaseTime = 0.2f;
	wheelSetup = 
	{
		frontPreset = "Vehicle.VehicleWheelPreset_Mackinaw_Nomad_Front";
		backPreset = "Vehicle.VehicleWheelPreset_Mackinaw_Nomad_Rear";
	} : VehicleWheelDrivingSetup_4_AWD;
	burnOut = "Vehicle.VehicleBurnOut_Mackinaw_Nomad";
}

v_standard3_thorton_mackinaw_nomad_quest : v_standard3_thorton_mackinaw
{
	savable = true;
	tags += 
	[
		"Immortal", "IgnoreImpulses"
	];
	vehDefaultState = 
	{
		DisableAllInteractions = true;
	};
}

v_standard3_thorton_mackinaw_nomad_ncu : v_standard3_thorton_mackinaw_nomad
{
	displayName = "LocKey#22353";
	visualTags = 
	[
		"NCU"
	];
	fk< UIIcon > icon = "UIIcon.thorton_mackinaw_nomad_deathrace_01";
	savable = true;
	priority = "SpawnableObjectPriority.Quest";
	vehicleUIData = 
	{
		info = "LocKey#53573";
	} : VehicleThortonMackinawNomadUIData;
	vehDriver_FPPCameraParams = 
	{
		enable_rear_view = true;
		rear_view_offset = ( 0.0000, -0.8243, 1.6319 );
	} : VehicleDriverFPPCameraParamsDefault;
	vehDriverCombat_FPPCameraParams = 
	{
		enable_rear_view = true;
		rear_view_offset = ( 0.0000, -0.8243, 1.6319 );
	} : VehicleDriverCombatFPPCameraParamsDefault;
	weaponSafeModeBounds = 
	{
		enableSafeModeBounds = true;
		backBound = 
		{
			yawMin = -96.0f;
			yawMax = 180.f;
		};
	} : WeaponSafeModeBounds;
}

v_standard3_thorton_mackinaw_nomad_panam : v_standard3_thorton_mackinaw_nomad
{
	displayName = "LocKey#22354";
	headlightColor = 
	[
		210, 210, 255, 255
	];
	vehicleUIData = 
	{
		info = "LocKey#53572";
	} : VehicleThortonMackinawNomadUIData;
	entityTemplatePath = "base\quest\character_vehicles\panam_vehicle.ent";
	tags = 
	[
		"InteractiveTrunk", "Turret"
	];
	player_audio_resource = "v_car_thorton_mackinaw_nomad_alt";
	traffic_audio_resource = "v_car_thorton_mackinaw_nomad_alt_traffic";
	vehDataPackage = 
	{
		toCombat = 1.8f;
		fromCombat = 1.4f;
		slidingRearDoors = true;
	} : VehicleDataPackageStandard3;
	appearanceName = "v_standard3_thorton_mackinaw_nomad__basic_01_panams_truck";
	vehWheelDimensionsSetup = 
	{
		frontPreset = 
		{
			tireRadius = 0.425f;
			rimRadius = 0.26f;
			tireWidth = 0.34f;
			wheelOffset = 0.09f;
		} : VehicleWheelDimensionsPreset;
		backPreset = 
		{
			tireRadius = 0.425f;
			rimRadius = 0.27f;
			tireWidth = 0.59f;
			wheelOffset = 0.26f;
		} : VehicleWheelDimensionsPreset;
	} : VehicleWheelDimensionsSetup;
	vehDriveModelData = 
	{
		wheelSetup = 
		{
			frontPreset = 
			{
				wheelsVerticalOffset = -0.02f;
			} : VehicleWheelPreset_Mackinaw_Nomad_Front;
			backPreset = 
			{
				wheelsVerticalOffset = -0.01f;
			} : VehicleWheelPreset_Mackinaw_Nomad_Rear;
		} : VehicleWheelDrivingSetup_4_AWD;
	} : VehicleDriveModelData_Mackinaw_Nomad;
}

VehicleDestructionParamsThortonMackinawNomad : VehicleDestructionParamsDefault_4w
{
	gridDimensions = ( 2.0f, 4.6, 0.4f );
	gridLocalOffset = ( 0.0f, 0.0f, 1.1f );
	chargePortCenter = ( -1.09894085f, 1.59036350f, 0.693270683f );
	pointDampers = 
	[
		{
			pointIndex = 0;
			dampValue = 0.70;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 1;
			dampValue = 0.70;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 2;
			dampValue = 0.70;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 3;
			dampValue = 0.70;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 5;
			dampValue = 0.70;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 6;
			dampValue = 0.70;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 8;
			dampValue = 0.70;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 9;
			dampValue = 0.70;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 10;
			dampValue = 0.50;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 11;
			dampValue = 0.50;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 12;
			dampValue = 0.50;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 13;
			dampValue = 0.50;
			pointFragility = 0.80;
		}, 
		{
			pointIndex = 14;
			dampValue = 0.50;
			pointFragility = 0.80;
		}
	];
	glass = 
	[
		{
			component = "window_f";
			effect = "damage_windshield";
			isWindshield = true;
			gridCells = 
			[
				4, 5, 12, 13
			];
			threshold = 0.15;
		}, 
		{
			component = "window_fl_a";
			effect = "damage_glass_fl";
			gridCells = 
			[
				2, 4, 10, 12
			];
			threshold = 0.1;
		}, 
		{
			component = "window_fr_a";
			effect = "damage_glass_fr";
			gridCells = 
			[
				3, 5, 11, 13
			];
			threshold = 0.1;
		}, 
		{
			component = "window_fl_b";
			effect = "damage_glass_fl";
			gridCells = 
			[
				2, 4, 10, 12
			];
			threshold = 0.1;
		}, 
		{
			component = "window_fr_b";
			effect = "damage_glass_fr";
			gridCells = 
			[
				3, 5, 11, 13
			];
			threshold = 0.1;
		}, 
		{
			component = "window_bl";
			effect = "damage_glass_bl_01";
			gridCells = 
			[
				2, 10
			];
			threshold = 0.1;
		}
	];
	detachableParts = 
	[
		{
			name = "Trunk";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.7;
			components = 
			[
				"trunk_a", "trunk_a_shadow"
			];
		}, 
		{
			name = "BumperFront_a";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.7;
			components = 
			[
				"bumper_a_01", "bumper_a_01_shadow"
			];
		}, 
		{
			name = "BumperFront_b";
			gridCells = 
			[
				6, 7, 14, 15
			];
			threshold = 0.8;
			components = 
			[
				"bumper_f_01_b", "bumper_f_01_b_shadow"
			];
		}, 
		{
			name = "BumperBack";
			gridCells = 
			[
				0, 1
			];
			threshold = 0.8;
			components = 
			[
				"bumper_b_01", "bumper_b_shadow"
			];
		}, 
		{
			name = "DoorFrontLeft";
			gridCells = 
			[
				4
			];
			threshold = 0.75;
			components = 
			[
				"door_fl_a", "door_fl_shadow", "window_fl_a", "window_fl_b"
			];
		}, 
		{
			name = "DoorFrontRight";
			gridCells = 
			[
				5
			];
			threshold = 0.75;
			components = 
			[
				"door_fr_a", "door_fr_shadow", "window_fr_a", "window_fr_b"
			];
		}, 
		{
			name = "DoorBackLeft";
			gridCells = 
			[
				2
			];
			threshold = 0.75;
			components = 
			[
				"door_bl_a", "door_bl_b", "door_bl_shadow", "window_bl"
			];
		}, 
		{
			name = "detector_medium_1620";
			gridCells = 
			[
				6
			];
			threshold = 0.2;
			components = 
			[
				"detector_medium_1620"
			];
		}, 
		{
			name = "detector_medium_01";
			gridCells = 
			[
				7
			];
			threshold = 0.2;
			components = 
			[
				"detector_medium_01"
			];
		}, 
		{
			name = "v_common_nomad_part__ext01_sensor_medium_02";
			gridCells = 
			[
				6
			];
			threshold = 0.2;
			components = 
			[
				"v_common_nomad_part__ext01_sensor_medium_02"
			];
		}, 
		{
			name = "v_common_nomad_part__ext01_sensor_medium_6448";
			gridCells = 
			[
				7
			];
			threshold = 0.2;
			components = 
			[
				"v_common_nomad_part__ext01_sensor_medium_6448"
			];
		}, 
		{
			name = "Bunny";
			gridCells = 
			[
				6, 7
			];
			threshold = 0.3;
			components = 
			[
				"back_bunny"
			];
		}
	];
	wheels = 
	[
		{
			name = "FrontLeft";
			intact = "tire_01_fl_a";
			hitsToFlatten = 2;
		}, 
		{
			name = "FrontRight";
			intact = "tire_01_fr_a";
			hitsToFlatten = 2;
		}, 
		{
			name = "BackRight";
			intact = "tire_01_br_a";
			hitsToFlatten = 3;
		}, 
		{
			name = "BackLeft";
			intact = "tire_01_bl_a";
			hitsToFlatten = 3;
		}
	];
	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_02";
			gridCells = 
			[
				0
			];
			threshold = 0.1f;
		}, 
		{
			component = "position_light_right_02";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "break_light_left_01";
			gridCells = 
			[
				0
			];
			threshold = 0.1f;
		}, 
		{
			component = "break_light_right_01";
			gridCells = 
			[
				1
			];
			threshold = 0.1f;
		}, 
		{
			component = "reverse_light_left_01";
			gridCells = 
			[
				0
			];
			threshold = 0.1f;
		}
	];
	deformableParts = 
	[
		{
			component = "bumper_b_01";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2, 3
					];
					gridCells = 
					[
						0, 1, 8, 9
					];
				}
			];
		}, 
		{
			component = "bumper_f_01_b";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2, 3
					];
					gridCells = 
					[
						6, 7, 14, 15
					];
				}
			];
		}, 
		{
			component = "bumper_a_01";
			zones = 
			[
				{
					shapes = 
					[
						0, 1, 2, 3
					];
					gridCells = 
					[
						6, 7, 14, 15
					];
				}
			];
		}, 
		{
			component = "body_01";
			zones = 
			[
				{
					shapes = 
					[
						0, 29
					];
					gridCells = 
					[
						6, 7, 14, 15
					];
				}, 
				{
					shapes = 
					[
						2, 5, 9, 17, 23, 24, 25, 26, 28
					];
					gridCells = 
					[
						0, 1, 8, 9
					];
				}
			];
		}
	];
}

VehicleThortonMackinawNomadUIData : VehicleDefaultUIData
{
	productionYear = "2049-2063";
	driveLayout = "LocKey#45372";
	horsepower = 560.0f;
	mass = 2220.0f;
	info = "LocKey#53571";
}

