#include M45Shotgun.txt

ACTOR ShotgunSpawner: CustomInventory Replaces Shotgun
{
 scale 0.8
 radius 24
 height 24
 +THRUACTORS +FORCEXYBILLBOARD
 Inventory.PickupMessage "You got the Pump Shotgun! (Slot 3)"
 Inventory.PickupSound "weapons/sgpump"
 Mass 1
    States
    {

	 Spawn:
		SGN2 A 0
		MARN A 0 ACS_NamedExecuteAlways("BDDisableNewGuns", 0, 0, 0, 0)//Check if advanced decorations are disabled.
		SGN2 A 2
		TNT1 A 0 A_Jump(64, "Spawn2")
		
	Vanilla:	
	Spawn1:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("ShotgunSpawned",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	
	 Spawn2:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("M45ShotgunSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}


ACTOR ShotgunSpawned: CustomInventory
{
 scale 0.8
 radius 24
 height 24
 +THRUACTORS +FORCEXYBILLBOARD

 Inventory.PickupMessage "You got the Pump Shotgun! (Slot 3)"
 Inventory.PickupSound "weapons/sgpump"
 Mass 1
    States
    {

	 Spawn:
		SHTC A 0
		SHTC A 2
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
		TNT1 A 0 A_SpawnItem("FakeOldSGSprite")
		TNT1 A 0 A_SpawnItem("FakeNewSGSprite")
		Loop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "Purist")
		TNT1 A 0 A_GiveInventory("Shot_Gun", 1)
		TNT1 A 0 A_GiveInventory("AmmoShell", 8)
		Stop
	Purist:
	    TNT1 A 0 A_GiveInventory("ClassicShotgun", 1)
		TNT1 A 0 A_GiveInventory("AmmoShell", 8)
		Stop
    }
}


ACTOR M45ShotgunSpawner: CustomInventory
{
 scale 0.8
 radius 15
 height 15
 +THRUACTORS +FORCEXYBILLBOARD

 Inventory.PickupMessage "You got the M45 Shotgun! (Slot 3)"
 Inventory.PickupSound "HaloPump2"
 Mass 1
    States
    {

	 Spawn:
		SHTC A 0
		SH0S G 3
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
		Loop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "Purist")
		TNT1 A 0 A_JumpIfInventory("M45Shotgun", 1, "PickupNotTheFirstTime")
		TNT1 A 0 A_GiveInventory("M45Shotgun", 1)
		TNT1 A 0 A_GiveInventory("AmmoShell", 12)
		TNT1 A 0 A_GiveInventory("HaloShotgunAmmo", 13)
		Stop
	Purist:
		TNT1 A 0 A_GiveInventory("AmmoShell", 12)
		Stop
	PickupNotTheFirstTime:
	TNT1 A 0 A_GiveInventory("AmmoShell", 12)
	Stop
    }
}
