actor BFGReplacer : BasicWeaponPickup Replaces BFG9000
{
    States
    {

	 Spawn:
		BFUG A 0
		BFUG A 0 Thing_ChangeTID(0,736)
		MARN A 0 ACS_NamedExecuteAlways("BDDisableNewGuns", 0, 0, 0, 0)//Check if advanced decorations are disabled.
		BFUG A 3
		
		TNT1 A 0 A_JumpIfInventory("NaziVerificate1", 1, "MG42")
		TNT1 A 0 A_Jump(48, "BFG10K")
		TNT1 A 0 A_Jump(4, "Unmaker")
		TNT1 A 0 A_Jump(48, "HexaShotty")
		
	Vanilla:	
	Spawn1:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("BFG9000Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	
	 BFG10K:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("BFG10KSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 1
		TNT1 A -1
		Stop
		
	Unmaker:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("UnmakerSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 1
		TNT1 A -1
		Stop
		
	Flamethrower:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("Flamethrower2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 1
		TNT1 A -1
		Stop	

    HexaShotty:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("HexaShotgunSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 1
		TNT1 A -1
		Stop
		
	MG42:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("NOTARGET", 1)
		TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
		TNT1 A 0 A_SpawnItemEx("HitlersBuzzsaw", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG)
		Stop
	
}}


ACTOR HexaShotgunSpawner: CustomInventory
{
 scale 0.8
 radius 24
 height 24
 +THRUACTORS +FORCEXYBILLBOARD
 Inventory.PickupSound "HEXAOPEN"
 Inventory.PickupMessage "You got fucking Hexa Shotgun! Holy Shit! (Slot 7)"
 Mass 1
    States
    {

	 Spawn:
		TNT1 A 0
		TNT1 A 1
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
		TNT1 A 0 A_SpawnItem("FakeHexaSprite")
		Loop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "Purist")
		TNT1 A 0 A_GiveInventory("HexaShotgun", 1)
		TNT1 A 0 A_GiveInventory("AmmoShell", 12)
		Stop
	Purist:
		TNT1 A 0 A_GiveInventory("AmmoShell", 12)
		Stop
    }
}

ACTOR FakeHexaSprite: RifleSpawner
{
 Scale 0.8
 +NOGRAVITY
 +FLOAT +NOCLIP +NOINTERACTION
 VisibleToPlayerClass BDoomer, Doomer2, TacticalDoomer
 States
    {

	 Spawn:
		HSGP A 0
		HSGP A 2
		Stop
    }
}