ACTOR DukeBarrelExplosionSmokeColumn
{
    Radius 0
    Height 0
	RenderStyle Add
	Scale 1.2
	Alpha 0.1
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+CLIENTSIDEONLY
	+NOGRAVITY
	Damage 0
    States
    {
    Spawn:
	    TNT1 A 1
		
		FBB3 ABCDEFGHIJK 2 A_FadeIn(0.06)
		FBB3 LMNOPQRSTUVWXYZ 2
		FBB4 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB5 ABCDEFGHIJKL 2
		FBB3 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB4 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB5 ABCDEFGHIJKL 2
		
		FBB3 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB4 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB5 ABCDEFGHIJKL 2
		FBB3 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB4 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB5 ABCDEFGHIJKL 2
		
		FBB3 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB4 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2
		FBB5 ABCDEFGHIJKL 2 A_FadeOut(0.07)
		FBB3 ABCDEFGHIJK 2 A_FadeOut(0.1)
		Stop

    }
}

ACTOR ExplosionSmoke : ZSmoke
{
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
    +NOINTERACTION
	+NOGRAVITY
	+DOOMBOUNCE
	+THRUACTORS
  +THRUGHOST
	Health 99999
	BounceFactor 0.5
	Radius 0
	Height 0
	Alpha 0.1
	RenderStyle Translucent
	Scale 1.1
	Speed 1
    States
    {
    Spawn:
	TNT1 A 0
	SMK3 BBB 2 A_FadeIn(0.1)
	SMK3 B 20
	SMK3 CDEFGHIJKLM 3
	Goto Death
	Death:
	    TNT1 A 1
    Stop
    }
}

ACTOR GunFireSmoke: ExplosionSmoke
{
	Alpha 0.25
	Scale 0.2
	Renderstyle Add
  Speed 8
    States
    {
    Spawn:
        SMOK A 0
        Goto Death
	Death:
		TNT1 A 0
		TNT1 A 0 A_JUmp(256, "Death1", "Death2", "Death3", "Death4")
		
	Death1:	
		TNT1 A 0
		TNT1 A 1 A_CustomMissile("GunFireSmoke1", 7, 0, 180, 0, 0)
		Stop
		
	Death2:	
		TNT1 A 0
		TNT1 A 1 A_CustomMissile("GunFireSmoke2", 7, 0, 180, 0, 0)
		Stop
		
	Death3:	
		TNT1 A 0
		TNT1 A 1 A_CustomMissile("GunFireSmoke3", 7, 0, 180, 0, 0)
		Stop	
		
	Death4:	
		TNT1 A 0
		TNT1 A 1 A_CustomMissile("GunFireSmoke4", 7, 0, 180, 0, 0)
		Stop	
		
Stop
    }
}

ACTOR GunFireSmoke1: GunFireSmoke
{
	Alpha 0.3
	Scale 0.2
	Renderstyle Add
  Speed 8
    States
    {
    Spawn:
        SMOK A 0
        Goto Death
    Death:
		TNT1 A 0
		TNT1 A 0 A_Stop
		tnt1 a 0 a_rECOIL(-2)
		SMOK ABCDEFGHIJKLMNOPQ 1
		Stop
    }
}

ACTOR GunFireSmoke2: GunFireSmoke1
{
	Scale -0.21
}

ACTOR GunFireSmoke3: GunFireSmoke1
{
	XScale -0.22
	YScale 0.22
}

ACTOR GunFireSmoke4: GunFireSmoke1
{
	XScale 0.2
	YScale -0.2
}

ACTOR AltSmoke: ExplosionSmoke
{
+NOINTERACTION
+NOCLIP
Scale 0.8
States
    {
    Spawn:
        PUF2 A 1
        Goto Death
	Death:                                                          
        PUF2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2 A_FadeOut(0.010)
		
Stop
    }
}

Actor OldschoolRocketSmokeTrail2: AltSmoke
{
	Alpha 0.2
Speed 1
+CLIENTSIDEONLY
Scale 0.2
States
    {
    Spawn:  
	    TNT1 A 2
        SMK3 BCDEFGHIJKKLLMMN 2
		Stop
		
Stop
}
}

Actor OldschoolRocketSmokeTrail3: OldschoolRocketSmokeTrail2
{
Alpha 0.7
}

Actor OldschoolRocketSmokeTrail2Tiny: OldschoolRocketSmokeTrail2
{
Scale 0.1
}

ACTOR ExplosionSmokeFast22: ExplosionSmoke
{
	Speed 2
	Scale 0.8
}

ACTOR ExplosionSmokeFast22Tiny: ExplosionSmoke
{
	Speed 2
	Scale 0.4
}

Actor ShrinkerAttackSmoke: ExplosionSmoke
{
Speed 1
Scale 0.5
Alpha 0.1
States
{
Spawn:
	TNT1 A 0
	SMK3 BB 2 A_FadeIn(0.1)
	SMK3 B 20
	SMK3 CDEFGHIJKLM 3
	Goto Death
	}
}

ACTOR Duke_Smoke : ZSmoke
{
	+NOGRAVITY
	+NOBLOCKMAP
	+FLOORCLIP
	+FORCEXYBILLBOARD
	+DONTSPLASH
	+NOINTERACTION
    +NOTELEPORT
	RenderStyle "Add"
	Scale 0.27
	Alpha 0.2
	Speed 0.75
	Radius 2
	Height 2
	States
	{
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(127,"Alt")
		EF04 ABCDEFGHIJKLMNOPQR 2 A_FadeOut(0.005)
		Stop
    Alt:
		EF10 ABCDEFGHIJKLMNOPQR 2 A_FadeOut(0.005)
		Stop
    Death:
		TNT1 A 1
		Stop
    }
}