//INHERITANCE

ACTOR ArcSmokeInheritance
{
Renderstyle Add
+NOGRAVITY
+NOINTERACTION
+FORCERADIUSDMG
States
	{
	Spawn:
		TNT1 A 0
		TNT1 AA 1 A_Jump(256,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
	Spawn1:
		TNT1 A 0 A_SetScale(ScaleX +0.003, ScaleY +0.003)
		TNT1 A 0 A_Explode(15,128)
		THD1 A 4 Bright A_FadeOut(0.009,1)
		Loop
	Spawn2:
		TNT1 A 0 A_SetScale(ScaleX +0.003, ScaleY +0.003)
		TNT1 A 0 A_Explode(15,128)
		THD2 A 4 Bright A_FadeOut(0.007,1)
		Loop
	Spawn3:
		TNT1 A 0 A_SetScale(ScaleX +0.003, ScaleY +0.003)
		TNT1 A 0 A_Explode(15,128)
		THD3 A 4 Bright A_FadeOut(0.006,1)
		Loop
	Spawn4:
		TNT1 A 0 A_SetScale(ScaleX -0.003, ScaleY -0.003)
		TNT1 A 0 A_Explode(15,128)
		THD1 A 4 Bright A_FadeOut(0.0075,1)
		Loop
	Spawn5:
		TNT1 A 0 A_SetScale(ScaleX -0.001, ScaleY -0.001)
		TNT1 A 0 A_Explode(15,128)
		THD2 A 4 Bright A_FadeOut(0.0065,1)
		Loop
	Spawn6:
		TNT1 A 0 A_SetScale(ScaleX -0.003, ScaleY -0.003)
		TNT1 A 0 A_Explode(15,128)
		THD3 A 4 Bright A_FadeOut(0.008,1)
		Loop
	}
}

ACTOR ArcBallLightningBolt1 : LCALightningBoltGreen
{
Scale 0.55
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Arcradimus/BFGElectric")
		Goto Super::Spawn
	}
}

ACTOR ArcBallLightningBolt2 : LCALightningBolt
{
Scale 0.55
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Arcradimus/BFGElectric")
		Goto Super::Spawn
	}
}

ACTOR ArcBallLightningBolt3 : LCALightningBoltPink
{
Scale 0.55
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Arcradimus/BFGElectric")
		Goto Super::Spawn
	}
}

ACTOR ArcBallLightningBolt4 : LCALightningBoltGold
{
Scale 0.55
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Arcradimus/BFGElectric")
		Goto Super::Spawn
	}
}

ACTOR ArcBallLightningBolt5 : LCALightningBoltRed
{
Scale 0.55
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Arcradimus/BFGElectric")
		Goto Super::Spawn
	}
}

ACTOR ArcBallShockwave : LCAShockwave
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		HBRR A 1 Bright A_FadeOut(0.04)
		HBRY B 1 Bright A_FadeOut(0.04)
		HBRR C 1 Bright A_FadeOut(0.04)
		HBRY D 1 Bright A_FadeOut(0.04)
		HBRR E 1 Bright A_FadeOut(0.04)
		HBRY F 1 Bright A_FadeOut(0.04)
		HBRR G 1 Bright A_FadeOut(0.04)
		HBRY H 1 Bright A_FadeOut(0.04)
		HBRR I 1 Bright A_FadeOut(0.04)
		HBRY J 1 Bright A_FadeOut(0.04)
		HBRR K 1 Bright A_FadeOut(0.04)
		HBRY L 1 Bright A_FadeOut(0.04)
		HBRR M 1 Bright A_FadeOut(0.04)
		HBRY N 1 Bright A_FadeOut(0.04)
		HBRR O 1 Bright A_FadeOut(0.04)
		HBRY P 1 Bright A_FadeOut(0.04)
		HBRR Q 1 Bright A_FadeOut(0.04)
		HBRY R 1 Bright A_FadeOut(0.04)
		Stop
	}
}

