ACTOR HunterSpawn : CustomInventory replaces SuperShotgun
{
	Inventory.Amount 0
	scale 0.6
	Inventory.Icon "HNSIA0"
	Inventory.PickupMessage "$GOT_HUNTERSHOTGUN"
	Inventory.PickupSound "items/gunspickup"
	+DROPPED
	States
	{
	Spawn:
		HNSP A 10
		HNSP A 1 bright
		loop
	Pickup:
	    TNT1 A 0 A_JumpIfInventory("HunterShotgun4", 1, 5) //Skips giving you the normal HunterShotgun if you have the upgrade
	    TNT1 A 0 A_JumpIfInventory("HunterShotgun3", 1, 4) //Skips giving you the normal HunterShotgun if you have the upgrade
		TNT1 A 0 A_JumpIfInventory("HunterShotgun2", 1, 3) //Skips giving you the normal HunterShotgun if you have the upgrade
		TNT1 A 0 A_GiveInventory("HunterShotgun")
		TNT1 A 0 A_Jump(256, 2)
		TNT1 A 0 A_GiveInventory("shotgunAmmo", 4)
		TNT1 A 0
		Stop
	}
}
ACTOR HunterShotgunBuild2 : CustomInventory
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "HNSIB0"
	+DROPPED
	States
	{
	Spawn:
		HNSP B 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("HunterShotgun2")
		TNT1 A 2 
		TNT1 A 0 A_selectweapon("Huntershotgun2")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR HunterShotgunBuild3 : CustomInventory
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "HNSIC0"
	+DROPPED
	States
	{
	Spawn:
		HNSP C 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("HunterShotgun3")
		TNT1 A 2 
		TNT1 A 0 A_selectweapon("Huntershotgun3")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR HunterShotgunBuild4 : CustomInventory
{
	Inventory.Amount 0
	scale 0.7
	Inventory.Icon "HNSIC0"
	+DROPPED
	States
	{
	Spawn:
		HNSP C 10
		loop
	Pickup:
	    TNT1 A 0 A_GiveInventory("HunterShotgun4")
		TNT1 A 2 
		TNT1 A 0 A_selectweapon("Huntershotgun4")
		TNT1 A 0 A_PlaySound("special/workbench",CHAN_ITEM)
		TNT1 A 2
		Stop
	}
}
ACTOR HunterLoaded : Ammo
{
 Inventory.MaxAmount 2
  Ammo.BackPackMaxAmount 2
 +IGNORESKILL
}
ACTOR HunterChambered : Ammo
{
 Inventory.MaxAmount 2
  Ammo.BackPackMaxAmount 2
 +IGNORESKILL
}
ACTOR HunterFound : Ammo
{
 Inventory.MaxAmount 1
  Ammo.BackPackMaxAmount 1
 +IGNORESKILL
}
ACTOR HunterShotgun : Weapon 
{
  SpawnID 27
  Weapon.Kickback 170
  Weapon.SelectionOrder 1200
  Weapon.AmmoUse1 1
  Weapon.AmmoUse2 1
  Weapon.AmmoGive2 4
  Weapon.AmmoType2 "shotgunammo"
  Weapon.AmmoType1 "HunterLoaded"
  Weapon.BobStyle Alpha
  Weapon.BobSpeed 1.5
  Weapon.BobRangeX .2
  Weapon.BobRangeY .5
  Weapon.Kickback 120
  Obituary "$OBIT_HUNTERSHOTGUN"
  Tag "$WEAPON_HUNTERSHOTGUN"
  weapon.slotnumber 4
  scale 0.6
  weapon.upsound "weapons/sawedoffdeploy"
  +AMMO_CHECKBOTH
  +NOALERT
  +weapon.meleeweapon
  Inventory.Pickupmessage "$GOT_HUNTERSHOTGUN"
  Inventory.PickupSound "items/gunspickup"
  Inventory.Icon "HNSIA0"
  States
  {
  Ready:
  HNSN A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWUSER3)
  Loop
  Deselect:
    HNSN A 1 A_Lower
	HNSN A 0 A_Lower
    Loop
  Select: 
    MR1G A 0 A_takeinventory("lightlit",1)
    HNSN A 1 A_Raise
	HNSN A 0 A_Raise
    Loop
  Fire:
    TNT1 A 0 a_JumpIfInventory("Hunterloaded",1,"FireReal")
    Goto Reload
  FireReal:
	TNT1 A 0 A_PlayWeaponSound ("weapons/sawedofffire")
	TNT1 A 0 A_FireBullets (2.5, 2.5, 6, 14, "hitpuff", FBF_NORANDOM)
	TNT1 A 0 a_JumpIfInventory("HunterLoaded",2,10)
	TNT1 A 0 A_TakeInventory("Hunterloaded",1,TIF_NOTAKEINFINITE)
    HNSF A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-1)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    HNSF B 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-1)
	TNT1 A 0 A_jump(256, 5)
	TNT1 A 0 A_TakeInventory("Hunterloaded",1,TIF_NOTAKEINFINITE)
	HNSF C 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-1)
    HNSF D 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-1)
	HNSF E 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light0
	TNT1 A 0 A_SetPitch(Pitch+0.5)
	TNT1 A 0 A_AlertMonsters
	HNSF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+0.5)
	HNSF G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	HNSN A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	HNSN A 0 A_checkreload
	Goto Ready
  Reload:
    HNSN A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_jumpifinventory("Shotgunammo", 1, 1)
	goto ready
    TNT1 A 0 A_JumpIfInventory("HunterLoaded",2,"Ready")
	TNT1 A 0 A_JumpIfInventory("Hunterloaded",1,"Work2")
	TNT1 A 0 A_JumpIfInventory("HunterFound",1,"work1")
  FirstLoad:
     HNSR AABBBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	HNSS CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    HNSS EEFFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_Giveinventory("Hunterfound",1)
	TNT1 A 8
	HNSR H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    HNSR IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	HNSR L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	HNSR M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
  Work1:
    TNT1 A 0 A_JumpIfInventory("HunterChambered",2,"Work3")
     HNSR AABBBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	HNSS CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    HNSS EEFFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 16
	HNSR HHHH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    HNSR IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	HNSR L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	HNSR M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
