ACTOR T3BaseEffect
{
+CLIENTSIDEONLY
+NOINTERACTION
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+NOCLIP
+NONETID
States
	{
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR 10KProjectileArk : 10KProjectile Replaces 10KProjectile
{
DamageType "BFG10K"
}

ACTOR Player10KExArk : Player10KEx Replaces Player10KEx
{
DamageType "BFG10K"
}


ACTOR T3LightningBolt : T3BaseEffect
{
Scale 0.15
RenderStyle Add
Alpha 0.5
+MISSILE
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
-SOLID
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_CheckSight("Toaster")
		TNT1 A 0 Bright A_Jump(256,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
		B3L1 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
		B3L2 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
		B3L3 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
		B3L4 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
		Goto Death
	Death:
		"####" "#" 1 Bright
		Stop
	}
}

ACTOR BlueFireEx : BlueKaboom3
{
Speed 0
Scale 0.85
}

ACTOR ARKBlueFire
{
Scale 0.4
RenderStyle Add
+MISSILE
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
+THRUACTORS
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		TNT1 A 0 Bright
		BMKE ABCDEFGHIJKL 2 Bright A_FadeOut(0.1,1)
		Stop
	}
}

ACTOR BlueFireSpawner : T3BaseEffect
{
Scale 1.5
+DONTSPLASH
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("monster/ambientfire3")
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 0 Bright A_SpawnItemEx("BlueFireEx",random(8,-8),random(4,-4),random(70,80),0,0,random(-4,-6),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 AAAA 0 Bright A_SpawnItemEx("ARKBlueFire",random(18,-18),random(14,-14),random(70,80),0,0,random(-6,-8),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR LightBlueGuruStruckGlowX : BlueGuruStruckGlowX
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		Goto Fade
	Fade:
		TNT1 A 0 Bright A_SetScale(ScaleX +0.1, ScaleY +0.025)
		G3FL A 1 Bright A_FadeOut(0.01,1)
		Loop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR LightBlueGuruStruckGlowY : BlueGuruStruckGlowY
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		Goto Fade
	Fade:
		TNT1 A 0 Bright A_SetScale(ScaleX +0.025, ScaleY +0.1)
		G3FL A 1 Bright A_FadeOut(0.01,1)
		Loop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR LightBlueStruckGlow : GuruEffectInheritance
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		G3FL A 2 Bright A_FadeOut(0.05,1)
		Loop
	}
}

ACTOR LightBlueGuruChunkSpark : BlueGuruChunkSpark
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		G3SP ABCDEF 2 Bright A_FadeOut(0.1,1)
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR LightBlueGuruSphereSmoke : BlueGuruSmokeInheritance
{
Projectile
Scale 1.8
RenderStyle Translucent
Alpha 0.45
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AA 1 Bright A_Jump(256,"Spawn1","Spawn2","Spawn3")
	Spawn1:
		TNT1 A 0 Bright A_SetScale(ScaleX -0.002, ScaleY -0.002)
		TNT1 A 0 Bright A_JumpIf(Alpha<0.3,2)
		TNT1 A 0 Bright A_Explode(10,200,0)
		G3SM A 4 Bright A_FadeOut(0.0065,1)
		Loop
	Spawn2:
		TNT1 A 0 Bright A_SetScale(ScaleX -0.002, ScaleY -0.002)
		TNT1 A 0 Bright A_JumpIf(Alpha<0.3,2)
		TNT1 A 0 Bright A_Explode(10,200,0)
		G3SM B 4 Bright A_FadeOut(0.0065,1)
		Loop
	Spawn3:
		TNT1 A 0 Bright A_SetScale(ScaleX -0.002, ScaleY -0.002)
		TNT1 A 0 Bright A_JumpIf(Alpha<0.3,2)
		TNT1 A 0 Bright A_Explode(10,200,0)
		G3SM C 4 Bright A_FadeOut(0.0065,1)
		Loop
	}
}

ACTOR MonsterGhost
{
Scale 1.0
RENDERSTYLE Translucent
Alpha 0.75
+NOCLIP
+NOGRAVITY
+DONTSPLASH
+NOINTERACTION
+CLIENTSIDEONLY
}
