
Actor ExplosionFire
{
+MISSILE
+THRUACTORS
+CLIENTSIDEONLY
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+NOGRAVITY
Radius 1
Height 1
Speed 4
States
{
	Spawn:
	EXPZ ABC 2 BRIGHT
	EXPZ DEFG 1 BRIGHT
	Stop
}}


Actor ExplosionFireSmall: ExplosionFire
{
Scale 0.3
Speed 0
}

Actor RocketTrails: ExplosionFire
{
Speed 0
Scale 0.2
States
{
	Spawn:
	TNT1 A 2
	//EXPZ ABC 1 BRIGHT
	SMK3 ABCDEFGHIJKL 1
	Stop
}}

Actor ExplosionShrapnel: ExplosionFire
{
Speed 0
Renderstyle Add
States
{
	Spawn:
	SPKS ABCDEFG 1 BRIGHT
	Stop
}}


Actor ExplosionShrapnelSmall: ExplosionShrapnel
{
Scale 0.3
}

Actor ExplSmokeParticle: ExplosionFire
{
Speed 1
Scale 1.6
States
{
	Spawn:
	SM7K ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
	Stop
}}



Actor ExplSmokeSmall: ExplosionFire
{
Speed 0
Scale 1.0
States
{
	Spawn:
	SM7K ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
	Stop
}}


Actor ExplSmokeTiny: ExplosionFire
{
Speed 0
Scale 0.5
Vspeed 1
Renderstyle Translucent
Alpha 0.7
States
{
	Spawn:
	SM7K ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
	Stop
}}



Actor FireTrails1: ExplosionFire
{
Speed 0
Scale 0.5
States
{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_CheckSight("Disappear")
	TNT1 A 1
	TNT1 A 0 A_Jump(192, "Spawn1", "Spawn2", "Spawn3", "Spawn4")
	Goto Live

	Spawn1:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.6, 0.6)
	Goto live 

	Spawn2:
	TNT1 A 0
	TNT1 A 0 A_SetScale(0.4, 0.4)
	Goto live 

	Spawn3:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.6, 0.6)
	Goto live 

	Spawn4:
	TNT1 A 0
	TNT1 A 0 A_SetScale(-0.4, 0.4)
	Goto live 


	Live:
	TRL1 ABC 1 BRIGHT
	TRL1 DE 1
	Stop

	Disappear:
	TNT1 A 0
	Stop
}}


Actor PlasmaParticle: ExplosionFire
{
Speed 15
Renderstyle Add
Alpha 0.9
sCALE 0.5
States
{
	Spawn:
	PBLE E 1 bright
	PBLE E 2 bright
	PBLE EE 1 bright A_FadeOut(0.25)
	Stop
}}



Actor SmokePillar
	{
	+CLIENTSIDEONLY
	+THRUACTORS
	+MOVEWITHSECTOR
	Renderstyle Add
	XScale 1.0
	YScale 0.1
	States
	{
		Spawn:
		SB17 AABBCCDDEEFFGGHH 1 A_SetScale(scalex, scaley+0.03)
		SB17 ABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGH 3
		SB17 ABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGHABCDEFGH 3
		SB17 AABBCCDDEEFFGGHH 1 A_SetScale(scalex, scaley-0.03)
		Stop
}}


ACTOR HitPuff Replaces BulletPuff
{
	Game Doom
	SpawnID 131
	+NOBLOCKMAP
	+NOGRAVITY
	-ALLOWPARTICLES
	+RANDOMIZE
	+NONETID
	RenderStyle Add
	Alpha 1.0
	Mass 5
	Scale 0.5
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("ricochet/hit", 1)
		TNT1 A 0 A_Jump(128, "Live")
		TNT1 A 0 A_SpawnItem("ExplSmokeTiny")
		TNT1 A 0 A_SetScale(-0.4, 0.4)
	Live:
		FX58 ABCDEFGHIJ 1 BRIGHT
		Stop
	}
}



Actor Explosion
{
+CLIENTSIDEONLY
States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("weapons/rocklx", 1)
		TNT1 AAAA 0 A_CustomMissile("ExplosionFire", 0,  0, random(0, 360), 2, random(-90, 90))
		TNT1 A 0 A_CustomMissile("ExplosionShrapnel", 0,  0, random(0, 360), 2, random(0, 90))
		TNT1 A 0 Radius_Quake(2, 6, 0, 100, 0)
		TNT1 A 3
		TNT1 A 0 A_CustomMissile("ExplSmokeParticle", 0,  0, random(0, 360), 2, random(0, 90))
		TNT1 A 6
		Stop
}}
