ACTOR SuperShotgunSpawner : CustomInventory Replaces SuperShotgun
{
  +INVENTORY.ALWAYSPICKUP
  Inventory.PickupMessage "$GOTSHOTGUN"
  Inventory.PickupSound "WPICK"
  Scale 0.82
  States
  {
  Spawn:
    SGN2 A 1
	SGN2 A -1
    Stop
  Pickup:
    TNT1 A 1
    TNT1 A 0 A_GiveInventory("64SuperShotgun")
    Stop
  }
}



Actor FiredOneSSGBarrel : Inventory
{
inventory.maxamount 1
}

Actor 64SuperShotgun : DoomWeapon
{
	Weapon.SelectionOrder 400
	Weapon.AmmoUse 2
	Weapon.AmmoGive 8
	Weapon.AmmoType "Shell"
	  +WEAPON.NOAUTOFIRE
	Inventory.PickupMessage "$GOTSHOTGUN2"
	Obituary "$OB_MPSSHOTGUN"
	Tag "$TAG_SUPERSHOTGUN"
	Scale 0.82
	states
	{
	Ready:
	SSGG A 1 A_WeaponReady
	Loop
	
  Select:
	TNT1 AAAAA 1 A_Raise
	TNT1 AAAAAAAAAA 0 A_Raise
	Goto SelectAnimation

 SelectAnimation:
	SSGS ABCD 1
	Goto Ready
	
 Deselect:
	SSGS DCBA 1
	TNT1 AAAAAAAAAA 0 A_Lower
	TNT1 A 1 A_Lower
	Wait
	
  Fire:
    SSGG A 1
	TNT1 A 0 A_JumpIfInventory("FiredOneSSGBarrel", 1, "AltFire")
	TNT1 AAAA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, 0, 0, 0, 0)
	TNT1 AA 0 A_SpawnItemEx("PlayerMuzzle1",30,5,40)
	TNT1 AAAAAAAAAA 0 A_FireCustomMissile("Tracer", random(-6,6), 0, -1, -12, 0, random(-5,5))
	SHTG A 0 A_FireBullets (8.0, 6.0, 16, 6, "shotpuff")
	TNT1 A 0 A_PlaySound("SSGFIRE", 1)
	TNT1 A 0 A_ZoomFactor(0.75)
    SSGF AB 1 BRIGHT
	TNT1 A 0 A_ZoomFactor(1.0)
    SSGF C 3 A_SetPitch (pitch-4)
    SSGF D 1 A_SetPitch (pitch+2.6)
    SSGG A 1 A_SetPitch (pitch+1.2)
    SSGG A 1 A_SetPitch (pitch+0.8)
    SSGG A 1 A_SetPitch (pitch+0.4)
    SSGG AAAAAABCDEFG 1
	TNT1 A 0 A_PlaySound("weapons/sshoto")
	TNT1 AA 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
	SSGG HIIIIIIIIIJKLM 1
	TNT1 A 0 A_playsound("weapons/sshotl", 4)
	SSGG NOPQ 1
	TNT1 A 8
	SSGG RS 1
	TNT1 A 0 A_PlaySound("weapons/sshotc")
	SSGG TUVWXYZAAA 1
	TNT1 A 0 A_TakeInventory("FiredOneSSGBarrel", 1)
	TNT1 A 0 A_Refire
    Goto Ready
	
	
	AltFIre:
    SSGG A 1
	TNT1 A 0 A_JumpIfInventory("Shell", 1, "FireBarrel1")
	SSGG A 1
	Goto Ready
	
	FireBarrel1:
	SSGG A 1
	TNT1 A 0 A_TakeInventory("Shell", 1)
	TNT1 A 0 A_JumpIfInventory("FiredOneSSGBarrel", 1, "AltFire2")
	TNT1 AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, 0, 0, 0, 0)
	TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,40)
	TNT1 AAAA 0 A_FireCustomMissile("Tracer", random(-6,6), 0, -1, -12, 0, random(-5,5))
	SHTG A 0 A_FireBullets (7.0, 5.0, 8, 6, "ShotgunPuff")
	TNT1 A 0 A_PlaySound("SGFIRE", 1)
	TNT1 A 0 A_ZoomFactor(0.85)
    SSGF F 2 BRIGHT
	TNT1 A 0 A_ZoomFactor(1.0)
    SSGF C 3 A_SetPitch (pitch-2)
    SSGF D 1 A_SetPitch (pitch+1.3)
    SSGG A 1 A_SetPitch (pitch+0.6)
    SSGG A 1 A_SetPitch (pitch+0.4)
    SSGG A 1 A_SetPitch (pitch+0.2)
	TNT1 A 0 A_GiveInventory("FiredOneSSGBarrel", 1)
	Goto Ready
	
	
	AltFIre2:
    SSGG A 1
	TNT1 AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, 0, 0, 0, 0)
	TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,40)
	TNT1 AAAA 0 A_FireCustomMissile("Tracer", random(-6,6), 0, -1, -12, 0, random(-5,5))
	SHTG A 0 A_FireBullets (7.0, 5.0, 8, 6, "ShotgunPuff")
	TNT1 A 0 A_PlaySound("SGFIRE", 1)
	TNT1 A 0 A_ZoomFactor(0.85)
    SSGF G 2 BRIGHT
	TNT1 A 0 A_ZoomFactor(1.0)
    SSGF C 3 A_SetPitch (pitch-2)
    SSGF D 1 A_SetPitch (pitch+1.3)
    SSGG A 1 A_SetPitch (pitch+0.6)
    SSGG A 1 A_SetPitch (pitch+0.4)
    SSGG A 1 A_SetPitch (pitch+0.2)
    SSGG AAA 1
	Goto Reload
	
   Reload:
	SSGG AAABCDEFG 1
	TNT1 A 0 A_PlaySound("weapons/sshoto")
	TNT1 AA 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
	SSGG HIIIIIIIIIJKLM 1
	TNT1 A 0 A_playsound("weapons/sshotl", 4)
	SSGG NOPQ 1
	TNT1 A 8
	SSGG RS 1
	TNT1 A 0 A_PlaySound("weapons/sshotc")
	SSGG TUVWXYZAAA 1
	TNT1 A 0 A_TakeInventory("FiredOneSSGBarrel", 1)
	TNT1 A 0 A_Refire
    Goto Ready
	
	Spawn:
		SGN2 A -1
		Stop
	}
}
