ACTOR BasicWeaponPickup : Health
{
	scale 0.8
	radius 20
	height 16
	+FORCEXYBILLBOARD
	+MOVEWITHSECTOR
	-COUNTITEM
	-INVENTORY.ALWAYSPICKUP
	Inventory.Amount 0
	Inventory.MaxAmount 99999
	+Quiet
}

// Slot 1 ----------------------------------------------------------------------

ACTOR ChainsawSpawner: BasicWeaponPickup 2055
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite CSAWA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("Chain_saw",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicSaw",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR AxeSpawner: BasicWeaponPickup 2065
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite AXE1A0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalAxe",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicSaw",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

actor ChainsawSpawnerReplacer : BasicWeaponPickup Replaces Chainsaw
{
    States
    {
	 Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("EvidenceCheckerChainsaw", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		MARN A 0 ACS_NamedExecuteAlways("BDDisableNewGuns", 0, 0, 0, 0)//Check if advanced decorations are disabled.
		TNT1 A 2
		TNT1 A 0 A_Jump(16, "Spawn2")
		TNT1 A 2

	Vanilla:
	Spawn1:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("ChainsawSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	Spawn2:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("AxeSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	}
}

// Slot 2 ----------------------------------------------------------------------

ACTOR BrutalPistolSpawner: CustomInventory
{
	scale 0.9
	radius 20
	height 16
	+FORCEXYBILLBOARD
	+INVENTORY.NOSCREENFLASH
	Inventory.PickupMessage "$GOTPISTOL"
	Inventory.PickupSound "CLIPIN"
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	 Spawn:
		PIST G 1 A_ChangeFlag("THRUACTORS", 0)
		PIST G -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("BrutalPistol", 1, "DualPistol")
		TNT1 A 0 A_JumpIfInventory("DualPistols", 1, "AmmoOnly")
	PickupNormal:
		TNT1 A 0 A_GiveInventory("BrutalPistol", 1)
		TNT1 A 0 A_GiveInventory("Clip1", 15)
		Stop
	DualPistol:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("HasDualPistol", 1)
		TNT1 A 0 A_GiveInventory("Clip1", 15)
		Stop
	AmmoOnly:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("Clip1", 15)
		Stop
    }
}

ACTOR PistolSpawner: BasicWeaponPickup 5040
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite PISTG0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalPistolSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicPistol",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

// Slot 3 ----------------------------------------------------------------------

ACTOR BrutalShotgunSpawner: CustomInventory
{
	radius 20
	height 16
	Scale 0.8
	+FORCEXYBILLBOARD
	+INVENTORY.NOSCREENFLASH
	Inventory.PickupMessage "$GOTSHOTGUN"
	Inventory.PickupSound "weapons/sgpump"
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	Spawn:
		SHTC A 1 A_ChangeFlag("THRUACTORS", 0)
		SHTC A -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("Shot_Gun2", 1, "AmmoOnly")
		TNT1 A 0 A_GiveInventory("Shot_Gun", 1)
		TNT1 A 0 A_GiveInventory("AmmoShell", 4)
		Stop
	AmmoOnly:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("AmmoShell", 4)
		Stop
    }
}

ACTOR ShotgunSpawner: BasicWeaponPickup 2021
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite SHTCA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalShotgunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicShotgun",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR ShotgunSpawnerDroped: ShotgunSpawner
{
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalShotgunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicShotgun",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR BrutalRevolverSpawner: CustomInventory
{
	radius 20
	height 16
	Scale 0.6
	+FORCEXYBILLBOARD
	+INVENTORY.NOSCREENFLASH
	Inventory.PickupMessage "$GOTREVOLVER"
	Inventory.PickupSound "REVOHAM"
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	Spawn:
		REVP A 1 A_ChangeFlag("THRUACTORS", 0)
		REVP A -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("Revolver2", 1, "AmmoOnly")
		TNT1 A 0 A_GiveInventory("Revolver", 1)
		TNT1 A 0 A_GiveInventory("AmmoMagnum", 6)
		Stop
	AmmoOnly:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("AmmoMagnum", 6)
		Stop
    }
}

ACTOR RevolverSpawner: BasicWeaponPickup 5874
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite REVPA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalRevolverSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicShotgun",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

actor ShotgunSpawnerReplacer: BasicWeaponPickup Replaces Shotgun
{
    States
    {
	 Spawn:
		TNT1 A 0
		MARN A 0 ACS_NamedExecuteAlways("BDDisableNewGuns", 0, 0, 0, 0)//Check if advanced decorations are disabled.
		TNT1 A 2
		TNT1 A 0 A_Jump(2, "Spawn2")
		TNT1 A 2

	Vanilla:
	Spawn1:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("ShotgunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	 Spawn2:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("RevolverSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	}
}

ACTOR BrutalSSGSpawner: CustomInventory
{
	YScale 0.8
	XScale 1.0
	radius 20
	height 16
	+FORCEXYBILLBOARD
	+INVENTORY.NOSCREENFLASH
	Inventory.PickupSound "CLIPINSS"
	Inventory.PickupMessage "$GOTSHOTGUN2"
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	 Spawn:
		SGN2 A 1 A_ChangeFlag("THRUACTORS", 0)
		SGN2 A -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("SSG2", 1, "AmmoOnly")
		TNT1 A 0 A_GiveInventory("SSG", 1)
		TNT1 A 0 A_GiveInventory("AmmoShell", 2)
		Stop
	AmmoOnly:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("AmmoShell", 2)
		Stop
    }
}

ACTOR SSGSpawner: BasicWeaponPickup 92
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite SGN2A0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalSSGSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicSSG",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR BrutalASGSpawner: CustomInventory
{
	radius 20
	height 16
	Scale 0.8
	+FORCEXYBILLBOARD
	+INVENTORY.NOSCREENFLASH
	Inventory.PickupSound "CLIPIN"
	Inventory.PickupMessage "$GOTASG"
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	Spawn:
		A12P A 1 A_ChangeFlag("THRUACTORS", 0)
		A12P A -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("AssaultShotgun2", 1, "AmmoOnly")
		TNT1 A 0 A_GiveInventory("AssaultShotgun", 1)
		TNT1 A 0 A_GiveInventory("AmmoShell", 4)
		Stop
	AmmoOnly:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("AmmoShell", 4)
		Stop
    }
}