ACTOR ArcBallShockwaveLrg : ArcBallShockwave
{
Scale 2.5
Alpha 0.85
States
	{
	Spawn:
		TNT1 A 0 Bright
		HBRR A 2 Bright A_FadeOut(0.04)
		HBRY B 2 Bright A_FadeOut(0.04)
		HBRR C 2 Bright A_FadeOut(0.04)
		HBRY D 2 Bright A_FadeOut(0.04)
		HBRR E 2 Bright A_FadeOut(0.04)
		HBRY F 2 Bright A_FadeOut(0.04)
		HBRR G 2 Bright A_FadeOut(0.04)
		HBRY H 2 Bright A_FadeOut(0.04)
		HBRR I 2 Bright A_FadeOut(0.04)
		HBRY J 2 Bright A_FadeOut(0.04)
		HBRR K 2 Bright A_FadeOut(0.04)
		HBRY L 2 Bright A_FadeOut(0.04)
		HBRR M 2 Bright A_FadeOut(0.04)
		HBRY N 2 Bright A_FadeOut(0.04)
		HBRR O 2 Bright A_FadeOut(0.04)
		HBRY P 2 Bright A_FadeOut(0.04)
		HBRR Q 2 Bright A_FadeOut(0.04)
		HBRY R 2 Bright A_FadeOut(0.04)
		Stop
	}
}

ACTOR ArcBallFluxShockwave : ArcBallShockwave
{
Projectile
Scale 0.85
Alpha 1.0
}


////////
//FIRE//
////////


//PROJECTILE