Work2:
    HNSR AABBBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	HNSS CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    HNSH EEFFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 16
	HNSH HHHH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    HNSH IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	HNSR K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	HNSR L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	HNSR M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
work3:
    HNSR AABBBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	HNSR CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    HNSR EEFFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,12,-3)
    TNT1 A 16
	HNSR HHHH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    HNSR IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	HNSR L 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	HNSR M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  ReloadLoop:
	TNT1 A 0 A_Giveinventory("Hunterloaded",1)
	TNT1 A 0 A_Giveinventory("Hunterchambered",1)
	TNT1 A 0 A_TakeInventory("shotgunammo",1,TIF_NOTAKEINFINITE)
	TNT1 A 0 a_JumpIfInventory("Hunterloaded",2,"Reloaddone2")
	TNT1 A 0 a_JumpIfInventory("shotgunammo",1,"Reloadloop")
    Goto ReloadDone1
  ReloadDone1:
    TNT1 A 4
    HNSS N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	HNSS OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    HNSS Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	HNSR RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	HNSR U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  ReloadDone2:
    TNT1 A 4
    HNSR N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	HNSR OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    HNSR Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	HNSR RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	HNSR U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  Altfire:
    TNT1 A 0 a_JumpIfInventory("Hunterloaded",2,"FireDouble")
	TNT1 A 0 a_JumpIfInventory("Hunterloaded",1,"FireReal")
    Goto Reload
  FireDouble:
    TNT1 A 0 A_PlayWeaponSound ("weapons/sawedofffire")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	HNSF A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-2)
	HNSD A 1 BRIGHT A_WEAPONREADY(WRF_NOFIRE|WRF_NOSWITCH)
	 TNT1 A 0 A_PlayWeaponSound ("weapons/sawedoffdouble")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	TNT1 A 0 A_TakeInventory("HunterLoaded",2,TIF_NOTAKEINFINITE)
    HNSD A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light(3)
	TNT1 A 0 A_SetPitch(Pitch-4)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    HNSF B 2 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-3)
	HNSD B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	HNSD C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	HNSD C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	TNT1 A 0 A_Light0
	TNT1 A 0 A_AlertMonsters
	HNSF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	HNSF G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+2)
	HNSN A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	HNSN A 0 A_checkreload
	Goto Ready
   User1:	
	    HNSN ABCD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A    3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblock")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		HNSN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 PunchBlock:
        WPUN DDDCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		HNSN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
    Spawn:
		HNSP A 10
		HNSP A 1 bright
		loop
  }
}
ACTOR HunterShotgun2 : Weapon 
{
  SpawnID 27
  Weapon.Kickback 170
  Weapon.SelectionOrder 1200
  Weapon.AmmoUse1 1
  Weapon.AmmoUse2 1
  Weapon.AmmoGive2 4
  Weapon.AmmoType2 "shotgunammo"
  Weapon.AmmoType1 "HunterLoaded"
  Weapon.BobStyle Alpha
  Weapon.BobSpeed 1.5
  Weapon.BobRangeX .2
  Weapon.BobRangeY .5
  Weapon.Kickback 120
  Obituary "$OBIT_HUNTERSHOTGUN"
  Tag "$WEAPON_HUNTERSHOTGUN2"
  weapon.slotnumber 4
  scale 0.6
  weapon.upsound "weapons/sawedoffdeploy"
  +AMMO_CHECKBOTH
  +NOALERT
  +CHEATNOTWEAPON
  +weapon.meleeweapon
  Inventory.Pickupmessage "$GOT_HUNTERSHOTGUN2"
  Inventory.PickupSound "items/gunspickup"
  Inventory.Icon "HNSIB0"
  States
  {
  Ready:
  TNT1 A 0 a_JumpIfInventory("shotgunammo",2,"ReadyStacked")
  H20N A 5 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWuser2|WRF_ALLOWUSER3)
  Loop
  ReadyStacked:
  H22N A 5 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWuser2|WRF_ALLOWUSER3)
  Loop
  Deselect:
    "----" #  1 A_Lower
	"----" #  0 A_Lower
    Loop
  Select: 
    TNT1 A 0 A_TakeInventory("HunterShotgun",1)
	TNT1 A 0 a_JumpIfInventory("shotgunammo",2,"SelectStacked")
    H20N A 1 A_Raise
	H20N A 0 A_Raise
    Loop