ACTOR AssaultShotgunSpawner: BasicWeaponPickup 102
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite A12PA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalASGSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicSSG",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

actor SSGSpawnerReplacer: BasicWeaponPickup Replaces SuperShotgun
{
    States
    {
	 Spawn:
		TNT1 A 0
		MARN A 0 ACS_NamedExecuteAlways("BDDisableNewGuns", 0, 0, 0, 0)//Check if advanced decorations are disabled.
		TNT1 A 2
		TNT1 A 0 A_Jump(16, "Spawn2")
		TNT1 A 2

	Vanilla:
	Spawn1:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("SSGSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	 Spawn2:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("AssaultShotgunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	}
}

// Slot 4 ----------------------------------------------------------------------

ACTOR BrutalRifleSpawner : CustomInventory
{
	radius 20
	height 16
	+FORCEXYBILLBOARD
	Inventory.PickupMessage "$GOTRIFLE"
	Inventory.PickupSound "CLIPIN"
	+INVENTORY.NOSCREENFLASH
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	 Spawn:
		RIFL A 1 A_ChangeFlag("THRUACTORS", 0)
		RIFL A -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsTacticalClass", 1, "PickupNormal")
		TNT1 A 0 A_JumpIfInventory("Rifle", 1, "DualRifle")
		TNT1 A 0 A_JumpIfInventory("DualRifles", 1, "AmmoOnly")
	PickupNormal:
		TNT1 A 0 A_GiveInventory("Rifle", 1)
		TNT1 A 0 A_GiveInventory("Clip2", 30)
		Stop
	DualRifle:
		TNT1 A 0 A_GiveInventory("HasDualRifle", 1)
		TNT1 A 0 A_GiveInventory("Clip2", 30)
		Stop
	AmmoOnly:
		TNT1 A 0 A_GiveInventory("Clip2", 30)
		Stop
    }
}

ACTOR RifleSpawner: BasicWeaponPickup Replaces Pistol
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite RIFLA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalRifleSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicSMG",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR BrutalSMGSpawner: CustomInventory
{
	scale 0.8
	radius 20
	height 16
	+FORCEXYBILLBOARD
	+INVENTORY.NOSCREENFLASH
	Inventory.PickupSound "CLIPIN"
	Inventory.Pickupmessage "$GOTSMG"
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	 Spawn:
		SMGZ A 1 A_ChangeFlag("THRUACTORS", 0)
		SMGZ A -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsTacticalClass", 1, "PickupNormal")
		TNT1 A 0 A_JumpIfInventory("BrutalSMG", 1, "Dual")
		TNT1 A 0 A_JumpIfInventory("DualSMG", 1, "AmmoOnly")
	PickupNormal:
		TNT1 A 0 A_GiveInventory("BrutalSMG", 1)
		TNT1 A 0 A_GiveInventory("Clip1", 40)
		Stop
	Dual:
		TNT1 A 0
	    TNT1 A 0 A_GiveInventory("HasDualSMG", 1)
		TNT1 A 0 A_GiveInventory("Clip1", 40)
		Stop
	AmmoOnly:
		TNT1 A 0 A_GiveInventory("Clip1", 40)
		Stop
    }
}

