//=======================================================//
// Teleport fog											 //
//=======================================================//

ACTOR TeleportT : TeleportFog replaces TeleportFog
{
	+NOBLOCKMAP
	+NOTELEPORT
	+NOGRAVITY
	RenderStyle Add
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItem("GunSmokeSpawner")
		Stop
	}
}

//=======================================================//
// Weapon smoke effects									 //
//=======================================================//

ACTOR GunSmokeSpawner
{
    Speed 20
    +NOCLIP
    States
    {
	Spawn:
		TNT1 A 1
		TNT1 A 0 Thing_ChangeTID(0,390)
		NULL AA 0 A_CustomMissile("ShotSmoke", 0, 0, random (0, 360), 2, random (0, 180))
        Stop
    }
}

ACTOR ShotSmoke
{
	+NOGRAVITY
	+NOBLOCKMAP
	+FLOORCLIP
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+DONTSPLASH
	+MISSILE
	Speed 1
	RenderStyle Add
	Alpha		0.4
	+CLIENTSIDEONLY
	Radius		0
	Height		0
	Scale		0.4
	States
 {
    Spawn:
         NULL A 1 A_SetTranslucent(0.25)
		 TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SmokeToggle")==0,19)
         SMOK ABCDEFGHIJKLMNOPQR 2 A_FadeOut(0.005)
		 TNT1 A 0
		 Stop
    }
}


//Small smoke spawner

ACTOR GunSmokeSpawner2 : GunSmokeSpawner
{
    Speed 20
    +NOCLIP
    States
    {
	Spawn:
		TNT1 A 1
		TNT1 A 0 Thing_ChangeTID(0,390)
		NULL AA 0 A_CustomMissile("ShotSmoke2", 0, 0, random (0, 360), 2, random (0, 180))
        Stop
    }
}

ACTOR ShotSmoke2
{
	+NOGRAVITY
	+NOBLOCKMAP
	+FLOORCLIP
	+FORCEXYBILLBOARD
	+NOINTERACTION
	+FORCEXYBILLBOARD
	+DONTSPLASH
	+MISSILE
	Speed 1
	RenderStyle Add
	Alpha		0.4
	+CLIENTSIDEONLY
	Radius		0
	Height		0
	Scale		0.2
	States
 {
    Spawn:
         NULL A 1 A_SetTranslucent(0.25)
		 TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SmokeToggle")==0,19)
         SMOK ABCDEFGHIJKLMNOPQR 2 A_FadeOut(0.005)
		 TNT1 A 0
		 Stop
    }
}