module Base
{
	model 89defender90Base
	{
		mesh = vehicles/Vehicles_89defender_Body|defender_90_body,
		shader = damn_vehicle_shader,
		invertX = FALSE,
		scale = 0.1,
	}
	model 89defender90Extra
	{
		mesh = vehicles/Vehicles_89defender_Body|defender_90_body_stock,
		shader = damn_vehicle_shader,
		invertX = FALSE,
		scale = 0.1,
	}
	model 89defender90Interior
	{
		mesh = vehicles/Vehicles_89defender_Body|defender_90_interior,
		texture = Vehicles/Vehicles_89defender_Interior,
		shader = damn_wheel_shader,
		scale = 0.1,
	}
	vehicle 89defender90
	{
		mechanicType = 2,
		offroadEfficiency = 1.15,
		engineRepairLevel = 4,
		playerDamageProtection = 1.3,

		model
		{
			file = 89defender90Base,
			scale = 0.9000,
			offset = 0.0000 0.4333 -0.3444,
		}

		skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_arizonaTan,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_arranBeige,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_black,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_bronzeGreen,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_camelTrophyYellow,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_corallinRed,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_darkGrey,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_lincolnGreen,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_tamarBlue,
		}
        skin
		{
			texture = Vehicles/Vehicles_89defender90_Shell_white,
		}

		textureRust = Vehicles/Vehicles_89defender110_Rust,
		textureMask = Vehicles/Vehicles_89defender90_Mask,
		textureLights = Vehicles/Vehicles_89defender_Lights,
		textureDamage1Shell = Vehicles/Vehicles_89defender_Damage1,
		textureDamage2Shell = Vehicles/Vehicles_89defender_Damage2,
		textureDamage1Overlay = Vehicles/Vehicles_89defender_Blood,
		textureDamage2Overlay = Vehicles/Vehicles_89defender_Blood,

		sound
		{
			horn = VehicleHorn,
		}

		extents = 1.7333 1.5111 3.6889,
		mass = 750,
		physicsChassisShape = 1.7333 1.5111 3.6889,
		centerOfMassOffset = 0.0000 0.9111 -0.1556,
		shadowExtents = 1.8453 3.8932,
		shadowOffset = -0.0026 -0.1129,
		engineForce = 4300,
		maxSpeed = 75f,
		engineLoudness = 80,
		engineQuality = 78,
		brakingForce = 55,
		stoppingMovementForce = 4.0f,
		rollInfluence = 0.96f,
		steeringIncrement = 0.04,
		steeringClamp = 0.3,
		suspensionStiffness = 36,
		suspensionCompression = 3.85,
		suspensionDamping = 2.85,
		maxSuspensionTravelCm = 14,
		suspensionRestLength = 0.20f,
		wheelFriction = 1.7f,
		frontEndHealth = 150,
		rearEndHealth = 165,
		seats = 2,

		wheel FrontLeft
		{
			front = true,
			offset = 0.7556 -0.4444 1.5111,
			radius = 0.37f,
			width = 0.26f,
		}

		wheel FrontRight
		{
			front = true,
			offset = -0.7556 -0.4444 1.5111,
			radius = 0.37f,
			width = 0.26f,
		}

		wheel RearLeft
		{
			front = false,
			offset = 0.7556 -0.4444 -0.8000,
			radius = 0.37f,
			width = 0.26f,
		}

		wheel RearRight
		{
			front = false,
			offset = -0.7556 -0.4444 -0.8000,
			radius = 0.37f,
			width = 0.26f,
		}

		template = PassengerSeat2,

		passenger FrontLeft
		{
			showPassenger = true,
			hasRoof = true,

			position inside
			{
				offset = 0.4111 0.2667 0.0889,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = 1.1778 -0.7333 0.0889,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontLeft,
			}
		}

