
//******************************************************************************
// ******************** PARTICLE EFFECTS, BOTH NEW AND OLD ********************
//******************************************************************************

//Everything has been cleaned up and should be MUCH more organized.
//Many redundant holdoffs from Brutal Heretic have been pruned, and the ones
//still used have at least a cursory explination of dependencies!


//==============================================================================
//============ BASE PARTICLES WITH DEPENDENCIES FROM BRUTAL HERETIC ============
//==============================================================================


ACTOR RocketTrailParticle
{
	scale 0.4
	radius 1
	height 1
	Gravity 0
	damage 0
	Renderstyle Add
	Alpha 0.95
	BounceFactor 0.3
	
	+MISSILE
	+CLIENTSIDEONLY
	+NOTELEPORT
	+NOBLOCKMAP
	+CORPSE
	+BLOODLESSIMPACT 
	+FORCEXYBILLBOARD
	+NODAMAGETHRUST
	+MOVEWITHSECTOR
	+NOBLOCKMONST
	-SOLID
	+THRUACTORS
	+DONTSPLASH
	-NOGRAVITY
	+DONTBLAST
	
	States
	{
		Spawn:
			TNT1 A 3
			SPRK AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT A_SetScale(scalex*0.96)
			Stop
	}
}

ACTOR ExplosionParticle1 : RocketTrailParticle
{
	scale 0.06
	Gravity 0.5
	Speed 10
	
	+DOOMBOUNCE

	States
	{
		Spawn:
			SPRK AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT A_SetScale(scalex*0.96)
			Stop
	}
}

ACTOR GreenExplosionParticle1 : RocketTrailParticle
{
	scale 0.06
	Gravity 0.5
	Speed 10
	+DOOMBOUNCE
	
	States
	{
		Spawn:
			SPKG AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT A_SetScale(scalex*0.96)
			Stop
	}
}

ACTOR ExplosionSmoke1 : ExplosionParticle1
{
	Speed 4
	Scale 1.2
	Alpha 0.24
	Renderstyle Translucent
	+NOGRAVITY
	-DOOMBOUNCE
	
	States
	{
		Spawn:
			TNT1 A 0
			SMO2 A 1 A_FadeOut(0.005)
			Loop
	}
}

//******************************************************************************
//***************** Other Dependencies on RocketTrailParticle ******************
//******************************************************************************

//??????? Used by Flares ?????????

ACTOR CrystalParticle1 : RocketTrailParticle
{
	scale 0.02
	Speed 2
	
	+NOGRAVITY
	+DOOMBOUNCE
	
	States
	{
		Spawn:
			SPKB AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT A_FadeOut(0.08)
			Stop
	}
}

//??????? Used by Flares ?????????

ACTOR QuartzParticle1 : RocketTrailParticle
{
	scale 0.02
	Speed 2
	
	+NOGRAVITY
	+DOOMBOUNCE
	
	States
	{
		Spawn:
			SPKP AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT A_FadeOut(0.08)
			Stop
	}
}

//******************************************************************************
//******************** Dependencies on ExplosionParticle1 **********************
//******************************************************************************

//Used by Spells

ACTOR ExplosionParticle3 : ExplosionParticle1
{
	scale 0.1
	Gravity 0.2
	Speed 1
	+DOOMBOUNCE
	
	States
	{
		Spawn:
			TELS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT A_SetScale(scalex*0.96)
			Stop
	}
}

//Used by Spells

ACTOR ExplosionParticle4 : ExplosionParticle1
{
	scale 0.1
	Gravity 0.45
	Speed 8
	
	+DOOMBOUNCE	
	
	States
	{
		Spawn:
			TELS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT A_SetScale(scalex*0.96)
			Stop
	}
}

//******************************************************************************
//***************** Dependencies on GreenExplosionParticle1 ********************
//******************************************************************************

//Green Sparks, used with Puffs

ACTOR GreenExplosionParticle2 : GreenExplosionParticle1
{
	scale 0.05
	Gravity 0.17
	Speed 7
	
	States
	{
		Spawn:
			SPKG AAAAAAAAAAAAAAAAAA 1 BRIGHT A_SetScale(scalex*0.92)
			Stop
	}
}

//Red Sparks, used with Puffs

