// WEAPONS
#include "actors/weapons/core.txt"
#include "actors/weapons/ppsh.txt"
#include "actors/weapons/sten.txt"
#include "actors/weapons/machete.txt"
#include "actors/weapons/wolfrl.txt"
#include "actors/weapons/orderpistol.txt"
#include "actors/weapons/orderpistol_dual.txt"
#include "actors/weapons/type97.txt"
#include "actors/weapons/mp5.txt"
#include "actors/weapons/dukeshotty.txt"
#include "actors/weapons/sniper.txt"
#include "actors/weapons/splayer.txt"
#include "actors/weapons/aa12.txt"
#include "actors/weapons/kar98.txt"
#include "actors/weapons/m16.txt"
#include "actors/weapons/m79.txt"
#include "actors/weapons/C4.txt"
#include "actors/weapons/flamethrower.txt"
#include "actors/weapons/dynamite.txt"
#include "actors/weapons/flamenade.txt"
#include "actors/weapons/mp40.txt"
#include "actors/weapons/dualmp40.txt"
#include "actors/weapons/katana.txt"
#include "actors/weapons/chainsaw.txt"
#include "actors/weapons/deagle.txt"
#include "actors/weapons/m1garand.txt"
#include "actors/weapons/mp7.txt"
#include "actors/weapons/m60.txt"
#include "actors/weapons/rpg.txt"
#include "actors/weapons/raper.txt"
#include "actors/weapons/sticky.txt"

// ITEMS
#include "actors/items/core.txt"
#include "actors/items/backpacks.txt"
#include "actors/items/stimpacks.txt"
#include "actors/items/money.txt"
#include "actors/items/slots.txt"

// PLAYER
#include "actors/ztplayer.txt"
#include "actors/perks.txt"

// DECORATION
#include "actors/decor/walltorch.txt"
#include "actors/decor/vr.txt"
#include "actors/decor/cemetery.txt"

// FX
#include "actors/fx/casings.txt"
#include "actors/fx/puffs.txt"
#include "actors/fx/shakeitbaby.txt"
#include "actors/fx/booms.txt"
#include "actors/trader.txt"
#include "actors/fx/heads.txt"
#include "actors/fx/burnbabyburn.txt"

// ZOMBIES
#include "actors/zombies/giblets.txt"
#include "actors/zombies/spawners.txt"

#include "actors/zombies/base.txt"
#include "actors/zombies/basevar1.txt"
#include "actors/zombies/basevar2.txt"

#include "actors/zombies/facemaw.txt"
#include "actors/zombies/doggy.txt"
#include "actors/zombies/boss.txt"
#include "actors/zombies/chaingunner.txt"
#include "actors/zombies/charred.txt"
#include "actors/zombies/cranus.txt"

ACTOR ResolutionX : Inventory {Inventory.MaxAmount 99999}
ACTOR ResolutionY : Inventory {Inventory.MaxAmount 99999}

// Debugger for sounds that play at a distance, use this
// for weapon sounds and all that junk
ACTOR DistantSoundTest
{
	+NOGRAVITY
	+NOBLOCKMAP
	+CLIENTSIDEONLY
	States
	{
		Spawn:
			TNT1 A 0
			SKUL A 120
			SKUL A 0 A_PlaySoundEx("m60/distant","SoundSlot6")
		Loop
	}
}

ACTOR TraderCategory : Inventory { Inventory.MaxAmount 1 }
ACTOR WepToApply : Inventory { Inventory.MaxAmount 99 }

// ARE WE ACTUALLY IN THE TRADER?
ACTOR InTrader : Inventory { Inventory.MaxAmount 1 }

// Junk for the HUD
ACTOR HUDDummy_Bio : Inventory { Inventory.MaxAmount 999 }
ACTOR HUDDummy_Pool : Inventory { Inventory.MaxAmount 999 }
ACTOR HUDDummy_Wave : Inventory { Inventory.MaxAmount 999 }
ACTOR HUDDummy_Trader : Inventory { Inventory.MaxAmount 999 }
ACTOR HUDDummy_CurrentWave : Inventory { Inventory.MaxAmount 999 }
ACTOR HUDDummy_CurrentSeconds : Inventory { Inventory.MaxAmount 999 }
ACTOR HUDDummy_WaveStarting : Inventory { Inventory.MaxAmount 999 }
ACTOR HUDDummy_HasBegan : Inventory { Inventory.MaxAmount 999 }

ACTOR Money : Inventory{ Inventory.MaxAmount 99999 }

ACTOR Waiting : Inventory{ Inventory.MaxAmount 999 }

// For the trader menu
ACTOR MenuCursor : Inventory{ Inventory.MaxAmount 20 }
ACTOR MouseX : Inventory { Inventory.MaxAmount 800 }
ACTOR MouseY : Inventory { Inventory.MaxAmount 600 }

// We're in a menu
ACTOR MenuActive : Inventory { Inventory.MaxAmount 1 }
actor "MenuWeapon" : Weapon
{
  obituary "%o was killed."
  inventory.pickupmessage "PERK MENU!"
  weapon.selectionorder 1
  weapon.kickback 0
  +NOAUTOFIRE
  +NOALERT
  +CHEATNOTWEAPON
  +INVENTORY.UNDROPPABLE
  states
  {
  Spawn:
    TNT1 A 0
    stop
  Ready:
    TNT1 A 1 A_WeaponReady
    Loop
  Deselect:
    TNT1 A 0 A_Lower
    TNT1 A 0 A_SelectWeapon("MenuWeapon")
    TNT1 A 0 A_Lower
    TNT1 A 1 A_Lower
    loop
  Select:
    TNT1 A 0 A_Raise
    Wait
  Fire:
    TNT1 A 0
    goto Ready
  AltFire:
    TNT1 A 0
    goto Ready
  }
}

// Sandbox mode!
ACTOR StopWaveProgress 15666
{
	Radius 32
	Height 32
	States
	{
	Spawn:
	TNT1 A 1
	Loop
	}
}