// sprite from complex doom (edited gimp)

Actor BaseLaserPointerPuff
{
	Mass 0
	Scale 0.06 // 0.03 // 0.2
	Radius 1
	Height 2
	Renderstyle Add
	Alpha 0.75
	Speed 0
	+NOBLOCKMAP
	+NOGRAVITY
	+BLOODLESSIMPACT
	+NOTONAUTOMAP
	+DONTSPLASH
	+FORCEXYBILLBOARD
	+NOTAUTOAIMED
	+NOTIMEFREEZE
	+THRUACTORS
}

Actor RedLaserPointerPuff : BaseLaserPointerPuff
{
	States
	{
		Spawn:
			LASE RR 1 Bright
			Stop
	}
}
Actor BigRedLaserPointerPuff : RedLaserPointerPuff
{
	Scale 0.2
}

Actor GreenLaserPointerPuff : BaseLaserPointerPuff
{
	States
	{
		Spawn:
			LASE SS 1 Bright
			Stop
	}
}
Actor BigGreenLaserPointerPuff : GreenLaserPointerPuff
{
	Scale 0.2
}

Actor CyanLaserPointerPuff : BaseLaserPointerPuff
{
	States
	{
		Spawn:
			LASE TT 1 Bright
			Stop
	}
}
Actor BigCyanLaserPointerPuff : CyanLaserPointerPuff
{
	Scale 0.2
}

Actor YellowLaserPointerPuff : BaseLaserPointerPuff
{
	States
	{
		Spawn:
			LASE UU 1 Bright
			Stop
	}
}
Actor BigYellowLaserPointerPuff : YellowLaserPointerPuff
{
	Scale 0.2
}

Actor WhiteLaserPointerPuff : BaseLaserPointerPuff
{
	States
	{
		Spawn:
			LASE VV 1 Bright
			Stop
	}
}
Actor BigWhiteLaserPointerPuff : WhiteLaserPointerPuff
{
	Scale 0.2
}


// ========================================================



Actor BaseLaserPointer : FastProjectile
{
	Mass 0
	Scale 0.1
	Radius 1
	Height 2
	Speed 600
	+NOBLOCKMAP
	+NOGRAVITY
	+BLOODLESSIMPACT
	+NOTONAUTOMAP
	+DONTSPLASH
	+FORCEXYBILLBOARD
	+NOTIMEFREEZE
}

Actor RedLaserPointer : BaseLaserPointer
{
	States
	{
		Death:
			TNT1 A 0 A_Stop
			TNT1 A 1 A_SpawnItemEx("BigRedLaserPointerPuff",0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			Stop
	}
}

Actor GreenLaserPointer : BaseLaserPointer
{
	States
	{
		Death:
			TNT1 A 0 A_Stop
			TNT1 A 1 A_SpawnItemEx("BigGreenLaserPointerPuff",0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			Stop
	}
}

Actor CyanLaserPointer : BaseLaserPointer
{
	States
	{
		Death:
			TNT1 A 0 A_Stop
			TNT1 A 1 A_SpawnItemEx("BigCyanLaserPointerPuff",0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			Stop
	}
}

Actor YellowLaserPointer : BaseLaserPointer
{
	States
	{
		Death:
			TNT1 A 0 A_Stop
			TNT1 A 1 A_SpawnItemEx("BigYellowLaserPointerPuff",0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			Stop
	}
}

Actor WhiteLaserPointer : BaseLaserPointer
{
	States
	{
		Death:
			TNT1 A 0 A_Stop
			TNT1 A 1 A_SpawnItemEx("BigWhiteLaserPointerPuff",0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			Stop
	}
}



// ========================================================



Actor LaserPointerSpawner : CustomInventory
{
	+NOTIMEFREEZE
}

Actor RedLaserSpawner : LaserPointerSpawner
{
	States
	{
		Pickup:
			TNT1 A 0 A_RailAttack(0,0,0,none,"red",RGF_SILENT|RGF_FULLBRIGHT|RGF_NOPIERCING,0,"BaseLaserPointerPuff",0,0,0,2,4.0,1.0,"RedLaserPointerPuff",-14)
			TNT1 A 0 A_FireCustomMissile("RedLaserPointer", 0, 0, 0, 4)
			Stop
	}
}

Actor GreenLaserSpawner : LaserPointerSpawner
{
	States
	{
		Pickup:
			TNT1 A 0 A_RailAttack(0,0,0,none,"green",RGF_SILENT|RGF_FULLBRIGHT|RGF_NOPIERCING,0,"BaseLaserPointerPuff",0,0,0,2,4.0,1.0,"GreenLaserPointerPuff",-14)
			TNT1 A 0 A_FireCustomMissile("GreenLaserPointer", 0, 0, 0, 4)
			Stop
	}
}

Actor CyanLaserSpawner : LaserPointerSpawner
{
	States
	{
		Pickup:
			TNT1 A 0 A_RailAttack(0,0,0,none,"cyan",RGF_SILENT|RGF_FULLBRIGHT|RGF_NOPIERCING,0,"BaseLaserPointerPuff",0,0,0,2,4.0,1.0,"CyanLaserPointerPuff",-14)
			TNT1 A 0 A_FireCustomMissile("CyanLaserPointer", 0, 0, 0, 4)
			Stop
	}
}

Actor YellowLaserSpawner : LaserPointerSpawner
{
	States
	{
		Pickup:
			TNT1 A 0 A_RailAttack(0,0,0,none,"yellow",RGF_SILENT|RGF_FULLBRIGHT|RGF_NOPIERCING,0,"BaseLaserPointerPuff",0,0,0,2,4.0,1.0,"YellowLaserPointerPuff",-14)
			TNT1 A 0 A_FireCustomMissile("YellowLaserPointer", 0, 0, 0, 4)
			Stop
	}
}

Actor WhiteLaserSpawner : LaserPointerSpawner
{
	States
	{
		Pickup:
			TNT1 A 0 A_RailAttack(0,0,0,none,"white",RGF_SILENT|RGF_FULLBRIGHT|RGF_NOPIERCING,0,"BaseLaserPointerPuff",0,0,0,2,4.0,1.0,"WhiteLaserPointerPuff",-14)
			TNT1 A 0 A_FireCustomMissile("WhiteLaserPointer", 0, 0, 0, 4)
			Stop
	}
}
