ACTOR TK2MPFirestormCannon : Weapon
{
	Weapon.Kickback 100
		Scale 0.5
		Weapon.AmmoUse 1
	Weapon.AmmoGive 40
	Inventory.PickupSound "Turok2MP64/Items/Pickup"
	Weapon.AmmoType "TK2MPSmallPlasmaAmmo"
	  obituary "%o got caught in %k's fire storm."
	  Inventory.PickupMessage "FireStorm Cannon"
	  Inventory.Icon "TKA2C0"
	States
	{
		Spawn:
		TKA1 G -1
		Stop
	Ready:
    TK08 ABCDEFG 2 
    TK08 H -1 A_WeaponReady
    Goto Ready+7
	Deselect:
	TNT1 A 0 A_Stopsound(7)
		TK08 NOPQRSTU 2
		TK04 A 0 A_Lower
		wait
			Select:
		TK19 A 0 A_Raise
		Loop
	Fire:
	TNT1 A 0 A_Playsound("Turok2MP64/Weapons/Firestorm",7,1,TRUE)
		TK08 I 1 A_FireCustomMissile ("TK2FireStormShot")
		TK08 JKL 1
		TK08 M 1 A_ReFire
		Goto Rest
     Rest:
	 TNT1 A 0 A_Stopsound(7)
    FSCW A 0 A_PlaySound("Turok2MP64/Weapons/FirestormStop","Weapon")
		TK08 I 2 A_ReFire
		TK08 J 2 A_ReFire
		TK08 K 2 A_ReFire
		TK08 L 2 A_ReFire
		TK08 M 2 A_ReFire
	    Goto Ready+7
	}
}

  ACTOR TK2FireStormShot: Fastprojectile
{   
  Speed 100
  Damage 5
    radius 8
  height 8
  Scale 0.50
  Projectile
  	  obituary "%o got caught in %k's fire storm."
  +RANDOMIZE
  +FORCEXYBILLBOARD
  RenderStyle Add
  //Alpha 0.75
  States
  {
  Spawn:
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", 0,               0,              2)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail",     momx /-90.0,     -momy /-90.0, 2+    momz /-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (2 *momx)/-90.0, -(2 *momy)/-90.0, 2+(2 *momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (3 *momx)/-90.0, -(3 *momy)/-90.0, 2+(3 *momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (4 *momx)/-90.0, -(4 *momy)/-90.0, 2+(4 *momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (5 *momx)/-90.0, -(5 *momy)/-90.0, 2+(5 *momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (6 *momx)/-90.0, -(6 *momy)/-90.0, 2+(6 *momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (7 *momx)/-90.0, -(7 *momy)/-90.0, 2+(7 *momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
	  TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (8 *momx)/-90.0, -(8 *momy)/-90.0, 2+(8 *momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (9 *momx)/-90.0, -(9 *momy)/-90.0, 2+(9 *momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (10*momx)/-90.0, -(10*momy)/-90.0, 2+(10*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (11*momx)/-90.0, -(11*momy)/-90.0, 2+(11*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (12*momx)/-90.0, -(12*momy)/-90.0, 2+(12*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (13*momx)/-90.0, -(13*momy)/-90.0, 2+(13*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (14*momx)/-90.0, -(14*momy)/-90.0, 2+(14*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (15*momx)/-90.0, -(15*momy)/-90.0, 2+(15*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (16*momx)/-90.0, -(16*momy)/-90.0, 2+(16*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (17*momx)/-90.0, -(17*momy)/-90.0, 2+(17*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (18*momx)/-90.0, -(18*momy)/-90.0, 2+(18*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (19*momx)/-90.0, -(19*momy)/-90.0, 2+(19*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (20*momx)/-90.0, -(20*momy)/-90.0, 2+(20*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (21*momx)/-90.0, -(21*momy)/-90.0, 2+(21*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (22*momx)/-90.0, -(22*momy)/-90.0, 2+(22*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (23*momx)/-90.0, -(23*momy)/-90.0, 2+(23*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (24*momx)/-90.0, -(24*momy)/-90.0, 2+(24*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (25*momx)/-90.0, -(25*momy)/-90.0, 2+(25*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (26*momx)/-90.0, -(26*momy)/-90.0, 2+(26*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (27*momx)/-90.0, -(27*momy)/-90.0, 2+(27*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (28*momx)/-90.0, -(28*momy)/-90.0, 2+(28*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 0 A_SpawnItemEx("Firestorm_trail", (29*momx)/-90.0, -(29*momy)/-90.0, 2+(29*momz)/-90.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
      TNT1 A 1 BRIGHT
      Loop
  Death:
    FSPR BCDEFGHIJKLMNO 1 Bright  
    stop
  }
}

actor Firestorm_trail
{
  Scale 0.55
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FORCEXYBILLBOARD
  States
  {
	Spawn:
	  TF31 A 2 BRIGHT
	  Stop
  }
}