//$GZDB_SKIP
// Decorate

// Constants
const int flashlightVert = 18;
const int flashlightHoriz = 0; // 36 for over-the-shoulder effect

//Checks if flashlight broke or not, exclusive to official mappacks.
ACTOR Flashlight_Broken : Inventory				{   Inventory.MaxAmount 1	}



// Actors
ACTOR FlashlightSpawner : CustomInventory
{
	States
	{
	Pickup:

		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan1", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan2", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan3", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan4", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan5", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan6", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan7", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan8", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan9", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan10", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan11", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan12", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan13", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan14", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan15", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan16", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan17", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan18", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))
		TNT1 A 0 A_CustomMissile("FlashLightBeam_Zan19", flashlightVert, flashlightHoriz, 0, 2, ACS_NamedExecuteWithResult("PointerPitch", 0))

		Stop
	}
}

ACTOR FlashLightBeam_Zan
{
	+CLIENTSIDEONLY
	+NOGRAVITY
	+NOCLIP
	+NOBLOCKMAP
	+DONTSPLASH
	+THRUACTORS
	+NOTIMEFREEZE	//Added to prevent framerate issues while blistering heat is on.
	//+nointeraction
	Renderstyle None
	Radius 1
	Height 1
	States 
	{
	Spawn:
		TNT1 AABC 1
		Stop
	}
}

ACTOR FlashLightBeam_Zan1 : FlashLightBeam_Zan
{
	Speed  1
}

ACTOR FlashLightBeam_Zan2 : FlashLightBeam_Zan
{
	Speed  2
}

ACTOR FlashLightBeam_Zan3 : FlashLightBeam_Zan
{
	Speed  3
}

ACTOR FlashLightBeam_Zan4 : FlashLightBeam_Zan
{
	Speed  4
}

ACTOR FlashLightBeam_Zan5 : FlashLightBeam_Zan
{
	Speed  5
}

ACTOR FlashLightBeam_Zan6 : FlashLightBeam_Zan
{
	Speed  7
}

ACTOR FlashLightBeam_Zan7 : FlashLightBeam_Zan
{
	Speed  9
}

ACTOR FlashLightBeam_Zan8 : FlashLightBeam_Zan
{
	Speed  12
}

ACTOR FlashLightBeam_Zan9 : FlashLightBeam_Zan
{
	Speed  16
}

ACTOR FlashLightBeam_Zan10 : FlashLightBeam_Zan
{
	Speed  21
}

ACTOR FlashLightBeam_Zan11 : FlashLightBeam_Zan
{
	Speed  28
}

ACTOR FlashLightBeam_Zan12 : FlashLightBeam_Zan
{
	Speed  37
}

ACTOR FlashLightBeam_Zan13 : FlashLightBeam_Zan
{
	Speed  49
}

ACTOR FlashLightBeam_Zan14 : FlashLightBeam_Zan
{
	Speed  65
}

ACTOR FlashLightBeam_Zan15 : FlashLightBeam_Zan
{
	Speed  87
}

ACTOR FlashLightBeam_Zan16 : FlashLightBeam_Zan
{
	Speed  116
}

ACTOR FlashLightBeam_Zan17 : FlashLightBeam_Zan
{
	Speed  155
}

ACTOR FlashLightBeam_Zan18 : FlashLightBeam_Zan
{
	Speed  207
}

ACTOR FlashLightBeam_Zan19 : FlashLightBeam_Zan
{
	Speed  276
}
