//--------------------------------------------------------------------------
//
// D64 Unmaker
//
//--------------------------------------------------------------------------

ACTOR D64Unmaker: D64Weapon
{
	Weapon.AmmoUse 0
    Weapon.AmmoGive 60
    Weapon.AmmoType "Cell2"
	Inventory.PickupMessage "You picked the Unmaker! A weapon made of pure demonic bones."
	Inventory.PickupSound "Weapons/PickUp"
	Obituary "%o was cursed by %k's Unmaker!"
	Tag "The Unmaker"
	Scale 1.0
	+WEAPON.NOAUTOFIRE
	+WEAPON.AMMO_OPTIONAL
	
	States
	{
	Select:
		TNT1 A 0 A_PlaySound("Weapons/Unmaker/Up",5)
		UNMG A 1 Offset(67, 100)
		UNMG A 1 Offset(54, 81)
		UNMG A 1 Offset(32, 69)
		UNMG A 1 Offset(22, 58)
		UNMG A 1 Offset(10, 47)
		UNMG A 1 Offset(7, 39)
		UNMG A 1 Offset(2, 34)
		UNMG A 1 A_Raise
		Wait
	Ready:
		TNT1 A 0 A_PlaySound("Weapons/Unmaker/Idle",1,3,1)
		TNT1 A 0 A_JumpIfInventory("IsKicking", 1, "DoKick")
		UNMG A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("IsKicking", 1, "DoKick")
		TNT1 A 0 A_JumpIfInventory("IsGrenading",1,"ThrowGrenade")
		Loop
	Deselect:
		TNT1 A 0 A_StopSound(1)
		UNMG A 1 Offset(2, 34)
		UNMG A 1 Offset(7, 39)
		UNMG A 1 Offset(10, 47)
		UNMG A 1 Offset(22, 58)
		UNMG A 1 Offset(32, 69)
		UNMG A 1 Offset(54, 81)
		UNMG A 1 Offset(67, 100)
		UNMG A 1 A_Lower
		Wait
		
	Fire:
		TNT1 A 0 A_JumpIfInventory("Cell2",1,1)
		Goto DryFire
		TNT1 A 0 A_PlaySound("Weapons/Unmaker/Fire",6)
		TNT1 A 0 A_FireCustomMissile("UnmakerLaserPierce", 0, 0, 0)
		NULL A 0 A_TakeInventory("Cell2",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_FireCustomMissile("UnmakerLaserPierce", 4, 1, 0)
		NULL A 0 A_TakeInventory("Cell2",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_FireCustomMissile("UnmakerLaserPierce", -4, 1, 0)
		NULL A 0 A_TakeInventory("Cell2",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		UNMG ABC 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_GunFlash
		TNT1 A 0 A_ZoomFactor(0.98)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_SetPitch(pitch+0.1)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_ZoomFactor(0.99)
		TNT1 A 0 A_SetPitch(pitch-0.5)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_ZoomFactor(1.00)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		UNMG AA 2 A_FireCustomMissile("GunSmokeSpawner2",0,0,0,-8)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready

	AltFire:
		TNT1 A 0 A_JumpIfInventory("Cell2",50,1)
		Goto DryFire
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		UNMG A 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_GiveInventory("STPW2")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		UNMG B 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("Weapons/Unmaker/Time",64)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		UNMG C 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_GiveInventory("STPW1")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		NULL A 0 A_TakeInventory("Cell2",50,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready
		
	DryFire:
		NULL A 0 A_Print("No ammunition. Go find more.",1)
		Goto Ready
	
	Flash:
		TNT1 A 4 Bright A_Light1
		Goto LightDone
		TNT1 B 4 Bright A_Light1
		Goto LightDone
		
//Kick
	DoKick:
		TNT1 A 0 A_JumpIf (momZ > 0, "AirBorne")
		TNT1 A 0 A_JumpIf (momZ < 0, "AirBorne")
		TNT1 A 0 A_JumpIfInventory("BerserkStrength",1,"BerserkKick")
		KICK A 1 Offset(0,32)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK B 1 A_ZoomFactor(0.99)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK C 1 A_ZoomFactor(0.98)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK D 1 A_ZoomFactor(0.97)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK E 1 A_ZoomFactor(0.96)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK F 1 A_ZoomFactor(0.95)
		TNT1 A 0 A_CustomPunch(2 * random(1, 10),0,0,"KickPuff") 
		Goto FireEnd
		BerserkKick:
		KICK A 1 Offset(0,32)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK B 1 A_ZoomFactor(0.99)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK C 1 A_ZoomFactor(0.98)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK D 1 A_ZoomFactor(0.97)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK E 1 A_ZoomFactor(0.96)
		TNT1 A 0 A_SetPitch(Pitch-1)
		KICK F 1 A_ZoomFactor(0.95)
		TNT1 A 0 A_CustomPunch(20 * random(5, 10),0,0,"KickPuff")
		Goto FireEnd
		FireEnd:
		KICK GHIH 1
		TNT1 A 0 A_SetPitch(Pitch+1)
		KICK G 1 A_ZoomFactor(0.96)
		TNT1 A 0 A_SetPitch(Pitch+1)
		KICK F 1 A_ZoomFactor(0.97)
		TNT1 A 0 A_SetPitch(Pitch+1)
		KICK E 1 A_ZoomFactor(0.98)
		TNT1 A 0 A_SetPitch(Pitch+1)
		KICK D 1 A_ZoomFactor(0.99)
		TNT1 A 0 A_SetPitch(Pitch+1)
		KICK C 1 A_ZoomFactor(1.00)
		TNT1 A 3
		KICK BA 1
		Goto Ready
		AirBorne:
		TNT1 A 0 A_JumpIfInventory("BerserkStrength",1,"AirBerserk")
		TNT1 A 0 Offset(-1,32)
		KIKK ABCDE 1 A_Recoil(-2)
		KIKK F 3 A_CustomPunch (15,0,0,"KickPuff") 
		Goto EndFire
		AirBerserk:
		TNT1 A 0 Offset(-1,32)
		KIKK ABCDE 1 A_Recoil(-2)
		KIKK F 3 A_CustomPunch (25 * random(5, 10),0,0,"KickPuff")
		Goto EndFire
		EndFire:
		KIKK GHIJK 2 
		Goto Ready
		
//Throw Grenade
	ThrowGrenade:
		TNT1 A 0 A_JumpIf(waterlevel>2,"DryFire")
		TNT1 A 0 A_JumpIfInventory("GrenadeAmmo",1,1)
		Goto Dryfire
		TNT1 A 0 A_StopSound(1)
		TNT1 A 0 Offset(-20,32)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MAND B 1 Offset(0,24)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MAND C 1 Offset(0,23)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MAND D 1 Offset(0,26) A_PlaySound("weapons/SHG/throw")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MAND D 1 Offset(0,28)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_SpawnItemEx("RealGrenade",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)
		TNT1 A 0 A_TakeInventory("GrenadeAmmo",1)
		MAND E 1 Offset(-3,30)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MAND E 1 Offset(-6,31)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MAND F 1 Offset(-9,32)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MAND F 1 Offset(-12,33)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_TakeInventory("GetOnWithIt", 100)
		TNT1 A 0 A_JumpIfNoAmmo("DryFire")
		TNT1 A 7 Offset (75, 152)
		TNT1 A 1 Offset (6, 42)
		Goto Ready
	
	Spawn:
		UNMP A -1
		Stop
	}
}

ACTOR UnmakerLaser : FastProjectile
{
	Game Doom
	Radius 2
	Height 4
	Speed 200
	Damage 10
	DamageType Saw
	RenderStyle Add
	Alpha 1
	SeeSound "Null"
	DeathSound "Null"
	Obituary "%o was cursed by %k's Unmaker."
	PROJECTILE
	+RANDOMIZE
	
	States
	{
		Spawn:
			TNT1 A 1
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (3*velx)/-35.0,  -(3*vely)/-35.0,  2+(3*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (3.5*velx)/-35.0,  -(3.5*vely)/-35.0,  2+(3.5*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (4*velx)/-35.0,  -(4*vely)/-35.0,  2+(4*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (4.5*velx)/-35.0,  -(4.5*vely)/-35.0,  2+(4.5*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (5*velx)/-35.0,  -(5*vely)/-35.0,  2+(5*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (5.5*velx)/-35.0,  -(5.5*vely)/-35.0,  2+(5.5*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (6*velx)/-35.0,  -(6*vely)/-35.0,  2+(6*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (6.5*velx)/-35.0,  -(6.5*vely)/-35.0,  2+(6.5*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (7*velx)/-35.0,  -(7*vely)/-35.0,  2+(7*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (7.5*velx)/-35.0,  -(7.5*vely)/-35.0,  2+(7.5*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (8*velx)/-35.0,  -(8*vely)/-35.0,  2+(8*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (8.5*velx)/-35.0,  -(8.5*vely)/-35.0,  2+(8.5*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (9*velx)/-35.0,  -(9*vely)/-35.0,  2+(9*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (9.5*velx)/-35.0,  -(9.5*vely)/-35.0,  2+(9.5*velz)/-35.0,  0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (10*velx)/-35.0, -(10*vely)/-35.0, 2+(10*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (10.5*velx)/-35.0, -(10.5*vely)/-35.0, 2+(10.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (11*velx)/-35.0, -(11*vely)/-35.0, 2+(11*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (11.5*velx)/-35.0, -(11.5*vely)/-35.0, 2+(11.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (12*velx)/-35.0, -(12*vely)/-35.0, 2+(12*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (12.5*velx)/-35.0, -(12.5*vely)/-35.0, 2+(12.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (13*velx)/-35.0, -(13*vely)/-35.0, 2+(13*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (13.5*velx)/-35.0, -(13.5*vely)/-35.0, 2+(13.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (14*velx)/-35.0, -(14*vely)/-35.0, 2+(14*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (14.5*velx)/-35.0, -(14.5*vely)/-35.0, 2+(14.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (15*velx)/-35.0, -(15*vely)/-35.0, 2+(15*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (15.5*velx)/-35.0, -(15.5*vely)/-35.0, 2+(15.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (16*velx)/-35.0, -(16*vely)/-35.0, 2+(16*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (16.5*velx)/-35.0, -(16.5*vely)/-35.0, 2+(16.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (17*velx)/-35.0, -(17*vely)/-35.0, 2+(17*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (17.5*velx)/-35.0, -(17.5*vely)/-35.0, 2+(17.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (18*velx)/-35.0, -(18*vely)/-35.0, 2+(18*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (18.5*velx)/-35.0, -(18.5*vely)/-35.0, 2+(18.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (19*velx)/-35.0, -(19*vely)/-35.0, 2+(19*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (19.5*velx)/-35.0, -(19.5*vely)/-35.0, 2+(19.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (20*velx)/-35.0, -(20*vely)/-35.0, 2+(20*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (20.5*velx)/-35.0, -(20.5*vely)/-35.0, 2+(20.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (21*velx)/-35.0, -(21*vely)/-35.0, 2+(21*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (21.5*velx)/-35.0, -(21.5*vely)/-35.0, 2+(21.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (22*velx)/-35.0, -(22*vely)/-35.0, 2+(22*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (22.5*velx)/-35.0, -(22.5*vely)/-35.0, 2+(22.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (23*velx)/-35.0, -(23*vely)/-35.0, 2+(23*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (23.5*velx)/-35.0, -(23.5*vely)/-35.0, 2+(23.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (24*velx)/-35.0, -(24*vely)/-35.0, 2+(24*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (24.5*velx)/-35.0, -(24.5*vely)/-35.0, 2+(24.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (25*velx)/-35.0, -(25*vely)/-35.0, 2+(25*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (25.5*velx)/-35.0, -(25.5*vely)/-35.0, 2+(25.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (26*velx)/-35.0, -(26*vely)/-35.0, 2+(26*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (26.5*velx)/-35.0, -(26.5*vely)/-35.0, 2+(26.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (27*velx)/-35.0, -(27*vely)/-35.0, 2+(27*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (27.5*velx)/-35.0, -(27.5*vely)/-35.0, 2+(27.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (28*velx)/-35.0, -(28*vely)/-35.0, 2+(28*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (28.5*velx)/-35.0, -(28.5*vely)/-35.0, 2+(28.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (29*velx)/-35.0, -(29*vely)/-35.0, 2+(29*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (29.5*velx)/-35.0, -(29.5*vely)/-35.0, 2+(29.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (30*velx)/-35.0, -(30*vely)/-35.0, 2+(30*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (30.5*velx)/-35.0, -(30.5*vely)/-35.0, 2+(30.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (31*velx)/-35.0, -(31*vely)/-35.0, 2+(31*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (31.5*velx)/-35.0, -(31.5*vely)/-35.0, 2+(31.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (32*velx)/-35.0, -(32*vely)/-35.0, 2+(32*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (32.5*velx)/-35.0, -(32.5*vely)/-35.0, 2+(32.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (33*velx)/-35.0, -(33*vely)/-35.0, 2+(33*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (33.5*velx)/-35.0, -(33.5*vely)/-35.0, 2+(33.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (34*velx)/-35.0, -(34*vely)/-35.0, 2+(34*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (34.5*velx)/-35.0, -(34.5*vely)/-35.0, 2+(34.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (35*velx)/-35.0, -(35*vely)/-35.0, 2+(35*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (35.5*velx)/-35.0, -(35.5*vely)/-35.0, 2+(35.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (36*velx)/-35.0, -(36*vely)/-35.0, 2+(36*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (36.5*velx)/-35.0, -(36.5*vely)/-35.0, 2+(36.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (37*velx)/-35.0, -(37*vely)/-35.0, 2+(37*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			TNT1 A 0 A_SpawnItemEx("UnmakerLaserTrail", (37.5*velx)/-35.0, -(37.5*vely)/-35.0, 2+(37.5*velz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
			Loop
		Death:
			LPUF AB 2 BRIGHT A_FadeOut(0.10)
			Loop
	}
}

ACTOR UnmakerLaserTrail : FastProjectile
{
	Game Doom
	Radius 2
	Height 4
	Scale 0.50
	Alpha 1
	Speed 0
	Damage 0
	DamageType Saw
	RenderStyle Add
	SeeSound "Null"
	DeathSound "Null"
	PROJECTILE
	+RANDOMIZE
	
	States
	{
		Spawn:
			LPUF C 5 BRIGHT
			Stop
		Death:
			LPUF ABC 1 BRIGHT
			Stop
	}
}

Actor UnmakerLaserPierce: UnmakerLaser
{
+RIPPER
Damage 5
DamageType Saw
}