SelectStacked: 
    H22N A 1 A_Raise
	H22N A 0 A_Raise
    Loop
  Fire:
   "----" # 0 a_JumpIfInventory("Hunterloaded",1,"FireReal")
    Goto Reload
  FireReal:
    "----" # 0 a_JumpIfInventory("shotgunammo",2,"FireStacked")
	H20F A 0 
	goto firereal2
FireStacked:
    H22F A 0 
FireReal2:    
	"----" # 0 A_PlayWeaponSound ("weapons/sawedofffire")
	"----" # 0 A_FireBullets (2.5, 2.5, 6, 14, "hitpuff", FBF_NORANDOM)
	"----" # 0 a_JumpIfInventory("HunterLoaded",2,10)
	"----" # 0 A_TakeInventory("Hunterloaded",1,TIF_NOTAKEINFINITE)
    "####" A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light2
	"####" A 0 A_SetPitch(Pitch-1)
	"####" A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    "####" B 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light1
	"####" A 0 A_SetPitch(Pitch-1)
	"####" A 0 A_jump(256, 5)
	"####" A 0 A_TakeInventory("Hunterloaded",1,TIF_NOTAKEINFINITE)
	"####" C 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light2
	"####" A 0 A_SetPitch(Pitch-1)
    "####" D 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light1
	"####" A 0 A_SetPitch(Pitch-1)
	"####" E 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light0
	"####" A 0 A_SetPitch(Pitch+0.5)
	"####" A 0 A_AlertMonsters
	"####" F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_SetPitch(Pitch+0.5)
	"####" G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" G 0 A_SetPitch(Pitch+1)
	"####" G 0 A_checkreload
	Goto Ready
  Reload:
    "----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"----" # 0 A_jumpifinventory("Shotgunammo", 1, 1)
	goto ready
    "----" # 0 A_JumpIfInventory("HunterLoaded",2,"Ready")
	"----" # 0 A_JumpIfInventory("Hunterloaded",1,"Work2")
	"----" # 0 A_JumpIfInventory("HunterFound",1,"work1")
  FirstLoad:
    "----" # 0 A_JumpIfInventory("Shotgunammo",2,"FirstLoadStacked")
    H22R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H22R CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H22R EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_Giveinventory("Hunterfound",1)
	TNT1 A 8
	H22R H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H22R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H22R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H22R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
  FirstLoadStacked:
    H20R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H20R CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H20R EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_Giveinventory("Hunterfound",1)
	TNT1 A 8
	H20R H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H20R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H20R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H20R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
  Work1:
    TNT1 A 0 A_JumpIfInventory("HunterChambered",2,"Work3")
	 "----" # 0 A_JumpIfInventory("Shotgunammo",2,"work1stacked")
	  H20S A 0
	 goto Work1Real
    Work1Stacked:
	 H22S A 0
	Work1Real:
     "####" AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	"####" CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    "####" EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	"####" A 2
	"####" H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    "####" IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_PlaySound ("weapons/sawedoffload")
	"####" L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
Work2:
    "----" # 0 A_JumpIfInventory("Shotgunammo",2,"work2stacked")
    H20R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H20S CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H20H EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 2
	H20H H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H20H IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H20R K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H20R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H20R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
Work2Stacked:
    H22R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H22S CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H22H EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 2
	H22H H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H22H IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H22R K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H22R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H22R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
work3:
     "----" # 0 A_JumpIfInventory("Shotgunammo",2,"work3stacked")
    H20R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H20R CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H20R EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,12,-3)
    TNT1 A 2
	H20R H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H20R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H20R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H20R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto reloadloop
