module Base
{
	template vehicle VVA_DoorFrontLeft {
		template! = VVA_DoorFL,
		template! = VVA_DoorFL_Fast,
	}
	template vehicle VVA_DoorFrontRight {
		template! = VVA_DoorFR,
		template! = VVA_DoorFR_Fast,
	}	
	template vehicle VVA_DoorMiddleLeft {
		template! = VVA_DoorML,
		template! = VVA_DoorML_Fast,
	}
	template vehicle VVA_DoorMiddleRight {
		template! = VVA_DoorMR,
		template! = VVA_DoorMR_Fast,
	}	
	template vehicle VVA_DoorRearLeft {
		template! = VVA_DoorRL,
		template! = VVA_DoorRL_Fast,
	}
	template vehicle VVA_DoorRearRight {
		template! = VVA_DoorRR,
		template! = VVA_DoorRR_Fast,
	}
	
	template vehicle VVA_DoorFL_Common {
		part VVAAnchor_DoorFL1
		{}
		part VVAAnchor_DoorFL2
		{}
		part VVAAnchor_DoorFL3
		{}
		part VVAAnchor_DoorFL*
		{
			parent = DoorFrontLeft,
			category = nodisplay,
           	itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
				create = Vehicles.Create.Default,
				update = Vehicles.Update.MirrorHoodCondition,
	    	}
			model Default {
				file = VVA_Dummy,
			}
		}
		