ACTOR SMGSpawner: BasicWeaponPickup 5060
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite SMGZA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalSMGSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicSMG",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR BrutalMP40Spawner: CustomInventory
{
	radius 20
	height 16
	+FORCEXYBILLBOARD
	+INVENTORY.NOSCREENFLASH
	Inventory.PickupMessage "$GOTMP40"
	Inventory.PickupSound "CLIPIN"
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	 Spawn:
		MP40 I 1  A_ChangeFlag("THRUACTORS", 0)
		MP40 I -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsTacticalClass", 1, "PickupNormal")
		TNT1 A 0 A_JumpIfInventory("MP40", 1, "Dual")
		TNT1 A 0 A_JumpIfInventory("DualMP40", 1, "AmmoOnly")
	PickupNormal:
		TNT1 A 0 A_GiveInventory("MP40", 1)
		TNT1 A 0 A_GiveInventory("Mauser9mm", 32)
		Stop
	Dual:
		TNT1 A 0 A_GiveInventory("HasDualMP40", 1)
		TNT1 A 0 A_GiveInventory("Mauser9mm", 32)
		Stop
	AmmoOnly:
		TNT1 A 0 A_GiveInventory("Mauser9mm", 32)
		Stop
    }
}

ACTOR MP40Spawner: BasicWeaponPickup 5070
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite MP40I0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalMP40Spawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicMP40",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR ChaingunSpawner: BasicWeaponPickup 2032
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite MGUNA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("MiniGun",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicChaingun",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR DropedChaingunSpawner: ChaingunSpawner
{
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("MiniGun",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicChaingun",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR MachinegunSpawner: BasicWeaponPickup 2042
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite MGN1Z0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("Machinegun",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicChaingun",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

actor ChaingunSpawnerReplacer : BasicWeaponPickup Replaces Chaingun
{
    States
    {
	 Spawn:
		TNT1 A 0
		MARN A 0 ACS_NamedExecuteAlways("BDDisableNewGuns", 0, 0, 0, 0)//Check if advanced decorations are disabled.
		TNT1 A 2
		TNT1 A 0 A_Jump(2, "Spawn4")//MP40
		TNT1 A 0 A_Jump(16, "Spawn3")//Machinegun
		TNT1 A 0 A_Jump(32, "Spawn2")//SMG
		TNT1 A 2

	Vanilla:
	Spawn1:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("ChaingunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	 Spawn2:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("SMGSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	Spawn3:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("MachinegunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	Spawn4:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("MP40Spawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	}
}

// Slot 5 ----------------------------------------------------------------------

ACTOR RocketLauncherSpawner : BasicWeaponPickup 2033
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite RLAUA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("Rocket_Launcher",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicRocketLauncher",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR GrenadeLauncherSpawner: BasicWeaponPickup 2043
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite GLAPA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("GrenadeLauncher",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicRocketLauncher",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

actor RLSpawnerReplacer : BasicWeaponPickup Replaces RocketLauncher
{
    States
    {
	 Spawn:
		TNT1 A 0
		MARN A 0 ACS_NamedExecuteAlways("BDDisableNewGuns", 0, 0, 0, 0)//Check if advanced decorations are disabled.
		TNT1 A 2
		TNT1 A 0 A_Jump(32, "Spawn2")
		TNT1 A 2

	Vanilla:
	Spawn1:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("RocketLauncherSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	 Spawn2:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("GrenadeLauncherSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	}
}

// Slot 6 ----------------------------------------------------------------------

ACTOR BrutalPlasmagunSpawner: CustomInventory
{
	scale 0.9
	radius 20
	height 16
	+FORCEXYBILLBOARD
	+INVENTORY.NOSCREENFLASH
	Inventory.PickupSound "PLSDRAW"
	Inventory.PickupMessage "$GOTPLASMA"
	VisibleToPlayerClass BDoomer, Doomer2, Doomer3, ArcadeDoomer, ArcadeDoomer2, ArcadeDoomer3, TacticalDoomer
	Inventory.ForbiddenTo Purist
	+Inventory.RestrictAbsolutely
    States
    {
	 Spawn:
		PLAS A 1 A_ChangeFlag("THRUACTORS", 0)
		PLAS A -1
		Stop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsTacticalClass", 1, "PickupNormal")
		TNT1 A 0 A_JumpIfInventory("Plasma_Gun", 1, "DualPlasma")
		TNT1 A 0 A_JumpIfInventory("DualPlasmaRifles", 1, "AmmoOnly")
	PickupNormal:
		TNT1 A 0 A_GiveInventory("Plasma_Gun", 1)
		TNT1 A 0 A_GiveInventory("AmmoCell", 20)
		Stop
	DualPlasma:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("HasDualPlasma", 1)
		TNT1 A 0 A_GiveInventory("AmmoCell", 20)
		Stop
	AmmoOnly:
		TNT1 A 0 A_GiveInventory("AmmoCell", 20)
		Stop
    }
}

ACTOR PlasmagunSpawner: BasicWeaponPickup 2034
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite PLASA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalPlasmagunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicPlasmaRifle",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR DropedPlasmaGun: PlasmagunSpawner
{
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BrutalPlasmagunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicPlasmaRifle",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR RailgunSpawner: BasicWeaponPickup 2044
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite SRCGA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("RailGun",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicPlasmaRifle",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

actor PlasmagunReplacer : BasicWeaponPickup Replaces PlasmaRifle
{
    States
    {
	 Spawn:
		TNT1 A 0
		MARN A 0 ACS_NamedExecuteAlways("BDDisableNewGuns", 0, 0, 0, 0)//Check if advanced decorations are disabled.
		TNT1 A 2
		TNT1 A 0 A_Jump(32, "Spawn2")
		TNT1 A 2

	Vanilla:
	Spawn1:
		PLAS A 0
		TNT1 A 0 A_SpawnItemEx ("PlasmagunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	 Spawn2:
		PLAS A 0
		TNT1 A 0 A_SpawnItemEx ("RailgunSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	}
}

// Slot 7 ----------------------------------------------------------------------

ACTOR BFG9000Spawner: BasicWeaponPickup 2036
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite BFUGA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BIG_FUCKING_GUN",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("VanillaBFG9000",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR BFG10KSpawner: BasicWeaponPickup 2056
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite BFG2A0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BFG10k",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("VanillaBFG9000",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR UnmakerSpawner: BasicWeaponPickup 8845
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite UNHWA0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("Unmaker",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicUnmaker",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR BuzzsawSpawner: BasicWeaponPickup 2052
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite HBUSD0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("HitlersBuzzsaw",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ClassicBuzzsaw",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR FlameThrowerSpawner: BasicWeaponPickup 2086
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite FLMTF0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("Flamethrower2",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("VanillaBFG9000",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

ACTOR NukeLauncherSpawner: BasicWeaponPickup 2096
{
	//$Category BD Weapon Spawners
	//$Icon "weapon"
	//$Colour rgb(220,180,100)
	//$Sprite NKLGD0
	//$NotAngled
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("NukeLauncher",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("VanillaBFG9000",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

actor BFGReplacer : BasicWeaponPickup Replaces BFG9000
{
    States
    {

	 Spawn:
		TNT1 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.
		TNT1 A 8

		TNT1 A 0 A_JumpIfInventory("NaziVerificate1", 1, "MG42")
		TNT1 A 0 A_Jump(2, "Nuke")
		TNT1 A 0 A_Jump(4, "MG42", "Flamethrower")
		TNT1 A 0 A_Jump(16, "Unmaker")
		TNT1 A 0 A_Jump(32, "BFG10K")
		TNT1 A 2

	Vanilla:
	Spawn1:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("BFG9000Spawner",0,0,0,0,0,0,0,0,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,0,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,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	Flamethrower:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("FlameThrowerSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	MG42:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx ("BuzzsawSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop

	Nuke:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("NukeLauncherSpawner",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
	}
}

// Slot 8 ----------------------------------------------------------------------

ACTOR HMLSpawner: BasicWeaponPickup
{
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("HellishMissileLauncher",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("RocketPurist",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}

// Slot 9 ----------------------------------------------------------------------

ACTOR FlameCannonSpawner: BasicWeaponPickup
{
	States
    {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("FlameCannon",0,0,0,0,0,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("CellPurist",0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		TNT1 A -1
		Stop
    }
}