ACTOR "The Fastest Hexa-Shotgun Ever" : Weapon
{
  Scale 0.9
  Weapon.PreferredSkin "Hexa-Shotgun-Marine"
  Weapon.SelectionOrder 4445
  Weapon.KickBack 500
  Weapon.AmmoUse 0
  Weapon.AmmoGive 0
  Weapon.AmmoGive2 12
  Weapon.AmmoType "HexaShell"
  Weapon.AmmoType2 "NewShell"
  Inventory.PickupMessage "The Fastest Hexa-Shotgun Ever"
  Inventory.PickupSound "weapons/pickuphsg"
  Obituary "%o's body wasn't able to be identified after being shot by k's The Fastest Hexa-Shotgun Ever."
  +WEAPON.AMMO_OPTIONAL
  +WEAPON.NOALERT
  //+INVENTORY.UNDROPPABLE
  States
  {
  Spawn:
    HSGP A -1
    Stop
  Ready:
    TNT1 A 0 A_PlayWeaponSound("weapons/pickuphsg")
	H11T ABCDEFGHIJKLMNOP 1
  ReadyLoop:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
    H12T A 1 A_WeaponReady
    Loop
  Deselect: 
    TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
	TNT1 A 0 A_Lower
    HSGN A 1 A_Lower
    Goto Deselect+1
  Select:
	TNT1 A 0 A_Raise
    Wait
  Fire:
	TNT1 A 0 A_JumpIfInventory("HexaShell",6,"HexaFire")
	TNT1 A 0 A_JumpIfInventory("NewShell",2,1)
	Goto Empty
	TNT1 A 0 A_JumpIfInventory("HexaShell",4,"ReloadTwoShells")
	TNT1 A 0 A_JumpIfInventory("NewShell",4,1)
	Goto Empty
	TNT1 A 0 A_JumpIfInventory("HexaShell",2,"ReloadFourShells")
	Goto Empty
  HexaFire:
	TNT1 A 0 A_PlaySound("weapons/hsgfire")
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 A_Recoil(4)
    TNT1 A 0 A_GunFlash
	TNT1 A 0 A_Light1
    TNT1 A 0 Radius_Quake(20,5,0,1,0)
	TNT1 A 0 A_TakeInventory("HexaShell",6)	
	TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("SGTracer",Random(8,-8),0,0,Random(10,-10))
    H12T B 1 Bright A_FireBullets(11.8,7.3,52,5,"ModdedBulletPuff")
    H12T C 1 Bright A_FireBullets(13.8,7.3,26,5,"ModdedBulletPuff")
    H12T D 1 Bright A_Light2
	TNT1 A 0 A_Light0
	H12T EFGHIJKLMNOPQ 1
  HexaReloadCheck:
  	TNT1 A 0 A_JumpIfInventory("NewShell",6,1)
	Goto Ready+16
	TNT1 A 0
	Goto ReloadSixShells+5
  AltFire:
    TNT1 A 0 A_JumpIfInventory("HexaShell",6,"FireUpper")
    TNT1 A 0 A_JumpIfInventory("HexaShell",4,"FireMiddle")
	TNT1 A 0 A_JumpIfInventory("HexaShell",2,1)
	Goto Reload
    TNT1 A 0 A_PlaySound("weapons/qsgdoublefire")	
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_GunFlash
	TNT1 A 0 A_Light1
    TNT1 A 0 Radius_Quake(3,3,0,1,0)
	TNT1 A 0 A_TakeInventory("HexaShell",2)
	TNT1 AAAAAAAA 0 A_FireCustomMissile("SGTracer",Random(8,-8),0,0,Random(8,-8))
    H15T H 1 Bright A_FireBullets(11.2,7.1,20,5,"ModdedBulletPuff")
	H15T I 1 Bright A_Light2
	TNT1 A 0 A_Light0
	H15T CDE 1
    Goto ReadyLoop
  FireUpper:
    TNT1 A 0 A_PlaySound("weapons/qsgdoublefire")	
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_GunFlash
	TNT1 A 0 A_Light1
    TNT1 A 0 Radius_Quake(3,3,0,1,0)
	TNT1 A 0 A_TakeInventory("HexaShell",2)
	TNT1 AAAAAAAA 0 A_FireCustomMissile("SGTracer",Random(8,-8),0,0,Random(8,-8))
    H15T A 1 Bright A_FireBullets(11.2,7.1,20,5,"ModdedBulletPuff")
	H15T B 1 Bright A_Light2
	TNT1 A 0 A_Light0
	H15T CDE 1
    Goto ReadyLoop	
  FireMiddle:
    TNT1 A 0 A_PlaySound("weapons/qsgdoublefire")	
    TNT1 A 0 A_AlertMonsters
    TNT1 A 0 A_GunFlash
	TNT1 A 0 A_Light1
    TNT1 A 0 Radius_Quake(3,3,0,1,0)
	TNT1 A 0 A_TakeInventory("HexaShell",2)
	TNT1 AAAAAAAA 0 A_FireCustomMissile("SGTracer",Random(8,-8),0,0,Random(8,-8))
    H15T F 1 Bright A_FireBullets(11.2,7.1,20,5,"ModdedBulletPuff")
	H15T G 1 Bright A_Light2
	TNT1 A 0 A_Light0
	H15T CDE 1
    Goto ReadyLoop		
  Empty:
    H12T A 10 A_PlayWeaponSound("weapons/click")
	TNT1 A 0 A_JumpIfInventory("NewShell",6,"ReloadSixShells")
	Goto ReadyLoop
  Reload:
	TNT1 A 0 A_JumpIfInventory("HexaShell",2,"ReloadTwoShells")
	TNT1 A 0 A_JumpIfInventory("HexaShell",4,"ReloadFourShells")
	TNT1 A 0 A_JumpIfInventory("NewShell",6,"ReloadSixShells")
	Goto Empty	
  ReloadSixShells:
	TNT1 AAAAAA 0 A_SpawnItemEx("SSGShellCasing",25,-2,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	TNT1 A 0 A_TakeInventory("NewShell",6)
	TNT1 A 0 A_GiveInventory("HexaShell",6)
	H12T A 1
    Goto ReadyLoop
  ReloadFourShells:
    TNT1 A 0 A_JumpIfInventory("NewShell",4,1)
	Goto ReadyLoop
    H15T JKLMN 1
	H12T U 1
	TNT1 AAAA 0 A_SpawnItemEx("SSGShellCasing",25,-2,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	H15T S 1 A_PlayWeaponSound("weapons/qsgopen")
	H15T TUV 1
	H13T HIJKLM 1
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	H13T N 1 A_PlayWeaponSound("weapons/qsgshellslide")
	H13T OPQRSTUVWX 1
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	H13T "Y" 1 A_PlayWeaponSound("weapons/qsgshellslide")
	H13T "Z" 1
	H14T ABCDEFGHIJ 1
	H12T U 1
	H14T K 1
	H11T D 1 A_PlayWeaponSound("weapons/qsgclose")
	H11T EFGHIJKLMNOP 1
	Goto ReadyLoop
  ReloadTwoShells:
    TNT1 A 0 A_JumpIfInventory("NewShell",2,1)
	Goto ReadyLoop
	H15T JKLMN 1
	H12T U 1
	TNT1 AA 0 A_SpawnItemEx("SSGShellCasing",25,-2,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	H15T O 1 A_PlayWeaponSound("weapons/qsgopen")
	H15T PQR 1
	H13T S 1
	H13T T 1
	H13T UV 1
	H13T WX 1
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	H13T "Y" 1 A_PlayWeaponSound("weapons/qsgshellslide")
	H13T "Z" 1
	H14T ABCDEFGHIJ 1
	H12T U 1
	H14T K 1
	H11T D 1 A_PlayWeaponSound("weapons/qsgclose")
	H11T EFGHIJKLMNOP 1
	Goto ReadyLoop
  GrenadeCheck:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	Goto ReadyLoop
  GrenadeToss:
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	H16T ABCDE 1
	TNT1 A 4
	HGRN ABCDEFGHI 1
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadepin")
	HGRN JKLM 2
	TNT1 A 11
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	TNT1 A 0 A_TakeInventory("HandGrenadeAmmo",1,TIF_NOTAKEINFINITE)
	HGRN N 1 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
	HGRN OPQRS 1
	HGRN TU 2
	TNT1 A 6 A_TakeInventory("HandGrenadeAction",1)
	H16T EDCBA 1
	Goto ReadyLoop
  MineCheck:
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
	TNT1 A 0 A_TakeInventory("MineAction",1)
	Goto ReadyLoop
  MineToss:
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	H16T ABCDE 1
	TNT1 A 8
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	MINE ABCDEF 1
	TNT1 A 0 A_TakeInventory("MineAmmo",1,TIF_NOTAKEINFINITE)
	MINE G 1 A_FireCustomMissile("ThrownMine",0,0,0,0,false)
	MINE HI 1
	MINE JKLM 1
	TNT1 A 5 A_TakeInventory("MineAction",1)
	H16T EDCBA 1
	Goto ReadyLoop
    }
}