module Base
{
	model 89actytruck_base
	{
        	mesh = vehicles/89actytruck_base|cab_mesh,
	        shader = vehicle_multiuv,
        	scale = 0.1,
		static = TRUE,
	}
	model 89actytruck_DoorFrontLeft
	{
		mesh = vehicles/89actytruck_base|door_l_mesh,
		shader = vehicle,
		scale = 0.1,
		static = FALSE,
		boneWeight = door_l_bone 1.0,
	}
	model 89actytruck_DoorFrontRight
	{
		mesh = vehicles/89actytruck_base|door_r_mesh,
		shader = vehicle,
		scale = 0.1,
		static = FALSE,
		boneWeight = door_r_bone 1.0,
	}
	model 89actytruck_TrunkDoor
	{
		mesh = vehicles/89actytruck_base|trunk_mesh,
		shader = vehicle,
		scale = 0.1,
		static = FALSE,
		boneWeight = trunk_bone 1.0,
	}
	model 89actytruck_Hood
	{
		mesh = vehicles/89actytruck_base|hood_mesh,
		shader = vehicle,
		scale = 0.1,
		static = FALSE,
		boneWeight = hood_bone 1.0,
	}
	model 89actytruck_FrontBumper
	{
		mesh = vehicles/89actytruck_base|bumper_front_mesh,
		shader = vehicle,
		scale = 0.1,

	}
	model 89actytruck_RearBumper
	{
		mesh = vehicles/89actytruck_base|bumper_rear_mesh,
		shader = vehicle,
      	  	scale = 0.1,
	}
	model 89actytruck_FrontWindshield
	{
		mesh = vehicles/89actytruck_base|glass_front_mesh,
		shader = vehicle,
      	  	scale = 0.1,
	}
	model 89actytruck_RearWindshield
	{
		mesh = vehicles/89actytruck_base|glass_rear_mesh,
		shader = vehicle,
      	  	scale = 0.1,
	}
	model 89actytruck_WindowFrontLeft
	{
		mesh = vehicles/89actytruck_base|glass_l_mesh,
		shader = vehicle,
		scale = 0.1,
		static = FALSE,
		boneWeight = glass_l_bone 1.0,
	}
	model 89actytruck_WindowFrontRight
	{
		mesh = vehicles/89actytruck_base|glass_r_mesh,
		shader = vehicle,
		scale = 0.1,
		static = FALSE,
		boneWeight = glass_r_bone 1.0,
	}
	model 89actytruck_WheelFrontLeft
	{
        	mesh = vehicles/89actytruck_base|wheel_mesh,
		texture = Vehicles/89actytruck_Shell,
	        shader = vehicle,
	        scale = 0.1,
	}
	model 89actytruck_WheelFrontRight
	{
	        mesh = vehicles/89actytruck_base|wheel_mesh,
		texture = Vehicles/89actytruck_Shell,
	        shader = vehicle,
	        scale = 0.1,
	}
	model 89actytruck_WheelRearLeft
	{
        	mesh = vehicles/89actytruck_base|wheel_mesh,
		texture = Vehicles/89actytruck_Shell,
        	shader = vehicle,
	        scale = 0.1,
	}
	model 89actytruck_WheelRearRight
	{
        	mesh = vehicles/89actytruck_base|wheel_mesh,
		texture = Vehicles/89actytruck_Shell,
        	shader = vehicle,
	        scale = 0.1,
	}
	vehicle 89actytruck
	{
		mechanicType = 1,
		offRoadEfficiency = 1.8,
		engineRepairLevel = 4,
		playerDamageProtection = 0.8,

		model
		{
			file = 89actytruck_base,
			scale = 1.0000,
			offset = 0.0000 0.0000 0.0000,
		}

		spawnOffsetY = 0.12999995,

		skin
		{
			texture = vehicles/89actytruck_Shell_bayblue,
		}

		skin
		{
			texture = vehicles/89actytruck_Shell_blue,
		}

		skin
		{
			texture = vehicles/89actytruck_Shell_fadedblue,
		}

		skin
		{
			texture = vehicles/89actytruck_Shell_fadedtan,
		}

		skin
		{
			texture = vehicles/89actytruck_Shell_nighthawk,
		}

		skin
		{
			texture = vehicles/89actytruck_Shell_olive,
		}

		skin
		{
			texture = vehicles/89actytruck_Shell_red,
		}

		skin
		{
			texture = vehicles/89actytruck_Shell_silver,
		}

		skin
		{
			texture = vehicles/89actytruck_Shell_yellow,
		}

		textureMask = Vehicles/89actytruck_Mask,
		textureLights = Vehicles/89actytruck_Lights,
		textureDamage1Overlay = Vehicles/89actytruck_Blood1,
		textureDamage2Overlay = Vehicles/89actytruck_Blood2,
		textureDamage1Shell = Vehicles/89actytruck_Damage1,
		textureDamage2Shell = Vehicles/89actytruck_Damage2,
		textureRust = Vehicles/89actytruck_Rust,

		sound
		{
			engine = VehicleEngineSmallCar,
			engineStart = VehicleEngineSmallCar,
			engineTurnOff = VehicleEngineSmallCar,
			horn = VehicleHornStandard,
			ignitionFail = VehicleIgnitionFailSmallCar,
		}

		extents = 1.4000 0.3600 3.2000,
		mass = 480,
		physicsChassisShape = 1.4000 0.6000 3.2000,
		centerOfMassOffset = 0.0000 0.0100 -0.0600,
		shadowExtents = 1.5455 3.3981,
		shadowOffset = 0.0000 -0.0942,
		engineForce = 1500,
		engineLoudness = 60,
		engineQuality = 50,
		brakingForce = 60,
		maxSpeed = 50f,
		gearRatioCount = 3,
		gearRatioR = 4.7,
		gearRatio1 = 3.6,
		gearRatio2 = 2.2,
		gearRatio3 = 1.0,
		stoppingMovementForce = 0.0f,
		rollInfluence = 0.5f,
		steeringIncrement = 0.04,
		steeringClamp = 0.3,
		suspensionStiffness = 40,
		suspensionCompression = 4.83,
		suspensionDamping = 4.88,
		maxSuspensionTravelCm = 15,
		suspensionRestLength = 0.4f,
		wheelFriction = 1.0f,
		frontEndHealth = 150,
		rearEndHealth = 150,
		seats = 2,

		wheel FrontLeft
		{
			front = true,
			offset = 0.6300 -0.5600 0.7300,
			radius = 0.27f,
			width = 0.2f,
		}

		wheel FrontRight
		{
			front = true,
			offset = -0.6300 -0.5600 0.7300,
			radius = 0.27f,
			width = 0.2f,
		}

		wheel RearLeft
		{
			front = false,
			offset = 0.6100 -0.5600 -1.1600,
			radius = 0.27f,
			width = 0.2f,
		}

		wheel RearRight
		{
			front = false,
			offset = -0.6100 -0.5600 -1.1600,
			radius = 0.27f,
			width = 0.2f,
		}

		template = PassengerSeat2,

		passenger FrontRight
		{
			showPassenger = true,
			hasRoof = true,
			door = DoorFrontLeft,
			area = SeatFrontLeft,

			position inside
			{
				offset = 0.2900 0.0500 0.5400,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = 1.0000 -0.4000 0.1800,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontLeft,
			}
		}

		passenger FrontLeft
		{
			showPassenger = true,
			hasRoof = true,
			door = DoorFrontRight,
			area = SeatFrontRight,

			position inside
			{
				offset = -0.3100 0.0100 0.5600,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -1.0000 -0.4000 0.1800,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontRight,
			}
		}

		area Engine
		{
			xywh = 0.0100 -0.6800 2.3200 0.6000,
		}

		area TruckBed
		{
			xywh = 0.0000 -2.0000 1.4000 0.6000,
		}

		area FrontTrunk
		{
			xywh = 0.0000 1.8300 1.4000 0.6000,
		}

		area SeatFrontLeft
		{
			xywh = 1.1300 0.6900 0.8200 0.8000,
		}

		area SeatFrontRight
		{
			xywh = -1.1400 0.6600 0.8200 0.8000,
		}

		area GasTank
		{
			xywh = -1.0000 0.0600 0.5600 0.7200,
		}

		area SpareTire
		{
			xywh = 1.0000 0.0000 0.5600 0.7200,
		}

		area TireFrontLeft
		{
			xywh = 0.9700 0.7100 0.4800 0.4800,
		}

		area TireFrontRight
		{
			xywh = -0.9800 0.7100 0.4800 0.4800,
		}

		area TireRearLeft
		{
			xywh = 0.9500 -1.2100 0.4800 0.4800,
		}

		area TireRearRight
		{
			xywh = -0.9500 -1.2100 0.4800 0.4800,
		}

		template = TrunkDoor,

		part TrunkDoor
		{
			itemType = Base.89actytruckTrunk,
			repairMechanic = true,

			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}

			model Default
			{
				file = 89actytruck_TrunkDoor,
				offset = 0.0800 -0.4509 0.3100,
				rotate = 20.0000 0.0000 0.0000,
			}

			anim Close
			{
				anim = trunk_open,
				reverse = TRUE,
				rate = 2.0,
			}

			anim Open
			{
				anim = trunk_open,
				rate = 1.5,
			}

			anim Closed
			{
				anim = trunk_open,
				animate = FALSE,
			}

			anim Opened
			{
				anim = trunk_open,
				reverse = TRUE,
				animate = FALSE,
			}
		}