work3Stacked:
    H22R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H22R CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H22R EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,12,-3)
    TNT1 A 2
	H22R H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H22R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H22R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H22R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  ReloadLoop:
	TNT1 A 0 A_Giveinventory("Hunterloaded",1)
	TNT1 A 0 A_Giveinventory("Hunterchambered",1)
	TNT1 A 0 A_TakeInventory("shotgunammo",1,TIF_NOTAKEINFINITE)
	TNT1 A 0 a_JumpIfInventory("Hunterloaded",2,"Reloaddone2")
	TNT1 A 0 a_JumpIfInventory("shotgunammo",1,"Reloadloop")
    Goto ReloadDone1
  ReloadDone1:
    "----" # 0 A_JumpIfInventory("Shotgunammo",2,"ReloadDone1Stacked")
    TNT1 A 4
    H20S N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H20S OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H20S Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H20R RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H20R U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  ReloadDone1Stacked:
    TNT1 A 4
    H22S N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H22S OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H22S Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H22R RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H22R U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  ReloadDone2:
     "----" # 0 A_JumpIfInventory("Shotgunammo",2,"ReloadDone2Stacked")
    TNT1 A 4
    H20R N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H20R OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H20R Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H20R RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H20R U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
 ReloadDone2Stacked:
    TNT1 A 4
    H22R N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H22R OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H22R Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H22R RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H22R U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  Altfire:
    TNT1 A 0 a_JumpIfInventory("Hunterloaded",2,"FireDouble")
	TNT1 A 0 a_JumpIfInventory("Hunterloaded",1,"FireReal")
    Goto Reload
  FireDouble:
    "----" # 0 A_JumpIfInventory("Shotgunammo",2,"FireDoubleStacked")
    TNT1 A 0 A_PlayWeaponSound ("weapons/sawedofffire")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	H20F A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-2)
	H20D A 1 BRIGHT A_WEAPONREADY(WRF_NOFIRE|WRF_NOSWITCH)
	 TNT1 A 0 A_PlayWeaponSound ("weapons/sawedoffdouble")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	TNT1 A 0 A_TakeInventory("HunterLoaded",2,TIF_NOTAKEINFINITE)
    H20D A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light(3)
	TNT1 A 0 A_SetPitch(Pitch-4)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    H20F B 2 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-3)
	H20D B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H20D C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H20D C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	TNT1 A 0 A_Light0
	TNT1 A 0 A_AlertMonsters
	H20F F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	H20F G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+2)
	H20N A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H20N A 0 A_checkreload
	Goto Ready
 FireDoubleStacked:
    TNT1 A 0 A_PlayWeaponSound ("weapons/sawedofffire")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	H22F A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-2)
	H22D A 1 BRIGHT A_WEAPONREADY(WRF_NOFIRE|WRF_NOSWITCH)
	 TNT1 A 0 A_PlayWeaponSound ("weapons/sawedoffdouble")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	TNT1 A 0 A_TakeInventory("HunterLoaded",2,TIF_NOTAKEINFINITE)
    H22D A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light(3)
	TNT1 A 0 A_SetPitch(Pitch-4)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    H22F B 2 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-3)
	H22D B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H22D C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H22D C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	TNT1 A 0 A_Light0
	TNT1 A 0 A_AlertMonsters
	H22F F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	H22F G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+2)
	H22N A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H22N A 0 A_checkreload
	Goto Ready
   User1:	
	    "####" ABCD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A    3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
         WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblock")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("Shotgunammo",2,"PunchReturnStacked")
		H20N DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 PunchBlock:
        WPUN DDDCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("Shotgunammo",2,"PunchReturnStacked")
		H20N DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
	PunchReturnStacked:
	    H22N DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
   User2:
	   "----" # 0  A_giveinventory("lightlit",1)
	   "----" # 0  A_SelectWeapon("crowbar")
		goto deselect
    Spawn:
		HNSP B 10
		HNSP B 1 bright
		loop
  }
}
ACTOR HunterShotgun3 : Weapon 
{
  SpawnID 27
  Weapon.Kickback 170
  Weapon.SelectionOrder 1200
  Weapon.AmmoUse1 1
  Weapon.AmmoUse2 1
  Weapon.AmmoGive2 4
  Weapon.AmmoType2 "shotgunammo"
  Weapon.AmmoType1 "HunterLoaded"
  Weapon.BobStyle Alpha
  Weapon.BobSpeed 1.5
  Weapon.BobRangeX .2
  Weapon.BobRangeY .5
  Weapon.Kickback 120
  Obituary "$OBIT_HUNTERSHOTGUN"
  Tag "$WEAPON_HUNTERSHOTGUN3"
  weapon.slotnumber 4
  scale 0.6
  weapon.upsound "weapons/sawedoffdeploy"
  +AMMO_CHECKBOTH
  +NOALERT
  +weapon.meleeweapon
  Inventory.Pickupmessage "$GOT_HUNTERSHOTGUN3"
  Inventory.PickupSound "items/gunspickup"
  Inventory.Icon "HNSIC0"
  States
  {
  Ready:
  H3SN A 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  H3SN A 4 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWuser2|WRF_ALLOWUSER3)
  Loop
  ReadyLamp:
  H3SL A 4 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWuser2|WRF_ALLOWUSER3)
  Loop
  Deselect:
    H3SN A 1 A_Lower
	H3SN A 0 A_Lower
    Loop
  Select: 
    TNT1 A 0 A_TakeInventory("HunterShotgun",1)
	TNT1 A 0 A_TakeInventory("HunterShotgun2",1)
    H3SN A 1 A_Raise
	H3SN A 0 A_Raise
    Loop
  Fire:
    TNT1 A 0 a_JumpIfInventory("Hunterloaded",1,"FireReal")
    Goto Reload
  FireReal:
	TNT1 A 0 A_PlayWeaponSound ("weapons/sawedofffire")
	TNT1 A 0 A_FireBullets (2.5, 2.5, 6, 14, "hitpuff", FBF_NORANDOM)
	TNT1 A 0 a_JumpIfInventory("HunterLoaded",2,10)
	TNT1 A 0 A_TakeInventory("Hunterloaded",1,TIF_NOTAKEINFINITE)
    H3SF A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-1)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    H3SF B 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-1)
	TNT1 A 0 A_jump(256, 5)
	TNT1 A 0 A_TakeInventory("Hunterloaded",1,TIF_NOTAKEINFINITE)
	H3SF C 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-1)
    H3SF D 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-1)
	H3SF E 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light0
	TNT1 A 0 A_SetPitch(Pitch+0.5)
	TNT1 A 0 A_AlertMonsters
	H3SF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+0.5)
	H3SF G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H3SN A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H3SN A 0 A_checkreload
	Goto Ready
  Reload:
     "----" #  1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 "----" #  0 A_jumpifinventory("Shotgunammo", 1, 1)
	goto ready
     "----" #  0 A_JumpIfInventory("HunterLoaded",2,"Ready")
	 "----" #  0 A_JumpIfInventory("Hunterloaded",1,"Work2")
	 "----" #  0 A_JumpIfInventory("HunterFound",1,"work1")
  FirstLoad:
     H3SR AABBBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H3SS CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H3SS EEFFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_Giveinventory("Hunterfound",1)
	TNT1 A 8
	H3SR H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H3SR IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H3SR L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H3SR M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
  Work1:
    TNT1 A 0 A_JumpIfInventory("HunterChambered",2,"Work3")
     H3SR AABBBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H3SS CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H3SS EEFFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 16
	H3SR HHHH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H3SR IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H3SR L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H3SR M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
