#include "actors/fx/core.txt"

// FX
#include "actors/fx/sparks.txt"
#include "actors/fx/casings.txt"
#include "actors/fx/mags.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/legs.txt"
#include "actors/fx/burnbabyburn.txt"
#include "actors/fx/healthbar.txt"
#include "actors/fx/flashlight.txt"
#include "actors/fx/flame.txt"
#include "actors/fx/smoke.txt"

// WEAPONS
#include "actors/weapons/core.txt"
#include "actors/weapons/ppsh.dec"
#include "actors/weapons/sten.dec"
#include "actors/weapons/machete.txt"
#include "actors/weapons/wolfrl.txt"
#include "actors/weapons/orderpistol.dec"

// #include "actors/weapons/orderpistol_dual.txt"
// #include "actors/weapons/dualmp40.txt"
// #include "actors/weapons/dualmac10.txt"

#include "actors/weapons/type97.txt"
#include "actors/weapons/mp5.dec"
#include "actors/weapons/dukeshotty.dec"
#include "actors/weapons/sniper.dec"
#include "actors/weapons/splayer.txt"
#include "actors/weapons/aa12.dec"
#include "actors/weapons/kar98.txt"
#include "actors/weapons/m16.dec"
#include "actors/weapons/m79.dec"
#include "actors/weapons/C4.dec"
#include "actors/weapons/flamethrower.dec"
#include "actors/weapons/dynamite.txt"
#include "actors/weapons/flamenade.txt"
#include "actors/weapons/mp40.dec"
#include "actors/weapons/katana.txt"
#include "actors/weapons/chainsaw.txt"
#include "actors/weapons/m1garand.dec"
#include "actors/weapons/mp7.dec"
#include "actors/weapons/m60.txt"
#include "actors/weapons/rpg.dec"
#include "actors/weapons/raper.txt"
#include "actors/weapons/sticky.dec"
#include "actors/weapons/pulverizer.txt"
#include "actors/weapons/spas12.dec"
#include "actors/weapons/mac10.dec"
#include "actors/weapons/minigun.txt"
#include "actors/weapons/trishot.txt"
#include "actors/weapons/ztfist.dec"
#include "actors/weapons/cooker.dec"
#include "actors/weapons/wickedstaff.txt"
#include "actors/weapons/syringe.txt"
#include "actors/weapontypes.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"
#include "actors/decor/carnival.txt"
#include "actors/decor/gothic.txt"
#include "actors/decor/stripclub.txt"
#include "actors/decor/wario.txt"

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

#include "actors/zombies/base.dec"

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

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

// We've voted to end trader time
ACTOR TraderReady : Boolean {}

// Land sound HACK
ACTOR InAir : Boolean {}

// Sprinting?
ACTOR Sprinting : Boolean {}

// 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 : Boolean {}

// 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 HUDDummy_TraderVotes : Inventory { Inventory.MaxAmount 999 }
ACTOR HUDDummy_TotalVotes : Inventory { Inventory.MaxAmount 999 }
ACTOR UseACSAmmoDisplay : Inventory { Inventory.MaxAmount 1 }

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 9999 }
ACTOR MouseY : Inventory { Inventory.MaxAmount 9999 }
ACTOR MouseNegativeX : Inventory {Inventory.MaxAmount 1}
ACTOR MouseNegativeY : Inventory {Inventory.MaxAmount 1}
ACTOR UsingWheel : Inventory {Inventory.MaxAmount 1}
ACTOR CanUseWheel : Inventory {Inventory.MaxAmount 1}

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

// -- This is for long-distance sound tests -- //
ACTOR SoundTester
{
	+NOGRAVITY
	+FLOAT
	+NOBLOCKMAP
	States
	{
		Spawn:
		TROO A 0
		TROO A 0 A_PlaySoundEx("spas/distant","SoundSlot6")
		TROO A 0 A_PlaySound("spas/fire",CHAN_WEAPON)
		TROO A 150
		Loop
	}
}