		template = Trunk/part/TruckBed,

		part TruckBed
		{
			container
			{
				capacity = 80,
			}
		}

		template = 89actytruck_Seats,

		part FrontBumper
		{
			model FrontBumper
			{
				file = 89actytruck_FrontBumper,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}

			area = FrontTrunk,
			category = bodywork,
			specificItem = false,
			itemType = Base.89actytruckFrontBumper1,
			mechanicRequireKey = false,
			repairMechanic = true,
			durability = 5,

			table install
			{
				items
				{
					item
					{
						type = Base.Wrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}

				time = 100,
				skills = Mechanics:4,
				recipes = Intermediate Mechanics,
				test = Vehicles.InstallTest.Default,
			}

			table uninstall
			{
				items
				{
					item
					{
						type = Base.Wrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}

				time = 100,
				skills = Mechanics:4,
				recipes = Intermediate Mechanics,
				test = Vehicles.UninstallTest.Default,
			}

			lua
			{
				create = Vehicles.Create.Default,
			}
		}

		part RearBumper
		{
			model RearBumper
			{
				file = 89actytruck_RearBumper,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}

			area = Trunk,
			category = bodywork,
			specificItem = false,
			repairMechanic = true,
			itemType = Base.89actytruckRearBumper1,
			mechanicRequireKey = false,
			durability = 5,

			table install
			{
				items
				{
					item
					{
						type = Base.Wrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}

				time = 100,
				skills = Mechanics:4,
				recipes = Intermediate Mechanics,
				test = Vehicles.InstallTest.Default,
			}

			table uninstall
			{
				items
				{
					item
					{
						type = Base.Wrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}

				time = 100,
				skills = Mechanics:4,
				recipes = Intermediate Mechanics,
				test = Vehicles.UninstallTest.Default,
			}

			lua
			{
				create = Vehicles.Create.Default,
			}
		}

		template = GloveBox,

		part GloveBox
		{
			container
			{
				capacity = 5,
			}

			model Interior89actytruck
			{
				file = 89actytruck_Interior,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		template = GasTank,

		part GasTank
		{
			model Default			
			{
				file = 89actytruck_GasTank,
				texture = Vehicles/89actytruck_Interior,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}

			install
			{
				skills = Mechanics:6,
				recipes = Advanced Mechanics,
			}

			uninstall
			{
				skills = Mechanics:6,
				recipes = Advanced Mechanics,
			}
		}

		template = Battery,

		part Battery
		{
			area = SpareTire,

			model Default
			{
				file = 89actytruck_Battery,
				texture = Vehicles/89actytruck_Interior,
				offset = -0.0041 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		template = Engine,
		template = Muffler,

		part Muffler
		{
			model Default
			{
				file = 89actytruck_Muffler,
				texture = Vehicles/89actytruck_Interior,
				offset = 0.0000 0.0000 -0.0100,
				rotate = 0.0000 0.0000 0.0000,
			}

			table install
			{
				recipes = Basic Mechanics,
			}

			table uninstall
			{
				recipes = Basic Mechanics,
			}
		}

		template = EngineDoor,

		part EngineDoor
		{
			itemType = Base.89actytruckHood,
			repairMechanic = true,

			model Default
			{
				file = 89actytruck_Hood,
				offset = 0.0700 0.0200 0.2612,
				rotate = 0.0000 0.0000 0.0000,
			}

			anim Close
			{
				anim = hood_open,
				reverse = TRUE,
				rate = 2.0,
			}

			anim Open
			{
				anim = hood_open,
				rate = 1.5,
			}

			anim Closed
			{
				anim = hood_open,
				animate = FALSE,
			}

			anim Opened
			{
				anim = hood_open,
				reverse = TRUE,
				animate = FALSE,
			}
		}

		part Heater
		{
			category = engine,

			lua
			{
				update = Vehicles.Update.Heater,
			}
		}

		part PassengerCompartment
		{
			category = nodisplay,

			lua
			{
				update = Vehicles.Update.PassengerCompartment,
			}
		}

		template = Windshield/part/Windshield,
		template = Windshield/part/WindshieldRear,

		part Windshield
		{
			itemType = Base.89actytruckFrontWindshield,

			model Default
			{
				file = 89actytruck_FrontWindshield,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		part WindshieldRear
		{
			itemType = Base.89actytruckRearWindshield,

			model Default
			{
				file = 89actytruck_RearWindshield,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		part Windshield*
		{
			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = Window/part/WindowFrontLeft,
		template = Window/part/WindowFrontRight,

		part WindowFrontLeft
		{
			category = door,
			itemType = Base.89actytruckWindowFront,
			area = SeatFrontLeft,
			mechanicRequireKey = false,
			parent = DoorFrontLeft,

			model Default
			{
				file = 89actytruck_WindowFrontLeft,
				offset = -0.0383 -0.1300 -0.0100,
				rotate = 0.0000 4.0000 0.0000,
			}

			anim ClosedToOpen
			{
				anim = glass_l_open,
				animate = FALSE,
			}
		}

		part WindowFrontRight
		{
			category = door,
			itemType = Base.89actytruckWindowFront,
			area = SeatFrontRight,
			mechanicRequireKey = false,
			parent = DoorFrontRight,

			model Default
			{
				file = 89actytruck_WindowFrontRight,
				offset = 0.1600 -0.1177 -0.0300,
				rotate = 0.0000 0.0000 0.0000,
			}

			anim ClosedToOpen
			{
				anim = glass_r_open,
				animate = FALSE,
			}
		}

		template = Door/part/DoorFrontLeft,
		template = Door/part/DoorFrontRight,

		part DoorFrontLeft
		{
			category = door,
			itemType = Base.89actytruckDoorFrontLeft,

			model Default
			{
				file = 89actytruck_DoorFrontLeft,
				offset = -0.0300 0.0000 0.0200,
				rotate = 0.0000 2.0000 0.0000,
			}

			anim Close
			{
				anim = door_l_open,
				reverse = TRUE,
				rate = 2.0,
			}

			anim Open
			{
				anim = door_l_open,
				rate = 1.5,
			}

			anim Closed
			{
				anim = door_l_open,
				animate = FALSE,
			}

			anim Opened
			{
				anim = door_l_open,
				reverse = TRUE,
				animate = FALSE,
			}

			anim ActorOpen
			{
				anim = Climb_WindowB,
				rate = 0.23,
				sound =,
				angle = 0.0 270.0 0.0,
			}

			anim ActorClose
			{
				angle = 0.0 270.0 0.0,
			}

			table uninstall
			{
				requireUninstalled = WindowFrontLeft,
			}
		}

		part DoorFrontRight
		{
			category = door,
			itemType = Base.89actytruckDoorFrontRight,

			model Default
			{
				file = 89actytruck_DoorFrontRight,
				offset = 0.1600 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}

			anim Close
			{
				anim = door_r_open,
				reverse = TRUE,
				rate = 2.0,
			}

			anim Open
			{
				anim = door_r_open,
				rate = 1.5,
			}

			anim Closed
			{
				anim = door_r_open,
				animate = FALSE,
			}

			anim Opened
			{
				anim = door_r_open,
				reverse = TRUE,
				animate = FALSE,
			}

			anim ActorOpen
			{
				anim = Climb_WindowB,
				rate = 0.23,
				sound =,
				angle = 0.0 270.0 0.0,
			}

			anim ActorClose
			{
				angle = 0.0 270.0 0.0,
			}

			table uninstall
			{
				requireUninstalled = WindowFrontRight,
			}
		}

		part Door*
		{
			anim Open
			{
				sound = VehicleDoorOpenSportsCar,
			}

			anim Close
			{
				sound = VehicleDoorCloseSportsCar,
			}

			anim Lock
			{
				sound = LockVehicleDoorSportsCar,
			}

			anim Unlock
			{
				sound = UnlockVehicleDoorSportsCar,
			}

			anim IsLocked
			{
				sound = VehicleDoorIsLockedSportsCar,
			}

			table install
			{
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				recipes = Advanced Mechanics,
			}
		}

		template = Tire,

		part TireFrontLeft
		{
			model InflatedTirePlusWheel
			{
				file = 89actytruck_WheelFrontLeft,
				offset = 0.0000 -0.0019 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		part TireFrontRight
		{
			model InflatedTirePlusWheel
			{
				file = 89actytruck_WheelFrontRight,
				offset = 0.0000 0.0000 0.0001,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		part TireRearLeft
		{
			model InflatedTirePlusWheel
			{
				file = 89actytruck_WheelRearLeft,
				offset = 0.0000 0.0000 -0.0012,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		part TireRearRight
		{
			model InflatedTirePlusWheel
			{
				file = 89actytruck_WheelRearRight,
				offset = 0.0000 -0.0019 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		template = Brake,

		part Brake*
		{
			table install
			{
				skills = Mechanics:7,
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				skills = Mechanics:7,
				recipes = Advanced Mechanics,
			}
		}

		template = Suspension,

		part Suspension*
		{
			table install
			{
				skills = Mechanics:7,
				recipes = Advanced Mechanics,
			}

			table uninstall
			{
				skills = Mechanics:7,
				recipes = Advanced Mechanics,
			}
		}

		template = Radio,
		template = Headlight,
		template = actyAddons,

		physics box
		{
			offset = 0.0000 0.6087 0.6900,
			extents = 1.3000 0.6800 1.0000,
			rotate = 0.0000 0.0000 0.0000,
		}

		attachment trailer
		{
			offset = 0.0000 -0.4600 -1.7192,
			rotate = 0.0000 0.0000 0.0000,
			zoffset = -1.0000,
		}

		attachment trailerfront
		{
			offset = 0.0000 -0.4600 1.5655,
			rotate = 0.0000 0.0000 0.0000,
			zoffset = 1.0000,
		}
	}
}
