ACTOR "Hexa-Shotgun" : Weapon 16651
{
//$Category Weapons/LCA
//$Sprite HSGPA0
//$Title "Hexa-Shotgun"
  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 "Hexa-Shotgun"
  Inventory.PickupSound "weapons/pickuphsg"
  Obituary "%o's body wasn't able to be identified after being shot by k's Hexa-Shotgun."
  +WEAPON.AMMO_OPTIONAL
  +WEAPON.NOALERT
  +INVENTORY.UNDROPPABLE
  States
  {
  Ready:
    TNT1 A 0 A_PlayWeaponSound("weapons/pickuphsg")
	HSRS ABCDEF 1
	HSRS GH 2
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
    HSGN A 1 A_WeaponReady
    Goto Ready+9
  Deselect: 
    TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
    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)	

	// Ark patch: START
	TNT1 AAAAAAAAAAAA 0 A_FireCustomMissile("SGTracer",Random(8,-8),0,0,Random(8,-8))
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_FireCustomMissile("PlayerQuadShotgunPellet", random(-1020, 1020)/100.00, 0, 0, 1, 0)
    HS4F A 1 Bright // A_FireBullets(11.8,7.3,52,5,"ModdedBulletPuff")

    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_FireCustomMissile("PlayerQuadShotgunPellet", random(-1020, 1020)/100.00, 0, 0, 1, 0)
    HS4F A 1 Bright // A_FireBullets(13.8,7.3,26,5,"ModdedBulletPuff")
	// Ark patch: END

    HS4F B 2 Bright A_Light2
	TNT1 A 0 A_Light0
	HSGN CFG 1
	HSGN H 2
	HSER A 3
	HSER B 6
	HSGN GFEDC 2
  HexaReloadCheck:
  	TNT1 A 0 A_JumpIfInventory("NewShell",6,2)
	HSGN S 2
	Goto Ready+9
	TNT1 A 0
	Goto ReloadSixShells+3
  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)

	// Ark patch: START
	TNT1 AAAAAAAA 0 A_FireCustomMissile("SGTracer",Random(8,-8),0,0,Random(8,-8))
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_FireCustomMissile("PlayerQuadShotgunPellet", random(-1020, 1020)/100.00, 0, 0, 1, 0)
    HSGF E 2 Bright // A_FireBullets(11.2,7.1,20,5,"ModdedBulletPuff")
	// Ark patch: END

	HSGF F 2 Bright A_Light2
	TNT1 A 0 A_Light0
	HSRC ABCDE 1
	HSGN A 1
    Goto Ready+9
  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)

	// Ark patch: START
	TNT1 AAAAAAAA 0 A_FireCustomMissile("SGTracer",Random(8,-8),0,0,Random(8,-8))
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_FireCustomMissile("PlayerQuadShotgunPellet", random(-1020, 1020)/100.00, 0, 0, 1, 0)
    HSGF A 2 Bright // A_FireBullets(11.2,7.1,20,5,"ModdedBulletPuff")
	// Ark patch: END

	HSGF B 2 Bright A_Light2
	TNT1 A 0 A_Light0
	HSRC ABCDE 1
	HSGN A 1
    Goto Ready+9	
  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)

	// Ark patch: START
	TNT1 AAAAAAAA 0 A_FireCustomMissile("SGTracer",Random(8,-8),0,0,Random(8,-8))
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_FireCustomMissile("PlayerQuadShotgunPellet", random(-1020, 1020)/100.00, 0, 0, 1, 0)
    HSGF C 2 Bright // A_FireBullets(11.2,7.1,20,5,"ModdedBulletPuff")
	// Ark patch: END

	HSGF D 2 Bright A_Light2
	TNT1 A 0 A_Light0
	HSRC ABCDE 1
	HSGN A 1
    Goto Ready+9	
  Empty:
    HSGN A 10 A_PlayWeaponSound("weapons/click")
	TNT1 A 0 A_JumpIfInventory("NewShell",6,"ReloadSixShells")
	Goto Ready+9
  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:
	HSGN SRQ 2
	HSGN PJ 1
	HSGN K 1
	TNT1 AAAAAA 0 A_SpawnItemEx("SSGShellCasing",25,-2,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	HSGN L 1
	HSGR A 12 A_PlayWeaponSound("weapons/qsgopen")
	HSGR B 1
	HSGR CD 2
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	HSGR E 3 A_PlayWeaponSound("weapons/qsgshellslide")
	HSGR F 3
	HSGR G 2
	HSGR H 1
	HSGR I 8
	HSGR JK 1
	HSGR LM 2
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	HSGR N 3 A_PlayWeaponSound("weapons/qsgshellslide")
	HSGR O 3
	HSGR P 2
	HSGR Q 1
	HSGR R 8
	HSGR ST 1
	HSGR U 2
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	HSGR V 3 A_PlayWeaponSound("weapons/qsgshellslide")	
	HSGR W 3
	HSGR X 2
	HSGR Y 1
	HSGN MNO 1
	HSGN P 1 A_PlayWeaponSound("weapons/qsgclose")
	HSGN QRS 2
	HSGN A 2
    Goto Ready+9
  ReloadFourShells:
    TNT1 A 0 A_JumpIfInventory("NewShell",4,1)
	Goto Ready+9
	HSGN SRQ 2
	HSGN P 1
	HSEX A 1
	HSEX B 1
	TNT1 AAAA 0 A_SpawnItemEx("SSGShellCasing",25,-2,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	HSEX C 1
	HSGR I 12 A_PlayWeaponSound("weapons/qsgopen")
	HSGR JK 1
	HSGR LM 2
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	HSGR N 3 A_PlayWeaponSound("weapons/qsgshellslide")	
	HSGR O 3
	HSGR P 2
	HSGR Q 1
	HSGR RS 1
	HSGR TU 2
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	HSGR V 3 A_PlayWeaponSound("weapons/qsgshellslide")	
	HSGR W 3
	HSGR X 2
	HSGR Y 1
	HSGN MNO 1
	HSGN P 1 A_PlayWeaponSound("weapons/qsgclose")
	HSGN QRS 2
	HSGN A 2
	Goto Ready+9
  ReloadTwoShells:
    TNT1 A 0 A_JumpIfInventory("NewShell",2,1)
	Goto Ready+9
	HSGN SRQ 2
	HSGN P 1
	HSEX A 1
	HSEX B 1
	TNT1 AA 0 A_SpawnItemEx("SSGShellCasing",25,-2,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	HSEX C 1
	HSGR Q 12 A_PlayWeaponSound("weapons/qsgopen")
	HSGR RS 1
	HSGR TU 2
	TNT1 A 0 A_TakeInventory("NewShell",2)
	TNT1 A 0 A_GiveInventory("HexaShell",2)
	HSGR V 3 A_PlayWeaponSound("weapons/qsgshellslide")	
	HSGR W 3
	HSGR X 2
	HSGR Y 1
	HSGN MNO 1
	HSGN P 1 A_PlayWeaponSound("weapons/qsgclose")
	HSGN QRS 2
	HSGN A 2
	Goto Ready+9
  GrenadeCheck:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	Goto Ready+9
  GrenadeToss:
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	HSHT EDCBA 1
	TNT1 A 4
	HGRN ABC 1
	HGRN D 2
	HGRN EFG 1
	HGRN HI 2
	TNT1 A 15 A_PlayWeaponSound("weapons/hgrenadepin")
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	TNT1 A 0 A_TakeInventory("HandGrenadeAmmo",1)
	HGNE A 1 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
	HGRN J 1
	HGRN KLM 2
	HGRN NO 1
	TNT1 A 6
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,2)
    TNT1 A 0 A_TakeInventory("Hand Grenade",1)
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	TNT1 A 0
	HSHT ABCDE 1
	Goto Ready+9
  MineCheck:
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
	TNT1 A 0 A_TakeInventory("MineAction",1)
	Goto Ready+9
  MineToss:
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	HSHT EDCBA 1
	TNT1 A 8
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	MINE ABCDEF 1		
	TNT1 A 0 A_TakeInventory("MineAmmo",1)	  
	MINE G 1 A_FireCustomMissile("ThrownMine",0,0,0,0)
	MINE HI 1
	MINE JK 2
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,2)
    TNT1 A 0 A_TakeInventory("Land Mine",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 0
	TNT1 A 5
	HSHT ABCDE 1
	Goto Ready+9
  Spawn:
    HSGP A -1
    Stop
    }
}

ACTOR HexaShell : Ammo
{
Inventory.Amount 0
Inventory.MaxAmount 6
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 6
Inventory.Icon "HSGPA0"
+IGNORESKILL
}