Actor BaseDarkSmoke
{
	+NOBLOCKMAP
	+NOCLIP
	+NOINTERACTION
	+FORCEXYBILLBOARD
	RenderStyle Translucent
	Alpha 0.9
	Scale 0.6
	States
	{
		Spawn:
			TSMK A 1 A_SetScale(ScaleX + FRandom(0.005, 0.015))
			TSMK A 0 A_FadeOut(FRandom(0.006, 0.012))
			Loop
	}
}

Actor SmokeGenerator
{
	+NOINTERACTION
	ReactionTime 50
	States
	{
		Spawn:
			TNT1 A 0 A_Countdown
			TNT1 A 0 A_SpawnItemEx("BaseDarkSmoke", 0, 0, 0, 0.0,
									FRandom(-0.125,0.125) * ScaleX,
									FRandom(-1.0, 5.0) * ScaleX, Random(0, 359),
									SXF_CLIENTSIDE | SXF_TRANSFERSCALE, 30)
		    TNT1 A 4
			Loop
	}
}

Actor BaseSmoke
{
	+NOINTERACTION
	+SPRITEFLIP
	+ROLLSPRITE
	+NOBLOCKMAP
	+NOCLIP
	+THRUACTORS
	+FORCEXYBILLBOARD
	RenderStyle Add
    Alpha 0.3
	Scale 0.7
	States
	{
		Spawn:
		    SMK3 B 0 
			SMK3 B 0 A_ChangeFlag("SPRITEFLIP", random(0,1))
            SMK3 BBCC 2 A_FadeIn(0.1)
 		    SMK3 DEFGHIJKLMBCDEFGHIJKLM 4 { A_FadeOut(0.05,1); A_SetScale(ScaleX + 0.01); A_SetRoll(Roll+frandom(-2, 2),SPF_INTERPOLATE); }
			Stop
	}
}

Actor BaseFlash
{
	+NOINTERACTION
	+FORCEXYBILLBOARD
	+NOBLOCKMAP
	+NOCLIP
	RenderStyle Add
	Alpha 0.99
	States
	{
		Spawn:
			TNT1 AA 0 A_Jump(256, "SpriteA", "SpriteB")
		SpriteA:
			EXN1 A 0
			Goto Fade
		SpriteB:
			EXN1 B 0
			Goto Fade
		Fade:
			"####" "#" 0 A_SetScale(FRandom(0.5, 0.8) * ScaleX)
			"####" "#" 1 Bright A_FadeOut(FRandom(0.1, 0.15))
			Wait
	}
}

Actor DarkSmoke
{
	+NOBLOCKMAP
	+NOCLIP
	+NOINTERACTION
	+FORCEXYBILLBOARD
	RenderStyle Translucent
	Alpha 0.9
	Scale 0.6
	Speed 2
	States
	{
		Spawn:
			TSMK A 1 A_SetScale(ScaleX + FRandom(0.005, 0.015))
			TSMK A 0 A_FadeOut(FRandom(0.006, 0.012))
			Loop
	}
}

ACTOR STDarkSmoke : DarkSmoke
{
Scale 0.25
}

ACTOR SmolDarkSmoke : DarkSmoke
{
    Scale 0.05
	States
	{
		Spawn:
			TSMK A 1 A_SetScale(ScaleX + FRandom(0.0025, 0.005))
			TSMK A 0 A_FadeOut(FRandom(0.05, 0.10))
			Loop
	}
}


ACTOR SmolDarkSmoke2 : DarkSmoke
{
    Scale 0.12
	Speed 0.01
	States
	{
		Spawn:
			TSMK A 1 A_SetScale(ScaleX + FRandom(0.0025, 0.005))
			TSMK A 0 A_FadeOut(FRandom(0.05, 0.10))
			Loop
	}
}

ACTOR AKDarkSmoke : DarkSmoke
{
Alpha 0.55
Scale 0.25
Speed 0.2
States
{
Spawn:
    TSMK A 0 ThrustThingZ (0, 5, 0, 0)
	TSMK A 1 A_SetScale(ScaleX + FRandom(0.0025, 0.005))
	TSMK A 0 A_FadeOut(FRandom(0.045, 0.085))
	Loop
}
}

