// Main decoration items -------
#Include Actors/Items/Decoration/Other.dec
#Include Actors/Items/Decoration/Phone.dec
#Include Actors/Items/Decoration/Pushables.dec
#Include Actors/Items/Decoration/Dynamite.dec
#Include Actors/Items/Decoration/Statue.dec
#Include Actors/Items/Decoration/Webs.dec

// trees -------
#Include Actors/Items/Decoration/Trees/tree_normal.dec
#Include Actors/Items/Decoration/Trees/tree_winter.dec
#Include Actors/Items/Decoration/Trees/tree_Duke.dec
#Include Actors/Items/Decoration/Trees/tree_Jungle.dec

// plants -------
#Include Actors/Items/Decoration/Plants/Pottree.dec
#Include Actors/Items/Decoration/Plants/Dukebush.dec
#Include Actors/Items/Decoration/Plants/Bran.dec
#Include Actors/Items/Decoration/Plants/Cattail.dec

// FX Decoration -------
#Include Actors/Items/Decoration/Effects/Fire.dec
#Include Actors/Items/Decoration/Effects/Glass.dec
#Include Actors/Items/Decoration/Effects/Mako.dec
#Include Actors/Items/Decoration/Effects/Other.dec
#Include Actors/Items/Decoration/Effects/Rain.dec
#Include Actors/Items/Decoration/Effects/Snow.dec
#Include Actors/Items/Decoration/Effects/Steam.dec
#Include Actors/Items/Decoration/Effects/Fog.dec

// Lights ------
#Include Actors/Items/Decoration/Lights/ParticleLight.dec
#Include Actors/Items/Decoration/Lights/Candle.dec
#Include Actors/Items/Decoration/Lights/Hexbull.dec
#Include Actors/Items/Decoration/Lights/Lamp.dec
#Include Actors/Items/Decoration/Lights/Pyre.dec

// Obtainables -------
#Include Actors/Items/Powerups/Circulator.dec
#Include Actors/Items/Powerups/Cross.dec
#Include Actors/Items/Powerups/Crystal.dec
#Include Actors/Items/Powerups/Drink.dec
#Include Actors/Items/Powerups/Kevlar.dec
#Include Actors/Items/Powerups/leapstone.dec
#include Actors/Items/Powerups/Pentagram.dec
#Include Actors/Items/Powerups/Syringe.dec
#Include Actors/Items/Powerups/Elixir.dec
#Include Actors/Items/Powerups/Firebomb.dec
#Include Actors/Items/Powerups/Nukebomb.dec

#Include Actors/Items/Other/Flare.dec
#Include Actors/Items/Other/Health.dec
#Include Actors/Items/Other/Keys.dec

#Include Actors/Items/Special.dec

// Player related -------
#Include Actors/Player/DoomMarine.dec
#Include Actors/Player/Mechanics.dec
#Include Actors/player/Powerups.dec
#Include Actors/Player/Protections.dec
#Include Actors/Player/SpeedChanges.dec

// Weapons -------
#Include Actors/Weapons/Chaingun.dec
#Include Actors/Weapons/Claws.dec
#Include Actors/Weapons/Grenade.dec
#Include Actors/Weapons/JacksGun.dec
#Include Actors/Weapons/Pistol.dec
#Include Actors/Weapons/Radio.dec
#Include Actors/Weapons/Shotgun.dec
#Include Actors/Weapons/Sniper.dec
#Include Actors/Weapons/SuperShotgun.dec

// FX for actors -------
#include Actors/FX/casings.dec
#include Actors/FX/shakeitbaby.dec
#include Actors/FX/smoke.dec
#include Actors/FX/tracers.dec
#include Actors/FX/boomboom.dec
#Include Actors/FX/puffs.dec
#Include Actors/FX/UnusualParticles.dec
#Include Actors/FX/Infections.dec
#Include Actors/FX/Splashes.dec
#Include Actors/FX/Blood.dec


/* ACHIEVEMENTS RELATED ITEMS */

Actor RoundNumber : Inventory
{
  Inventory.Amount 0
  Inventory.maxamount 50
}

Actor IsBurning : Inventory
{
  Inventory.Amount 0
}

ACTOR PreventiveInfectionCheck : PowerProtection
{
  Powerup.Duration -1
}


// Everything down here is acting like booleans. This will be refactored into user vars

Actor Boolean : Inventory
{
    Inventory.MaxAmount 1
    +UNDROPPABLE
    -INVBAR
}

// General definitions
ACTOR PlayerReload 	   : Boolean {}
ACTOR PlayerUseSpecial : Boolean {}
ACTOR PlayerPerforming : Boolean {}

// Special Item definitions
ACTOR ThrowItemNade 	  : Boolean {}
ACTOR ThrowItemCross 	  : Boolean {}
ACTOR ThrowItemCirculator : Boolean {}
ACTOR UseItemArtifact	  : Boolean {}

// Akimbo
ACTOR IsAkimbo 		: Boolean {}
ACTOR FakeFireLeft 	: Boolean {}
ACTOR FakeFireRight : Boolean {}

// Sniper
ACTOR SniperBolting : Boolean {}
ACTOR SniperZooming : Inventory { Inventory.MaxAmount 5 }

// Shotgun
ACTOR ShotgunPump : Boolean {}
ACTOR ForcedReload : Boolean {}

// Checkers
ACTOR ChaingunSpinning 	  : Boolean {}
ACTOR ChaingunDeselecting : Boolean {}
ACTOR HasWound 			  : Boolean {} // Failsafe to prevent immediate jumping to hold, MUST wind up

// Pistol
ACTOR PistolMuzzle  : Inventory { Inventory.MaxAmount 2 }
ACTOR PistolTwoHand : Boolean {}

// Jack's Gun
ACTOR JackPending : Boolean {}

// Super Shotgun
ACTOR SSGShots	 : Inventory { Inventory.MaxAmount 2 }
ACTOR SSGloading : Boolean {}

// Claws
ACTOR ZombieSecondaryAttack : Boolean {}
ACTOR PlayerSpecBarrel	  	: Boolean {}
ACTOR PlayerSpecAcid	  	: Boolean {}
ACTOR PlayerSpecLunge	  	: Boolean {}

ACTOR DenyClaw			  	: Boolean {}
ACTOR DoingSecondary	  	: Boolean {}

ACTOR DoSpecial			  	: Boolean {}
ACTOR DoSpecialAcidSpit	  	: Boolean {}
ACTOR DoSpecialBarrelPush 	: Boolean {}
ACTOR DoSpecialLunge	  	: Boolean {}
ACTOR ZLungeAttack	  	  	: Boolean {}

// Grenade
ACTOR PinOut 	   : Boolean {}
ACTOR RePinning	   : Boolean {}
ACTOR NoNadeSprite : Boolean {}