Work2:
    H3SR AABBBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H3SS CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H3SH EEFFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 16
	H3SH HHHH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H3SH IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H3SR K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H3SR L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H3SR M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
work3:
    H3SR AABBBB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H3SR CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H3SR EEFFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,12,-3)
    TNT1 A 16
	H3SR HHHH 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H3SR IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H3SR L 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H3SR M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  ReloadLoop:
	TNT1 A 0 A_Giveinventory("Hunterloaded",1)
	TNT1 A 0 A_Giveinventory("Hunterchambered",1)
	TNT1 A 0 A_TakeInventory("shotgunammo",1,TIF_NOTAKEINFINITE)
	TNT1 A 0 a_JumpIfInventory("Hunterloaded",2,"Reloaddone2")
	TNT1 A 0 a_JumpIfInventory("shotgunammo",1,"Reloadloop")
    Goto ReloadDone1
  ReloadDone1:
    TNT1 A 4
    H3SS N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H3SS OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H3SS Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H3SR RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H3SR U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  ReloadDone2:
    TNT1 A 4
    H3SR N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H3SR OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H3SR Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H3SR RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H3SR U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  Altfire:
    TNT1 A 0 a_JumpIfInventory("Hunterloaded",2,"FireDouble")
	TNT1 A 0 a_JumpIfInventory("Hunterloaded",1,"FireReal")
    Goto Reload
  FireDouble:
    TNT1 A 0 A_PlayWeaponSound ("weapons/sawedofffire")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	H3SF A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-2)
	H3SD A 1 BRIGHT A_WEAPONREADY(WRF_NOFIRE|WRF_NOSWITCH)
	 TNT1 A 0 A_PlayWeaponSound ("weapons/sawedoffdouble")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	TNT1 A 0 A_TakeInventory("HunterLoaded",2,TIF_NOTAKEINFINITE)
    H3SD A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light(3)
	TNT1 A 0 A_SetPitch(Pitch-4)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    H3SF B 2 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-3)
	H3SD B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H3SD C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H3SD C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	TNT1 A 0 A_Light0
	TNT1 A 0 A_AlertMonsters
	H3SF F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	H3SF G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+2)
	H3SN A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H3SN A 0 A_checkreload
	Goto Ready
   User1:	
	    H3SN ABCD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A    3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblock")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 10 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		H3SN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 PunchBlock:
        WPUN DDDCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		H3SN DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
   User2:
	    TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
        TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	    TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	Light:
	    H3SN A 2 A_giveinventory("lightlit",1) 
	    H3SL A 1 a_playsound("weapons/lampclickon")
		H3SL A 10 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
        goto ready
	UnLight:
	    H3SL A 2 A_takeinventory("lightlit",1) 
	    H3SN A 1 a_playsound("weapons/lampclickoff")
		H3SN A 10 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
        goto ready
	 user3:
 "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
        H3SN ABCD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	    TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	    H3SN A 0 a_playsound("items/flashlightload")
	    MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	    MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	    MAGL O 0 A_takeinventory("BatteryReload",1)
	    MAGL O 0 A_giveinventory("batteries",120)
	    MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	    TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	    H3SN DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	    TNT1 A 0 A_giveinventory("lightlit",1) 
	    TNT1 A 1 a_playsound("items/flashlighton")
	    goto ready
    Spawn:
		HNSP C 10
		HNSP C 1 bright
		loop
  }
}
ACTOR HunterShotgun4 : Weapon 
{
  SpawnID 27
  Weapon.Kickback 170
  Weapon.SelectionOrder 1200
  Weapon.AmmoUse1 1
  Weapon.AmmoUse2 1
  Weapon.AmmoGive2 4
  Weapon.AmmoType2 "shotgunammo"
  Weapon.AmmoType1 "HunterLoaded"
  Weapon.BobStyle Alpha
  Weapon.BobSpeed 1.5
  Weapon.BobRangeX .2
  Weapon.BobRangeY .5
  Weapon.Kickback 120
  Obituary "$OBIT_HUNTERSHOTGUN"
  Tag "$WEAPON_HUNTERSHOTGUN4"
  weapon.slotnumber 4
  scale 0.6
  weapon.upsound "weapons/sawedoffdeploy"
  +AMMO_CHECKBOTH
  +NOALERT
  +CHEATNOTWEAPON
  +weapon.meleeweapon
  Inventory.Pickupmessage "$GOT_HUNTERSHOTGUN4"
  Inventory.PickupSound "items/gunspickup"
  Inventory.Icon "HNSID0"
  States
  {
  Ready:
  TNT1 A 0 a_JumpIfInventory("shotgunammo",2,"ReadyStacked")
  H4SN A 0 a_JumpIfInventory("lightlit",1,"Readylamp")
  H40N A 5 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWuser2|WRF_ALLOWUSER3)
  Loop
  Readylamp:
  H40L A 5 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWuser2|WRF_ALLOWUSER3)
  Loop
  ReadyStacked:
  H3SN A 0 a_JumpIfInventory("lightlit",1,"ReadylampStacked")
  H42N A 5 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWuser2|WRF_ALLOWUSER3)
  Loop
  ReadyLampStacked:
  H42L A 5 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWuser2|WRF_ALLOWUSER3)
  Loop
  Deselect:
    "----" #  1 A_Lower
	"----" #  0 A_Lower
    Loop
  Select: 
    TNT1 A 0 A_TakeInventory("HunterShotgun",1)
	TNT1 A 0 A_TakeInventory("HunterShotgun2",1)
	TNT1 A 0 A_TakeInventory("HunterShotgun3",1)
	TNT1 A 0 a_JumpIfInventory("shotgunammo",2,"SelectStacked")
    H40N A 1 A_Raise
	H40N A 0 A_Raise
    Loop
