
ACTOR DemonAmmoCharge : Ammo
{
+IGNORESKILL
Inventory.Amount 0
Inventory.MaxAmount 60
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 60
Inventory.Icon "DRGIA0"
}

ACTOR PlayerRailPuffGreen : BulletPuff
{
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_SpawnItem("RailgunImpactEffectGreen")
		Stop
	}
}

ACTOR DTRail : DarkCyberRail
{
Radius 6
Height 12
Speed 500
Scale 0.25
MissileHeight 8
MissileType "DTRailTrail"
Damage(Random(60,80))
+RIPPER
+NOBOSSRIP
+THRUSPECIES
+EXTREMEDEATH
+BLOODLESSIMPACT
Species "Player"
DamageType "PlayerDTRG"
SeeSound "weapons/dtrail"
DeathSound "cyberrail/impact"
States
	{
	Spawn:
		TNT1 A 1 Bright
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 A_SpawnItemEx("BFGShockwave",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAAA 0 A_CustomMissile("GreenKaboom2",0,0,random(0,360),2,random(0,360))
		TNT1 A 1 A_SpawnItem("RailGunImpactEffectGreen")
		Stop
	}
}


ACTOR DTRailTrail : BFG9500Trail
{
Radius 6
Height 12
Scale 0.1
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 1 Bright A_SpawnItemEx("DemonTechRailGunTrailSpark", random(4,-4), random(4,-4), random(4,-4), 0, 0, 0, 0, 128, 0)
		X401 ABC 2 Bright A_FadeOut(0.04,1)
		Loop
	}
}

ACTOR DTRailCore : DTRail
{
Damage 0
Speed 500
MissileType "DTRailCoreTrail"
SeeSound ""
DeathSound ""
States
	{
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR DTRailCoreTrail : DTRailTrail
{
Scale 0.50
RenderStyle Add
Alpha 0.75
+NOCLIP
+NOGRAVITY
+NOBLOCKMAP
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 AA 0
	BurnOut:
		X024 A 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 C 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 A 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 C 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 A 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 C 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 A 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 C 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 A 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 C 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 A 1 Bright A_FadeOut(0.01)
		X020 B 1 Bright A_FadeOut(0.01)
		X024 C 1 Bright A_FadeOut(0.01)
		X020 A 2 Bright A_FadeOut(0.01)
		X024 B 2 Bright A_FadeOut(0.01)
		X020 C 2 Bright A_FadeOut(0.01)
		X024 A 2 Bright A_FadeOut(0.01)
		X020 B 2 Bright A_FadeOut(0.01)
		X024 C 2 Bright A_FadeOut(0.01)
		X020 D 2 Bright
		X024 E 2 Bright
		X020 F 2 Bright
		Stop
	}
}

ACTOR PlayerDTRail : DTRail
{
Species "Player"
DamageType "PDTBFG"
}

ACTOR PlayerRailgunShotTestSpawner
{
Projectile
Height 2
Radius 1
+NOCLIP
-RANDOMIZE
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile("DTRail", 8, 0, 0, CMF_AIMDIRECTION) // CMF_AIMOFFSET
		TNT1 A 0 A_CustomMissile("DTRailCore", 8, 0, 0, CMF_AIMDIRECTION) // CMF_AIMOFFSET
		MISL BCD 30
		Loop
	}
}

ACTOR DemonTechRailGunTrailSpark
{ 
Scale 0.025
RenderStyle Add
Alpha 0.95
+NOGRAVITY
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 0 Bright A_JumpIf(ScaleX <= 0,"NULL")
		TNT1 A 0 Bright A_SetScale(ScaleX-0.0008)
		SPKG A 1 Bright A_ChangeVelocity(frandom(-0.2,0.2),frandom(-0.2,0.2),frandom(-0.2,0.2),0)
		SPKG A 2 Bright A_FadeOut(0.05,1)
		Loop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}