module Base
{

	model 63beetleWheelStock
	{
		mesh = vehicles/Vehicles_vwT1common_Wheels|63beetle_tire_stock,
		texture = vehicles/Vehicles_63beetle_Wheel_stock,
		shader = damn_wheel_shader,
		scale = 0.1,
	}

	model 63beetleWheelOffroad
	{
		mesh = vehicles/Vehicles_63beetle_Wheels|63beetle_tire_offroad,
		texture = vehicles/Vehicles_63beetle_Wheel_offroad,
		shader = damn_wheel_shader,
		scale = 0.1,
	}

	model 63beetleWheelSlick
	{
		mesh = vehicles/Vehicles_63beetle_Wheels|63beetle_tire_slick,
		texture = vehicles/Vehicles_63beetle_Wheel_slick,
		shader = damn_wheel_shader,
		scale = 0.1,
	}

    model 63beetleWheelUNIL
	{
		mesh = vehicles/Vehicles_damnBasic_tires|damn_stock_tire0,
		texture = vehicles/Vehicles_damnBasic_Wheel1,
		shader = damn_wheel_shader,
		scale = 0.096,
	}
    model 63beetleWheelUNIR
	{
		mesh = vehicles/Vehicles_damnBasic_tires|damn_stock_tire0,
		texture = vehicles/Vehicles_damnBasic_Wheel1,
		shader = damn_wheel_shader,
		scale = 0.096,
        invertX = TRUE,
	}

