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




Actor 64Shotgun : DoomWeapon
{
  Weapon.SelectionOrder 1300
  Weapon.AmmoUse 1
  Weapon.AmmoGive 8
  Weapon.AmmoType "Shell"
  Inventory.PickupMessage "$GOTSHOTGUN"
  Obituary "$OB_MPSHOTGUN"
  Tag "$TAG_SHOTGUN"
  Scale 0.87
  states
  {

  Ready:
	SHTG A 1 A_WeaponReady
	Loop
	
  Select:
	TNT1 AAAAA 1 A_Raise
	TNT1 AAAAAAAAAA 0 A_Raise
	Goto SelectAnimation

 SelectAnimation:
	SHTS ABCD 1
	Goto Ready
	
 Deselect:
	SHTS DCBA 1
	TNT1 AAAAAAAAAA 0 A_Lower
	TNT1 A 1 A_Lower
	Wait
	
  Fire:
    SHTG A 3
	TNT1 AA 0 A_FireCustomMissile("GunFireSmoke", 0, 0, 0, 0, 0, 0)
	TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,40)
	TNT1 AAAAA 0 A_FireCustomMissile("Tracer", random(-3,3), 0, -1, -12, 0, random(-5,5))
	SHTG A 0 A_FireBullets (4.0, 4.0, 8, 7, "ShotgunPuff")
	TNT1 A 0 A_PlaySound("SGFIRE", 1)
	TNT1 A 0 A_ZoomFactor(0.95)
    SHTF AB 1 BRIGHT
	TNT1 A 0 A_ZoomFactor(1.0)
    SHTF C 3 A_SetPitch (pitch-2)
    SHTF D 1 A_SetPitch (pitch+0.8)
    SHTF E 1 A_SetPitch (pitch+0.6)
    SHTG A 1 A_SetPitch (pitch+0.4)
    SHTG A 1 A_SetPitch (pitch+0.2)
    SHTG BCDEFG 1
	TNT1 A 0 A_FireCustomMissile("ShotCaseSpawn",0,0,-4,-4)
	TNT1 A 0 A_PlaySound("STGNPUMP", 4)
	SHTG HIJKLMMLKJ 1
	SHTG IHGFEDCB 1
	TNT1 A 0 A_Refire
    Goto Ready
  Spawn:
	SHOT A 1
	SHOT A -1
	Loop
  }
}