
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
	TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
	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
		
	DoKick:
	    TNT1 A 0
		KICK A 0 A_Takeinventory("Kicking",1)
		TNT1 A 0 A_jumpifinventory("Stamina",20,4)
		TNT1 A 0 A_Print("Not enough stamina!", 1)
		TNT1 A 0 A_PlaySound("Tired", 2)
		Goto Ready
		TNT1 AAA 0
		TNT1 A 0 A_TakeInventory("Stamina", 20)
		TNT1 A 0 A_Takeinventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_Takeinventory("ADSmode",1)
		NULL A 0 A_JumpIf (momZ > 0, "AirKick")
		NULL A 0 A_JumpIf (momZ < 0, "AirKick")
		NULL A 0 A_JumpIf (pitch > 32, "LowKickChecker1")
		Goto InitializeNormalKick
		
		LowKickChecker1:
		TNT1 A 0
	    NULL A 0 A_JumpIf (pitch > 90, "InitializeNormalKick")
		RIFF A 0 A_FireCustomMissile("KickAttackDetectDowned", 0, 0, 0, 0)
		
		InitializeNOrmalKick:
        TNT1 A 0 A_jumpifinventory("PowerStrength",1,"BerserkerKick")
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 SetPlayerProperty(0,1,0)
		KICK BCD 1
		RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
        KICK H 5
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK I 1
		KICK GFEDCBA 1 
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto SelectAnimation
    BerserkerKick:
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 SetPlayerProperty(0,1,0)
		KICK BCD 1
        RIFF A 0 A_FireCustomMissile("SuperKickAttack", 0, 0, 0, -7)
        KICK H 5
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK I 1
		KICK GFEDCBA 1 
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto SelectAnimation
	
	AirKick:
	    TNT1 A 0
		TNT1 A 0 A_TakeInventory("Stamina", 20)
	    TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperAirKick")
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 A_Recoil (-6)
		KICK JKLMN 1
        RIFF A 0 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -31)
        KICK O 3
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK PQRST 2
		Goto SelectAnimation
		
	SuperAirKick:
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 A_Recoil (-6)
		KICK JKLMN 1
        RIFF A 0 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -31)
        KICK O 3
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK PQRST 2
		Goto SelectAnimation		
	}
}