ACTOR RedExplosionParticle2 : GreenExplosionParticle1
{
	scale 0.13
	Gravity 0.17
	Speed 7
	
	States
	{
		Spawn:
			TELS AAAAAAAAAAAAAAAAAA 1 BRIGHT A_SetScale(scalex*0.92)
			Stop
	}
}

//Blue Sparks, used with Puffs

ACTOR BlueExplosionParticle2 : GreenExplosionParticle1
{
	scale 0.04
	Gravity 0.17
	Speed 7
	
	States
	{
		Spawn:
			SPKB AAAAAAAAAAAAAAAAAA 1 BRIGHT A_SetScale(scalex*0.92)
			Stop
	}
}

//Purple Spark, could be used for Sidhe Wrath

ACTOR PurpleExplosionParticle2 : GreenExplosionParticle1
{
	scale 0.06
	Gravity 0.17
	Speed 7
	
	States
	{
		Spawn:
			SPKP BBBBBBBBBBBBBBBBBB 1 BRIGHT A_SetScale(scalex*0.92)
			Stop
	}
}


//******************************************************************************
//********************* Dependencies on ExplosionSmoke1 ************************
//******************************************************************************

//Used by various Projectiles and Flechettes

ACTOR PlasmaSmoke : ExplosionSmoke1
{
	Speed 1
	Scale 0.5
	Alpha 0.15
	
	States
	{
		Spawn:
			PUF2 D 1
			Goto Death
		Death:
			SMOC ABCDEFGHIJKLMNOPQRSTUVWXYZ 2 A_FadeOut(0.002)
			SM7C AB 2 A_FadeOut(0.002)
			SMOC ABCDEFGHIJKLMNOPQRSTUVWXYZ 2 A_FadeOut(0.002)
			SM7C AB 2 A_FadeOut(0.002)
	}
}

//Used by Kick Puff

ACTOR KickSmoke : ExplosionSmoke1
{
	Alpha 0.24
	Scale 0.13
}

ACTOR BroSmokeTrail1: ExplosionSmoke1
{
	Alpha 0.3
	Speed 1
	Scale 0.2
}

//Both Blue Shockwaves used by Phoenix Rod Shock Combo with the Dragon Claw

ACTOR BlueShockwave
{
	Radius 1
	Height 1
	Speed 4
	Damage 0
	RenderStyle Add
	Scale 1.0
	Gravity 0
	
	+NOBLOCKMAP
	+NOTELEPORT
	+DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+DONTBLAST
	
	States
	{
		Spawn:
			TNT1 A 1
			SH1K ABCDEFG 2 BRIGHT
			Stop
	}
}

//Both Blue Shockwaves used by Phoenix Rod Shock Combo with the Dragon Claw

ACTOR BlueShockwaveSmall
{
	Radius 1
	Height 1
	Speed 2
	Damage 0
	Scale 0.2
	RenderStyle Add
	Gravity 0
	
	+NOBLOCKMAP
	+NOTELEPORT
	+DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+DONTBLAST
	
	States
	{
		Spawn:
			TNT1 A 1
			SH1K ABCDEFG 2 BRIGHT
			Stop
	}
}

//******************************************************************************
//********************** Dependencies on BlueShockwave *************************
//******************************************************************************

ACTOR FlameTrails
{
	Radius 1
	Height 1
	Speed 3
	RenderStyle Add
	DamageType Flames
	Scale 0.5
	Alpha 1
	
	+NOBLOCKMAP
	+NOTELEPORT
	+DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+NOINTERACTION
	+NOCLIP
	+THRUACTORS
	+DONTBLAST
	
	States
	
	{
		Spawn:
			TNT1 A 2
			FRPR ABCDEFGH 3 BRIGHT
			Stop
	}
}


//******************************************************************************
//*********************** Dependencies on FlameTrails **************************
//******************************************************************************

//Used by Flechettes and HellStaff Altfire

ACTOR HDBallBoom : FlameTrails
{
	Scale 1.0
	
	States
	{
		Spawn:
			EXBM ABCDEFGHI 2 BRIGHT
			Stop
	}
}

//Used by Pod explosions