ACTOR BaseExplode
{
	-SPRITEFLIP
	+ROLLSPRITE
	+INTERPOLATEANGLES
	+NOBLOCKMAP
	+NOCLIP
	+DOOMBOUNCE
	+FLOORCLIP
	+MISSILE
	+NOGRAVITY
	+NOINTERACTION
	Speed 2
	Scale  1.2
	Radius 0
	Height 0
	RenderStyle Add
	Alpha  0.400
    States
    {
    Spawn:
    FGC2 A 1 bright 
	FGC2 A 1 bright A_ChangeFlag("SPRITEFLIP", random(0,1))
    FCG2 BCDEFGHIJKLMNOPQRST 1 Bright { A_FadeOut(0.01,1); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
    stop
    }
}

ACTOR BaseBlast
{
    +DONTTHRUST
	+NOBLOCKMAP
	+NOCLIP
	+NOINTERACTION
	+FORCEXYBILLBOARD
	RenderStyle Translucent
	Alpha 0.9
	Scale 0.7
	States
	{
    Spawn:
    TNT1 A 3
	BKSM A 1 A_ChangeFlag("SPRITEFLIP", random(0,1))
	BKSM BCDEFGHIJKLMMMMMMMMMM 2 { A_SetScale(ScaleX + FRandom(0.005, 0.015)); A_FadeOut(0.05); }
    Stop
    }
}

ACTOR STBlast : BaseBlast
{
Scale 0.4
}

Actor BKSmoke : BaseSmoke
{
Scale 0.4
Speed 2
}


Actor BKFlash : BaseFlash
{
Scale 0.4
}

ACTOR BKBlast : BaseBlast
{
Scale 0.4
}

ACTOR BKExplode : BaseExplode
{
	Scale  0.8
    States
    {
    Spawn:
    FGC2 A 1 bright 
	FGC2 A 1 bright A_ChangeFlag("SPRITEFLIP", random(0,1))
    FCG2 BCDEFGHI 1 Bright { A_FadeOut(0.01,1); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
	FCG4 JKLMNOPQRST 1 Bright { A_FadeOut(0.01,1); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
    stop
    }
}

ACTOR BKExplode2 : BKExplode
{
	Speed 2
	Scale  0.5
}

ACTOR BKExplode3 : BKExplode
{
	Speed 2
	Scale  0.4
}

Actor 12gFlash : BaseFlash
{
Scale 0.01
}

ACTOR 12gExplode : BaseExplode
{
	Scale  0.4
    States
    {
    Spawn:
    FGC2 A 1 bright 
	FGC2 A 1 bright A_ChangeFlag("SPRITEFLIP", random(0,1))
    FCG2 BCDEFGHI 1 Bright { A_FadeOut(0.01,1); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
	FCG2 JKLMNOPQRST 1 Bright { A_FadeOut(0.01,1); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
    stop
    }
}

ACTOR 12gExplode2 : 12gExplode
{
	Speed 2
	Scale  0.3
}

ACTOR 12gExplode3 : 12gExplode
{
	Speed 2
	Scale  0.2
}

ACTOR MGExplode : BKExplode
{
	Speed 2
	Scale  1.5
}

ACTOR MGExplode2 : BKExplode
{
	Speed 2
	Scale  1.4
}

ACTOR MGExplode3 : BKExplode
{
	Speed 2
	Scale  0.9
}

Actor STXSmoke : BaseSmoke
{
Scale 1.0
Speed 0.9
}

ACTOR HC1Explode1 : BaseExplode
{
	Speed 2
	Scale  0.5
}

ACTOR HC1Explode2 : BaseExplode
{
	Speed 2
	Scale  0.4
}

ACTOR HC1Explode3 : BaseExplode
{
	Speed 2
	Scale  0.3
}

ACTOR HC2Explode1 : BKExplode
{
	Speed 2
	Scale  0.7
}

ACTOR HC2Explode2 : BKExplode
{
	Speed 2
	Scale  0.5
}

ACTOR HC2Explode3 : BKExplode
{
	Speed 2
	Scale  0.3
}

ACTOR STXExplode1 : BaseExplode
{
	Speed 2
	Scale  1.5
}

ACTOR STXExplode2 : BaseExplode
{
	Speed 2
	Scale  1.5
}

ACTOR STXExplode3 : BaseExplode
{
	Speed 2
	Scale  1.3
}

ACTOR HQNukeExplode : BaseExplode
{
	Scale  0.8
    States
    {
    Spawn:
    FCG2 A 1 bright 
	FCG2 A 1 bright A_ChangeFlag("SPRITEFLIP", random(0,1))
    FCG2 BCDEFGHIJKLMNOPQRST 1 Bright { A_FadeOut(0.01,1); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
    stop
    }
}


ACTOR HQNukeExplode2 : HQNukeExplode
{
	Scale  1.2
	States
{
    Spawn:
    FCG2 A 1 bright 
	FCG2 A 1 bright A_ChangeFlag("SPRITEFLIP", random(0,1))
    FCG2 BCDEFGHIJ 1 Bright { A_FadeOut(0.01,1); A_SetScale(ScaleX * 1.02); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
	FCG2 KLMNOPQRST 2 Bright { A_FadeOut(0.01,1); A_SetScale(ScaleX * 1.02); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
    stop
    }
}

Actor HQNukeSmoke : BaseSmoke
{
Scale 0.7
Alpha 0.01
Speed 0.9
}

Actor HQNukeFlash : BaseFlash
{
Scale 1.7
}

ACTOR HQNukeMuzzleFlash : BaseExplode
{
	Speed 2
	Scale  0.5
}

ACTOR HQNukeMuzzle
{
   Speed 20
   PROJECTILE
   +NOCLIP
   +dontsplash   
   +notimefreeze
   States
   {
   Spawn:
    TNT1 A 2
    FLFR MM 0 A_CustomMissile ("HQNukeMuzzleFlash", 0, 0, random (0, 360), 2, random (-60, 60))
    FLFR MM 0 A_CustomMissile ("HQNukeMuzzleFlash", 0, 0, random (0, 360), 2, random (-80, 80))
    FLFR MM 0 A_CustomMissile ("HQNukeMuzzleFlash", 0, 0, random (0, 360), 2, random (-90, 90))
    Stop
   }
}

Actor SlugFlash : BaseFlash
{
Scale 0.8
}

ACTOR SlugShockwave
{
Scale 0.15
Renderstyle Add
+FORCEXYBILLBOARD
+NOGRAVITY
States
{
Spawn:
TNT1 A 0
Death:
FCG1 A 1
FCG1 A 1 Bright A_SetScale(ScaleX * 1.3)
FCG1 A 1 Bright A_SetScale(ScaleX * 1.3)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.3)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.3)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.2)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.2)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.1)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.1)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.1)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.1)
FCG1 A 1 Bright A_FadeOut(0.1)
FCG1 A 0 Bright A_SetScale(ScaleX * 1.1)
FCG1 A 1 Bright A_FadeOut(0.1)
stop
}
}

