class SquareTeleportFog : TeleportFog replaces TeleportFog
{
	Default
	{
		+CLIENTSIDEONLY;
	}
	States
	{
	Spawn:
		TNT1 A 0;
		TNT1 AAAAAAAAAA 0 A_SpawnItemEx("FogSpark"      , frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](0.0,32.0), 0, 0, random[SquareEffectRandom](1,3));
		TNT1 AAAAAAAAAA 0 A_SpawnItemEx("FogSparkRed"   , frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](0.0,32.0), 0, 0, random[SquareEffectRandom](1,3));
		TNT1 AAAAAAAAAA 0 A_SpawnItemEx("FogSparkOrange", frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](0.0,32.0), 0, 0, random[SquareEffectRandom](1,3));
		TNT1 AAAAAAAAAA 0 A_SpawnItemEx("FogSparkYellow", frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](0.0,32.0), 0, 0, random[SquareEffectRandom](1,3));
		TNT1 AAAAAAAAAA 0 A_SpawnItemEx("FogSparkGreen" , frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](0.0,32.0), 0, 0, random[SquareEffectRandom](1,3));
		TNT1 AAAAAAAAAA 0 A_SpawnItemEx("FogSparkPurple", frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](-24.0,24.0), frandom[SquareEffectRandom](0.0,32.0), 0, 0, random[SquareEffectRandom](1,3));
		Stop;
	}
}

class SquareItemFog : ItemFog replaces ItemFog
{
	Default
	{
		+CLIENTSIDEONLY;
	}
	States
	{
	Spawn:
		TNT1 A 0;
		TNT1 AAAAAAAA 0 A_SpawnItemEx("FogSpark", random[SquareEffectRandom](-12.0,12.0), random[SquareEffectRandom](-12.0,12.0), random[SquareEffectRandom](0.0,4.0), 0, 0, random[SquareEffectRandom](1,3));
		TNT1 A 35;
		Stop;
	}
}

class FogSpark : SquareActor
{
	Default
	{
		RenderStyle 'Add';
		Alpha 0.8;
		Scale 0.66;
		Height 1;
		Radius 1;
		+NOGRAVITY;
		+NOBLOCKMAP;
		+NOCLIP;
		+THRUACTORS;
		+CLIENTSIDEONLY;
		+FORCEXYBILLBOARD;
	}
	States
	{
	Spawn:
		ITMS ABCDE 3 Bright A_FadeOut(0.1);
		Stop;
	}
}

class FogSparkRed    : FogSpark { Default { Translation "64:79=192:207"; } }
class FogSparkOrange : FogSpark { Default { Translation "64:79=144:159"; } }
class FogSparkYellow : FogSpark { Default { Translation "64:79=240:255"; } }
class FogSparkGreen  : FogSpark { Default { Translation "64:79=112:127"; } }
class FogSparkPurple : FogSpark { Default { Translation "64:79=32:47"; } }