ACTOR GreenExplosionFire : FlameTrails
{
	Scale 1.0
	
	States
	{
		Spawn:
			EXPG AABBCCDDEEFFGG 1 BRIGHT A_SpawnItemEx("GreenExplosionFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			Stop
	}
}

//Used by HellStaff

ACTOR SkullRainExplosion : FlameTrails
{
	Scale 0.7
	Radius 0
	Height 0
	
	+NOINTERACTION
	
	States
	{
		Spawn:
			EXPR AABBCCDDEEFFGG 1 BRIGHT A_SpawnItemEx("Axe2XPFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			Stop
	}
}

//"Fancy" fire for Phoenix Rod Flamethrower

ACTOR HDFire : FlameTrails
{
	Scale 0.7
	Alpha 1.0
	Speed 2
	
	States
	{
	Spawn:
		FIR3 ABCDEFGHIJKLMNOP 1 Bright
		Stop
	}
}

// These Three are used for Flechettes

ACTOR GreenExplosionFire2 : FlameTrails
{
	Scale 0.6
	Alpha 1.0
	Speed 4
	
	States
	{
		Spawn:
			BFOG ABCDEFG 3 Bright
			Stop
	}
}

// These Three are used for Flechettes

ACTOR GreenExplosionSmoke : FlameTrails
{
	Scale 0.2
	Alpha 0.3
	Speed 3
	Renderstyle Translucent
	DamageType "Noxious"
	
	States
	{
		Spawn:
			BFOG CDEFG 5
			Stop
	}
}

// These Three are used for Flechettes

ACTOR BlueExplosionSmoke : FlameTrails
{
	Scale 0.2
	Alpha 0.3
	Speed 3
	Renderstyle Translucent
	DamageType "Noxious"
	
	States
	{
		Spawn:
			BFOB CDEFG 5
			Stop
	}
}

//Small Green Electric Sparks

ACTOR FlashyGreenParticles : FlameTrails
{
	Scale 0.3
	Alpha 0.9
	
	States
	{
		Spawn:
			FX1G GHIJKL 1 BRIGHT
			Stop
	}
}


//******************************************************************************
//************************ MISC Brutal Heretic Stuff ***************************
//******************************************************************************


//Bridgeball is an internal ZDOOM class used for floating bridges

ACTOR BrutalBridgeBall : BridgeBall replaces BridgeBall
{
	+NOBLOCKMAP
	+NOTELEPORT
	+NOGRAVITY
	+FORCEXYBILLBOARD
	
	States
	{
		Spawn:
			TNT1 A 0 A_CheckSight("NoFlare")
			TLGL A 0 A_SpawnItem("BridgeGlitterFlare",0,0)
		NoFlare:
			TLGL A 1 Bright A_BridgeOrbit
			TLGL A 0 A_BridgeOrbit
		Goto Spawn
	}
}

//Used by Bridgeball

Actor BridgeGlitterFlare
{
	renderstyle Add
	radius 1
	height 1
	alpha 0.7
	scale 0.09
	
	+NOINTERACTION
	+CLIENTSIDEONLY
	+FORCEXYBILLBOARD
	
	States
	{
		Spawn:
			TNT1 A 0
			LEYS B 1 bright
			stop
	}
}

//Used by Fancy Gold Wand

ACTOR GoldWandParticle
{
	Scale 0.032
	Gravity 0.02
	Radius 1
	Height 1
	Damage 0
	Renderstyle Add
	Alpha 0.95
	Speed 0
	
	+DOOMBOUNCE
	+MISSILE
	+CLIENTSIDEONLY
	+NOTELEPORT
	+NOBLOCKMAP
	+CORPSE
	+BLOODLESSIMPACT 
	+FORCEXYBILLBOARD
	+NODAMAGETHRUST
	+MOVEWITHSECTOR
	+NOBLOCKMONST
	-SOLID
	+THRUACTORS
	+DONTSPLASH
	-NOGRAVITY
	+DONTBLAST
	
    States
    {
		Spawn:
			SPRK AAAAAAAA 1 Bright A_SetScale(scalex*0.94)
			Stop
    }
}

//Used by Fancy Gold Wand

ACTOR GoldWandParticle2 : GoldWandParticle
{
	Scale 0.085
	
    States
    {
		Spawn:
			SPRK AAAAAAAAA 1 Bright A_SetScale(scalex*0.86)
			Stop
    }
}

//Used by Gold Wand Reload

ACTOR GoldWandParticleReload : GoldWandParticle
{
	Scale 0.005
}


//Used for Ethereal Crossbow

Actor RedCrossbowExplosionGlow
{
	Radius 0
	Height 0
	
	+NOINTERACTION
	
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 2 Light("REDKNIGHTAXE_EX1")
			TNT1 A 2 Light("REDKNIGHTAXE_EX2")
			TNT1 A 2 Light("REDKNIGHTAXE_EX3")
			TNT1 A 2 Light("REDKNIGHTAXE_EX4")
			TNT1 A 2 Light("REDKNIGHTAXE_EX5")
			TNT1 A 2 Light("REDKNIGHTAXE_EX6")
			TNT1 A 2 Light("REDKNIGHTAXE_EX7")
			Stop
	}
}

//Used for fancy Dragon Claw

ACTOR BlasterParticle
{
	Scale 0.026
	Gravity 0.02
	Radius 0
	Height 0
	Damage 0
	Renderstyle Add
	Alpha 0.95
	+DOOMBOUNCE
	+MISSILE
	+CLIENTSIDEONLY
	+NOTELEPORT
	+NOBLOCKMAP
	+CORPSE
	+BLOODLESSIMPACT 
	+FORCEXYBILLBOARD
	+NODAMAGETHRUST
	+MOVEWITHSECTOR
	+NOBLOCKMONST
	-SOLID
	+THRUACTORS
	+DONTSPLASH
	-NOGRAVITY
	+DONTBLAST
	Speed 0
	
    States
    {
		Spawn:
			SPKB AAAAAAAA 1 Bright A_SetScale(scalex*0.94)
			Stop
    }
}

//Used for fancy Dragon Claw

ACTOR BlasterParticle2 : BlasterParticle
{
	Scale 0.07
	
    States
    {
		Spawn:
			SPKB AAAAAAAAA 1 Bright A_SetScale(scalex*0.86)
			Stop
    }
}

//Used for Hellstaff Altfire

ACTOR HellRainParticleTrailSpawner
{
	Radius 0
	Height 0
	+NOINTERACTION
	
    States
    {
		Spawn:
			TNT1 A 0 NoDelay A_Jump(192,"Stopped")
			TNT1 A 0 A_SpawnItemEx("HellRainParticle",0,0,0,frandom(-0.4,0.4),frandom(-0.4,0.4),frandom(-0.4,0.4),0,SXF_NOCHECKPOSITION)
		Stopped:
			TNT1 A 0
			Stop
    }
}

//Used for Hellstaff Altfire

ACTOR HellRainParticle
{
	Scale 0.055
	Gravity 0.02
	Radius 0
	Height 0
	Damage 0
	Renderstyle Add
	Alpha 0.95
	Speed 0
	+DOOMBOUNCE
	+MISSILE
	+CLIENTSIDEONLY
	+NOTELEPORT
	+NOBLOCKMAP
	+CORPSE
	+BLOODLESSIMPACT 
	+FORCEXYBILLBOARD
	+NODAMAGETHRUST
	+MOVEWITHSECTOR
	+NOBLOCKMONST
	-SOLID
	+THRUACTORS
	+DONTSPLASH
	-NOGRAVITY
	+DONTBLAST
	
    States
    {
		Spawn:
			TELS AAAAAAAA 1 Bright A_SetScale(scalex*0.94)
			Stop
    }
}

//Used for Hellstaff Altfire

ACTOR HellRainParticle2 : BlasterParticle
{
	Scale 0.15
	
    States
    {
		Spawn:
			TELS AAAAAAAAA 1 Bright A_SetScale(scalex*0.86)
			Stop
    }
}


//==============================================================================
//================================= New Stuff! =================================
//==============================================================================


//************************************
//Base for most particle trail effects
//************************************


ACTOR FairyDustTrail : MageWandSmoke
{
	Renderstyle Add
	Alpha 1
	Scale 0.7
	
	+DONTSPLASH
	
	States
	{
		Spawn:
			FXFD ABCD 3 Bright A_FadeOut(0.1)
			FXFD ABCD 2 A_Fadeout(0.2)
			TNT1 A 0 A_Remove(0)
			Stop
		Bounce:
			TNT1 A 0 ThrustThingZ(0,25,0,0)
			FXFD ABCD 2
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

//==============================================================================
//============================== GAUNTLET PARTICLES ============================
//==============================================================================

Actor GauntletSparks : ExplosionParticle1
{
	
	Renderstyle Add
	Alpha 0.9
	//Scale 0.08
	Scale 0.4
	Speed 4
	gravity 0.2
	BounceFactor 0.3
	
	+RANDOMIZE
	+ROLLSPRITE
	//+NOGRAVITY
	
	States
	{
		Spawn:
			TNT1 A 0 NoDelay A_SetRoll(frandom(0.0,359.0))
			//TNT1 A 0 A_Jump(256, "Spark1","Spark2")
			//Goto Spawn
		Spark1:
			//GSPK DDCCBB 1 Bright A_SetScale(scalex*0.9,scaley*0.9)
			//GPSK AA 1 A_SetScale(scalex*0.9,scaley*0.9)
			GSPK AABBCCDDEE 1 Bright A_SetScale(scalex*0.9,scaley*0.9)
			GSPK DDCCBBAA 1 //A_SetScale(scalex*0.9,scaley*0.9)
			//GPSK GGHH 1 A_SetScale(scalex*0.9,scaley*0.9)
			TNT1 A 0 A_Remove(0)
			Stop
		Spark2:
			GSPK HHGGFF 1 Bright A_SetScale(scalex*0.9,scaley*0.9)
			GPSK EE 1 A_SetScale(scalex*0.9,scaley*0.9)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

Actor GauntletSparksRed : GauntletSparks
{
	States
	{
		Spawn:
			TNT1 A 0 NoDelay A_SetRoll(frandom(0.0,359.0))
			//TNT1 A 0 A_Jump(256, "Spark1","Spark2")
			//Goto Spawn
		Spark1:
			//GSPK LLKKJJ 1 Bright A_SetScale(scalex*0.9,scaley*0.9)
			//GPSK II 1 A_SetScale(scalex*0.9,scaley*0.9)
			GSPK FFGGHHIIJJ 1 Bright A_SetScale(scalex*0.9,scaley*0.9)
			GSPK IIHHGGFF 1 //A_SetScale(scalex*0.9,scaley*0.9)
			TNT1 A 0 A_Remove(0)
			Stop
		Spark2:
			GSPK PPOONN 1 Bright A_SetScale(scalex*0.9,scaley*0.9)
			GPSK MM 1 A_SetScale(scalex*0.9,scaley*0.9)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

//==============================================================================
//============================ MELEE STAFF PARTICLES ===========================
//==============================================================================


ACTOR RegenParticle
{
	Scale 0.02
	Gravity 0.02
	Radius 0
	Height 0
	Damage 0
	Renderstyle Add
	Alpha 0.95
	Speed 0
	
	+DOOMBOUNCE
	+MISSILE
	+CLIENTSIDEONLY
	+NOTELEPORT
	+NOBLOCKMAP
	+CORPSE
	+BLOODLESSIMPACT 
	+FORCEXYBILLBOARD
	+NODAMAGETHRUST
	+MOVEWITHSECTOR
	+NOBLOCKMONST
	-SOLID
	+THRUACTORS
	+DONTSPLASH
	-NOGRAVITY
	+DONTBLAST
	
	States
	{
		Spawn:
			AMFL AAAAAAAAAAAAAAAA 1 Bright A_SetScale(scalex*0.94)
			Stop
	}
}

ACTOR RegenParticle2 : RegenParticle
{
	
States
	{
		Spawn:
			AMFL AAAAAAAAAAAAAAAA 1 Bright A_SetScale(scalex*0.94)
			Stop
	}
}


//==============================================================================
//============================= GOLD WAND PARTICLES ============================
//==============================================================================


ACTOR FairyDustTrailYellow : FairyDustTrail
{
	States
	{
		Spawn:
			FXFD EFGH 3 Bright A_FadeOut(0.1)
			FXFD EFGH 2 A_Fadeout(0.2)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

ACTOR FairyDustYellow : FairyDustTrail
{
	Scale 0.3
	Gravity 0
	
	States
	{
		Spawn:
			FXFD EFGH 3 Bright A_FadeOut(0.1)
			FXFD EFGH 2 A_Fadeout(0.2)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

ACTOR FairyDustYellowLite : FairyDustYellow
{
	RenderStyle Translucent
}

ACTOR GoldWandAfterImage : FairyDustTrail
{
	Renderstyle Add
	Alpha 1.0
	Scale 0.3
	
	+NOGRAVITY
	+NOINTERACTION
	
	States
	{
		Spawn:
		FX01 CCDD 1 
		{
			A_FadeOut(0.25);
			A_SpawnItemEX("FairyDustYellowLite",0,0,0,frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(0.6,-0.6));
			A_SpawnItemEX("FairyDustYellowLite",0,0,0,frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(0.6,-0.6));
		}
		Stop
	}
}


//==============================================================================
//============================= CROSSBOW PARTICLES =============================
//==============================================================================


ACTOR CrossBowExplosionSpawner : FairyDustTrail
{
	Scale 3
	Alpha 0.3
	
	+NOGRAVITY
	-SOLID
	+NOINTERACTION
	+RANDOMIZE
	
	States
	{
		Spawn:
			FXA3 BCDEFGFDB 1 Bright A_SpawnItemEX("FairyDusttrailRed",0,0,0,random(-5,5),random(-5,5),random(5,-5))
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

ACTOR FairyDustTrailRed : FairyDustTrail
{
	States
	{
		Spawn:
			FXFD IJKL 3 Bright A_FadeOut(0.1)
			FXFD IJKL 2 A_Fadeout(0.2)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

ACTOR FairyDustRed : FairyDustTrail
{
	Scale 0.3
	Gravity 0
	States
	{
		Spawn:
			FXFD IJKL 3 Bright A_FadeOut(0.1)
			FXFD IJKL 2 A_Fadeout(0.2)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}


//==============================================================================
//============================ DRAGON CLAW PARTICLES ===========================
//==============================================================================


ACTOR LightningSparkSpreader : FairyDustTrail
{
	RenderStyle Normal
	Gravity 0 
	Scale 0.1
	Alpha 1
	
	+NOINTERACTION
	
	States
	{
		Spawn:
			TFOG CDEFGHI 2 Bright
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

ACTOR LightningSparkSpreader2 : LightningSparkSpreader
{	
	States
	{
		Spawn:
			TFOG CDEF 2 Bright
			TFOG GHI 2 Bright A_SpawnItemEx("LightningSparkSpreader",0,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3))
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

//==============================================================================
//============================= HELLSTAFF PARTICLES ============================
//==============================================================================


ACTOR HellShotFade : FairyDustTrail
{
	Scale 0.5
	Gravity 0
	
	-SOLID
	+NOINTERACTION
	
	States
	{
		Spawn:
			FX00 AAAABBBBAAAAAABBBBAA 1 A_FadeOut(0.05)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

ACTOR HellShotFade2 : HellShotFade
{
	Scale 0.25
}

ACTOR RedSparks : FairyDustTrail
{
	Renderstyle add
	Scale 0.1
	
	States
	{
		Spawn:
			SH3K ABCDEFG 3
			TNT1 A 0 A_Remove(0)
			Stop
	}
}


//==============================================================================
//============================ PHOENIX ROD PARTICLES ===========================
//==============================================================================


ACTOR PhoenixSmokeTrail : FairyDustTrail
{
	Renderstyle translucent
	Scale 0.7
	Alpha 0.5
	
	-SOLID
	+NOINTERACTION
	
	States
	{
		Spawn:
			FX04 BCDEF 3 A_FadeOut(0.1)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}


ACTOR PhoenixEmbers : GauntletSparks
{
	Scale 0.3
	Renderstyle Add
	Alpha 0.6
	Speed 2
	Bouncefactor 0.0
	
	States
	{
		Spawn:
			BMBR AAAABBBBAAAABBBBAAAABBBBCCCCDDDDEEEEFFFF 1 A_Explode(1,8,0,FALSE,8)
			Stop
	}
}


//==============================================================================
//=========================== CURRENTLY UNUSED MISC. ===========================
//==============================================================================


ACTOR MinoSummonSmoke : PhoenixSmokeTrail
{
	Renderstyle "Translucent"
	Scale 2.5
	
	States
	{
		Spawn:
			FX04 BCDEF 6 A_FadeOut(0.1)
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

ACTOR GreenSparks : FairyDustTrail
{
	Renderstyle add
	Scale 0.1
	
	States
	{
		Spawn:
			SH1K ABCDEFG 3
			TNT1 A 0 A_Remove(0)
			Stop
	}
}

ACTOR BlueSparks : FairyDustTrail
{
	Renderstyle add
	Scale 0.1
	
	States
	{
		Spawn:
			SH2K ABCDEFG 3
			TNT1 A 0 A_Remove(0)
			Stop
	}
}