SelectStacked: 
    H42N A 1 A_Raise
	H42N A 0 A_Raise
    Loop
  Fire:
   "----" # 0 a_JumpIfInventory("Hunterloaded",1,"FireReal")
    Goto Reload
  FireReal:
    "----" # 0 a_JumpIfInventory("shotgunammo",2,"FireStacked")
	H40F A 0 
	goto firereal2
FireStacked:
    H42F A 0 
FireReal2:    
	"----" # 0 A_PlayWeaponSound ("weapons/sawedofffire")
	"----" # 0 A_FireBullets (2.5, 2.5, 6, 14, "hitpuff", FBF_NORANDOM)
	"----" # 0 a_JumpIfInventory("HunterLoaded",2,10)
	"----" # 0 A_TakeInventory("Hunterloaded",1,TIF_NOTAKEINFINITE)
    "####" A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light2
	"####" A 0 A_SetPitch(Pitch-1)
	"####" A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    "####" B 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light1
	"####" A 0 A_SetPitch(Pitch-1)
	"####" A 0 A_jump(256, 5)
	"####" A 0 A_TakeInventory("Hunterloaded",1,TIF_NOTAKEINFINITE)
	"####" C 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light2
	"####" A 0 A_SetPitch(Pitch-1)
    "####" D 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light1
	"####" A 0 A_SetPitch(Pitch-1)
	"####" E 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_Light0
	"####" A 0 A_SetPitch(Pitch+0.5)
	"####" A 0 A_AlertMonsters
	"####" F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_SetPitch(Pitch+0.5)
	"####" G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" G 0 A_SetPitch(Pitch+1)
	"####" G 0 A_checkreload
	Goto Ready
  Reload:
    "----" # 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"----" # 0 A_jumpifinventory("Shotgunammo", 1, 1)
	goto ready
    "----" # 0 A_JumpIfInventory("HunterLoaded",2,"Ready")
	"----" # 0 A_JumpIfInventory("Hunterloaded",1,"Work2")
	"----" # 0 A_JumpIfInventory("HunterFound",1,"work1")
  FirstLoad:
    "----" # 0 A_JumpIfInventory("Shotgunammo",2,"FirstLoadStacked")
    H42R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H42R CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H42R EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_Giveinventory("Hunterfound",1)
	TNT1 A 8
	H42R H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H42R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H42R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H42R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
  FirstLoadStacked:
    H40R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H40R CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H40R EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_Giveinventory("Hunterfound",1)
	TNT1 A 8
	H40R H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H40R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H40R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H40R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
  Work1:
    TNT1 A 0 A_JumpIfInventory("HunterChambered",2,"Work3")
	 "----" # 0 A_JumpIfInventory("Shotgunammo",2,"work1stacked")
	  H40S A 0
	 goto Work1Real
    Work1Stacked:
	 H42S A 0
	Work1Real:
     "####" AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	"####" CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    "####" EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	"####" A 2
	"####" H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    "####" IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" A 0 A_PlaySound ("weapons/sawedoffload")
	"####" L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	"####" M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
