//Standard
#include "Decorate/Guns/Projectile/Dreadful.txt"
#include "Decorate/Guns/Projectile/Dreadnuke.txt"

//Core upgrade
#include "Decorate/Items/TibCore.txt"
#include "Decorate/Guns/Projectile/CoreDreadful.txt"
#include "Decorate/Guns/Projectile/Bluenuke.txt"

//Space Nuke
#include "Decorate/Guns/Projectile/Spacenuke.txt"

ACTOR DreadfulSelected : GenericToken {}

ACTOR "Old Dreadful" : GuncasterWeapon
{
   Inventory.PickupSound "Guncaster/Laugh1"
   Inventory.PickupMessage "$GOTDREADFUL"
   Obituary "$KILLDREADFUL"
   Weapon.UpSound "Dreadful/Up" 
   Weapon.SelectionOrder 6
   Weapon.AmmoGive 2
   Weapon.AmmoType "TiberiumAmmo"
   Weapon.AmmoUse 1
   Weapon.SlotNumber 7
   Weapon.BobStyle InverseSmooth
   Weapon.BobSpeed 1.0
   Weapon.BobRangeY 0.8
   Weapon.BobRangeX 1.0
   +NOAUTOAIM
   +NOALERT
   States
   {
   Spawn:
      BFGG X -1
      Stop
   Ready:
      BFGG A 0 A_JumpIfInventory("TibCore",1,"CoreReady")
   	  BFGG A 0 A_JumpIf(CallACS("GunslingerMode"),"ZweiReady")
      BFGG A 0 A_JumpIfInventory("PowerGunzerking",1,"ZweiReady")
	  BFGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"StratActivate2")
   ReadyLoop:
      BFGG A 0 A_JumpIfInventory("TibCore",1,"CoreReadyLoop")
      BFGG A 0 A_JumpIf(CallACS("GunslingerMode"), "ZweiReady")
      BFGG A 0 A_JumpIfInventory("PowerGunzerking",1,"ZweiReady")
	  BFGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"StratActivate")
      BFGG A 0 A_PlaySound("Dreadful/Loop",6,0.4,1)
      BFGG ABCDCB 2 A_WeaponReady(WRF_ALLOWZOOM|WRF_ALLOWRELOAD)
      Loop
   Nope:
	  "####" A 10
	  Goto Ready
   StratActivate:
      "####" A 0 A_JumpIf(CallACS("GunslingerMode"), "GunzerkStratActivate")
      "####" A 0 A_JumpIfInventory("PowerGunzerking",1,"GunzerkStratActivate")
	  BFGG A 0 A_JumpIfInventory("HexenCounter",1,"StratHexenCheck")
	  BFGG A 0 A_JumpIfInventory("TiberiumAmmo",8,"StratActivateContinue")
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto Nope
   StratHexenCheck:
	  BFGG A 0 A_JumpIfInventory("GreenMana",150,2)
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto Nope
	  BFGG A 0 A_JumpIfInventory("BlueMana",150,2)
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto Nope
   StratActivateContinue:
      TNT1 A 0 A_JumpIfInventory("TibCore",1,"CoreStratActivate")
      TNT1 A 0 A_PlaySound("Dreadful/Supercharge",1,0.8)
      TNT1 A 0 A_QuakeEx(2, 1, 1, 55, 0, 24, none, QF_SCALEDOWN)
	  BSNF ABCDEFGHIJKLMNOPQRMNOPQR random(1,2) Bright
	  {
		A_SetBlend("50 99 10",frandom(0.05,0.075),2);
		A_SetAngle(Angle + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_SetPitch(Pitch + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_QuakeEx(2,2,2,5,0,64,none,QF_SCALEDOWN);
	  }
	  BSNF STUVWXYZ random(1,2) Bright
	  {
		A_SetBlend("50 99 10",frandom(0.05,0.075),2);
		A_SetAngle(Angle + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_SetPitch(Pitch + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_QuakeEx(2,2,2,5,0,64,none,QF_SCALEDOWN);
	  }
	  BSN1 ABCDE random(1,2) Bright
	  {
		A_SetBlend("50 99 10",frandom(0.05,0.075),2);
		A_SetAngle(Angle + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_SetPitch(Pitch + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_QuakeEx(2,2,2,5,0,64,none,QF_SCALEDOWN);
	  }
	  TNT1 A 0 A_SetBlend("50 99 10",0.4,45)
	  BSN1 FGHIJ random(1,2) Bright
      TNT1 A 0 A_StopSound(6)
	  BFGG N 10
      BFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
	  BFSI ABCDEFGHIJKLMNOP 1
   StratReady:
      TNT1 A 0 A_JumpIfInventory("TibCore",1,"CoreStratReady")
   	  TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),"ZweiReady")
      TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"ZweiReady")
	  TNT1 A 0 A_JumpIfInventory("Old DreadfulStratActive",1,1)
	  Goto StratDeactivate
      BFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
      BFSG ABCDEFGHIJKLMNOP 1 A_WeaponReady(WRF_ALLOWZOOM|WRF_ALLOWRELOAD)
	  Loop
   StratActivate2:
      BFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
	  BFSI ABCDEFGHIJKLMNOP 1
	  Goto StratReady
   StratDeactivate:
      "####" A 0 A_JumpIf(CallACS("GunslingerMode"), "GunzerkStratDeactivate")
      "####" A 0 A_JumpIfInventory("PowerGunzerking",1,"GunzerkStratDeactivate")
      TNT1 A 0 A_JumpIfInventory("TibCore",1,"CoreStratDeactivate")
	  BFSO ABCDEFGHIJKLMNOP 1
      BFGG N 0 A_StopSound(6)
      BFGG N 10
	  Goto Ready
   DeselectMain:
      TNT1 A 0 A_TakeInventory("DreadfulSelected")
      TNT1 A 0 A_StopSound(6)
      TNT1 A 0 A_JumpIfInventory("TibCore",1,"CoreDeselectMain")
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),"ZweiDeselect")
      TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"ZweiDeselect")
      BFGG N 1 A_Lower
      BFGG N 0 A_Lower
      Loop
   Select:
      TNT1 A 0 A_GiveInventory("DreadfulSelected")
      TNT1 A 0 A_JumpIf(CallACS("CrosshairMode"), 2)
      TNT1 A 0 A_SetCrosshair(50)
      TNT1 A 0 A_JumpIfInventory("TibCore",1,"CoreSelect")
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), "ZweiSelect")
      TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"ZweiSelect")
      BFGG N 1 A_Raise
      Loop  
   Fire:
      TNT1 A 0 A_JumpIfInventory("TibCore",1,"CoreFire")
	  BFGF A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"StratFire")
      BFGF A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      BFGG DCBA 2
	  BFGG N 15
      BFGG ABCD 2 Bright
      BFGF A 1 Bright A_ZoomFactor(0.99)
      BFGF B 1 Bright A_ZoomFactor(0.97)
      BFGF A 0 A_PlaySound("Dreadful/Add",5,0.5)
      BFGF A 0 A_SetBlend("Green",0.2,15)
      BFGF A 0 A_Recoil(25)
      BFGF A 0 A_AlertMonsters
      BFGF A 0 A_Quake (7, 25, 0, 24, none)
      BFGF A 0 A_FireCustomMissile("Dreadball",0,1,15,0)
      BFGF A 0 A_SetPitch(pitch-2.5, SPF_INTERPOLATE)
      BFGF A 0 A_SetAngle(angle-2.5, SPF_INTERPOLATE)
      BFGF C 1 Bright A_ZoomFactor(0.95)
      BFGF A 0 A_SetPitch(pitch-2, SPF_INTERPOLATE)
      BFGF A 0 A_SetAngle(angle-2, SPF_INTERPOLATE)
      BFGF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      BFGF D 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      BFGF E 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      BFGF F 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      BFGF G 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      BFGF H 1 A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.1, SPF_INTERPOLATE)
      BFGF I 1
      BFGF J 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
      BFGF K 1 A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      BFGF L 1 A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      BFGF M 1 A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      BFGF N 1 A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      BFGF N 1 A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      BFGF N 1 A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      BFGF O 1 A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      BFGF P 1 A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      BFGF Q 1 A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      BFGF R 1 A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
      BFGF S 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
	  BFGG CB 2 A_ZoomFactor(1)
      BFGG CDCB 3
	  BFGG A 0 A_ReFire
      Goto Ready
   StratFire:
   	  BFGG A 0 A_JumpIfInventory("HexenCounter",1,"StratHexenFire")
	  BFGG A 0 A_JumpIfInventory("TiberiumAmmo",8,"StratFireContinue")
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
   StratHexenFire:
	  BFGG A 0 A_JumpIfInventory("GreenMana",150,2)
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
	  BFGG A 0 A_JumpIfInventory("BlueMana",150,2)
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
   StratFireContinue:
      BFGF A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      BFSG ACEGIKMOACEGIKMOACEGIKMOACEGIKM 1 Bright
      BFSF A 1 Bright A_ZoomFactor(0.99)
      BFGF B 1 Bright A_ZoomFactor(0.97)
      BFGF A 0 A_PlaySound("Dreadful/Add",5,0.5)
	  BFGF A 0 A_PlaySound("Dreadful/AltFire",4,0.4)
      BFGF A 0 A_SetBlend("Green",0.3,80)
      BFGF A 0 A_Recoil(40)
      BFGF A 0 A_AlertMonsters
      BFGF A 0 A_Quake (8, 35, 0, 24, none)
	  BFGF A 0 A_JumpIfInventory("HexenCounter",1,"StratHexenFire2")
	  Goto StratFireContinue2
   StratHexenFire2:
	  BFGG A 0 A_TakeInventory("GreenMana",150,TIF_NOTAKEINFINITE)
	  BFGG A 0 A_TakeInventory("BlueMana",150,TIF_NOTAKEINFINITE)
	  Goto StratFireContinue2+1
   StratFireContinue2:
	  BFGF A 0 A_TakeInventory("TiberiumAmmo",8,TIF_NOTAKEINFINITE)
      BFGF A 0 A_FireCustomMissile("SuperDreadball",0,0,15,0)
      BFGF A 0 A_SetPitch(pitch-5.5, SPF_INTERPOLATE)
      BFGF A 0 A_SetAngle(angle-5.5, SPF_INTERPOLATE)
      BFSF C 1 Bright Offset(2,34) A_ZoomFactor(0.95)
      BFGF A 0 A_SetPitch(pitch-3.5, SPF_INTERPOLATE)
      BFGF A 0 A_SetAngle(angle-3.5, SPF_INTERPOLATE)
      BFSF D 1 Bright Offset(8,40) A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-2, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-2, SPF_INTERPOLATE)
      BFSF E 1 Bright Offset(13,45) A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      BFSF F 1 Bright Offset(19,51) A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.75, SPF_INTERPOLATE)
      BFSF G 1 Bright Offset(25,57) A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      BFSF H 1 Bright Offset(29,61) A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      BFSF H 1 Bright Offset(32,64) A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.1, SPF_INTERPOLATE)
      BFSF I 1 Bright Offset(34,66)
      BFSF J 1 Bright Offset(35,67) A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
      BFSF K 1 Bright Offset(36,68) A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      BFSF L 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      BFSF M 1 Bright Offset(34,66) A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      BFSF N 1 Bright Offset(30,62) A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      BFSF N 1 Bright Offset(26,58) A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      BFSF N 1 Bright Offset(21,53) A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+1.0, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.0, SPF_INTERPOLATE)
      BFSF O 1 Bright Offset(17,49) A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      BFSF P 1 Bright Offset(12,44) A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      BFSF Q 1 Bright Offset(7,39) A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      BFSF R 1 Bright Offset(3,35) A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      BFGG N 1 Offset(1,33) A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      BFGG N 1 Offset(0,32) A_ZoomFactor(1)
	  TNT1 A 0 A_StopSound(6)
      BFGG N 105
   	  BFGG A 0 A_JumpIfInventory("HexenCounter",1,"StratHexenFire3")
	  BFGG A 0 A_JumpIfInventory("TiberiumAmmo",8,"StratFireContinue3")
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
   StratHexenFire3:
	  BFGG A 0 A_JumpIfInventory("GreenMana",150,2)
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	 Goto ReadyLoop
	  BFGG A 0 A_JumpIfInventory("BlueMana",150,2)
	  BFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
   StratFireContinue3:
	  BFGG A 0 A_Jump(64,"ComeOnAndJam")
	  Goto ReadyLoop
	ComeOnAndJam: //Because it's time to slam!
	  BFGG N 35
	  
	  BFGN A 0 A_SetPitch(Pitch + 0.25, SPF_INTERPOLATE)
	  BFGN A 1 A_SetAngle(Angle - 0.25, SPF_INTERPOLATE)
	  BFGN B 0 A_SetPitch(Pitch + 0.75, SPF_INTERPOLATE)
	  BFGN B 1 A_SetAngle(Angle - 0.75, SPF_INTERPOLATE)
	  BFGN C 0 A_SetPitch(Pitch + 0.5, SPF_INTERPOLATE)
	  BFGN C 1 A_SetAngle(Angle - 0.5, SPF_INTERPOLATE)
	  BFGN D 0 A_SetPitch(Pitch + 0.25, SPF_INTERPOLATE)
	  BFGN D 1 A_SetAngle(Angle - 0.25, SPF_INTERPOLATE)
	  BFGN E 2
	  BFGN D 0 A_SetPitch(Pitch - 0.5, SPF_INTERPOLATE)
	  BFGN D 1 A_SetAngle(Angle + 0.5, SPF_INTERPOLATE)
	  BFGN C 0 A_SetPitch(Pitch - 0.25, SPF_INTERPOLATE)
	  BFGN C 1 A_SetAngle(Angle + 0.25, SPF_INTERPOLATE)
	  BFGN B 0 A_SetPitch(Pitch - 0.75, SPF_INTERPOLATE)
	  BFGN B 1 A_SetAngle(Angle + 0.75, SPF_INTERPOLATE)
	  BFGN A 0 A_SetPitch(Pitch - 0.25, SPF_INTERPOLATE)
	  BFGN A 1 A_SetAngle(Angle + 0.25, SPF_INTERPOLATE)
	  
	  BFGN A 0 A_SetPitch(Pitch + 0.25, SPF_INTERPOLATE)
	  BFGN A 1 A_SetAngle(Angle - 0.25, SPF_INTERPOLATE)
	  BFGN B 0 A_SetPitch(Pitch + 0.75, SPF_INTERPOLATE)
	  BFGN B 1 A_SetAngle(Angle - 0.75, SPF_INTERPOLATE)
	  BFGN C 0 A_SetPitch(Pitch + 0.5, SPF_INTERPOLATE)
	  BFGN C 1 A_SetAngle(Angle - 0.5, SPF_INTERPOLATE)
	  BFGN D 0 A_SetPitch(Pitch + 0.25, SPF_INTERPOLATE)
	  BFGN D 1 A_SetAngle(Angle - 0.25, SPF_INTERPOLATE)
	  BFGN E 2
	  BFGN D 0 A_SetPitch(Pitch - 0.5, SPF_INTERPOLATE)
	  BFGN D 1 A_SetAngle(Angle + 0.5, SPF_INTERPOLATE)
	  BFGN C 0 A_SetPitch(Pitch - 0.25, SPF_INTERPOLATE)
	  BFGN C 1 A_SetAngle(Angle + 0.25, SPF_INTERPOLATE)
	  BFGN B 0 A_SetPitch(Pitch - 0.75, SPF_INTERPOLATE)
	  BFGN B 1 A_SetAngle(Angle + 0.75, SPF_INTERPOLATE)
	  BFGN A 0 A_SetPitch(Pitch - 0.25, SPF_INTERPOLATE)
	  BFGN A 1 A_SetAngle(Angle + 0.25, SPF_INTERPOLATE)
	  
	  BFGG N 10
	  
	  BFGG N 0 A_PlaySound("Guncaster/Meh",2)
	  BFGG N 35
	  BF1G DCBA 1
	  BF1G Z 10
	  
	  BCGR A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  BUGR A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  BFGR A 0
	  "####" ABCDEFG 1
	  "####" H 10

	  "####" I 0 A_SetPitch(Pitch + 7, SPF_INTERPOLATE)
	  "####" I 1 A_SetAngle(Angle - 7, SPF_INTERPOLATE)
	  "####" J 0 A_SetPitch(Pitch + 6, SPF_INTERPOLATE)
	  "####" J 1 A_SetAngle(Angle - 6, SPF_INTERPOLATE)
	  "####" K 0 A_SetPitch(Pitch + 5, SPF_INTERPOLATE)
	  "####" K 1 A_SetAngle(Angle - 5, SPF_INTERPOLATE)
	  "####" L 0 A_SetPitch(Pitch + 3, SPF_INTERPOLATE)
	  "####" L 1 A_SetAngle(Angle - 3, SPF_INTERPOLATE)
	  "####" L 0 A_PlaySound("Punch/Hit",5,0.7)
	  "####" M 0 A_SetPitch(Pitch + 1, SPF_INTERPOLATE)
	  "####" M 1 A_SetAngle(Angle - 1, SPF_INTERPOLATE)
	  "####" N 0 A_SetPitch(Pitch + 0.5, SPF_INTERPOLATE)
	  "####" N 1 A_SetAngle(Angle - 0.5, SPF_INTERPOLATE)
	  "####" O 0 A_SetPitch(Pitch + 0.25, SPF_INTERPOLATE)
	  "####" O 1 A_SetAngle(Angle - 0.25, SPF_INTERPOLATE)

	  "####" P 1
	  
	  "####" Q 0 A_SetPitch(Pitch - 0.25, SPF_INTERPOLATE)
	  "####" Q 1 A_SetAngle(Angle + 0.25, SPF_INTERPOLATE)
	  "####" R 0 A_SetPitch(Pitch - 0.5, SPF_INTERPOLATE)
	  "####" R 1 A_SetAngle(Angle + 0.5, SPF_INTERPOLATE)
	  "####" S 0 A_PlaySound("Dreadful/Reboot2",5,0.8)
	  "####" S 0 A_JumpIfInventory("TibCore",1,3)
	  "####" S 0 A_SetBlend("Green",0.5,80)
	  "####" S 0 A_Jump(256,2)
	  "####" S 0 A_SetBlend("Blue",0.5,80)
	  "####" S 0 A_SetPitch(Pitch - 1, SPF_INTERPOLATE)
	  "####" S 1 A_SetAngle(Angle + 1, SPF_INTERPOLATE)
	  "####" T 0 A_SetPitch(Pitch - 2, SPF_INTERPOLATE)
	  "####" T 1 A_SetAngle(Angle + 2, SPF_INTERPOLATE)
	  "####" U 0 A_SetPitch(Pitch - 2, SPF_INTERPOLATE)
	  "####" U 1 A_SetAngle(Angle + 2, SPF_INTERPOLATE)
	  "####" V 0 A_SetPitch(Pitch - 2.5, SPF_INTERPOLATE)
	  "####" V 1 A_SetAngle(Angle + 2.5, SPF_INTERPOLATE)
	  "####" W 0 A_SetPitch(Pitch - 2, SPF_INTERPOLATE)
	  "####" W 1 A_SetAngle(Angle + 2, SPF_INTERPOLATE)

	  "####" H 0 A_SetPitch(Pitch - 1, SPF_INTERPOLATE)
	  "####" H 1 A_SetAngle(Angle + 1, SPF_INTERPOLATE)
	  "####" H 0 A_SetPitch(Pitch - 0.5, SPF_INTERPOLATE)
	  "####" H 1 A_SetAngle(Angle + 0.5, SPF_INTERPOLATE)
	  "####" H 0 A_SetPitch(Pitch - 0.5, SPF_INTERPOLATE)
	  "####" H 1 A_SetAngle(Angle + 0.5, SPF_INTERPOLATE)
	  "####" H 0 A_SetPitch(Pitch - 0.25, SPF_INTERPOLATE)
	  "####" H 1 A_SetAngle(Angle + 0.25, SPF_INTERPOLATE)
	  "####" H 0 A_SetPitch(Pitch - 0.25, SPF_INTERPOLATE)
	  "####" H 1 A_SetAngle(Angle + 0.25, SPF_INTERPOLATE)
	  
	  "####" GFEDCBA 1
	  
	  BF1G Z 10
	  BFGG N 0 A_PlaySound("Dreadful/Reboot",1)
	  BF1G DCBA 1
	  BFGG N 35
	  Goto Ready
	AltFire:
	  //"####" A 0 A_JumpIfInventory("TibCore",1,"CoreAltFire")
	  "####" A 0 A_StopSound(6)
	  BCGM A 0 A_JumpIfInventory("PowerSuitToken",1,2)
	  BFGM A 0
	  "####" A 0
	  Goto Super::CheckForMagic
	  
	Zoom:
	  "####" A 0 A_JumpIfInventory("TibCore",1,"CoreZoom")
      "####" A 0 A_JumpIf(CallACS("GunslingerMode"),"Gunzerk")
	  "####" A 0 A_JumpIfInventory("PowerGunzerking",1,"Gunzerk")
	  Goto Regular
	Regular:
	  "####" A 0 A_JumpIfInventory("PowerMidasMode",1,5)
	  BCGK A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  BUGK A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  BFGK A 0
	  "####" A 0
	  Goto Super::Zoom
	  BCGK A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  BUGK A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  BFMK A 0
	  "####" A 0
	  Goto Super::Zoom
	  
	Gunzerk:
	  "####" A 0 A_JumpIfInventory("PowerMidasMode",1,5)
	  1CGK A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  1UGK A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  1FGK A 0
	  "####" A 0
	  Goto Super::Zoom
	  1CGK A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  1UGK A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  1FMK A 0
	  "####" A 0
	  Goto Super::Zoom
	  
	  
	//Zweihander

   ZweiSelect:
      NFGG N 1 A_Raise
      Loop
   ZweiDeselect:
	  TNT1 A 0 A_GunFlash("Nullify",GFF_NOEXTCHANGE)
	  TNT1 A 0 A_TakeInventory("SynthFireActive",1)
	  TNT1 A 0 A_TakeInventory("SynthFireLeft",1)
	  TNT1 A 0 A_TakeInventory("SynthFireRight",1)
   Zweihander:
	  NFGG N 0 A_Lower
	  NFGG N 1 A_Lower
	  Loop
   ZweiReady:
	  NFGG N 0 A_GiveInventory("SynthFireActive",1)
	  NFGG N 0 ACS_NamedExecuteAlways("SynthLeft")
	  NFGG N 0 ACS_NamedExecuteAlways("SynthRight")
	  NFGG N 0 A_Gunflash("Flash",GFF_NOEXTCHANGE)
	  Goto RIdle
   GunzerkStratActivate:
	  1FGG N 0 A_StopSound(6)
	  "####" N 0 A_GiveInventory("Old DreadfulStratActive",1)
	  "####" N 15 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM)
	  Goto RIdle
   GunzerkStratDeactivate:
	  1FGG N 0 A_StopSound(6)
	  "####" N 0 A_TakeInventory("Old DreadfulStratActive",1)
	  "####" N 15 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM)
	  Goto RIdle
  
   //Right
   
   RIdle:
      1FGG A 0 A_JumpIfInventory("TibCore",1,"CoreRIdle")
      1FGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"StratRIdle")
      1FGG A 0 A_PlaySound("Dreadful/Loop",6,0.4,1)
      1FGG AABBCCDDCCBB 1 { A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM|WRF_ALLOWRELOAD); Return A_JumpIfInventory("SynthFireRight",1,"RFire"); }
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), "RIdle")
	  1FGG A 0 A_JumpIfInventory("PowerGunzerking",1,"RIdle") 
	  Goto BackToReady
   StratRIdle:
      1FBG A 0 A_PlaySound("Dreadful/Loop2",6,0.4,1)
      1FBG ABCDEFGHIJKLMNOP 1 { A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM|WRF_ALLOWRELOAD); Return A_JumpIfInventory("SynthFireRight",1,"StratRFire"); }
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), "RIdle")
	  1FBG A 0 A_JumpIfInventory("PowerGunzerking",1,"RIdle") 
	  Goto BackToReady
   BackToReady:
	  1FGG A 0 A_GunFlash("Nullify",GFF_NOEXTCHANGE)
	  Goto Ready
   RFire:
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), 2)
	  1FGG A 0 A_JumpIfInventory("PowerGunzerking",1,1) 
	  Goto BackToReady
      1FGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"StratRFire")
	  1FGG A 0 A_JumpIfInventory("HexenCounter",1,"HexenR")
	  1FGG A 0 A_JumpIfInventory("TiberiumAmmo",1,"RConfirmed")
	  1FGG A 1
	  Goto RIdle
   HexenR:
      1FGG A 0 A_JumpIfInventory("GreenMana",40,2)
	  1FGG A 1
      Goto RIdle
      1FGG A 0 A_JumpIfInventory("BlueMana",40,2)
	  1FGG A 1
      Goto RIdle
    RConfirmed:
      1FGF A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      1FGG DCBA 2
	  1FGG N 15
      1FGG ABCD 2 Bright
      1FGF A 1 Bright A_ZoomFactor(0.99)
      1FGF B 1 Bright A_ZoomFactor(0.97)
      1FGF A 0 A_PlaySound("Dreadful/Add",5,0.5)
      1FGF A 0 A_SetBlend("Green",0.2,15)
      1FGF A 0 A_Recoil(12.5)
      1FGF A 0 A_AlertMonsters
      1FGF A 0 A_Quake (7, 25, 0, 24, none)
      1FGF A 0 A_FireCustomMissile("Dreadball",0,1,21,0)
      //1FGF A 0 A_TakeInventory("TiberiumAmmo",1,TIF_NOTAKEINFINITE)
      1FGF A 0 A_SetPitch(pitch-1.25, SPF_INTERPOLATE)
      1FGF A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      1FGF C 1 Bright A_ZoomFactor(0.95)
      1FGF A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      1FGF A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      1FGF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      1FGF D 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      1FGF E 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      1FGF F 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      1FGF G 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      1FGF H 1 A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      1FGF I 1
      1FGF J 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.05, SPF_INTERPOLATE)
      1FGF K 1 A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      1FGF L 1 A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      1FGF M 1 A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      1FGF N 1 A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      1FGF N 1 A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      1FGF N 1 A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      1FGF O 1 A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      1FGF P 1 A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      1FGF Q 1 A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      1FGF R 1 A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.05, SPF_INTERPOLATE)
      1FGF S 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.05, SPF_INTERPOLATE)
	  1FGG CB 2 A_ZoomFactor(1)
      1FGG CDCB 3
	  1FGG A 0 A_JumpIfInventory("SynthFireRight",1,"RFire")
	  Goto RIdle
	  
   //Strat Right
   
   StratRFire:
   	  1FBG A 0 A_JumpIfInventory("HexenCounter",1,"StratHexenRFire")
	  1FBG A 0 A_JumpIfInventory("TiberiumAmmo",8,"StratRFireContinue")
	  Goto ROuttaJuice
   StratHexenRFire:
	  1FBG A 0 A_JumpIfInventory("GreenMana",150,2)
	  Goto ROuttaJuice
	  1FBG A 0 A_JumpIfInventory("BlueMana",150,2)
	  Goto ROuttaJuice
   ROuttaJuice:
	  1FGG N 15
	  Goto RIdle
   StratRFireContinue:
      1FBG A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      1FBG ACEGIKMOACEGIKMOACEGIKMOACEGIKM 1 Bright
      1FBF A 1 Bright A_ZoomFactor(0.99)
      1FBF B 1 Bright A_ZoomFactor(0.97)
      1FBF A 0 A_PlaySound("Dreadful/Add",5,0.5)
	  1FBF A 0 A_PlaySound("Dreadful/AltFire",4,0.4)
      1FBF A 0 A_SetBlend("Green",0.3,80)
      1FBF A 0 A_Recoil(40)
      1FBF A 0 A_AlertMonsters
      1FBF A 0 A_Quake (8, 35, 0, 24, none)
	  1FBF A 0 A_JumpIfInventory("HexenCounter",1,"StratHexenRFire2")
	  Goto StratRFireContinue2
   StratHexenRFire2:
	  1FBF A 0 A_TakeInventory("GreenMana",150,TIF_NOTAKEINFINITE)
	  1FBF A 0 A_TakeInventory("BlueMana",150,TIF_NOTAKEINFINITE)
	  Goto StratRFireContinue2+1
   StratRFireContinue2:
	  1FBF A 0 A_TakeInventory("TiberiumAmmo",8,TIF_NOTAKEINFINITE)
      1FBF A 0 A_FireCustomMissile("SuperDreadball",0,0,21,0)
      1FBF A 0 A_SetPitch(pitch-5.5, SPF_INTERPOLATE)
      1FBF A 0 A_SetAngle(angle-5.5, SPF_INTERPOLATE)
      1FBF C 1 Bright A_ZoomFactor(0.95)
      1FBF A 0 A_SetPitch(pitch-3.5, SPF_INTERPOLATE)
      1FBF A 0 A_SetAngle(angle-3.5, SPF_INTERPOLATE)
      1FBF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-2, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-2, SPF_INTERPOLATE)
      1FBF E 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      1FBF F 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.75, SPF_INTERPOLATE)
      1FBF G 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      1FBF H 1 Bright A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      1FBF H 1 Bright A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.1, SPF_INTERPOLATE)
      1FBF I 1 Bright
      1FBF J 1 Bright A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
      1FBF K 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      1FBF L 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      1FBF M 1 Bright A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      1FBF N 1 Bright A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      1FBF N 1 Bright A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      1FBF N 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+1.0, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.0, SPF_INTERPOLATE)
      1FBF O 1 Bright A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      1FBF P 1 Bright A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      1FBF Q 1 Bright A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      1FBF R 1 Bright A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      1FGG N 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      1FGG N 1 A_ZoomFactor(1)
	  TNT1 A 0 A_StopSound(6)
      1FGG N 105
      BFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
	  1FBI ABCDEFGHIJKLMNOP 1
	  Goto RIdle
	  
   //Left
	  
   Nullify:
	  TNT1 A 0
	  Stop
   Flash:
	  TNT1 A 0 A_Light0
   LIdle:
      2FGG A 0 A_JumpIfInventory("TibCore",1,"CoreLIdle")
      2FGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"StratLIdle")
	  2FGG A 0 A_PlaySound("Dreadful/Loop",6,0.4,1)
	  2FGG AABBCCDDCCBB 1 A_JumpIfInventory("SynthFireLeft",1,"LFire")
	  Loop
   StratLIdle:
	  2FBG A 0 A_PlaySound("Dreadful/Loop2",6,0.4,1)
	  2FBG ABCDEFGHIJKLMNOP 1 A_JumpIfInventory("SynthFireLeft",1,"StratLFire")
	  Goto LIdle
   LFire:
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), 2)
	  2FGG A 0 A_JumpIfInventory("PowerGunzerking",1,1) 
	  Goto Nullify
      2FGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"StratLFire")
	  2FGG A 0 A_JumpIfInventory("HexenCounter",1,"HexenL")
	  2FGG A 0 A_JumpIfInventory("TiberiumAmmo",1,"LConfirmed")
	  2FGG A 1
	  Goto LIdle
   HexenL:
      2FGG A 0 A_JumpIfInventory("GreenMana",40,2)
	  2FGG A 1
      Goto LIdle
      2FGG A 0 A_JumpIfInventory("BlueMana",40,2)
	  2FGG A 1
      Goto LIdle
    LConfirmed:
      2FGF A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      2FGG DCBA 2
	  2FGG N 15
      2FGG ABCD 2 Bright
      2FGF A 1 Bright A_ZoomFactor(0.99)
      2FGF B 1 Bright A_ZoomFactor(0.97)
      2FGF A 0 A_PlaySound("Dreadful/Add",5,0.5)
      2FGF A 0 A_SetBlend("Green",0.2,15)
      2FGF A 0 A_Recoil(12.5)
      2FGF A 0 A_AlertMonsters
      2FGF A 0 A_Quake (7, 25, 0, 24, none)
      2FGF A 0 A_FireCustomMissile("Dreadball",0,1,-21,0)
      //2FGF A 0 A_TakeInventory("TiberiumAmmo",1,TIF_NOTAKEINFINITE)
      2FGF A 0 A_SetPitch(pitch-1.25, SPF_INTERPOLATE)
      2FGF A 0 A_SetAngle(angle-1.25, SPF_INTERPOLATE)
      2FGF C 1 Bright A_ZoomFactor(0.95)
      2FGF A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      2FGF A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      2FGF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      2FGF D 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      2FGF E 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      2FGF F 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      2FGF G 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      2FGF H 1 A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      2FGF I 1
      2FGF J 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      2FGF K 1 A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      2FGF L 1 A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      2FGF M 1 A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      2FGF N 1 A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      2FGF N 1 A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      2FGF N 1 A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      2FGF O 1 A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      2FGF P 1 A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      2FGF Q 1 A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      2FGF R 1 A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      2FGF S 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
	  2FGG CB 2 A_ZoomFactor(1)
      2FGG CDCB 3
	  2FGG A 0 A_JumpIfInventory("SynthFireLeft",1,"LFire")
	  Goto LIdle
	  
	//Strat Left
	
   StratLFire:
   	  2FBG A 0 A_JumpIfInventory("HexenCounter",1,"StratHexenLFire")
	  2FBG A 0 A_JumpIfInventory("TiberiumAmmo",8,"StratLFireContinue")
	  Goto LOuttaJuice
   StratHexenLFire:
	  2FBG A 0 A_JumpIfInventory("GreenMana",150,2)
	  Goto LOuttaJuice
	  2FBG A 0 A_JumpIfInventory("BlueMana",150,2)
	  Goto LOuttaJuice
   LOuttaJuice:
	  2FGG N 15
	  Goto LIdle
   StratLFireContinue:
      2FBG A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      2FBG ACEGIKMOACEGIKMOACEGIKMOACEGIKM 1 Bright
      2FBF A 1 Bright A_ZoomFactor(0.99)
      2FBF B 1 Bright A_ZoomFactor(0.97)
      2FBF A 0 A_PlaySound("Dreadful/Add",5,0.5)
	  2FBF A 0 A_PlaySound("Dreadful/AltFire",4,0.4)
      2FBF A 0 A_SetBlend("Green",0.3,80)
      2FBF A 0 A_Recoil(40)
      2FBF A 0 A_AlertMonsters
      2FBF A 0 A_Quake (8, 35, 0, 24, none)
	  2FBF A 0 A_JumpIfInventory("HexenCounter",1,"StratHexenLFire2")
	  Goto StratLFireContinue2
   StratHexenLFire2:
	  2FBF A 0 A_TakeInventory("GreenMana",150,TIF_NOTAKEINFINITE)
	  2FBF A 0 A_TakeInventory("BlueMana",150,TIF_NOTAKEINFINITE)
	  Goto StratLFireContinue2+1
   StratLFireContinue2:
	  2FBF A 0 A_TakeInventory("TiberiumAmmo",8,TIF_NOTAKEINFINITE)
      2FBF A 0 A_FireCustomMissile("SuperDreadball",0,0,-21,0)
      2FBF A 0 A_SetPitch(pitch-5.5, SPF_INTERPOLATE)
      2FBF A 0 A_SetAngle(angle-5.5, SPF_INTERPOLATE)
      2FBF C 1 Bright A_ZoomFactor(0.95)
      2FBF A 0 A_SetPitch(pitch-3.5, SPF_INTERPOLATE)
      2FBF A 0 A_SetAngle(angle-3.5, SPF_INTERPOLATE)
      2FBF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-2, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-2, SPF_INTERPOLATE)
      2FBF E 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      2FBF F 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.75, SPF_INTERPOLATE)
      2FBF G 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      2FBF H 1 Bright A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      2FBF H 1 Bright A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.1, SPF_INTERPOLATE)
      2FBF I 1 Bright
      2FBF J 1 Bright A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
      2FBF K 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      2FBF L 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      2FBF M 1 Bright A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      2FBF N 1 Bright A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      2FBF N 1 Bright A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      2FBF N 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+1.0, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.0, SPF_INTERPOLATE)
      2FBF O 1 Bright A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      2FBF P 1 Bright A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      2FBF Q 1 Bright A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      2FBF R 1 Bright A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      2FGG N 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      2FGG N 1 A_ZoomFactor(1)
	  TNT1 A 0 A_StopSound(6)
      2FGG N 105
      BFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
	  2FBI ABCDEFGHIJKLMNOP 1
	  Goto LIdle
	  
	//Core-powered version
	
   CoreReady:
   	  TFGG A 0 A_JumpIf(CallACS("GunslingerMode"),"CoreZweiReady")
      TFGG A 0 A_JumpIfInventory("PowerGunzerking",1,"CoreZweiReady")
	  TFGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"CoreStratActivate2")
   CoreReadyLoop:
      TFGG A 0 A_JumpIf(CallACS("GunslingerMode"), "CoreZweiReady")
      TFGG A 0 A_JumpIfInventory("PowerGunzerking",1,"CoreZweiReady")
	  TFGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"CoreStratActivate")
      TFGG A 0 A_PlaySound("Dreadful/Loop",6,0.4,1)
      TFGG ABCDCB 2 A_WeaponReady(WRF_ALLOWZOOM|WRF_ALLOWRELOAD)
      Loop
   CoreStratActivate:
      TFGG A 0 A_PlaySound("Dreadful/Supercharge",5,0.8)
      TNT1 A 0 A_QuakeEx(2, 1, 1, 55, 0, 24, none, QF_SCALEDOWN)
	  BSBF ABCDEFGHIJKLMNOPQRMNOPQR random(1,2) Bright
	  {
		A_SetBlend("Blue",frandom(0.05,0.075),2);
		A_SetAngle(Angle + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_SetPitch(Pitch + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_QuakeEx(2,2,2,5,0,64,none,QF_SCALEDOWN);
	  }
	  BSBF STUVWXYZ random(1,2) Bright
	  {
		A_SetBlend("Blue",frandom(0.05,0.075),2);
		A_SetAngle(Angle + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_SetPitch(Pitch + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_QuakeEx(2,2,2,5,0,64,none,QF_SCALEDOWN);
	  }
	  BSB1 ABCDE random(1,2) Bright
	  {
		A_SetBlend("Blue",frandom(0.05,0.075),2);
		A_SetAngle(Angle + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_SetPitch(Pitch + Frandom(0.5,-0.5), SPF_INTERPOLATE);
		A_QuakeEx(2,2,2,5,0,64,none,QF_SCALEDOWN);
	  }
	  TNT1 A 0 A_SetBlend("Blue",0.4,45)
	  BSB1 FGHIJ random(1,2) Bright
	  TNT1 A 0 A_StopSound(6)
	  TFGG N 10
      TFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
	  TFSI ABCDEFGHIJKLMNOP 1
   CoreStratReady:
   	  TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),"CoreZweiReady")
      TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"CoreZweiReady")
	  TNT1 A 0 A_JumpIfInventory("Old DreadfulStratActive",1,1)
	  Goto CoreStratDeactivate
      TFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
      TFSG ABCDEFGHIJKLMNOP 1 A_WeaponReady(WRF_ALLOWZOOM|WRF_ALLOWRELOAD)
	  Loop
   CoreStratActivate2:
      TFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
	  TFSI ABCDEFGHIJKLMNOP 1
	  Goto CoreStratReady
   CoreStratDeactivate:
	  TFSO ABCDEFGHIJKLMNOP 1
      TFGG N 0 A_StopSound(6)
      TFGG N 10
	  Goto Ready
   CoreDeselectMain:
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), "CoreZweiDeselect")
      1FGG N 0 A_JumpIfInventory("PowerGunzerking",1,"CoreZweiDeselect")
      TFGG N 1 A_Lower
      TFGG N 0 A_Lower
      Loop
   CoreSelect:
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), "CoreZweiSelect")
      TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"CoreZweiSelect")
      TFGG N 1 A_Raise
      Loop  
   CoreFire:
      TFGF A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"CoreStratFire")
      TFGF A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      TFGG DCBA 2
	  TFGG N 15
      TFGG ABCD 2 Bright
      TFGF A 1 Bright A_ZoomFactor(0.99)
      TFGF B 1 Bright A_ZoomFactor(0.97)
      TFGF A 0 A_PlaySound("Dreadful/Add",5,0.5)
      TFGF A 0 A_SetBlend("Blue",0.2,15)
      TFGF A 0 A_Recoil(25)
      TFGF A 0 A_AlertMonsters
      TFGF A 0 A_Quake (7, 25, 0, 24, none)
      TFGF A 0 A_FireCustomMissile("CoreDreadball1",0,0,00.000+15, -12.000)
      TFGF A 0 A_FireCustomMissile("CoreDreadball2",0,0,-10.392+15, 06.000)
      TFGF A 0 A_FireCustomMissile("CoreDreadball3",0,1, 10.392+15, 06.000)
      TFGF A 0 A_SetPitch(pitch-1.25, SPF_INTERPOLATE)
      TFGF A 0 A_SetAngle(angle-1.25, SPF_INTERPOLATE)
      TFGF C 1 Bright A_ZoomFactor(0.95)
      TFGF A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      TFGF A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      TFGF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      TFGF D 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      TFGF E 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      TFGF F 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      TFGF G 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      TFGF H 1 A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.05, SPF_INTERPOLATE)
      TFGF I 1
      TFGF J 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      TFGF K 1 A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      TFGF L 1 A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      TFGF M 1 A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      TFGF N 1 A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      TFGF N 1 A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      TFGF N 1 A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      TFGF O 1 A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      TFGF P 1 A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      TFGF Q 1 A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      TFGF R 1 A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      TFGF S 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
	  TFGG CB 2 A_ZoomFactor(1)
      TFGG CDCB 3
	  TFGG A 0 A_ReFire
      Goto Ready
   CoreStratFire:
   	  TFGG A 0 A_JumpIfInventory("HexenCounter",1,"CoreStratHexenFire")
	  TFGG A 0 A_JumpIfInventory("TiberiumAmmo",8,"CoreStratFireContinue")
	  TFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
   CoreStratHexenFire:
	  TFGG A 0 A_JumpIfInventory("GreenMana",150,2)
	  TFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
	  TFGG A 0 A_JumpIfInventory("BlueMana",150,2)
	  TFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
   CoreStratFireContinue:
      TFGF A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      TFSG ACEGIKMOACEGIKMOACEGIKMOACEGIKM 1 Bright
      TFSF A 1 Bright A_ZoomFactor(0.99)
      TFGF B 1 Bright A_ZoomFactor(0.97)
      TFGF A 0 A_PlaySound("Dreadful/Add",5,0.5)
	  TFGF A 0 A_PlaySound("Dreadful/AltFire",4,0.4)
      TFGF A 0 A_SetBlend("Blue",0.3,80)
      TFGF A 0 A_Recoil(40)
      TFGF A 0 A_AlertMonsters
      TFGF A 0 A_Quake (8, 35, 0, 24, none)
	  TFGF A 0 A_JumpIfInventory("HexenCounter",1,"CoreStratHexenFire2")
	  Goto CoreStratFireContinue2
   CoreStratHexenFire2:
	  TFGG A 0 A_TakeInventory("GreenMana",150,TIF_NOTAKEINFINITE)
	  TFGG A 0 A_TakeInventory("BlueMana",150,TIF_NOTAKEINFINITE)
	  Goto CoreStratFireContinue2+1
   CoreStratFireContinue2:
	  TFGF A 0 A_TakeInventory("TiberiumAmmo",8,TIF_NOTAKEINFINITE)
      TFGF A 0 A_FireCustomMissile("SuperCoreDreadball",0,0,15,0)
      TFGF A 0 A_SetPitch(pitch-5.5, SPF_INTERPOLATE)
      TFGF A 0 A_SetAngle(angle-5.5, SPF_INTERPOLATE)
      TFSF C 1 Bright Offset(2,34) A_ZoomFactor(0.95)
      TFGF A 0 A_SetPitch(pitch-3.5, SPF_INTERPOLATE)
      TFGF A 0 A_SetAngle(angle-3.5, SPF_INTERPOLATE)
      TFSF D 1 Bright Offset(8,40) A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-2, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-2, SPF_INTERPOLATE)
      TFSF E 1 Bright Offset(13,45) A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      TFSF F 1 Bright Offset(19,51) A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.75, SPF_INTERPOLATE)
      TFSF G 1 Bright Offset(25,57) A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      TFSF H 1 Bright Offset(29,61) A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      TFSF H 1 Bright Offset(32,64) A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.1, SPF_INTERPOLATE)
      TFSF I 1 Bright Offset(34,66)
      TFSF J 1 Bright Offset(35,67) A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
      TFSF K 1 Bright Offset(36,68) A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      TFSF L 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      TFSF M 1 Bright Offset(34,66) A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      TFSF N 1 Bright Offset(30,62) A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+1.0, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.0, SPF_INTERPOLATE)
      TFSF N 1 Bright Offset(26,58) A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      TFSF N 1 Bright Offset(21,53) A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+1.0, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.0, SPF_INTERPOLATE)
      TFSF O 1 Bright Offset(17,49) A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      TFSF P 1 Bright Offset(12,44) A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+1.0, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.0, SPF_INTERPOLATE)
      TFSF Q 1 Bright Offset(7,39) A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      TFSF R 1 Bright Offset(3,35) A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      TFGG N 1 Offset(1,33) A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      TFGG N 1 Offset(0,32) A_ZoomFactor(1)
	  TNT1 A 0 A_StopSound(6)
      TFGG N 105
   	  TFGG A 0 A_JumpIfInventory("HexenCounter",1,"CoreStratHexenFire3")
	  TFGG A 0 A_JumpIfInventory("TiberiumAmmo",8,"CoreStratFireContinue3")
	  TFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
   CoreStratHexenFire3:
	  TFGG A 0 A_JumpIfInventory("GreenMana",150,2)
	  TFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	 Goto ReadyLoop
	  TFGG A 0 A_JumpIfInventory("BlueMana",150,2)
	  TFGG A 0 A_TakeInventory("Old DreadfulStratActive",1)
	  Goto ReadyLoop
   CoreStratFireContinue3:
	  TFGG A 0 A_Jump(64,"ComeOnAndJam")
	  Goto ReadyLoop

	CoreAltFire:
	  "####" A 0 A_StopSound(6)
	  BCGM A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  BUGM A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  TFGM A 0
	  "####" A 0
	  Goto Super::CheckForMagic
	CoreZoom:
	  
      "####" A 0 A_JumpIf(CallACS("GunslingerMode"),"CoreGunzerk")
	  "####" A 0 A_JumpIfInventory("PowerGunzerking",1,"CoreGunzerk")
	  Goto CoreRegular
	CoreRegular:
	  "####" A 0 A_JumpIfInventory("PowerMidasMode",1,5)
	  TCGK A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  TUGK A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  TFGK A 0
	  "####" A 0
	  Goto Super::Zoom
	  TCGK A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  TUGK A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  TFMK A 0
	  "####" A 0
	  Goto Super::Zoom
	  
	CoreGunzerk:
	  "####" A 0 A_JumpIfInventory("PowerMidasMode",1,4)
	  2CGK A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  2UGK A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  2FGK A 0
	  "####" A 0
	  Goto Super::Zoom
	  2CGK A 0 A_JumpIfInventory("PowerSuitToken",1,3)
	  2UGK A 0 A_JumpIfInventory("PowerSuitProtect",1,2)
	  2FMK A 0
	  "####" A 0
	  Goto Super::Zoom
	  
	//Zweihander

   CoreZweiSelect:
      5FGG N 1 A_Raise
      Loop
   CoreZweiDeselect:
	  TNT1 A 0 A_GunFlash("Nullify",GFF_NOEXTCHANGE)
	  TNT1 A 0 A_TakeInventory("SynthFireActive",1)
	  TNT1 A 0 A_TakeInventory("SynthFireLeft",1)
	  TNT1 A 0 A_TakeInventory("SynthFireRight",1)
   CoreZweihander:
	  5FGG N 0 A_Lower
	  5FGG N 1 A_Lower
	  Loop
   CoreZweiReady:
	  5FGG N 0 A_GiveInventory("SynthFireActive",1)
	  5FGG N 0 ACS_NamedExecuteAlways("SynthLeft")
	  5FGG N 0 ACS_NamedExecuteAlways("SynthRight")
	  5FGG N 0 A_Gunflash("CoreFlash",GFF_NOEXTCHANGE)
	  Goto CoreRIdle
  
   //Right
   
   CoreRIdle:
      TNT1 A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"CoreStratRIdle")
      TNT1 A 0 A_PlaySound("Dreadful/Loop",6,0.4,1)
      3FGG AABBCCDDCCBB 1 { A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM|WRF_ALLOWRELOAD); Return A_JumpIfInventory("SynthFireRight",1,"CoreRFire"); }
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), "CoreRIdle")
	  TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"CoreRIdle") 
	  Goto BackToReady
   CoreStratRIdle:
      TNT1 A 0 A_PlaySound("Dreadful/Loop2",6,0.4,1)
      1TBG ABCDEFGHIJKLMNOP 1 { A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM|WRF_ALLOWRELOAD); Return A_JumpIfInventory("SynthFireRight",1,"CoreStratRFire"); }
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"), "CoreRIdle")
	  TNT1 A 0 A_JumpIfInventory("PowerGunzerking",1,"CoreRIdle") 
	  Goto CoreBackToReady
   BackToReady:
   CoreBackToReady:
	  3FGG A 0 A_GunFlash("Nullify",GFF_NOEXTCHANGE)
	  Goto Ready

   CoreRFire:
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),2)
	  3FGG A 0 A_JumpIfInventory("PowerGunzerking",1,1) 
	  Goto CoreBackToReady
      3FGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"CoreStratRFire")
	  3FGG A 0 A_JumpIfInventory("HexenCounter",1,"CoreHexenR")
	  3FGG A 0 A_JumpIfInventory("TiberiumAmmo",1,"CoreRConfirmed")
	  3FGG A 1
	  Goto ROuttaJuice
   CoreHexenR:
      3FGG A 0 A_JumpIfInventory("GreenMana",40,2)
	  3FGG A 1
      Goto ROuttaJuice
      3FGG A 0 A_JumpIfInventory("BlueMana",40,2)
	  3FGG A 1
      Goto ROuttaJuice
   CoreRConfirmed:
      3FGF A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      3FGG DCBA 2
	  3FGG N 15
      3FGG ABCD 2 Bright
      3FGF A 1 Bright A_ZoomFactor(0.99)
      3FGF B 1 Bright A_ZoomFactor(0.97)
      3FGF A 0 A_PlaySound("Dreadful/Add",5,0.5)
      3FGF A 0 A_SetBlend("Blue",0.2,15)
      3FGF A 0 A_Recoil(12.5)
      3FGF A 0 A_AlertMonsters
      3FGF A 0 A_Quake (7, 25, 0, 24, none)
      3FGF A 0 A_FireCustomMissile("CoreDreadball1",0,0,00.000+21, -12.000)
      3FGF A 0 A_FireCustomMissile("CoreDreadball2",0,0,-10.392+21, 06.000)
      3FGF A 0 A_FireCustomMissile("CoreDreadball3",0,1, 10.392+21, 06.000)
      //3FGF A 0 A_TakeInventory("TiberiumAmmo",1,TIF_NOTAKEINFINITE)
      3FGF A 0 A_SetPitch(pitch-1.25, SPF_INTERPOLATE)
      3FGF A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      3FGF C 1 Bright A_ZoomFactor(0.95)
      3FGF A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      3FGF A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      3FGF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      3FGF D 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      3FGF E 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      3FGF F 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      3FGF G 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      3FGF H 1 A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      3FGF I 1
      3FGF J 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.05, SPF_INTERPOLATE)
      3FGF K 1 A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      3FGF L 1 A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      3FGF M 1 A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      3FGF N 1 A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      3FGF N 1 A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      3FGF N 1 A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      3FGF O 1 A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      3FGF P 1 A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      3FGF Q 1 A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      3FGF R 1 A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.05, SPF_INTERPOLATE)
      3FGF S 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.05, SPF_INTERPOLATE)
	  3FGG CB 2 A_ZoomFactor(1)
      3FGG CDCB 3
	  3FGG A 0 A_JumpIfInventory("SynthFireRight",1,"CoreRFire")
	  Goto CoreRIdle
	  
   //Strat right
	  
   CoreStratRFire:
   	  1TBG A 0 A_JumpIfInventory("HexenCounter",1,"CoreStratHexenRFire")
	  1TBG A 0 A_JumpIfInventory("TiberiumAmmo",8,"CoreStratRFireContinue")
	  Goto ROuttaJuice
   CoreStratHexenRFire:
	  1TBG A 0 A_JumpIfInventory("GreenMana",150,2)
	  Goto ROuttaJuice
	  1TBG A 0 A_JumpIfInventory("BlueMana",150,2)
	  Goto ROuttaJuice
   CoreStratRFireContinue:
      1TBG A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      1TBG ACEGIKMOACEGIKMOACEGIKMOACEGIKM 1 Bright
      1TBF A 1 Bright A_ZoomFactor(0.99)
      1TBF B 1 Bright A_ZoomFactor(0.97)
      1TBF A 0 A_PlaySound("Dreadful/Add",5,0.5)
	  1TBF A 0 A_PlaySound("Dreadful/AltFire",4,0.4)
      1TBF A 0 A_SetBlend("Blue",0.3,80)
      1TBF A 0 A_Recoil(40)
      1TBF A 0 A_AlertMonsters
      1TBF A 0 A_Quake (8, 35, 0, 24, none)
	  1TBF A 0 A_JumpIfInventory("HexenCounter",1,"CoreStratHexenRFire2")
	  Goto CoreStratRFireContinue2
   CoreStratHexenRFire2:
	  1TBF A 0 A_TakeInventory("GreenMana",150,TIF_NOTAKEINFINITE)
	  1TBF A 0 A_TakeInventory("BlueMana",150,TIF_NOTAKEINFINITE)
	  Goto CoreStratRFireContinue2+1
   CoreStratRFireContinue2:
	  1TBF A 0 A_TakeInventory("TiberiumAmmo",8,TIF_NOTAKEINFINITE)
      1TBF A 0 A_FireCustomMissile("SuperCoreDreadball",0,0,21,0)
      1TBF A 0 A_SetPitch(pitch-5.5, SPF_INTERPOLATE)
      1TBF A 0 A_SetAngle(angle-5.5, SPF_INTERPOLATE)
      1TBF C 1 Bright A_ZoomFactor(0.95)
      1TBF A 0 A_SetPitch(pitch-3.5, SPF_INTERPOLATE)
      1TBF A 0 A_SetAngle(angle-3.5, SPF_INTERPOLATE)
      1TBF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-2, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-2, SPF_INTERPOLATE)
      1TBF E 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      1TBF F 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.75, SPF_INTERPOLATE)
      1TBF G 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      1TBF H 1 Bright A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      1TBF H 1 Bright A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.1, SPF_INTERPOLATE)
      1TBF I 1 Bright
      1TBF J 1 Bright A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
      1TBF K 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      1TBF L 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      1TBF M 1 Bright A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      1TBF N 1 Bright A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      1TBF N 1 Bright A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      1TBF N 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+1.0, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.0, SPF_INTERPOLATE)
      1TBF O 1 Bright A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      1TBF P 1 Bright A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      1TBF Q 1 Bright A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      1TBF R 1 Bright A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      1FGG N 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      1FGG N 1 A_ZoomFactor(1)
	  TNT1 A 0 A_StopSound(6)
      1FGG N 105
      BFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
	  1TBI ABCDEFGHIJKLMNOP 1
	  Goto CoreRIdle
	  
   //Left
	  
   CoreFlash:
	  TNT1 A 0 A_Light0
   CoreLIdle:
      4FGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"CoreStratLIdle")
	  4FGG A 0 A_PlaySound("Dreadful/Loop",6,0.4,1)
	  4FGG AABBCCDDCCBB 1 A_JumpIfInventory("SynthFireLeft",1,"CoreLFire")
	  Loop
   CoreStratLIdle:
	  2TBG A 0 A_PlaySound("Dreadful/Loop2",6,0.4,1)
	  2TBG ABCDEFGHIJKLMNOP 1 A_JumpIfInventory("SynthFireLeft",1,"CoreStratLFire")
	  Goto CoreLIdle
	  
   CoreLFire:
      TNT1 A 0 A_JumpIf(CallACS("GunslingerMode"),2)
	  4FGG A 0 A_JumpIfInventory("PowerGunzerking",1,1) 
	  Goto Nullify
      4FGG A 0 A_JumpIfInventory("Old DreadfulStratActive",1,"CoreStratLFire")
	  4FGG A 0 A_JumpIfInventory("HexenCounter",1,"CoreHexenL")
	  4FGG A 0 A_JumpIfInventory("TiberiumAmmo",1,"CoreLConfirmed")
	  4FGG A 1
	  Goto CoreLIdle
   CoreHexenL:
      4FGG A 0 A_JumpIfInventory("GreenMana",40,2)
	  4FGG A 1
      Goto CoreLIdle
      4FGG A 0 A_JumpIfInventory("BlueMana",40,2)
	  4FGG A 1
      Goto CoreLIdle
   CoreLConfirmed:
      4FGF A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      4FGG DCBA 2
	  4FGG N 15
      4FGG ABCD 2 Bright
      4FGF A 1 Bright A_ZoomFactor(0.99)
      4FGF B 1 Bright A_ZoomFactor(0.97)
      4FGF A 0 A_PlaySound("Dreadful/Add",5,0.5)
      4FGF A 0 A_SetBlend("Blue",0.2,15)
      4FGF A 0 A_Recoil(12.5)
      4FGF A 0 A_AlertMonsters
      4FGF A 0 A_Quake (7, 25, 0, 24, none)
      4FGF A 0 A_FireCustomMissile("CoreDreadball1",0,0,00.000-21, -12.000)
      4FGF A 0 A_FireCustomMissile("CoreDreadball2",0,0,-10.392-21, 06.000)
      4FGF A 0 A_FireCustomMissile("CoreDreadball3",0,1, 10.392-21, 06.000)
      //4FGF A 0 A_TakeInventory("TiberiumAmmo",1,TIF_NOTAKEINFINITE)
      4FGF A 0 A_SetPitch(pitch-1.25, SPF_INTERPOLATE)
      4FGF A 0 A_SetAngle(angle-1.25, SPF_INTERPOLATE)
      4FGF C 1 Bright A_ZoomFactor(0.95)
      4FGF A 0 A_SetPitch(pitch-1.0, SPF_INTERPOLATE)
      4FGF A 0 A_SetAngle(angle-1.0, SPF_INTERPOLATE)
      4FGF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      4FGF D 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      4FGF E 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      4FGF F 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      4FGF G 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      4FGF H 1 A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      4FGF I 1
      4FGF J 1 A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      4FGF K 1 A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      4FGF L 1 A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      4FGF M 1 A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      4FGF N 1 A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      4FGF N 1 A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      4FGF N 1 A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      4FGF O 1 A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      4FGF P 1 A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.125, SPF_INTERPOLATE)
      4FGF Q 1 A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.125, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.125, SPF_INTERPOLATE)
      4FGF R 1 A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
      4FGF S 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.05, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.05, SPF_INTERPOLATE)
	  4FGG CB 2 A_ZoomFactor(1)
      4FGG CDCB 3
	  4FGG A 0 A_JumpIfInventory("SynthFireLeft",1,"CoreLFire")
	  Goto CoreLIdle
	  
   //Strat left
	  
   CoreStratLFire:
   	  2TBG A 0 A_JumpIfInventory("HexenCounter",1,"CoreStratHexenLFire")
	  2TBG A 0 A_JumpIfInventory("TiberiumAmmo",8,"CoreStratLFireContinue")
	  Goto LOuttaJuice
   CoreStratHexenLFire:
	  2TBG A 0 A_JumpIfInventory("GreenMana",150,2)
	  Goto LOuttaJuice
	  2TBG A 0 A_JumpIfInventory("BlueMana",150,2)
	  Goto LOuttaJuice
   CoreStratLFireContinue:
      2TBG A 0 A_PlaySound("Dreadful/Fire",1,0.4)
      2TBG ACEGIKMOACEGIKMOACEGIKMOACEGIKM 1 Bright
      2TBF A 1 Bright A_ZoomFactor(0.99)
      2TBF B 1 Bright A_ZoomFactor(0.97)
      2TBF A 0 A_PlaySound("Dreadful/Add",5,0.5)
	  2TBF A 0 A_PlaySound("Dreadful/AltFire",4,0.4)
      2TBF A 0 A_SetBlend("Blue",0.3,80)
      2TBF A 0 A_Recoil(40)
      2TBF A 0 A_AlertMonsters
      2TBF A 0 A_Quake (8, 35, 0, 24, none)
	  2TBF A 0 A_JumpIfInventory("HexenCounter",1,"CoreStratHexenLFire2")
	  Goto CoreStratLFireContinue2
   CoreStratHexenLFire2:
	  2TBF A 0 A_TakeInventory("GreenMana",150,TIF_NOTAKEINFINITE)
	  2TBF A 0 A_TakeInventory("BlueMana",150,TIF_NOTAKEINFINITE)
	  Goto CoreStratLFireContinue2+1
   CoreStratLFireContinue2:
	  2TBF A 0 A_TakeInventory("TiberiumAmmo",8,TIF_NOTAKEINFINITE)
      2TBF A 0 A_FireCustomMissile("SuperCoreDreadball",0,0,-21,0)
      2TBF A 0 A_SetPitch(pitch-5.5, SPF_INTERPOLATE)
      2TBF A 0 A_SetAngle(angle-5.5, SPF_INTERPOLATE)
      2TBF C 1 Bright A_ZoomFactor(0.95)
      2TBF A 0 A_SetPitch(pitch-3.5, SPF_INTERPOLATE)
      2TBF A 0 A_SetAngle(angle-3.5, SPF_INTERPOLATE)
      2TBF D 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch-2, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-2, SPF_INTERPOLATE)
      2TBF E 1 Bright A_ZoomFactor(0.88)
      TNT1 A 0 A_SetPitch(pitch-1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-1, SPF_INTERPOLATE)
      2TBF F 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch-0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.75, SPF_INTERPOLATE)
      2TBF G 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch-0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.5, SPF_INTERPOLATE)
      2TBF H 1 Bright A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch-0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.25, SPF_INTERPOLATE)
      2TBF H 1 Bright A_ZoomFactor(0.83)
      TNT1 A 0 A_SetPitch(pitch-0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle-0.1, SPF_INTERPOLATE)
      2TBF I 1 Bright
      2TBF J 1 Bright A_ZoomFactor(0.84)
      TNT1 A 0 A_SetPitch(pitch+0.1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.1, SPF_INTERPOLATE)
      2TBF K 1 Bright A_ZoomFactor(0.85)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      2TBF L 1 Bright A_ZoomFactor(0.86)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      2TBF M 1 Bright A_ZoomFactor(0.87)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      2TBF N 1 Bright A_ZoomFactor(0.89)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      2TBF N 1 Bright A_ZoomFactor(0.9)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      2TBF N 1 Bright A_ZoomFactor(0.91)
      TNT1 A 0 A_SetPitch(pitch+1.0, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.0, SPF_INTERPOLATE)
      2TBF O 1 Bright A_ZoomFactor(0.93)
      TNT1 A 0 A_SetPitch(pitch+1.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1.25, SPF_INTERPOLATE)
      2TBF P 1 Bright A_ZoomFactor(0.95)
      TNT1 A 0 A_SetPitch(pitch+1, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+1, SPF_INTERPOLATE)
      2TBF Q 1 Bright A_ZoomFactor(0.97)
      TNT1 A 0 A_SetPitch(pitch+0.75, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.75, SPF_INTERPOLATE)
      2TBF R 1 Bright A_ZoomFactor(0.98)
      TNT1 A 0 A_SetPitch(pitch+0.5, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.5, SPF_INTERPOLATE)
      2FGG N 1 A_ZoomFactor(0.99)
      TNT1 A 0 A_SetPitch(pitch+0.25, SPF_INTERPOLATE)
      TNT1 A 0 A_SetAngle(angle+0.25, SPF_INTERPOLATE)
      2FGG N 1 A_ZoomFactor(1)
	  TNT1 A 0 A_StopSound(6)
      2FGG N 105
      BFGG A 0 A_PlaySound("Dreadful/Loop2",6,0.6,1)
	  2TBI ABCDEFGHIJKLMNOP 1
	  Goto CoreLIdle
	}
}