actor "RGAMenu" : Weapon
{
  obituary "%o was killed. Somehow."
  inventory.pickupmessage "You got the . . . Class Menu? WHAT?!"
  weapon.selectionorder 1
  weapon.kickback 0
  decal BulletChip
  //+NOAUTOFIRE
  +NOALERT
  +CHEATNOTWEAPON
  states
  {
  Spawn:
    TNT1 A 0
    stop
  Ready:
    TNT1 A 0
    TNT1 A 0 A_ChangeFlag("PICKUP",0)
    TNT1 A 1 ACS_NamedExecuteAlways("RefCMenu",0,0,0,0)
    TNT1 A 0 ACS_NamedExecuteAlways("RefZMenu",0,0,0,0)
    TNT1 A 0 ACS_NamedExecuteAlways("RefGMenu",0,0,0,0)
    TNT1 A 0 A_WeaponReady(WRF_DISABLESWITCH|WRF_ALLOWZOOM)
    TNT1 A 1 A_ChangeFlag("PICKUP",0)
    Goto Ready+5
  Deselect:
    TNT1 A 0 A_Lower
    TNT1 A 0 A_SelectWeapon("RGAMenu")
    TNT1 A 0 A_Lower
    TNT1 A 1 A_Lower
    loop
  Select:
    TNT1 A 0 A_Raise
    TNT1 A 0 A_Raise
    TNT1 A 1 A_Raise
    loop
  Fire:
    TNT1 A 0 A_JumpIfInventory("MenuPlace",5,3)
    TNT1 A 10 ACS_NamedExecuteAlways("RefSMenu",0,0,0,0)
	TNT1 A 1 A_ReFire
    Goto Ready+5
    TNT1 A 20 ACS_NamedExecuteAlways("RefSMenu",0,0,0,0)
	TNT1 A 1 A_ReFire
    Goto Ready+5
  Zoom:
  AltFire:
    TNT1 A 5 ACS_NamedExecuteAlways("RefSMenu",0,2,0,0)
	TNT1 A 1 A_ReFire
    Goto Ready+5
  }
}

actor MenuPlace : Inventory
{
    inventory.amount 0
    inventory.maxamount 7
}

actor MenuCursor : Inventory
{
    inventory.amount 0
    inventory.maxamount 15
}

actor "RandomThing" : Weapon
{
  obituary "%o was killed. Somehow."
  inventory.pickupmessage "You got the . . . Class Randomizer? WHAT?!"
  weapon.selectionorder 500
  weapon.kickback 0
  decal BulletChip
  weapon.ammotype "GrenadeAmmo"
  weapon.ammouse 0
  weapon.ammogive 0
  +NOAUTOFIRE
  +NOALERT
  +NOLMS
  +CHEATNOTWEAPON
  states
  {
  Spawn:
    TNT1 A 0
    stop
  Ready:
    TNT1 A 0
    TNT1 A 0 ACS_NamedExecuteAlways("RefRandC",0,0,0,0)
    TNT1 A 0 A_WeaponReady(WRF_DISABLESWITCH|WRF_NOFIRE)
    TNT1 A 1 A_TakeInventory("RandomThing",1)
    Goto Ready+2
  Deselect:
    TNT1 A 0 A_Lower
    TNT1 A 0 A_SelectWeapon("RandomThing")
    TNT1 A 0 A_Lower
    TNT1 A 1 A_Lower
    loop
  Select:
    TNT1 A 0 A_Raise
    TNT1 A 0 A_Raise
    TNT1 A 1 A_Raise
    loop
  Fire:
    TNT1 A 5
    Goto Ready+2
  AltFire:
    TNT1 A 5
    Goto Ready+2
  }
}

actor EnablePickup : CustomInventory
{
  +INVENTORY.QUIET
  +INVENTORY.AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A -1
    stop
  Pickup:
    TNT1 A 5 A_ChangeFlag("PICKUP",1)
    stop
  }
}
actor DisablePickup : CustomInventory
{
  +INVENTORY.QUIET
  +INVENTORY.AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A -1
    stop
  Pickup:
    TNT1 A 5 A_ChangeFlag("PICKUP",0)
    stop
  }
}

actor CleanCheckTrigger : CustomInventory
{
  +INVENTORY.QUIET
  +INVENTORY.AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A -1
    stop
  Pickup:
    TNT1 A 5 ACS_NamedExecuteAlways("RefCleanC",0,0,0,0)
    stop
  }
}
actor CleanCheck : Inventory
{
    inventory.amount 1
    inventory.maxamount 1
}