Work2:
    "----" # 0 A_JumpIfInventory("Shotgunammo",2,"work2stacked")
    H40R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H40S CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H40H EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 2
	H40H H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H40H IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H40R K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H40R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H40R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
Work2Stacked:
    H42R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H42S CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H42H EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 2
	H42H H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H42H IJ 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H42R K 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H42R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H42R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto ReloadLoop
work3:
     "----" # 0 A_JumpIfInventory("Shotgunammo",2,"work3stacked")
    H40R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H40R CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H40R EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,12,-3)
    TNT1 A 2
	H40R H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H40R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H40R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H40R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	goto reloadloop
work3Stacked:
    H42R AABB 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffopen", CHAN_7)
	H42R CD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H42R EEFG 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,15,-3)
	TNT1 A 0 A_FireCustomMissile("shellCasingSpawner",0,0,12,-3)
    TNT1 A 2
	H42R H 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
    H42R IJK 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffload")
	H42R L 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	H42R M 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  ReloadLoop:
	TNT1 A 0 A_Giveinventory("Hunterloaded",1)
	TNT1 A 0 A_Giveinventory("Hunterchambered",1)
	TNT1 A 0 A_TakeInventory("shotgunammo",1,TIF_NOTAKEINFINITE)
	TNT1 A 0 a_JumpIfInventory("Hunterloaded",2,"Reloaddone2")
	TNT1 A 0 a_JumpIfInventory("shotgunammo",1,"Reloadloop")
    Goto ReloadDone1
  ReloadDone1:
    "----" # 0 A_JumpIfInventory("Shotgunammo",2,"ReloadDone1Stacked")
    TNT1 A 4
    H40S N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H40S OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H40S Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H40R RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H40R U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  ReloadDone1Stacked:
    TNT1 A 4
    H42S N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H42S OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H42S Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H42R RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H42R U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  ReloadDone2:
     "----" # 0 A_JumpIfInventory("Shotgunammo",2,"ReloadDone2Stacked")
    TNT1 A 4
    H40R N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H40R OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H40R Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H40R RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H40R U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
 ReloadDone2Stacked:
    TNT1 A 4
    H42R N 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H42R OP 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	TNT1 A 0 A_PlaySound ("weapons/sawedoffclose")
    H42R Q 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H42R RST 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
	H42R U 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1)
    Goto Ready
  Altfire:
    TNT1 A 0 a_JumpIfInventory("Hunterloaded",2,"FireDouble")
	TNT1 A 0 a_JumpIfInventory("Hunterloaded",1,"FireReal")
    Goto Reload
  FireDouble:
    "----" # 0 A_JumpIfInventory("Shotgunammo",2,"FireDoubleStacked")
    TNT1 A 0 A_PlayWeaponSound ("weapons/sawedofffire")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	H40F A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-2)
	H40D A 1 BRIGHT A_WEAPONREADY(WRF_NOFIRE|WRF_NOSWITCH)
	 TNT1 A 0 A_PlayWeaponSound ("weapons/sawedoffdouble")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	TNT1 A 0 A_TakeInventory("HunterLoaded",2,TIF_NOTAKEINFINITE)
    H40D A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light(3)
	TNT1 A 0 A_SetPitch(Pitch-4)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    H40F B 2 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-3)
	H40D B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H40D C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H40D C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	TNT1 A 0 A_Light0
	TNT1 A 0 A_AlertMonsters
	H40F F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	H40F G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+2)
	H40N A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H40N A 0 A_checkreload
	Goto Ready
 FireDoubleStacked:
    TNT1 A 0 A_PlayWeaponSound ("weapons/sawedofffire")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	H42F A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light2
	TNT1 A 0 A_SetPitch(Pitch-2)
	H42D A 1 BRIGHT A_WEAPONREADY(WRF_NOFIRE|WRF_NOSWITCH)
	 TNT1 A 0 A_PlayWeaponSound ("weapons/sawedoffdouble")
	TNT1 A 0 A_FireBullets (4, 2.5, 6, 16, "hitpuff", FBF_NORANDOM)
	TNT1 A 0 A_TakeInventory("HunterLoaded",2,TIF_NOTAKEINFINITE)
    H42D A 1 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_Light(3)
	TNT1 A 0 A_SetPitch(Pitch-4)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
    H42F B 2 Bright A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,8,0)
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SetPitch(Pitch-3)
	H42D B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H42D C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H42D C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	TNT1 A 0 A_Light0
	TNT1 A 0 A_AlertMonsters
	H42F F 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1.5)
	H42F G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+2)
	H42N A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	TNT1 A 0 A_SetPitch(Pitch+1)
	H42N A 0 A_checkreload
	Goto Ready
   User1:	
	    "####" ABCD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A    3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
         WPUN ABC 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
  	    TNT1 A 0 A_CustomPunch(random(3, 5) * 6, TRUE, 0, "FistPuff", 80)
	    WPUN D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		WPUN E 1 A_jumpifinventory("punchimpact", 1, "punchblock")
		WPUN FGH 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("Shotgunammo",2,"PunchReturnStacked")
		H40N DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
	 PunchBlock:
        WPUN DDDCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		"----" # 0 A_JumpIfInventory("Shotgunammo",2,"PunchReturnStacked")
		H40N DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("Punchimpact",1)
		goto ready
	PunchReturnStacked:
	    H42N DCBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		goto ready
  User2:
	    TNT1 A 0 a_JumpIfInventory("lightlit",1,"unlight")
        TNT1 A 0 a_JumpIfInventory("batteries",20,"light")
	    TNT1 A 0 a_JumpIfInventory("BatteryReload",1,"user3")
	Light:
	    H42N A 2 A_giveinventory("lightlit",1) 
	    H42L A 1 a_playsound("weapons/lampclickon")
		H42L A 10 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
        goto ready
	UnLight:
	    H42L A 2 A_takeinventory("lightlit",1) 
	    H42N A 1 a_playsound("weapons/lampclickoff")
		H42N A 10 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1)
        goto ready
	 user3:
 "----" # 0 a_JumpIfInventory("BatteryReload",1,"user3start")
	 "----" # 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	 goto ready
  User3Start:
        H42N ABCD 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	    TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	    H4SN A 0 a_playsound("items/flashlightload")
	    MAGL HIJKL 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	    MAGL MNO 3 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
	    MAGL O 0 A_takeinventory("BatteryReload",1)
	    MAGL O 0 A_giveinventory("batteries",120)
	    MAGL PQRS 3 A_WeaponReady(WRF_NOFIRE)
	    TNT1 A 8 A_WeaponReady(WRF_NOFIRE)
	    H42N DCBA 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
	    TNT1 A 0 A_giveinventory("lightlit",1) 
	    TNT1 A 1 a_playsound("items/flashlighton")
	    goto ready
    Spawn:
		HNSP D 10
		HNSP D 1 bright
		loop
  }
}