		template! = VVA_DoorFL,
		template! = VVA_DoorFL_Slow,
	}
	template vehicle VVA_DoorFR_Common {
		part VVAAnchor_DoorFR1
		{}
		part VVAAnchor_DoorFR2
		{}
		part VVAAnchor_DoorFR3
		{}
		part VVAAnchor_DoorFR*
		{
			parent = DoorFrontRight,
			category = nodisplay,
           	itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
				create = Vehicles.Create.Default,
				update = Vehicles.Update.MirrorHoodCondition,
	    	}
			model Default {
				file = VVA_Dummy,
			}
		}
		
		template! = VVA_DoorFR,
		template! = VVA_DoorFR_Slow,
	}
	template vehicle VVA_DoorML_Common {
		part VVAAnchor_DoorML1
		{}
		part VVAAnchor_DoorML2
		{}
		part VVAAnchor_DoorML3
		{}
		part VVAAnchor_DoorML*
		{
			parent = DoorMiddleLeft,
			category = nodisplay,
           	itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
				create = Vehicles.Create.Default,
				update = Vehicles.Update.MirrorHoodCondition,
	    	}
			model Default {
				file = VVA_Dummy,
			}
		}
		
		template! = VVA_DoorML,
		template! = VVA_DoorML_Slow,
	}
	template vehicle VVA_DoorMR_Common {
		part VVAAnchor_DoorMR1
		{}
		part VVAAnchor_DoorMR2
		{}
		part VVAAnchor_DoorMR3
		{}
		part VVAAnchor_DoorMR*
		{
			parent = DoorMiddleRight,
			category = nodisplay,
           	itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
				create = Vehicles.Create.Default,
				update = Vehicles.Update.MirrorHoodCondition,
	    	}
			model Default {
				file = VVA_Dummy,
			}
		}
		
		template! = VVA_DoorMR,
		template! = VVA_DoorMR_Slow,
	}
	template vehicle VVA_DoorRL_Common {
		part VVAAnchor_DoorRL1
		{}
		part VVAAnchor_DoorRL2
		{}
		part VVAAnchor_DoorRL3
		{}
		part VVAAnchor_DoorRL*
		{
			parent = DoorRearLeft,
			category = nodisplay,
           	itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
				create = Vehicles.Create.Default,
				update = Vehicles.Update.MirrorHoodCondition,
	    	}
			model Default {
				file = VVA_Dummy,
			}
		}
		
		template! = VVA_DoorRL,
		template! = VVA_DoorRL_Slow,
	}
	template vehicle VVA_DoorRR_Common {
		part VVAAnchor_DoorRR1
		{}
		part VVAAnchor_DoorRR2
		{}
		part VVAAnchor_DoorRR3
		{}
		part VVAAnchor_DoorRR*
		{
			parent = DoorRearRight,
			category = nodisplay,
           	itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
				create = Vehicles.Create.Default,
				update = Vehicles.Update.MirrorHoodCondition,
	    	}
			model Default {
				file = VVA_Dummy,
			}
		}

		template! = VVA_DoorRR,
		template! = VVA_DoorRR_Slow,
	}


	template vehicle VVA_DoorWindowFrontLeft {
		template! = VVA_DoorFL,
		template! = VVA_DoorFL_Reg,
		template! = VVA_WindowFL,
	}
	template vehicle VVA_DoorWindowFrontRight {
		template! = VVA_DoorFR,
		template! = VVA_DoorFR_Reg,
		template! = VVA_WindowFR,
	}
	template vehicle VVA_DoorsWindowFront {
		template! = VVA_DoorWindowFrontLeft,
		template! = VVA_DoorWindowFrontRight,
	}
	template vehicle VVA_DoorWindowMiddleLeft {
		template! = VVA_DoorML,
		template! = VVA_DoorML_Reg,
		template! = VVA_WindowML,
	}
	template vehicle VVA_DoorWindowMiddleRight {
		template! = VVA_DoorMR,
		template! = VVA_DoorMR_Reg,
		template! = VVA_WindowMR,
	}	
	template vehicle VVA_DoorWindowRearLeft {
		template! = VVA_DoorRL,
		template! = VVA_DoorRL_Reg,
		template! = VVA_WindowRL,
	}
	template vehicle VVA_DoorWindowRearRight {
		template! = VVA_DoorRR,
		template! = VVA_DoorRR_Reg,
		template! = VVA_WindowRR,
	}

	template vehicle VVA_EngineDoor {
		template! = VVA_Hood,
		template! = VVA_Hood_Fast,
	}	
	template vehicle VVA_EngineDoorHeadlights {
		template! = VVA_Hood,
		template! = VVA_Hood_Slow,
	}

	template vehicle VVA_OpenBedVersion {}
	
	template vehicle VVA_RearDoorVersionBlind {
		template! = VVA_DoorRear,
		template! = VVA_DoorRear_Fast,
	}
	template vehicle VVA_RearDoorVersionMed {
		template! = VVA_DoorRear,
		template! = VVA_DoorRear_Reg,
	}
	template vehicle VVA_RearDoorVersionSlow {
		template! = VVA_DoorRear,
		template! = VVA_DoorRear_Slow,
	}

	template vehicle VVA_TrunkDoorVersion {
		template! = VVA_TrunkDoor,
		template! = VVA_TrunkDoor_Fast,
	}
	template vehicle VVA_TrunkDoorWindowVersion {
		template! = VVA_TrunkDoor,
		template! = VVA_TrunkDoor_Reg,
	}
	template vehicle VVA_TrunkDoorLightsVersion {
		template! = VVA_TrunkDoor,
		template! = VVA_TrunkDoor_Slow,
	}
	
	
	template vehicle VVA_ATA2AirScoopHoodFix
	{
		part ATA2AirScoop
		{			
			table install
			{
				complete = ATATuning2.InstallComplete.AirScoop,
			}
			table uninstall
			{
				complete = ATATuning2.UninstallComplete.AirScoop,
			}
		}
	}

	template vehicle VVA_LightHostAnimate {
		part LightsHost
		{
			category = nodisplay,
            specificItem = false,
            itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
				create = Vehicles.Create.Default,
	    	}
			door
			{}		

			anim Close
			{
				anim = Lights_open,
				reverse = TRUE,
				rate = 1,
			}

			anim Open
			{
				anim = Lights_open,
				rate = 1,
			}

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

			anim Opened
			{
				anim = Lights_open,
				reverse = TRUE,
				animate = FALSE,
			}
		}
	}
	template vehicle VVA_Interior {
		part Interior
		{
			category = nodisplay,
            specificItem = false,
            itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
			    create = Vehicles.Create.Default,
	    	}
		}
	}
	template vehicle VVA_lightbar {
		part VVALightbar
		{
			category = nodisplay,
            area = Engine,
            specificItem = false,
            itemType = Base.LightBulb,
            setAllModelsVisible = true,
			lua
	    	{
				create = Vehicles.Create.Default,
	    	}
		}
	}
	template vehicle VVA_taxi {
		part VVATaxiSign
		{
			category = nodisplay,
			specificItem = false,
			itemType = Base.LightBulb,
			lua
			{
				create = Vehicles.Create.Default,
			}
		}
	}
	
	template vehicle VVA_HIDE_lightbar {
		part VVALightbar
		{
			category = nodisplay,
            setAllModelsVisible = false,
			lua
	    	{
				init = Vehicles.Init.HideModel
	    	}
		}
	}
	template vehicle VVA_HIDE_taxi {
		part VVATaxiSign
		{
			category = nodisplay,
            setAllModelsVisible = false,
			lua
	    	{
				init = Vehicles.Init.HideModel
	    	}
		}
	}
	model VVA_Dummy
	{
		mesh = vehicles/dummy,
		shader = vehicle_multiuv_noreflect,
		static = TRUE,
		scale = 0.000004,
	}
}