

ACTOR RedDemonTechTracer : FastProjectile
{
Radius 1
Height 1
Speed 100
Scale 0.075
RenderStyle Add
Alpha 0.85
+RANDOMIZE
States
	{
	Spawn:
		TRA3 A 10 Bright
		Loop
	Death:
		TNT1 A 1 
		Stop
	}
}

Actor DemonShotgunPuff
{
Height 6
Radius 6
Scale 0.5 
Renderstyle Add
Alpha 0.75
Decal "Bulletchip"
+NOBLOCKMAP
+NOGRAVITY
+ACTIVATEIMPACT
+ACTIVATEPCROSS
+NOTELEPORT 
+PUFFONACTORS
+BLOODLESSIMPACT
+FORCERADIUSDMG
+ALWAYSPUFF
+PUFFGETSOWNER
+DONTHARMSPECIES
Species "Player"
DamageType "PDTPuff"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_AlertMonsters
		TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 Bright A_CustomMissile("RedDTKaboom2",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		BFOG A 3 Bright A_Explode(25,8)
		BFOG BCDEF 3 Bright
		Stop
	}
}

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

ACTOR RedDTKaboom2 : RedDTKaboom { Scale 0.25 }

ACTOR RedDemonTechProjectile
{
PROJECTILE
Height 4
Radius 4
Speed 40
FastSpeed 50
Damage 5
Scale 0.06
Decal "RedDTRScorch"
+FORCERADIUSDMG
+Thruspecies
+DONTHARMSPECIES
Species "Player"
DamageType "PDTPuff"
DeathSound "weapons/demontechex"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Jump(128,"Spawn2")
	Normal:
		TNT1 A 0 Bright A_Jump(128,"NormalFX")
		RDTR A 1 Bright A_SpawnItemEx("RedDemonTechTrail",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
	NormalFX:
		TNT1 A 0 Bright A_SpawnItemEx("RDTechLightning",Random(-1,1),Random(-1,1),Random(-1,1),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		RDTR A 1 Bright A_SpawnItemEx("RedDemonTechTrail",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)
		TNT1 A 0 Bright A_SpawnItemEx("RDTechLightning2",Random(-1,1),Random(-1,1),Random(-1,1),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		RDTR A 1 Bright A_SpawnItemEx("RedDemonTechTrail",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)
		Goto Normal
	Spawn2:
		TNT1 A 0 Bright A_Jump(128,"Spawn2FX")
		RDTR A 1 Bright A_SpawnItemEx("RedDemonTechTrail2",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
	Spawn2FX:
		TNT1 A 0 Bright A_SpawnItemEx("RDTechLightning",Random(-1,1),Random(-1,1),Random(-1,1),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		RDTR A 1 Bright A_SpawnItemEx("RedDemonTechTrail",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)
		TNT1 A 0 Bright A_SpawnItemEx("RDTechLightning2",Random(-1,1),Random(-1,1),Random(-1,1),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		RDTR A 1 Bright A_SpawnItemEx("RedDemonTechTrail",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)
		Goto Spawn2  
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_AlertMonsters
		TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawnerDT",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 0 Bright A_SpawnItemEx("RedDemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 Bright A_CustomMissile("RedDTKaboom",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAAA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 1 Bright A_Explode(20,64,0,1)
		Stop
	}
}

ACTOR RDTechLightning : DTBFGLightningRed { Scale 0.03 }
ACTOR RDTechLightning2 : DTBFGLightningRed { Scale 0.06 }

ACTOR EnergyProjectileSparkRedDT : EnergyProjectileSparkGreen
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		SPKR A 2 Bright A_FadeOut(0.08,1)
		Goto Spawn+1
	}
}

ACTOR EPSR7 : EnergyProjectileSparkRedDT { Scale 0.040 }
ACTOR EPSR8 : EnergyProjectileSparkRedDT { Scale 0.035 }
ACTOR EPSR9 : EnergyProjectileSparkRedDT { Scale 0.030 }
ACTOR EPSR10 : EnergyProjectileSparkRedDT { Scale 0.025 }
ACTOR EPSR11 : EnergyProjectileSparkRedDT { Scale 0.020 }
ACTOR EPSR12 : EnergyProjectileSparkRedDT { Scale 0.015 }

ACTOR RedParticleSpawnerDT : RedParticleSpawner
{
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 0 A_SpawnItemEx("EPSR7",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("EPSR8",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("EPSR9",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("EPSR10",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("EPSR11",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("EPSR12",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,SXF_CLIENTSIDE,0)
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR RedDemonTechEx
{
PROJECTILE
Scale 0.45
RenderStyle Add
Alpha 0.75
+NOCLIP
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		RFRG ABCDEFGH 2 Bright A_FadeOut(0.1,1)
		Stop
	}
}

ACTOR RedDemonTechTrail : BFG9500Trail
{
Scale 0.04
Alpha 0.65
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 2 Bright
		RDTI AAAAAABBBBBBBB 1 Bright A_FadeOut(0.05,1)
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR RedDemonTechTrail2 : RedDemonTechTrail
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 2 Bright
		RDTI AAAAAACCCCCCCC 1 Bright A_FadeOut(0.05,1)
		Stop
	}
}

ACTOR DTShellCasing : BulletCasing
{
Scale 0.24
Seesound "weapons/casing2"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		REDC ABCDEFGH 2
		Goto Spawn+2
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Jump(128,3)
		RDTC C 100
		RDTC C 5 A_FadeOut(0.1,1)
		Goto Death+3
		RDTC G 100
		RDTC G 5 A_FadeOut(0.1,1)
		Goto Death+5
	}
}