	template vehicle BTL63TiresStock
	{
		part TireFrontLeft
		{
            model BTL63Tire
			{
				file = 63beetleWheelStock,
			}

            model 63beetleuniTireL
			{
				file = 63beetleWheelUNIL,
			}

			area = TireFrontLeft,
			wheel = FrontLeft,
			table install
			{
				complete = BTL63.InstallComplete.TireFrontLeft,
				requireInstalled = BrakeFrontLeft;SuspensionFrontLeft,
			}
			table uninstall
			{
				complete = BTL63.UninstallComplete.TireFrontLeft,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = BTL63.Init.TireFrontLeft,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}

		}

		part TireFrontRight
		{
            model BTL63Tire
			{
				file = 63beetleWheelStock,
			}

            model 63beetleuniTireR
			{
				file = 63beetleWheelUNIR,
			}

			area = TireFrontRight,
			wheel = FrontRight,
			table install
			{
				complete = BTL63.InstallComplete.TireFrontRight,
				requireInstalled = BrakeFrontRight;SuspensionFrontRight,
			}
			table uninstall
			{
				complete = BTL63.UninstallComplete.TireFrontRight,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = BTL63.Init.TireFrontRight,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}
		}

		part TireRearLeft
		{
            model BTL63Tire
			{
				file = 63beetleWheelStock,
			}

            model 63beetleuniTireL
			{
				file = 63beetleWheelUNIL,
			}

			area = TireRearLeft,
			wheel = RearLeft,
			table install
			{
				complete = BTL63.InstallComplete.TireRearLeft,
				requireInstalled = BrakeRearLeft;SuspensionRearLeft,
			}
            table uninstall
			{
				complete = BTL63.UninstallComplete.TireRearLeft,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = BTL63.Init.TireRearLeft,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}
		}

		part TireRearRight
		{
            model BTL63Tire
			{
				file = 63beetleWheelStock,
			}

            model 63beetleuniTireR
			{
				file = 63beetleWheelUNIR,
			}

			area = TireRearRight,
			wheel = RearRight,
			table install
			{
				complete = BTL63.InstallComplete.TireRearRight,
				requireInstalled = BrakeRearRight;SuspensionRearRight,
			}
			table uninstall
			{
				complete = BTL63.UninstallComplete.TireRearRight,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = BTL63.Init.TireRearRight,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}
		}

		part Tire*
		{
			category = tire,
			specificItem = false,
			itemType = Base.63vwStockTire1;damnCraft.SmallTire1,
            durability = 2,
			container
			{
				capacity = 35,
				test = Vehicles.ContainerAccess.Tire,
				contentType = Air,
			}
			table install
			{
				items
				{
					1
					{
						type = Base.Jack,
						count = 1,
						keep = true,
					}
					2
					{
						tags = LugWrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 400,
				skills = Mechanics:1,
				test = Vehicles.InstallTest.Default,
			}
			table uninstall
			{
				items
				{
					1
					{
						type = Base.Jack,
						count = 1,
						keep = true,
					}
					2
					{
						tags = LugWrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 400,
				skills = Mechanics:1,
				test = Vehicles.UninstallTest.Default,
			}
		}
	}

	template vehicle BTL63TiresOffroad
	{
		part TireFrontLeft
		{
			area = TireFrontLeft,
			wheel = FrontLeft,
			table install
			{
				requireInstalled = BrakeFrontLeft;SuspensionFrontLeft,
			}

		}

		part TireFrontRight
		{
			area = TireFrontRight,
			wheel = FrontRight,
			table install
			{
				requireInstalled = BrakeFrontRight;SuspensionFrontRight,
			}
		}

		part TireRearLeft
		{
			area = TireRearLeft,
			wheel = RearLeft,
			table install
			{
				requireInstalled = BrakeRearLeft;SuspensionRearLeft,
			}
		}

		part TireRearRight
		{
			area = TireRearRight,
			wheel = RearRight,
			table install
			{
				requireInstalled = BrakeRearRight;SuspensionRearRight,
			}
		}

		part Tire*
		{
			category = tire,
			specificItem = false,
			itemType = Base.63beetleTireOffroad2,
            durability = 2,
			container
			{
				capacity = 35,
				test = Vehicles.ContainerAccess.Tire,
				contentType = Air,
			}
			table install
			{
				items
				{
					1
					{
						type = Base.Jack,
						count = 1,
						keep = true,
					}
					2
					{
						tags = LugWrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 400,
				skills = Mechanics:1,
				test = Vehicles.InstallTest.Default,
				complete = Vehicles.InstallComplete.Tire,
			}
			table uninstall
			{
				items
				{
					1
					{
						type = Base.Jack,
						count = 1,
						keep = true,
					}
					2
					{
						tags = LugWrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 400,
				skills = Mechanics:1,
				test = Vehicles.UninstallTest.Default,
				complete = Vehicles.UninstallComplete.Tire,
			}

			model BTLTireO
			{
				file = 63beetleWheelOffroad,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = Vehicles.Init.Tire,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}
		}
	}

	template vehicle BTL63TiresSlick
	{
		part TireFrontLeft
		{
            model BTL63Tire
			{
				file = 63beetleWheelStock,
			}

			model BTL63TireS
			{
				file = 63beetleWheelSlick,
			}

            model 63beetleuniTireL
			{
				file = 63beetleWheelUNIL,
			}

			area = TireFrontLeft,
			wheel = FrontLeft,
			table install
			{
				complete = BTL63.InstallComplete.TireFrontLeft,
				requireInstalled = BrakeFrontLeft;SuspensionFrontLeft,
			}
			table uninstall
			{
				complete = BTL63.UninstallComplete.TireFrontLeft,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = BTL63.Init.TireFrontLeft,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}

		}

		part TireFrontRight
		{
            model BTL63Tire
			{
				file = 63beetleWheelStock,
			}

			model BTL63TireS
			{
				file = 63beetleWheelSlick,
			}

            model 63beetleuniTireR
			{
				file = 63beetleWheelUNIR,
			}

			area = TireFrontRight,
			wheel = FrontRight,
			table install
			{
				complete = BTL63.InstallComplete.TireFrontRight,
				requireInstalled = BrakeFrontRight;SuspensionFrontRight,
			}
			table uninstall
			{
				complete = BTL63.UninstallComplete.TireFrontRight,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = BTL63.Init.TireFrontRight,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}
		}

		part TireRearLeft
		{
            model BTL63Tire
			{
				file = 63beetleWheelStock,
			}

			model BTL63TireS
			{
				file = 63beetleWheelSlick,
			}

            model 63beetleuniTireL
			{
				file = 63beetleWheelUNIL,
			}

			area = TireRearLeft,
			wheel = RearLeft,
			table install
			{
				complete = BTL63.InstallComplete.TireRearLeft,
				requireInstalled = BrakeRearLeft;SuspensionRearLeft,
			}
			table uninstall
			{
				complete = BTL63.UninstallComplete.TireRearLeft,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = BTL63.Init.TireRearLeft,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}
		}

		part TireRearRight
		{
            model BTL63Tire
			{
				file = 63beetleWheelStock,
			}

			model BTL63TireS
			{
				file = 63beetleWheelSlick,
			}

            model 63beetleuniTireR
			{
				file = 63beetleWheelUNIR,
			}

			area = TireRearRight,
			wheel = RearRight,
			table install
			{
				complete = BTL63.InstallComplete.TireRearRight,
				requireInstalled = BrakeRearRight;SuspensionRearRight,
			}
			table uninstall
			{
				complete = BTL63.UninstallComplete.TireRearRight,
			}

			lua
			{
				create = Vehicles.Create.Tire,
				init = BTL63.Init.TireRearRight,
				checkOperate = Vehicles.CheckOperate.Tire,
				update = Vehicles.Update.Tire,
			}
		}

		part Tire*
		{
			category = tire,
			specificItem = false,
			itemType = Base.63vwStockTire1;Base.63beetleTireSlick3;damnCraft.SmallTire1,
            durability = 2,
			container
			{
				capacity = 35,
				test = Vehicles.ContainerAccess.Tire,
				contentType = Air,
			}
			table install
			{
				items
				{
					1
					{
						type = Base.Jack,
						count = 1,
						keep = true,
					}
					2
					{
						tags = LugWrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 400,
				skills = Mechanics:1,
				test = Vehicles.InstallTest.Default,

			}
			table uninstall
			{
				items
				{
					1
					{
						type = Base.Jack,
						count = 1,
						keep = true,
					}
					2
					{
						tags = LugWrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 400,
				skills = Mechanics:1,
				test = Vehicles.UninstallTest.Default,
			}

		}
	}
}