ACTOR SlugHPExplode : BaseExplode
{
	Scale  1.2
    States
    {
    Spawn:
    FGC2 A 1 bright 
	FGC2 A 1 bright A_ChangeFlag("SPRITEFLIP", random(0,1))
    FCG2 BCDEFGHI 1 Bright { A_FadeOut(0.01,1); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
	FCG5 JKLMNOPQRST 1 Bright { A_FadeOut(0.01,1); A_SetRoll(Roll+frandom(0, 2),SPF_INTERPOLATE); }
    stop
    }
}

ACTOR SlugHPExplode2 : SlugHPExplode
{
	Speed 2
	Scale  0.8
}

ACTOR SlugHPExplode3 : SlugHPExplode
{
	Speed 2
	Scale  0.4
}

Actor SemtexDebris
{
  Radius 8
  Height 11
  Speed 15
  Projectile
  Alpha 0.95
  Scale 0.7
  -NOGRAVITY
  +THRUACTORS
  +NOCLIP
  States
  {
  Spawn:
    TNT1 AA 1 Bright A_SpawnItemEx("SemtexFire", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 A 0 A_ChangeFlag("NoClip",0)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_SpawnItemEx("SemtexFire", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

Actor SemtexFire
{
  Radius 0
  Height 1
  Speed 0
  Projectile
  RenderStyle Add
  +ROLLSPRITE
  +INTERPOLATEANGLES
  +THRUACTORS
  +NOINTERACTION
  +NOCLIP
  Alpha 0.85
  Scale 0.5
  States
  {
  Spawn:
    TNT1 A 1 Bright
	TNT1 A 0 A_ChangeFlag("NoClip",0)
    FLFR ACEGIKMO 1 bright { A_FadeOut(0.05,1); A_SetScale(ScaleX + 0.001); A_SetRoll(Roll+frandom(5,10),SPF_INTERPOLATE); }
	FLFR A 1 Bright A_SpawnItemEx("AKDarkSmoke", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

ACTOR DBSmoke : DisasterShotSmoke
{
    Alpha 0.67
	Scale  0.7
	-SPRITEFLIP
	States
	{
    Spawn:
	    FLCR A 0
	    FLCR A 0 A_ChangeFlag("SPRITEFLIP", random(0,1))
		FLCR A 0 A_Jump(128, "Spawn1","Spawn2")
	Spawn1:
        FWF3 ABCD 1 Bright { A_FadeOut(0.025,TRUE); A_SetScale(ScaleX+FRandom(0.015,0.03),ScaleY+FRandom(0.015,0.03)); }
		Stop
	Spawn1:
        FWF4 ABCD 1 Bright { A_FadeOut(0.025,TRUE); A_SetScale(ScaleX+FRandom(0.015,0.03),ScaleY+FRandom(0.015,0.03)); }
		Stop
    }
}

ACTOR DBSmoke2 : DBSmoke
{
    Alpha 0.67
	Scale  0.3
}

ACTOR DBSmoke3 : DBSmoke
{
    Alpha 0.67
	Scale  0.7
	-SPRITEFLIP
}

ACTOR DBSmoke4 : DBSmoke
{
    Alpha 0.67
	Scale  0.3
	-SPRITEFLIP
}

ACTOR DBSmoke5 : DBSmoke
{
    Alpha 0.67
	Scale  0.25
	-SPRITEFLIP
}

actor DBFlare
{
	Scale 0.08
	Alpha 0.5
	+NOGRAVITY
	States
	{
	Spawn:
	    FLCR AAAAAAAAAAAA 1 Bright A_SpawnItemEx("DBSmoke2",0,0.2*random(-10,10),0.2*random(-10,10),0,0,0,0,0,0)
		Stop
		}
}	

actor DBFlare2
{
	Scale 0.8
	Alpha 0.5
	+NOGRAVITY
	States
	{
	Spawn:
	    FLCR AAAAAAAAAAAA 1 Bright A_SpawnItemEx("DBSmoke3",0,0.2*random(-10,10),0.2*random(-10,10),0,0,0,0,0,0)
		Stop
		}
}	

actor DBFlare3
{
	Scale 0.8
	Alpha 0.5
	+NOGRAVITY
	States
	{
	Spawn:
	    FLCR AAAAAAAAAAAA 1 Bright A_SpawnItemEx("DBSmoke5",0,0.2*random(-10,10),0.2*random(-10,10),0,0,0,0,0,0)
		Stop
		}
}	

ACTOR DBEffect
{
  RenderStyle Add
  +NOGRAVITY
  +NOBLOCKMAP
  +NOTIMEFREEZE
  -SPRITEFLIP
  +NOCLIP
  Alpha 0.67
  Scale 0.8
  DamageType "Fire"
  States
  {
  Spawn:
    TNT1 A 0
  Death:
    FLCR A 0 A_ChangeFlag("SPRITEFLIP", random(0,1))
    FLCR A 0 A_ChangeFlag("NOCLIP",0)
    FLCR A 0 A_ChangeFlag("NOBLOCKMAP",0)
	FLCR A 0 A_AlertMonsters
	PTNT I 0 A_RadiusThrust(100, 120, RTF_AFFECTSOURCE|RTF_THRUSTZ)
    FWFX ABBCCDD 1 Bright { A_SetScale(ScaleX+FRandom(0.025,0.05),ScaleY+FRandom(0.025,0.05)); }
    FLCR A 0 A_ChangeFlag("NOTIMEFREEZE",0)
    FWFX EEEFFFGGG 1 Bright { A_FadeOut(0.025,TRUE); A_SetScale(ScaleX+FRandom(0.015,0.03),ScaleY+FRandom(0.015,0.03)); }
	FWFX GGGG 1 { A_FadeOut(0.055,TRUE); A_SetScale(ScaleX+0.0125,ScaleY+0.0125); }
   Stop
   }
  }
  
  
 ACTOR DBEffect2: DBEffect
 {
   Scale 0.3   
   States
  {
  Spawn: 
	TNT1 A 0
  Death:
    FLCR A 0 A_ChangeFlag("SPRITEFLIP", random(0,1))
    FLCR A 0 A_ChangeFlag("NOCLIP",0)
    FLCR A 0 A_ChangeFlag("NOBLOCKMAP",0)
	FLCR A 0 A_AlertMonsters
    FWF2 ABBCCDD 1 Bright { A_SetScale(ScaleX+FRandom(0.025,0.05),ScaleY+FRandom(0.025,0.05)); }
    FLCR A 0 A_ChangeFlag("NOTIMEFREEZE",0)
    FWF2 EEEFFFGGG 1 Bright { A_FadeOut(0.025,TRUE); A_SetScale(ScaleX+FRandom(0.015,0.03),ScaleY+FRandom(0.015,0.03)); }
	FWF2 GGGG 1 { A_FadeOut(0.055,TRUE); A_SetScale(ScaleX+0.0125,ScaleY+0.0125); }
   Stop
   }
 }
 
 
  ACTOR DBEffect3: DBEffect2
 {
   Scale 0.2   
 }
 
 ACTOR DBEffect4: DBEffect2
 {
   Scale 0.1   
 }

  ACTOR DBEffect5: DBEffect
 {
   Scale 0.4   
 }
 
actor FlareParticle
{
	Scale 0.08
	Alpha 0.5
	Radius 8
    Height 11
    Speed 15
	RenderStyle Add
    Gravity 0.5
	Projectile
	-NOGRAVITY
	States
	{
	Spawn:
		TNT1 A 2
	Spawn2:
	    FLCR A 1 Bright A_CustomMissile("DBSmoke5",0,0,0,0)
		FLCR A 0 A_CheckFloor("Death")
		Loop
	Death:
	    FLCR B 2 A_SetTranslucent(1, 1)
        FLCR C 3 A_SetTranslucent(0.5, 1)
        FLCR D 4 A_SetTranslucent(0.2, 1)
		Stop
		}
}	

ACTOR FlareParticle2 : FlareParticle
{
Scale 0.2
BounceType "Doom"
BounceCount 2
Gravity 0.8
+BOUNCEONWALLS
States
{
	Spawn:
	    FLCR A 1 Bright A_CustomMissile("DBFlare",0,0,0,0)
		FLCR A 0 A_CheckFloor("Death")
		Loop
    Death:
	TNT1 A 0
	Stop
}
}


ACTOR DBFire1 : DisasterShotSmoke
{
    +DONTTHRUST
    +NODAMAGETHRUST
	DamageType "Fire"
	Alpha 0.9
	Scale  1.2
	States
	{
    Spawn:
    FGFR D 1 bright NoDelay A_ChangeFlag("SPRITEFLIP", random(0,1))
	FGFR EFGHIJKLMNOPQRS 1 bright { A_FadeOut(0.02,1); A_SetRoll(Roll+frandom(8,9),SPF_INTERPOLATE); A_Explode((2), 10, XF_HURTSOURCE|XF_NOSPLASH, 0, 10);}
    Stop
    }
}

ACTOR DBFire2 : DBFire1
{
	Scale  1.2
	States
	{
    Spawn:
    FGFR D 1 bright NoDelay A_ChangeFlag("SPRITEFLIP", random(0,1))
	FGFR EFGHIJKLMNOPQRS 1 bright { A_FadeOut(0.02,1); A_SetRoll(Roll+frandom(8,9),SPF_INTERPOLATE);}
    Stop
    }
}

ACTOR BarrelBombExplode1 : BKExplode
{
	Speed 2
	Scale  1.5
}

ACTOR BarrelBombExplode2 : BKExplode
{
	Speed 2
	Scale  1.5
}

ACTOR BarrelBombExplode3 : BKExplode
{
	Speed 2
	Scale  1.3
}


ACTOR FRAGXFlash : BaseFlash
{
Scale 0.2
}

ACTOR FRAGXExplode : BKExplode
{
	Scale  0.3
}

ACTOR FRAGXExplode2 : BKExplode
{
	Speed 2
	Scale  0.2
}

ACTOR FRAGXExplode3 : BKExplode
{
	Speed 2
	Scale  0.1
}

ACTOR FRAGXExplode4 : BKExplode
{
	Speed 0
	Scale  0.04
}

actor FlareShotTrail1
{
	+THRUACTORS
	+CLIENTSIDEONLY
	+NOBLOCKMAP
	+NOGRAVITY
	Renderstyle Add
	Scale 0.1
	Alpha 0.99
	States
	{
	Spawn:
	    DINC A 2 Bright
		Stop
		}
}	

actor FlareShotTrail2 : FlareShotTrail1
{
	Alpha 0.8
	States
	{
	Spawn:
	    DINC B 2 Bright
		Stop
		}
}	

actor FlareShotTrail3 : FlareShotTrail1
{
	Alpha 0.6
	States
	{
	Spawn:
	    DINC C 2 Bright
		Stop
		}
}	

actor FlareShotTrail4 : FlareShotTrail1
{
	Alpha 0.4
	States
	{
	Spawn:
	    DINC D 2 Bright
		Stop
		}
}	


ACTOR FlareShotParticle : FlareParticle
{
Speed 50
Scale 0.2
Gravity 0.1
-BOUNCEONWALLS
States
{
	Spawn:
	    TNT1 A 3
		Goto Spawn2
	Spawn2:
	    FLCR AAAAAA 1 Bright 
		{
       A_SpawnItemEx("FlareShotTrail1", (3 *momx)/-35.0, -(3 *momy)/-35.0, 2+(3 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FlareShotTrail1", (6 *momx)/-35.0, -(6 *momy)/-35.0, 2+(6 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FlareShotTrail1", (9 *momx)/-35.0, -(9 *momy)/-35.0, 2+(9 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FlareShotTrail2", (12*momx)/-35.0, -(12*momy)/-35.0, 2+(12*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FlareShotTrail2", (15*momx)/-35.0, -(15*momy)/-35.0, 2+(15*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FlareShotTrail2", (18*momx)/-35.0, -(18*momy)/-35.0, 2+(18*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FlareShotTrail3", (21*momx)/-35.0, -(21*momy)/-35.0, 2+(21*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FlareShotTrail3", (24*momx)/-35.0, -(24*momy)/-35.0, 2+(24*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FlareShotTrail3", (27*momx)/-35.0, -(27*momy)/-35.0, 2+(27*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("FlareShotTrail4", (30*momx)/-35.0, -(30*momy)/-35.0, 2+(30*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("FlareShotTrail4", (33*momx)/-35.0, -(33*momy)/-35.0, 2+(33*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("FlareShotTrail4", (36*momx)/-35.0, -(36*momy)/-35.0, 2+(36*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
		}
		Stop
    Death:
	TNT1 A 0
	Stop
}
}

actor FragShotTrail1
{
	+THRUACTORS
	+CLIENTSIDEONLY
	+NOBLOCKMAP
	+NOGRAVITY
	Renderstyle Add
	Scale 0.04
	Alpha 0.99
	States
	{
	Spawn:
	    DINC A 2 Bright
		Stop
		}
}	

actor FragShotTrail2 : FragShotTrail1
{
	Alpha 0.8
	States
	{
	Spawn:
	    DINC B 2 Bright
		Stop
		}
}	

actor FragShotTrail3 : FragShotTrail1
{
	Alpha 0.6
	States
	{
	Spawn:
	    DINC C 2 Bright
		Stop
		}
}	

actor FragShotTrail4 : FragShotTrail1
{
	Alpha 0.4
	States
	{
	Spawn:
	    DINC D 2 Bright
		Stop
		}
}	


ACTOR FragShotParticle : FlareParticle
{
Speed 105
Scale 0.2
Gravity 0.1
-BOUNCEONWALLS
States
{
	Spawn:
	    TNT1 A 3
		Goto Spawn2
	Spawn2:
	    FLCR AAAAAA 1 Bright 
		{
       A_SpawnItemEx("FragShotTrail1", (2 *momx)/-35.0, -(2 *momy)/-35.0, 2+(2 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FragShotTrail1", (4 *momx)/-35.0, -(4 *momy)/-35.0, 2+(4 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FragShotTrail1", (6 *momx)/-35.0, -(6 *momy)/-35.0, 2+(6 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FragShotTrail2", (8*momx)/-35.0, -(8*momy)/-35.0, 2+(8*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FragShotTrail2", (10*momx)/-35.0, -(10*momy)/-35.0, 2+(10*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FragShotTrail2", (12*momx)/-35.0, -(12*momy)/-35.0, 2+(12*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FragShotTrail3", (14*momx)/-35.0, -(14*momy)/-35.0, 2+(14*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FragShotTrail3", (16*momx)/-35.0, -(16*momy)/-35.0, 2+(16*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
       A_SpawnItemEx("FragShotTrail3", (18*momx)/-35.0, -(18*momy)/-35.0, 2+(18*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("FragShotTrail4", (20*momx)/-35.0, -(20*momy)/-35.0, 2+(20*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("FragShotTrail4", (22*momx)/-35.0, -(22*momy)/-35.0, 2+(22*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
	   A_SpawnItemEx("FragShotTrail4", (24*momx)/-35.0, -(24*momy)/-35.0, 2+(24*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE);
		}
		Stop
    Death:
	TNT1 A 0
	Stop
}
}