		passenger FrontRight
		{
			showPassenger = true,
			hasRoof = true,

			position inside
			{
				offset = -0.4111 0.2667 0.0889,
				rotate = 0.0000 0.0000 0.0000,
			}

			position outside
			{
				offset = -1.1667 -0.7333 0.1000,
				rotate = 0.0000 0.0000 0.0000,
				area = SeatFrontRight,
			}
		}

		area Engine
		{
			xywh = 0.0000 2.0778 1.3333 0.7778,
		}

		area TruckBed
		{
			xywh = 0.2000 -2.3889 1.3333 0.7778,
		}

		area Roofrack
		{
			xywh = 0.0000 -0.6222 3.1333 2.1111,
		}

		area StorageLeft
		{
			xywh = 1.2556 -1.1222 0.7778 1.2222,
		}

		area StorageRight
		{
			xywh = -1.2556 -1.1222 0.7778 1.2222,
		}

		area SeatFrontLeft
		{
			xywh = 1.2556 0.0444 0.7778 0.8889,
		}

		area SeatFrontRight
		{
			xywh = -1.2556 0.0444 0.7778 0.8889,
		}

		area SeatRearRight
		{
			xywh = -1.2556 -0.7889 0.7778 0.7778,
		}

		area SeatRearLeft
		{
			xywh = 1.2556 -0.7889 0.7778 0.7778,
		}

		area GasTank
		{
			xywh = -1.3111 -1.6889 0.4222 0.4222,
		}

		area TireFrontLeft
		{
			xywh = 1.3111 1.1667 0.4222 0.4222,
		}

		area TireFrontRight
		{
			xywh = -1.3111 1.1667 0.4222 0.4222,
		}

		area TireRearLeft
		{
			xywh = 1.3111 -1.1444 0.4222 0.4222,
		}

		area TireRearRight
		{
			xywh = -1.3111 -1.1444 0.4222 0.4222,
		}

		template = DEF89TrunkCompartment,

            part DEF89Trunk
		    {
                container
                {
                    capacity = 100,
                    test = DAMN.ContainerAccess.TrunkInner,
                }
		    }

		template = DEF89Tires,
		template = DEF89Seats2,
		template = DEF89EngineDoor,
		template = DEF89Doors2,
		
		template = DEF89TrunkDoor90,
		template = DEF89Mudflaps90,
		template = DEF89SidestepsShort,
		template = DEF89BumpersFront,
		template = DEF89BumpersRear90,
		template = DEF89Snorkel,
		template = DEF89SpareTire90,
		template = DEF89Armor90,
		template = DEF89RoofrackM90,
		template = DEF89Vents,

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

			model defcommonbod
			{
				file = 89defenderBase,
			}

			model defint
			{
				file = 89defenderInterior,
			}

			model def90int
			{
				file = 89defender90Interior,
			}

			model def90extra
			{
				file = 89defender90Extra,
			}

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

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

        template = DEF89CenterConsole,

		template = GasTank,

		part GasTank
		{
			install
			{
				skills = Mechanics:7,
				recipes = Intermediate Mechanics,
			}

			uninstall
			{
				skills = Mechanics:7,
				recipes = Intermediate Mechanics,
			}
		}

		template = Battery,

        part Battery
        {
            area = SeatFrontLeft,

            table uninstall
			{
				requireUninstalled = SeatFrontLeft,
			}
        }

		template = Engine,
		template = Muffler,

		part Muffler
		{
			model def90exh
			{
				file = 89defender110Exhaust,
				offset = 0 0 0.7021,
			}

			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,
		template = Headlight,
		template = DEF89Windshields90,
        template = DEF89Windows90,

		attachment trailer
		{
			offset = 0.0000 -0.1889 -1.6889,
			rotate = 0.0000 0.0000 0.0000,
			zoffset = -1.0000,
		}

		attachment trailerfront
		{
			offset = 0.0000 -0.1556 2.2222,
			rotate = 0.0000 0.0000 0.0000,
			zoffset = 1.0000,
		}

        template = DAMNglobal,
        template = DAMN89defender90,
	}
}
