module Base
{
	model 89dodgeCaravanBase
	{
		mesh = vehicles/Vehicles_89dodgeCaravan_Body|caravan_body,
		shader = damn_vehicle_shader,
		scale = 0.1,
	}
	model 89dodgeCaravanInterior
	{
		mesh = vehicles/Vehicles_89dodgeCaravan_Body|caravan_interior,
		texture = Vehicles/Vehicles_89dodgeCaravan_Interior,
		shader = damn_wheel_shader,
		scale = 0.1,
	}
	model 89dodgeCaravanSuspension
	{
		mesh = vehicles/Vehicles_89dodgeCaravan_Body|caravan_sus_stock,
		texture = Vehicles/Vehicles_89dodgeCaravan_Interior,
		shader = damn_wheel_shader,
		scale = 0.1,
	}
	model 89dodgeCaravanExhaust
	{
		mesh = vehicles/Vehicles_89dodgeCaravan_Body|caravan_exhaust0,
		texture = Vehicles/Vehicles_89dodgeCaravan_Interior,
		shader = damn_wheel_shader,
		scale = 0.1,
	}
	model 89dodgeCaravanRadio
	{
		mesh = vehicles/Vehicles_89dodgeCaravan_Body|caravan_radio,
		texture = Vehicles/Vehicles_89dodgeCaravan_Interior,
		shader = damn_wheel_shader,
		scale = 0.1,
	}
	model 89dodgeCaravanTISBattery
	{
		mesh = vehicles/Vehicles_89dodgeCaravan_Body|TIS_CarBattery,
		texture = Vehicles/Vehicles_89dodgeCaravan_Interior,
		shader = damn_wheel_shader,
		scale = 0.1,
	}
	vehicle 89dodgeCaravan
	{
		mechanicType = 1,
		offRoadEfficiency = 0.82,
		engineRepairLevel = 4,
		playerDamageProtection = 1.2,

		model
		{
			file = 89dodgeCaravanBase,
			scale = 0.9000,
			offset = 0.0000 0.3222 0.0000,
		}

		spawnOffsetY = 0,

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_blackCherry,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_blackCherry_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_brightWhite,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_brightWhite_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_charcoalPearl,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_charcoalPearl_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_darkSuede,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_darkSuede_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_iceBlue,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_iceBlue_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_twilightBlue,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_twilightBlue_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_mediumSuede,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_mediumSuede_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_radiantSilver,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_radiantSilver_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_redPearl,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_redPearl_wood,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_black,
		}

		skin
		{
			texture = Vehicles/Vehicles_89dodgeCaravan_Shell_black_wood,
		}

		textureRust = Vehicles/Vehicles_89dodgeCaravan_Rust,
		textureMask = Vehicles/Vehicles_89dodgeCaravan_Mask,
		textureLights = Vehicles/Vehicles_89dodgeCaravan_Lights,
		textureDamage1Shell = Vehicles/Vehicles_89dodgeCaravan_Damage1,
		textureDamage2Shell = Vehicles/Vehicles_89dodgeCaravan_Damage2,
		textureDamage1Overlay = Vehicles/Vehicles_89dodgeCaravan_Blood,
		textureDamage2Overlay = Vehicles/Vehicles_89dodgeCaravan_Blood,

		sound
		{
			engine = VehicleEngineCarNormal,
			engineStart = VehicleEngineCarNormal,
			engineTurnOff = VehicleEngineCarNormal,
			horn = VehicleHornStandard,
			ignitionFail = VehicleIgnitionFailCarNormal,
		}

		extents = 1.8222 1.3778 4.4889,
		mass = 700,
		physicsChassisShape = 1.8222 1.3778 4.4889,
		centerOfMassOffset = 0.0000 0.6889 0.0000,
		shadowExtents = 1.8355 4.7459,
		shadowOffset = -0.0000 -0.0010,
		engineForce = 3300,
		maxSpeed = 75f,
		engineLoudness = 78,
		engineQuality = 80,
		brakingForce = 85,
		stoppingMovementForce = 3.5f,
		rollInfluence = 0.95f,
		steeringIncrement = 0.04,
		steeringClamp = 0.3,
		suspensionStiffness = 40,
		suspensionCompression = 3.83,
		suspensionDamping = 2.88,
		maxSuspensionTravelCm = 12,
		suspensionRestLength = 0.3,
		wheelFriction = 1.6f,
		frontEndHealth = 350,
		rearEndHealth = 250,
		seats = 4,

		wheel FrontLeft
		{
			front = true,
			offset = 0.7778 -0.3889 1.4333,
			radius = 0.32f,
			width = 0.19f,
		}

		wheel FrontRight
		{
			front = true,
			offset = -0.7778 -0.3889 1.4333,
			radius = 0.32f,
			width = 0.19f,
		}

		wheel RearLeft
		{
			front = false,
			offset = 0.7778 -0.3889 -1.4667,
			radius = 0.32f,
			width = 0.19f,
		}

		wheel RearRight
		{
			front = false,
			offset = -0.7778 -0.3889 -1.4667,
			radius = 0.32f,
			width = 0.19f,
		}

		template = PassengerSeat4,

		passenger FrontLeft
		{
			showPassenger = true,
			hasRoof = true,

			position inside
			{
				offset = 0.5000 0.1111 0.1667,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = 1.2444 -0.7000 -0.2444,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontLeft,
			}
		}

		passenger FrontRight
		{
			showPassenger = true,
			hasRoof = true,

			position inside
			{
				offset = -0.5000 0.1111 0.1667,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -1.2111 -0.7000 -0.2111,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontRight,
			}
		}

