Actor MinigunUpgradeToken : Inventory {inventory.maxamount 1}
Actor ShredderStartToken : Inventory {inventory.maxamount 1}

Actor MinigunGiver : CustomInventory Replaces "Minigun2"
{ //Scripted (Mutiplayer weapon spawn can break as well as functions in the upgrade ACS code... this counts for all upgradable weapon actors)
Scale 0.75
-COUNTITEM
+INVENTORY.NEVERRESPAWN
+INVENTORY.AUTOACTIVATE
+INVENTORY.IGNORESKILL
Inventory.PickupSound "weapons/minigunpickup"
Inventory.PickupMessage "Minigun"
States
{
   Spawn:
     TNT1 A 0
	 TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckWeaponWorldSpawn") == 2,1)
	 Goto SpawnDropped
	 MNGN A 1
	 Wait
  SpawnDropped:
     TNT1 A 1 A_SpawnItem("MinigunGiverDropped")
	 Stop
   Pickup:
	 TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("MPWeaponCheck") == 2,"PickupMP")
	 TNT1 A 0 A_JumpIfInventory("Triple Rotary Minigun",1,"GiveUpgrade")
	 TNT1 A 0 A_GiveInventory("BulletMag",20)
	 TNT1 A 1 A_GiveInventory("Minigun3",1)
	 Stop
   GiveUpgrade:
     TNT1 A 0 A_GiveInventory("BulletMag",200)
     TNT1 A 1 A_GiveInventory("Triple Rotary Minigun",1)
	 Stop
   PickupMP:
     TNT1 A 0 A_JumpIfInventory("Minigun3",1,"Nope")
	 TNT1 A 0 A_JumpIfInventory("Triple Rotary Minigun",1,"Nope")
	 TNT1 A 0 A_GiveInventory("Bulletmag",20)
     TNT1 A 1 ACS_NamedExecuteAlways("SpawnWeaponActive",0,0)
	 Fail
   Nope:
     MNGN A 1
	 Fail
	 }
}

Actor MinigunGiverDropped : MinigunGiver
{
+INVENTORY.TOSSED
//+INVENTORY.NEVERRESPAWN
States
{
  Spawn:
   MNGN A -1
   Loop
  Pickup:
   TNT1 A 0 A_JumpIfInventory("Triple Rotary Minigun",1,"GiveUpgrade")
   TNT1 A 0 A_GiveInventory("BulletMag",20)
   TNT1 A 1 A_GiveInventory("Minigun3",1)
   Stop
   }
}

