module Rotators
{
	template vehicle TruckWaterTankTrunk
	{
      /* Because of engine limitations, TrunkRight is unused as of now. We are instead using vanilla Trunk. */
		part TrunkRight
		{
			area = TrunkRight,
			category = bodywork,
			itemType = Base.NormalTrunk,
			mechanicRequireKey = true,
			repairMechanic = true,
			container
			{
				conditionAffectsCapacity = false,
				test = rWaterTrailer.Vehicle.ContainerAccess.TrunkRight,
			}
			lua
			{
				create = Vehicles.Create.Default,
			}
		}
		part TrunkDoorRight
		{
			category = bodywork,
			area = TrunkRight,
			door
			{
			}
         
			anim Close
			{
            sound = VehicleTrunkCloseStandard,
				anim = Trunk_closing,
				rate = 2.5,
			}

			anim Open
			{
            sound = VehicleTrunkOpenStandard,
				anim = Trunk_closing,
				reverse = TRUE,
				rate = 1.5,
			}

			anim Closed
			{
				anim = Trunk_closing,
				reverse = TRUE,
				animate = FALSE,
			}

			anim Opened
			{
				anim = Trunk_closing,
				animate = FALSE,
			}
			anim Lock
			{
				sound = LockVehicleDoorStandard,
			}
			anim Unlock
			{
				sound = UnlockVehicleDoorStandard,
			}
			anim IsLocked
			{
				sound = VehicleDoorIsLockedStandard,
			}
         
			anim ActorOpen
			{
				anim = WindowOpenSuccess,
				rate = 0.15,
				angle = 0.0 90.0 0.0,
			}
			anim ActorClose
			{
				anim = Attack_Shove,
				rate = 0.3,
				angle = 0.0 90.0 0.0,
			}

			itemType = Base.TrunkDoor,
			mechanicRequireKey = false,
			repairMechanic = true,
			table install
			{
				items
				{
					item
					{
						type = Base.Wrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 300,
				skills = Mechanics:3,
				recipes = Basic Mechanics,
				test = Vehicles.InstallTest.Default,
				complete = Vehicles.InstallComplete.Door,
			}
			table uninstall
			{
				items
				{
					item
					{
						type = Base.Wrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 300,
				skills = Mechanics:3,
				recipes = Basic Mechanics,
				test = Vehicles.UninstallTest.Default,
				complete = Vehicles.UninstallComplete.Door,
			}
			lua
			{
				create = Vehicles.Create.TrunkDoor,
				init = Vehicles.Init.Door,
				update = Vehicles.Update.TrunkDoor,
				use = Vehicles.Use.TrunkDoor,
			}
		}
		part TrunkLeft
		{
			area = TrunkLeft,
			category = bodywork,
			itemType = Base.NormalTrunk,
			mechanicRequireKey = true,
			repairMechanic = true,
			container
			{
				conditionAffectsCapacity = false,
				test = rWaterTrailer.Vehicle.ContainerAccess.TrunkLeft,
			}
			lua
			{
				create = Vehicles.Create.Default,
			}
		}
		part TrunkDoorLeft
		{
			category = bodywork,
			area = TrunkLeft,
			door
			{
			}
         
			anim Close
			{
            sound = VehicleTrunkCloseStandard,
				anim = Trunk2_closing,
				rate = 2.5,
			}

			anim Open
			{
            sound = VehicleTrunkOpenStandard,
				anim = Trunk2_closing,
				reverse = TRUE,
				rate = 1.5,
			}

			anim Closed
			{
				anim = Trunk2_closing,
				reverse = TRUE,
				animate = FALSE,
			}

			anim Opened
			{
				anim = Trunk2_closing,
				animate = FALSE,
			}
			anim Lock
			{
				sound = LockVehicleDoorStandard,
			}
			anim Unlock
			{
				sound = UnlockVehicleDoorStandard,
			}
			anim IsLocked
			{
				sound = VehicleDoorIsLockedStandard,
			}
			anim ActorOpen
			{
				anim = WindowOpenSuccess,
				rate = 0.15,
				angle = 0.0 -90.0 0.0,
			}

			anim ActorClose
			{
				anim = Attack_Shove,
				rate = 0.3,
				angle = 0.0 -90.0 0.0,
			}
			itemType = Base.TrunkDoor,
			mechanicRequireKey = false,
			repairMechanic = true,
			table install
			{
				items
				{
					item
					{
						type = Base.Wrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 300,
				skills = Mechanics:3,
				recipes = Basic Mechanics,
				test = Vehicles.InstallTest.Default,
				complete = Vehicles.InstallComplete.Door,
			}
			table uninstall
			{
				items
				{
					item
					{
						type = Base.Wrench,
						count = 1,
						keep = true,
						equip = primary,
					}
				}
				time = 300,
				skills = Mechanics:3,
				recipes = Basic Mechanics,
				test = Vehicles.UninstallTest.Default,
				complete = Vehicles.UninstallComplete.Door,
			}
			lua
			{
				create = Vehicles.Create.TrunkDoor,
				init = Vehicles.Init.Door,
				update = Vehicles.Update.TrunkDoor,
				use = Vehicles.Use.TrunkDoor,
			}
		}
	}
}


