ACTOR JumpJetActive
{
    +NOINTERACTION
    States
    {
    Spawn:
       TNT1 A 0 NoDelay A_SpawnItemEx("JumpJetSmoke",random(3,-3),random(3,-3),-25-random(3,-3),frandom(0.1,0.3),frandom(0.1,0.3),frandom(-1.0,-2.0),frandom(0.0,360.0),SXF_CLIENTSIDE,0)
       TNT1 A 15 A_SpawnItemEx("JumpJetFire",random(3,-3),random(3,-3),-25-random(3,-3),frandom(0.1,0.3),frandom(0.1,0.3),frandom(-1.0,-2.0),frandom(0.0,360.0),SXF_CLIENTSIDE,0)
       Stop
    }
}

ACTOR JumpJetActive2
{
    +NOINTERACTION
    States
    {
    Spawn:
       TNT1 A 0 NoDelay A_SpawnItemEx("JumpJetSmoke",random(3,-3),random(3,-3),-25-random(3,-3),frandom(0.1,0.3),frandom(0.1,0.3),frandom(-1.0,-2.0),frandom(0.0,360.0),SXF_CLIENTSIDE,0)
       Stop
    }
}

ACTOR JumpJetSmoke
{ 
    Scale 0.25
    Alpha 0.6
    RenderStyle Translucent
    +CLIENTSIDEONLY
    +NOINTERACTION
    +NOGRAVITY
    +THRUGHOST
    +DONTSPLASH
    States
    {
    Spawn:
      SMKE A 5
      SMKE A 0 A_Jump(255,"SmokeA","SmokeB","SmokeC","SmokeD","SmokeE","SmokeF","SmokeG","SmokeH","SmokeI","SmokeJ","SmokeK")
    SmokeA:
      SMKE A 0 A_FadeOut(0.01)
      SMKE A 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeB:
      SMKE A 0 A_FadeOut(0.01)
      SMKE B 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeC:
      SMKE A 0 A_FadeOut(0.01)
      SMKE C 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeD:
      SMKE A 0 A_FadeOut(0.01)
      SMKE D 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeE:
      SMKE A 0 A_FadeOut(0.01)
      SMKE E 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeF:
      SMKE A 0 A_FadeOut(0.01)
      SMKE F 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeG:
      SMKE A 0 A_FadeOut(0.01)
      SMKE G 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeH:
      SMKE A 0 A_FadeOut(0.01)
      SMKE H 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeI:
      SMKE A 0 A_FadeOut(0.01)
      SMKE I 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeJ:
      SMKE A 0 A_FadeOut(0.01)
      SMKE J 1 A_SetScale(ScaleX + 0.005)
      Loop
    SmokeK:
      SMKE A 0 A_FadeOut(0.01)
      SMKE A 1 A_SetScale(ScaleX + 0.005)
      Loop
    }
}

ACTOR JumpJetFire
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  +CLIENTSIDEONLY
  +THRUGHOST
  +DONTSPLASH
  Renderstyle Add
  Scale 0.6
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_Jump(255,"Exp1","Exp2","Exp3","Exp4","Exp5")
    stop
  Exp1:
    EXP6 A 0
	Goto Anim
	//ABCDEFGH 2 Bright A_SetScale(ScaleX +0.02)
  Exp2:
    EXP7 A 0
	Goto Anim
  Exp3:
    EXP8 A 0
	Goto Anim
  Exp4:
    EXP9 A 0
	Goto Anim
  Exp5:
    EXP0 A 0
	Goto Anim
  Anim:
    "####" A 0 A_FadeOut(0.05)
    "####" A 1 Bright A_SetScale(ScaleX +0.02)
    "####" A 0 A_FadeOut(0.05)
    "####" A 1 Bright A_SetScale(ScaleX +0.02)
	
    "####" A 0 A_FadeOut(0.05)
    "####" B 1 Bright A_SetScale(ScaleX +0.02)
    "####" A 0 A_FadeOut(0.05)
    "####" B 1 Bright A_SetScale(ScaleX +0.02)
	
    "####" A 0 A_FadeOut(0.05)
    "####" C 1 Bright A_SetScale(ScaleX +0.02)
    "####" A 0 A_FadeOut(0.05)
    "####" C 1 Bright A_SetScale(ScaleX +0.02)
	
    "####" A 0 A_FadeOut(0.05)
    "####" D 1 Bright A_SetScale(ScaleX +0.02)
    "####" A 0 A_FadeOut(0.05)
    "####" D 1 Bright A_SetScale(ScaleX +0.02)
	
	"####" A 0 A_FadeOut(0.05)
    "####" E 1 Bright A_SetScale(ScaleX +0.02)
    "####" A 0 A_FadeOut(0.05)
    "####" E 1 Bright A_SetScale(ScaleX +0.02)
	
	"####" A 0 A_FadeOut(0.05)
    "####" F 1 Bright A_SetScale(ScaleX +0.02)
    "####" A 0 A_FadeOut(0.05)
    "####" F 1 Bright A_SetScale(ScaleX +0.02)
	
	"####" A 0 A_FadeOut(0.05)
    "####" G 1 Bright A_SetScale(ScaleX +0.02)
    "####" A 0 A_FadeOut(0.05)
    "####" G 1 Bright A_SetScale(ScaleX +0.02)
	
	"####" A 0 A_FadeOut(0.05)
    "####" H 1 Bright A_SetScale(ScaleX +0.02)
    "####" A 0 A_FadeOut(0.05)
    "####" H 1 Bright A_SetScale(ScaleX +0.02)
	Stop
  }
}