		passenger RearLeft
		{
			showPassenger = true,
			hasRoof = true,
			door = DoorRearRight,

			position inside
			{
				offset = 0.5000 0.1111 -0.7556,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -1.2222 -0.7000 -0.7889,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatRearRight,
			}
		}

		passenger RearRight
		{
			showPassenger = true,
			hasRoof = true,
			door = DoorRearRight,

			position inside
			{
				offset = -0.0778 0.1111 -0.7556,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -1.2333 -0.7000 -0.3667,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatRearRight,
			}
		}

		area Engine
		{
			xywh = 0.0000 2.6333 1.5778 0.7778,
		}

		area TruckBed
		{
			xywh = 0.0000 -2.8000 1.5333 1.1111,
		}

		area Roofrack
		{
			xywh = 0.0000 -0.1000 3.0889 1.6222,
		}

		area SeatFrontLeft
		{
			xywh = 1.3000 0.4333 0.7778 1.0667,
		}

		area SeatFrontRight
		{
			xywh = -1.3000 0.4333 0.7778 1.0667,
		}

		area SeatRearRight
		{
			xywh = -1.3000 -0.6222 0.7778 1.0444,
		}

		area SeatRearLeft
		{
			xywh = 1.1556 -0.4000 0.7778 0.3556,
		}

		area GasTank
		{
			xywh = 1.3000 -1.0111 0.7778 0.7778,
		}

		area TireFrontLeft
		{
			xywh = 1.3889 1.4222 0.4222 0.4222,
		}

		area TireFrontRight
		{
			xywh = -1.3889 1.4222 0.4222 0.4222,
		}

		area TireRearLeft
		{
			xywh = 1.3889 -1.4667 0.4222 0.4222,
		}

		area TireRearRight
		{
			xywh = -1.3889 -1.4667 0.4222 0.4222,
		}

		template = DGC89Tires,
		template = DGC89Seats4,
		template = DGC89FrontBumpers,
		template = DGC89RearBumpers,
		template = DGC89EngineDoor,
		template = DGC89TrunkDoors,
		template = DGC89TrunkCompartment,
		template = DGC89Doors,
		
		template = DGC89Sidesteps,
		template = DGC89Mudflaps,
		template = DGC89Armor,
		template = DGC89SpareTire,
		template = DGC89Roofrack,
		template = DGC89NomadGear,

		part GloveBox
		{
			area = SeatFrontRight,
			itemType = Base.GloveBox,
			mechanicRequireKey = true,

			model DGC89int
			{
				file = 89dodgeCaravanInterior,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}

			model DGC89sus
			{
				file = 89dodgeCaravanSuspension,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}

			container
			{
				capacity = 7,
				test = Vehicles.ContainerAccess.GloveBox,
			}

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

		template = GasTank,

		part GasTank
		{
			table install
			{
				door = TrunkDoor,
				recipes = Intermediate Mechanics,
			}

			table uninstall
			{
				recipes = Intermediate Mechanics,
			}
		}

		template = Battery,

		part Battery
		{
			model DGC89tisbat
			{
				file = 89dodgeCaravanTISBattery,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		template = Engine,
		template = Muffler,

		part Muffler
		{
			model superMuff4000
			{
				file = 89dodgeCaravanExhaust,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}

			table install
			{
				recipes = Intermediate Mechanics,
			}

			table uninstall
			{
				recipes = Intermediate Mechanics,
			}
		}

		part Heater
		{
			category = engine,

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

		part PassengerCompartment
		{
			category = nodisplay,

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

		template = Brake,

		part Brake*
		{
			table install
			{
				skills = Mechanics:6,
				recipes = Intermediate Mechanics,
			}

			table uninstall
			{
				skills = Mechanics:6,
				recipes = Intermediate Mechanics,
			}
		}

		template = Suspension,

		part Suspension*
		{
			table install
			{
				skills = Mechanics:6,
				recipes = Intermediate Mechanics,
			}

			table uninstall
			{
				skills = Mechanics:6,
				recipes = Intermediate Mechanics,
			}
		}

		template = Radio,

		part Radio
		{
			model MrRadio
			{
				file = 89dodgeCaravanRadio,
				offset = 0.0000 0.0000 0.0000,
				rotate = 0.0000 0.0000 0.0000,
			}
		}

		template = Headlight,
        template = DGC89Windows,
		template = DGC89Windshields,
        template = DAMNglobal,
		template = DAMN89dodgeCaravan,
        useChassisPhysicsCollision = false,

		physics box
		{
			offset = 0.0000 0.3267 0.0000,
			extents = 1.7778 0.6667 4.5556,
			rotate = 0.0000 0.0000 0.0000,
		}

		physics box
		{
			offset = 0.0000 1.0111 -0.6923,
			extents = 1.5778 0.7111 2.4222,
			rotate = 0.0000 0.0000 0.0000,
		}

		physics box
		{
			offset = 0.0000 0.9222 -1.9012,
			extents = 1.5778 0.8222 0.3556,
			rotate = 23.0000 0.0000 0.0000,
		}

		physics box
		{
			offset = 0.0000 0.8667 0.6374,
			extents = 1.5778 0.8667 0.5556,
			rotate = -46.0000 0.0000 0.0000,
		}

		attachment trailer
		{
			offset = 0.0000 -0.2000 -2.3556,
			rotate = 0.0000 0.0000 0.0000,
			zoffset = -1.0000,
		}

		attachment trailerfront
		{
			offset = 0.0000 -0.2000 2.4222,
			rotate = 0.0000 0.0000 0.0000,
			zoffset = 1.0000,
		}
	}
}