ACTOR ArcradimusBall
{
Projectile
Height 6
Radius 11
Speed 10
Scale 1.0
RenderStyle Add
Alpha 1.0
MissileType "ArcLesserProjectileTrail"
Damage 125
+RIPPER
+FOILINVUL
+FORCERADIUSDMG
+BLOODLESSIMPACT
//+DONTBLAST
-RANDOMIZE
DamageType "Legendary"
SeeSound "Arcradimus/BFGFire"
States
	{
	Spawn:
		TNT1 A 0
		// Green
		TNT1 A 0 A_PlaySound("Arcradimus/BFGBall",5,1.0,True)
		TNT1 A 0 A_Explode(600,192,0,1)
		TNT1 A 0 A_SpawnItemEx("ArcTrail",5,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(224, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallFluxShockwave",0,0,0,10,0,0,0,0,0)
		TNT1 A 0 A_Jump(32, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallLightningBolt4",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleGold",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL A 1 Bright
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleGold",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL A 1 Bright
		// Blue
		//TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 A_Explode(600,192,0,1)
		TNT1 A 0 A_SpawnItemEx("ArcTrail",5,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(224, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallFluxShockwave",0,0,0,10,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(16, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallLightningBolt5",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleRed",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL B 1 Bright
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleRed",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL B 1 Bright
		// Pink
		//TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 A_Explode(600,192,0,1)
		TNT1 A 0 A_SpawnItemEx("ArcTrail",5,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(224, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallFluxShockwave",0,0,0,10,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(16, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallLightningBolt4",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleGold",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL C 1 Bright
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleGold",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL C 1 Bright
		// Gold
		//TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 A_Explode(600,192,0,1)
		TNT1 A 0 A_SpawnItemEx("ArcTrail",5,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(224, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallFluxShockwave",0,0,0,10,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(16, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallLightningBolt5",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleRed",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL D 1 Bright
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleRed",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL D 1 Bright
		// Red
		//TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 A_Explode(600,192,0,1)
		TNT1 A 0 A_SpawnItemEx("ArcTrail",5,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(224, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallFluxShockwave",0,0,0,10,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Jump(16, 2)
		TNT1 A 0 A_SpawnItemEx("ArcBallLightningBolt5",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleRed",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL E 1 Bright
		TNT1 A 0 A_SpawnItemEx("LCABFGTrailParticleRed",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL E 1 Bright
		Loop
	Death:
		//COLLATERAL DAMAGE EFFECTS
		TNT1 A 0
		TNT1 AAA 0 A_StopSound(5)
		TNT1 A 0 A_SpawnItem("Darkdesnuke")
		TNT1 A 0 A_Explode(6000,512,0,1)
		TNT1 A 0 A_BFGSpray("ArcSpray",15,20)
		//IMPACT STUFF
		TNT1 A 0 A_SpawnItemEx("ArcStruckGlowX",0,0,10,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("ArcStruckGlowY",0,0,10,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		//TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("ArcSphereSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
		//TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("ArcChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
		//TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("ArcChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
		TNT1 A 1
		Stop
	}
}

ACTOR ArcradimusBallCharging : ArcradimusBall
{
Speed 0
-MISSILE
-SOLID
+NOCLIP
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+THRUACTORS
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		// Green
		TNT1 A 0 A_PlaySound("Arcradimus/BFGBall",CHAN_BODY,1.0,False)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleGold",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL A 1 Bright A_FadeOut(0.01,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleGold",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL A 1 Bright
		// Blue
		//TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL B 1 Bright A_FadeOut(0.01,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL B 1 Bright
		// Pink
		//TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleGold",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL C 1 Bright A_FadeOut(0.01,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleGold",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL C 1 Bright
		// Gold
		//TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL D 1 Bright A_FadeOut(0.01,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL D 1 Bright
		// Red
		//TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL E 1 Bright A_FadeOut(0.01,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL E 1 Bright
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

ACTOR ArcradimusBallCharging1 : ArcradimusBallCharging { Scale 0.6 }
ACTOR ArcradimusBallCharging2 : ArcradimusBallCharging { Scale 0.7 }
ACTOR ArcradimusBallCharging3 : ArcradimusBallCharging { Scale 0.8 }
ACTOR ArcradimusBallCharging4 : ArcradimusBallCharging { Scale 0.9 }

ACTOR ArcradimusBallCharging5 : ArcradimusBallCharging
{
Scale 1.0
States
	{
	Spawn:
		// Green
		TNT1 A 0 A_PlaySound("Arcradimus/BFGBall",CHAN_BODY,1.0,False)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleGold",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL A 1 Bright A_FadeOut(0.02,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleGold",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL A 1 Bright
		// Blue
		//TNT1 A 0 A_PlaySound("Arcradimus/BFGBall",5,1.0,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL B 1 Bright A_FadeOut(0.01,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL B 1 Bright
		// Pink
		//TNT1 A 0 A_PlaySound("Arcradimus/BFGBall",5,1.0,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleGold",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL C 1 Bright A_FadeOut(0.02,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleGold",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL C 1 Bright
		// Gold
		//TNT1 A 0 A_PlaySound("Arcradimus/BFGBall",5,1.0,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL D 1 Bright A_FadeOut(0.01,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL D 1 Bright
		// Red
		//TNT1 A 0 A_PlaySound("Arcradimus/BFGBall",5,1.0,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL E 1 Bright A_FadeOut(0.02,1)
		TNT1 A 0 A_SpawnItemEx("LCABFGChargeParticleRed",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HBAL E 1 Bright
		Loop
	}
}

//TRAIL

ACTOR ArcTrail : LCABaseEffect
{
Scale 0.9
Renderstyle Add
Alpha 0.5
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SetScale(ScaleX -0.01, ScaleY -0.01)
		HBAL ABCDE 1 Bright A_FadeOut(0.05,1)
		Loop
	}
}

//IMPACT

ACTOR ArcStruckGlowY : LCABaseEffect
{
Scale 0.2
Alpha 0.5
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SetScale(ScaleX +0.025, ScaleY +0.1)
		YBUM A 1 Bright A_FadeOut(0.01,1)
		Loop
	}
}

ACTOR ArcStruckGlowX : LCABaseEffect
{
Scale 0.2
Alpha 0.5
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SetScale(ScaleX +0.1, ScaleY +0.025)
		YBUM A 1 Bright A_FadeOut(0.01,1)
		Loop
	}
}


//SPRAY

ACTOR ArcSpray : CustomSpray
{
+MTHRUSPECIES
+PUFFGETSOWNER
DamageType "Hell"
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("ArcSprayGlowX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("ArcSprayGlowY",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AAAAAA 3 A_SpawnItemEx("ArcSpraySpark",random(24,-24),random(24,-24),random(24,-24),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Stop
	}
}

ACTOR ArcSpraySpark : LCABaseEffect
{
Scale 0.25
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		YELE ABCDEF 2 Bright A_FadeOut(0.1,1)
		Stop
	}
}

ACTOR ArcSprayGlowY : ArcStruckGlowX
{
Scale 0.025
Alpha 0.35
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SetScale(ScaleX +0.05, ScaleY +0.01)
		YBUM A 1 Bright A_FadeOut(0.01,1)
		Loop
	}
}

ACTOR ArcSprayGlowX : ArcStruckGlowY
{
Scale 0.025
Alpha 0.35
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SetScale(ScaleX +0.01, ScaleY +0.05)
		YBUM A 1 Bright A_FadeOut(0.01,1)
		Loop
	}
}