actor Telefog replaces TeleportFog {
	+CLIENTSIDEONLY
	+NOGRAVITY
	+NOINTERACTION
	+DONTSPLASH
	states {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound ("misc/teleport")
		TNT1 A 0 A_SpawnItemEx ("TelefogFlare", -2,0,16,0,0,0,0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx ("TelefogFX2", -2,0,16,0,0,0,0, SXF_NOCHECKPOSITION)
		TNT1 AAAAAAAAAAAAAA 0 A_CustomMissile ("TelefogSpark", -2, 0, random(-180,180), 2, random (8, 32))
		TNT1 AAAA 0 A_SpawnItemEx ("TelefogFX", random(-16,16),random(-16,16),16, 0,0,random(2,5),0, SXF_NOCHECKPOSITION)
		TNT1 A 2
		TNT1 AAAA 0 A_SpawnItemEx ("TelefogFX", random(-16,16),random(-16,16),16, 0,0,random(2,5),0, SXF_NOCHECKPOSITION)
		TNT1 A 2
		TNT1 AAAA 0 A_SpawnItemEx ("TelefogFX", random(-16,16),random(-16,16),16, 0,0,random(2,5),0, SXF_NOCHECKPOSITION)
		TNT1 A 2
		TNT1 AAAA 0 A_SpawnItemEx ("TelefogFX", random(-16,16),random(-16,16),16, 0,0,random(2,5) ,0, SXF_NOCHECKPOSITION)
		TNT1 A 2
		stop
	}
}

actor TelefogFX {
	+CLIENTSIDEONLY
	+NOGRAVITY
	+NOINTERACTION
	+DONTSPLASH
	+FORCEXYBILLBOARD
	renderstyle add
	alpha 0.6
	scale 0.5
	states {
	Spawn:
		PLFX ABABCDEFGHIJ 5 BRIGHT A_FadeOut (0.075)
		stop
	}
}

actor TelefogFX2 : TelefogFX {scale 1.25}

actor TelefogFlare {
	+CLIENTSIDEONLY
	+NOGRAVITY
	+NOINTERACTION
	+DONTSPLASH
	+FORCEXYBILLBOARD
	renderstyle add
	alpha 0.75
	scale 1.75
	states {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump (256, "Spawn1", "Spawn2", "Spawn3", "Spawn4", "Spawn5", "Spawn6")
	Spawn1:
		SPKG A 2 A_FadeOut
		wait
	Spawn2:
		SPKG B 2 A_FadeOut
		wait
	Spawn3:
		SPKG C 2 A_FadeOut
		wait
	Spawn4:
		SPKG D 2 A_FadeOut
		wait
	Spawn5:
		SPKG E 2 A_FadeOut
		wait
	Spawn6:
		SPKG F 2 A_FadeOut
		wait
	}
}

actor TelefogSpark 
{
	PROJECTILE
	+CLIENTSIDEONLY
	+FORCEXYBILLBOARD
	+NOCLIP
	-NOGRAVITY
	+DONTSPLASH
	radius 8 
	height 8 
	speed 8
	renderstyle add
	alpha 0.6
	scale 0.05
	states {
	Spawn:
		TNT1 A 0
		TNT1 A 0 ThrustThingZ (0, random(15,40), 0, 0)
		TNT1 A 0 A_Jump (43, "Spawn2")
		TNT1 A 0 A_Jump (64, "Spawn3")
		TNT1 A 0 A_Jump (85, "Spawn4")
		TNT1 A 0 A_Jump (106, "Spawn5")
		TNT1 A 0 A_Jump (128, "Spawn6")
		SPKG A 10
		goto Death
	Spawn2:
		SPKG B 10
		goto Death
	Spawn3:
		SPKG C 10
		goto Death
	Spawn4:
		SPKG D 10
		goto Death
	Spawn5:
		SPKG E 10
		goto Death
	Spawn6:
		SPKG F 10
		goto Death
	Death:
		"----" AAAAAAAA 1 A_FadeOut (0.05)
		stop
	}
}

Actor NewItemFogFX : ItemFog Replaces PickupFlash
{
	+NOGRAVITY
	+NOCLIP
	+NOINTERACTION
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemex("NewItemFog",0,0,32) //Fixes the spawn height
		TNT1 A 32
		Stop
	}
}

Actor NewItemFogFX2 : NewItemFogFX replaces ItemFog {}

Actor NewItemFog
{
	+NOGRAVITY
	+NOCLIP
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+CLIENTSIDEONLY
	Renderstyle Add
	Scale 0.2
	States
	{
	Spawn:
		TNT1 A 0
		TFG2 ABCDEFGHIJKLMNOPQRST 1 BRIGHT
		Stop
	}
}

ACTOR EtherealWisp
{
	Radius 4
	Height 8
	Speed 0
	Damage 0
	RenderStyle ADD
	Alpha 0.4
	PROJECTILE
	+NOCLIP
	+NOINTERACTION
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		NMRE IJKLMNO 3
		Stop
	}
}