ACTOR LegendaryRifleShot
{
PROJECTILE
Height 3
Radius 3
Speed 60
Scale 0.5
RenderStyle Add
Alpha 0.95
Decal "DoomImpScorch"
Damage 50
+FORCERADIUSDMG
+NOTIMEFREEZE
+THRUSPECIES
DamageType "Legendary"
DeathSound "weapons/demontechex"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Jump(128,"Spawn2")
		Goto Normal
	Normal:
		BTPR ABCDEF 1 Bright A_SpawnItemEx("LDemonTechTrail",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop
	Spawn2:
		BTPR ABCDEF 1 Bright A_SpawnItemEx("LDemonTechTrail2",Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-1,1),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop	  
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("BlueKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryADemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 0, "DeathSFX")
		Goto Toaster
	DeathSFX:
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("BlueKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryADemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Toaster:
		TNT1 A 1 Bright A_Explode(20,64)
		Stop
	}
}

ACTOR BlueKaboom7 : Kaboom7
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		BXPO AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05,1)
		Stop
	}
}

ACTOR LegendaryProjectile : LegendaryRifleShot
{
Damage 50
+THRUSPECIES
DamageType "Legendary"
States
	{
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryADemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 0, "DeathSFX")
		Goto Toaster
	DeathSFX:
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("BlueKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryADemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Toaster:
		TNT1 A 1 Bright A_Explode(20,64)
		Stop
	}
}

ACTOR PlayerLegendaryProjectile : LegendaryRifleShot
{
Damage 50
+THRUSPECIES
Species "Player"
DamageType "Legendary"
States
	{
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("BlueKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryADemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 0, "DeathSFX")
		Goto Toaster
	DeathSFX:
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("BlueKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 Bright A_SpawnItemEx("LegendaryADemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Toaster:
		TNT1 A 1 Bright A_Explode(20,64,0)
		Stop
	}
}

ACTOR ADemonTechEx
{
PROJECTILE
Scale 0.45
RenderStyle Add
Alpha 0.75
+NOCLIP
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		BRPG ABCDEFGH 2 Bright A_FadeOut(0.1,1)
		Stop
	Toaster:
		BRPG ABCDEFGH 2 Bright
		Stop
	}
}

ACTOR LegendaryADemonTechEx : ADemonTechEx { +NOTIMEFREEZE }

ACTOR LDemonTechTrail : BFG9500Trail
{
Scale 0.1
Alpha 0.75
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 2 Bright
		BTRI AAAAAABBBBBBBB 1 Bright A_FadeOut(0.05,1)
		BTRI BBBBB 1 Bright A_FadeOut(0.025,1)
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR LDemonTechTrail2 : DemonTechTrail
{
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 2 Bright
		BTRI AAAAAACCCCCCCC 1 Bright A_FadeOut(0.05,1)
		BTRI CCCCC 1 Bright A_FadeOut(0.025,1)
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}