ACTOR "Minigun3" : Weapon
{ //Scripted (Mutiplayer weapon spawn can break as well as functions in the upgrade ACS code... this counts for all upgradable weapon actors)
Scale 0.75
+INVENTORY.UNDROPPABLE
Weapon.Selectionorder 690
Weapon.PreferredSkin "Minigun-Marine"
Weapon.KickBack 50
Weapon.AmmoUse 1
Weapon.AmmoGive 0 //20
Weapon.AmmoType "BulletMag"
Inventory.PickupSound "weapons/minigunpickup"
Inventory.PickupMessage "Minigun"
Obituary "%o was shredded by %k's Minigun."
Dropitem "MinigunGiverDropped"
Tag "Minigun"
States
	{
	Spawn:
		MNGN A -1
		Loop
	Ready:
		TNT1 A 0 A_PlayWeaponSound("weapons/minigunpickup")
		TNT1 A 0 A_TakeInventory("WEMAction",1)
		MGRS ABCDE 1
	ReadyLoop:
	    TNT1 A 0 A_JumpIfInventory("WEMAction",1,"LowerWeapon")
		CHAG A 1 A_WeaponReady
		Loop
	Deselect:
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
		TNT1 A 0 A_TakeInventory("WEMAction",1)
		TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
	DeselectLoop:
	    TNT1 A 0 A_Lower
		CHAG A 1 A_Lower
		Loop
	Select:
		TNT1 A 0 A_Raise
		Wait
	LowerWeapon:
	    TNT1 A 0 A_TakeInventory("WEMAction",1)
	    //CHAG A 1 Offset(1,35)
	    CHAG A 1 Offset(5,39) A_PlayWeaponSound("weapons/weapondown")
	    //CHAG A 1 Offset(10,45)
	    CHAG A 1 Offset(14,52)
	    //CHAG A 1 Offset(18,58)
	    CHAG A 1 Offset(24,64)
	    //CHAG A 1 Offset(30,76)
	    CHAG A 1 Offset(36,87)
	    //CHAG A 1 Offset(42,99)
	    CHAG A 1 Offset(48,110)
	    //CHAG A 1 Offset(56,120)
	    CHAG A 1 Offset(1,120)
		Wait
	Fire:
		TNT1 A 0 A_PlaySound("weapons/mgunspin")
		TNT1 A 0 A_PlaySound("weapons/minigunfire",CHAN_WEAPON)
		TNT1 A 0 A_GunFlash
		TNT1 A 0 A_Light1
		TNT1 A 0 Radius_Quake(2,2,0,1,0)
		TNT1 A 0 A_SpawnItemEx("RifleCasing",25,-8,25,Random(2,4),Random(-3,-6),Random(3,6),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 A 0 A_FireCustomMissile("Tracer",Random(4,-4),0,0,Random(4,-4))
		CHAF A 1 Bright A_FireBullets(4.3,2.6,-1,Random(7,10),"ModdedBulletPuff")
		TNT1 A 0 A_JumpIfNoAmmo("EmptySpinDown")
		CHAF BC 1 A_Light0
		TNT1 A 0 A_PlaySound("weapons/minigunfire",CHAN_WEAPON)
		TNT1 A 0 A_GunFlash
		TNT1 A 0 A_Light2
		TNT1 A 0 Radius_Quake(2,2,0,1,0)
		TNT1 A 0 A_SpawnItemEx("RifleCasing",25,-8,25,Random(2,4),Random(-3,-6),Random(3,6),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 A 0 A_FireCustomMissile("Tracer",Random(4,-4),0,0,Random(4,-4))
		CHAF D 1 Bright A_FireBullets(4.3,2.6,-1,Random(7,10),"ModdedBulletPuff")
		TNT1 A 0 A_JumpIfNoAmmo("EmptySpinDown")	
		CHAF EF 1 A_Light0
		TNT1 A 0 A_PlaySound("weapons/minigunfire",CHAN_WEAPON)
		TNT1 A 0 A_GunFlash
		TNT1 A 0 A_Light1
		TNT1 A 0 Radius_Quake(2,2,0,1,0)
		TNT1 A 0 A_SpawnItemEx("RifleCasing",25,-8,25,Random(2,4),Random(-3,-6),Random(3,6),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 A 0 A_FireCustomMissile("Tracer",Random(4,-4),0,0,Random(4,-4))
		CHAF G 1 Bright A_FireBullets(4.8,2.4,-1,Random(7,10),"ModdedBulletPuff")
		TNT1 A 0 A_JumpIfNoAmmo("EmptySpinDown")	
		CHAF H 1 A_Light0
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_PlaySound("weapons/mgunspinstop")
		CHAG ABCDABCDABCDABCD 1
		CHAG ABCD 2
		Goto ReadyLoop
	EmptySpinDown:
		TNT1 A 0 A_PlaySound("weapons/mgunspinstop")
		CHAG ABCDABCDABCDABCD 1
		CHAG ABCD 2
		Goto ReadyLoop
	}
}

Actor "Triple Rotary Minigun" : Weapon
{ //Scripted (Mutiplayer weapon spawn can break as well as functions in the upgrade ACS code... this counts for all upgradable weapon actors)
//Creator: Fluffy
//Origin: Complex Doom Invasion
//Sprite: 8GUN/8HAG
//Title: "Triple Rotary Minigun" 
Weapon.SelectionOrder 4001
Inventory.PickupSound "TripleMinigun/Pickup"
Inventory.PickupMessage "\c[S7]Triple Rotary Minigun"
Weapon.Kickback 100
Weapon.SelectionOrder 700
Weapon.PreferredSkin "Minigun-Marine"
Weapon.AmmoType "BulletMag"
Weapon.AmmoType2 "BulletMag"
Weapon.AmmoGive 0 //200
Weapon.AmmoUse 2
Weapon.AmmoUse2 3
Tag "Triple Rotary Minigun"
Decal "BulletChip"
Dropitem "MinigunGiverDropped"
+WEAPON.NOALERT
+WEAPON.AMMO_OPTIONAL
+WEAPON.NOAUTOAIM
+WEAPON.CHEATNOTWEAPON
+INVENTORY.UNDROPPABLE
var int user_firecounter;
States
{
  Spawn:
	8GUN A -1
	Loop
  Ready:
    TNT1 A 0 A_JumpIfInventory("WEMAction",1,"LowerWeapon")
	8HAG A 1 A_WeaponReady
	Loop
  Deselect:
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 0 A_TakeInventory("RailgunAction",1)
	TNT1 A 0 A_TakeInventory("WEMAction",1)
	TNT1 A 0 A_StopSound(CHAN_WEAPON)
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_StopSound(7)
	TNT1 A 0 A_PlaySound("TripleMinigun/Lower")
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
  Deselecting:
	8HAG A 1 A_Lower
	TNT1 A 0 A_Lower
	Loop
  LowerWeapon:
	TNT1 A 0 A_TakeInventory("WEMAction",1)
	//8HAG A 1 Offset(1,35)
	8HAG A 1 Offset(5,39) A_PlayWeaponSound("weapons/weapondown")
	//8HAG A 1 Offset(10,45)
	8HAG A 1 Offset(14,52)
	//8HAG A 1 Offset(18,58)
	8HAG A 1 Offset(24,64)
	//8HAG A 1 Offset(30,76)
	8HAG A 1 Offset(36,87)
	//8HAG A 1 Offset(42,99)
	8HAG A 1 Offset(48,110)
	//8HAG A 1 Offset(56,120)
	8HAG A 1 Offset(1,120)
	Wait
  Select:
    TNT1 A 1
	TNT1 A 0 A_JumpIfInventory("ShredderStartToken",1,1)
	Goto Startup
	8HAG A 1 Offset(15,110) A_PlaySound("TripleMinigun/Raise")
	TNT1 A 0 A_TakeInventory("WEMAction",1)
	8HAG A 1 Offset(14,105)
	8HAG B 1 Offset(13,100)
	8HAG B 1 Offset(12,95)
	8HAG C 1 Offset(11,90)
	8HAG C 1 Offset(10,85)
	8HAG D 1 Offset(9,80)
	8HAG D 1 Offset(8,75)
	8HAG A 1 Offset(7,70)
	8HAG A 1 Offset(6,65)
	8HAG B 1 Offset(5,60)
	8HAG B 1 Offset(4,55)
	8HAG C 1 Offset(3,50)
	8HAG C 1 Offset(2,45)
	8HAG D 1 Offset(1,40)
	8HAG D 1 Offset(1,35)
  SelectLoop:
    TNT1 A 0 A_Raise
	8HAG A 1 A_Raise
	Loop
  Startup:
	TNT1 A 0 A_GiveInventory("MinigunUpgradeToken",1)
	TNT1 A 0 A_TakeInventory("Minigun3",1)
	TNT1 A 0 A_GiveInventory("ShredderStartToken",1)
	Goto Select+2
  Fire:
	8HAG B 4 A_PlaySound("TripleMinigun/Motor",7)
	8HAG C 3
	8HAG D 2
	8HAG A 1
	8HAG A 1 A_Refire
	8HAG B 1 A_StopSound(7)
	8HAG C 2
	8HAG D 3
	Goto Ready
  Hold:
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_PlaySound("TripleMinigun/FireLoop",CHAN_WEAPON,1,1)
  Hold2:
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Quake(2,10,0,5,"")
	8HAF A 0 A_AlertMonsters
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff") 
	TNT1 AA 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF A 1 Bright //A_SetPitch(pitch - 0.3) //Vertical Recoil? Is this some kind of CSGO reference?
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("HoldFrameB")
	8HAF A 0 A_Jump(256,"DrySpinB")
  HoldFrameB:
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff") 
	TNT1 A 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF B 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_PlaySound("TripleMinigun/FireLoop",6,1,1)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("HoldFrameC")
	8HAF A 0 A_Jump(256,"DrySpinC")
  HoldFrameC:
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff")
	TNT1 A 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF C 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("HoldFrameD")
	8HAF A 0 A_Jump(256,"DrySpinD")
  HoldFrameD:
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff")
	TNT1 A 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF D 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("HoldFrameE")
	8HAF A 0 A_Jump(256,"DrySpinA")
  HoldFrameE:
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff")
	TNT1 A 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF E 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("HoldFrameF")
	8HAF A 0 A_Jump(256,"DrySpinB")
  HoldFrameF:
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff")
	TNT1 A 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF F 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("HoldFrameG")
	8HAF A 0 A_Jump(256,"DrySpinC")
  HoldFrameG:
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff")
	TNT1 A 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF G 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("HoldFrameH")
	8HAF A 0 A_Jump(256,"DrySpinD")
  HoldFrameH:
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff")
	TNT1 A 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF H 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("HoldFrameI")
	8HAF A 0 A_Jump(256,"DrySpinA")
  HoldFrameI:
	TNT1 A 0 A_FireBullets(5,4,3,random(7,10),"MarineBulletPuff")
	TNT1 A 0 A_FireCustomMissile("Tracer",Random(6,-6),0,0,Random(6,-6))
	TNT1 AAA 0 A_SpawnItemEx("RifleCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
	8HAF I 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("Hold2")
	8HAF A 0 A_Jump(256,"DrySpinB")
	Goto DrySpinB
  AltFire:
	8HAG B 4 A_PlaySound("TripleMinigun/Motor",7)
	8HAG C 3
	8HAG D 2
	8HAG A 1
	8HAG A 1 A_Refire
	8HAG B 1 A_StopSound(7)
	8HAG C 2
	8HAG D 3
	Goto Ready
  AltHold:
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
  AltHold2:
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Quake(2,10,0,5,"")
	8HAF A 0 A_AlertMonsters
	TNT1 A 0 A_PlaySound("sentient/fire",CHAN_WEAPON)   
	TNT1 AAA 0 A_FireCustomMissile("PlayerExplosiveTracer",Random(4,-4),0,0,Random(4,-4))
	TNT1 AAA 0 A_SpawnItemEx("OrangeShellCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
    TNT1 A 0 A_FireBullets(4.8,2.4,3,Random(6,10),"ModdedBulletPuff")
	8HAF A 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF BC 1 
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("AltHoldFrameB")
	8HAF A 0 A_Jump(256,"DrySpinB")
  AltHoldFrameB:
	TNT1 A 0 A_PlaySound("sentient/fire",CHAN_WEAPON)   
	TNT1 AAA 0 A_FireCustomMissile("PlayerExplosiveTracer",Random(4,-4),0,0,Random(4,-4))
	TNT1 AAA 0 A_SpawnItemEx("OrangeShellCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
    TNT1 A 0 A_FireBullets(4.8,2.4,3,Random(6,10),"ModdedBulletPuff")
	8HAF D 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF EF 1 
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("AltHoldFrameC")
	8HAF A 0 A_Jump(256,"DrySpinC")
  AltHoldFrameC:
	TNT1 A 0 A_PlaySound("sentient/fire",CHAN_WEAPON)   
	TNT1 AAA 0 A_FireCustomMissile("PlayerExplosiveTracer",Random(4,-4),0,0,Random(4,-4))
	TNT1 AAA 0 A_SpawnItemEx("OrangeShellCasing",-6,-28,32,-12,random(-2,2),random(0,4),random(-55,-80),SXF_NOCHECKPOSITION)
    TNT1 A 0 A_FireBullets(4.8,2.4,3,Random(6,10),"ModdedBulletPuff")
	8HAF G 1 Bright //A_SetPitch(pitch - 0.3)
	8HAF A 0 A_Recoil(0.25)
	8HAF HI 1 
	8HAF A 0 A_JumpIfNoAmmo("DrySpin")
	8HAF A 0 A_Refire("AltHold2")
	8HAF A 0 A_Jump(256,"DrySpinB")
  DrySpin:
	8HAG B 0 A_PlaySound("weapon/warn",CHAN_WEAPON,1,0)
	8HAG B 2 A_StopSound(6)
	8HAG ABCD 2
	8HAG A 1 A_Refire("DrySpin2")
	8HAG B 2 A_StopSound(7)
	8HAG C 3
	8HAG D 4
	Goto Ready
  DrySpin2:
	8HAG A 0 //A_StopSound(CHAN_WEAPON)
	8HAG ABCD 2
	8HAG A 1 A_Refire
	8HAG B 2 A_StopSound(7)
	8HAG C 3
	8HAG D 4
	Goto Ready
  DrySpinA:
	8HAG B 0 A_PlaySound("TripleMinigun/FireDecay",CHAN_WEAPON,1,0)
	8HAG A 0 A_StopSound(7)
	8HAG B 2 A_StopSound(6)
	8HAG A 1 //A_SetPitch(pitch - 0.8)
	8HAG B 2 //A_SetPitch(pitch - 0.4)
	8HAG C 3 //A_SetPitch(pitch + 0.4)
	8HAG D 4 //A_SetPitch(pitch + 0.8)
	Goto Ready
  DrySpinB:
	8HAG B 0 A_PlaySound("TripleMinigun/FireDecay",CHAN_WEAPON,1,0)
	8HAG B 2 A_StopSound(6)
	8HAG A 0 A_StopSound(7)
	8HAG B 1 //A_SetPitch(pitch - 0.8)
	8HAG C 2 //A_SetPitch(pitch - 0.4)
	8HAG D 3 //A_SetPitch(pitch + 0.4)
	8HAG A 4 //A_SetPitch(pitch + 0.8)
	8HAG BCD 4
	Goto Ready
  DrySpinC:
	8HAG B 0 A_PlaySound("TripleMinigun/FireDecay",CHAN_WEAPON,1,0)
	8HAG B 2 A_StopSound(6)
	8HAG A 0 A_StopSound(7)
	8HAG C 1 //A_SetPitch(pitch - 0.8)
	8HAG D 2 //A_SetPitch(pitch - 0.4)
	8HAG A 3 //A_SetPitch(pitch + 0.4)
	8HAG B 4 //A_SetPitch(pitch + 0.8)
	8HAG CD 4
	Goto Ready
  DrySpinD:
	8HAG B 0 A_PlaySound("TripleMinigun/FireDecay",CHAN_WEAPON,1,0)
	8HAG B 2 A_StopSound(6)
	8HAG A 0 A_StopSound(7)
	8HAG D 1 //A_SetPitch(pitch - 0.8)
	8HAG A 2 //A_SetPitch(pitch - 0.4)
	8HAG B 3 //A_SetPitch(pitch + 0.4)
	8HAG C 4 //A_SetPitch(pitch + 0.8)
	8HAG D 4
	Goto Ready
   }
}