Actor Z_FloorCheck
{
	Radius 8
	Height 4
	+SOLID
	+NOTIMEFREEZE
	States
	{
		Spawn:
			TNT1 A 1
			Stop
	}
}

Actor EnemyMemory : Inventory
{
inventory.maxamount 60
}


Actor LookingForPlayer : Inventory
{
inventory.maxamount 30
}

Actor BrutalCounter : Inventory
{
inventory.maxamount 500
}

Actor BrutalCounter2 : Inventory
{
inventory.maxamount 500
}

Actor JustStartedGame : Inventory
{
inventory.maxamount 1
}

Actor GenderMale : Inventory
{
inventory.maxamount 1
+INVENTORY.UNDROPPABLE
}

Actor GenderFemale : Inventory
{
inventory.maxamount 1
+INVENTORY.UNDROPPABLE
}
Actor PistolFireAnimation1 : Inventory
{
inventory.maxamount 1
}


Actor PistolBurstFire : Inventory
{
inventory.maxamount 1
}

Actor RevolverChangeAmmo : Inventory
{
inventory.maxamount 1
}

Actor AxeHIt : Inventory
{
inventory.maxamount 1
}

Actor DMgame : Inventory
{
inventory.maxamount 1
+INVENTORY.UNDROPPABLE
}

Actor DebrisGeneral
{
+MISSILE
+NOBLOCKMAP
+NOGRAVITY
+DROPOFF
+NOTELEPORT
+FORCEXYBILLBOARD
+NOTDMATCH
+GHOST
radius 1
height 1
mass 1
damage 0
}


//Guns Guns Guns
//#include SMOOTHWEAPS.dec
#include DEFAULTWEAPON.dec
#include TRACERS.dec
#include WeaponSpawners.dec
#include SAW.dec
#include RIFLE.dec
#include PISTOL.dec
#include SHOTGUN.dec
#include SSG.dec
#include MINIGUN.dec
#include ROCKETLAUNCHER.dec
#include EXPLOSIVES.dec
#include PARTICLES.dec
#include PLASMA.dec
#include BFG.dec
#include MELEE.dec
#include SYRINGE.dec
#include ASSAULTSHOTGUN.dec
#include GRENADELAUNCH.dec
#include BFG10K.dec
#include RAILGUN.dec
//#include AMMODROPER.dec

//DECORATIONS
#include FURNITURE.dec
#include LAMPS.dec
#include NATURAL.dec
#include FIREWORKS.dec
#include TORCHES.dec
#include DEAD.dec

//Enemies
#include THROWN.dec
#include ZOMBIEMEN.dec
#include SERGEANTS.dec
#include COMANDO.dec
#include IMPS.dec
#include DEMONS.dec
#include SPECTRE.dec
#include KNIGHT.dec
#include BARON.dec
#include LOSTSOUL.dec
#include SPIDERS.dec
#include REVENANT.dec
#include MANCUBUS.dec
#include CACODEMO.dec
#include PAIN.dec
#include ARCHVILE.dec
#include CYBERDEMON.dec
#include MASTERMIND.dec
#include NAZIS.dec
#include EEEVILLL.dec
//ST Monsters
#include BELPHEGOR.dec
#include JUGGERNAUT.dec
//Gore N' Blood
#include GORE!!!.dec
#include GORE2.dec
#include GORE3.dec
#include BLOOD.dec
#include BLOODSPLASH.dec
#include BURN.dec


//MISC
#include HEAD_SYS.dec
#include SMOKE.dec
#include CASING.dec
#include FIRE.dec
#include SPARKS.dec
#include FLARES.dec
#include ARTIFACT.dec
#include HEALTH2.dec
#include BOSSBOX.dec
#include DROPABLES.dec
#include PUFF.dec
#include AMMO.dec
//#include ARACHBOX

//Player Classes
#include PLAYER.dec
#include RADIO.dec
#include MARINES.dec
#include EXTRA.dec

#include VanillaMonsters.txt

#include STDarkImp.dec
#include VoidDarkImp.dec
#include SoulHarvester.dec
#include BruiserDemon.dec
#include HellsFury.dec
#include HellWarrior.dec

Actor oneliner: Inventory
{
inventory.maxamount 1
}





Actor advtaunting: Inventory
{
inventory.maxamount 1
}

Actor SKZombieman : Inventory
{
inventory.maxamount 1
}

Actor SKShotgunguy : Inventory
{
inventory.maxamount 1
}

Actor SKChaingunguy: Inventory
{
inventory.maxamount 1
}

Actor SKImp : Inventory
{
inventory.maxamount 1
}

Actor SKUbersoldat : Inventory
{
inventory.maxamount 1
}

Actor SKNazi : Inventory
{
inventory.maxamount 1
}





Actor FistsSelected: Inventory
{
inventory.maxamount 1
}

Actor RifleSelected: Inventory
{
inventory.maxamount 1
}

Actor ShotgunSelected: Inventory
{
inventory.maxamount 1
}

Actor MinigunSelected: Inventory
{
inventory.maxamount 1
}

Actor SSGSelected: Inventory
{
inventory.maxamount 1
}

Actor RocketLauncherSelected: Inventory
{
inventory.maxamount 1
}

Actor GrenadeLauncherSelected: Inventory
{
inventory.maxamount 1
}


Actor PlasmaGunSelected: Inventory
{
inventory.maxamount 1
}

Actor RailGunSelected: Inventory
{
inventory.maxamount 1
}

Actor BFGSelected: Inventory
{
inventory.maxamount 1
}

Actor BFG10KSelected: Inventory
{
inventory.maxamount 1
}

Actor SubMachineGunSelected: Inventory
{
inventory.maxamount 1
}

Actor FlameCannonSelected: Inventory
{
inventory.maxamount 1
}

Actor RevenantLauncherSelected: Inventory
{
inventory.maxamount 1
}

Actor FallingHeight : Inventory
{
inventory.maxamount 100
}


Actor LostSoulSelected: Inventory
{
inventory.maxamount 1
}


Actor DeathTimer1 : Inventory
{
inventory.maxamount 120
}

Actor Timer555 : Inventory
{
inventory.maxamount 555
}


Actor NoNewEnemies : Inventory
{
inventory.maxamount 1
}

Actor IsTacticalClass : Inventory
{
inventory.maxamount 2
+INVENTORY.UNDROPPABLE
}

Actor IsNOTTacticalClass : Inventory
{
inventory.maxamount 2
+INVENTORY.UNDROPPABLE
}

Actor IsRunning : Inventory
{
inventory.maxamount 1
}

Actor IsRunning2 : Inventory
{
inventory.maxamount 1
}



Actor TargetIsACyberdemon : Inventory
{
inventory.maxamount 1
}


Actor TargetIsAMastermind : Inventory
{
inventory.maxamount 1
}

Actor TargetIsABaronOfHell : Inventory
{
inventory.maxamount 1
}

Actor TargetIsAMancubus : Inventory
{
inventory.maxamount 1
}


Actor IsPlayingAsPurist : Inventory
{
inventory.maxamount 1
}

Actor KickHasHit : Inventory
{
inventory.maxamount 1
}

Actor FistHit : Inventory
{
inventory.maxamount 1
}

Actor NoFatality : Inventory
{
inventory.maxamount 1
}

actor VoxelSwitchBase : SwitchableDecoration
{
	Radius 16
	Height 32

	Activation THINGSPEC_Switch

	+SOLID
	+NOGRAVITY
	+USESPECIAL
	+NOCLIP
}

actor VoxelSwitchTech01 : VoxelSwitchBase 15000
{
	states
	{
		Spawn:
			Goto Inactive
		Active:
			SW01 B 70 A_PlaySound("switches/normbutn")
			SW01 B 0 Thing_Deactivate(0)
		Inactive:
			SW01 A -1 A_PlaySound("switches/exitbutn")
			Stop
	}
}

actor VoxelSwitchTech02 : VoxelSwitchBase 15001
{
	states
	{
		Spawn:
			Goto Inactive
		Active:
			SW02 B 70 A_PlaySound("switches/normbutn")
			SW02 B 0 Thing_Deactivate(0)
		Inactive:
			SW02 A -1 A_PlaySound("switches/exitbutn")
			Stop
	}
}

actor VoxelSwitchTech03 : VoxelSwitchBase 15002
{
	states
	{
		Spawn:
			Goto Inactive
		Active:
			SW03 B 70 A_PlaySound("switches/normbutn")
			SW03 B 0 Thing_Deactivate(0)
		Inactive:
			SW03 A -1 A_PlaySound("switches/exitbutn")
			Stop
	}
}

actor VoxelSwitchTech04 : VoxelSwitchBase 15003
{
	states
	{
		Spawn:
			Goto Inactive
		Active:
			SW04 B 70 A_PlaySound("switches/normbutn")
			SW04 B 0 Thing_Deactivate(0)
		Inactive:
			SW04 A -1 A_PlaySound("switches/exitbutn")
			Stop
	}
}

actor VoxelSwitchHell01 : VoxelSwitchBase 15020
{
	states
	{
		Spawn:
			Goto Inactive
		Active:
			SW05 B 70 A_PlaySound("switches/normbutn")
			SW05 B 0 Thing_Deactivate(0)
		Inactive:
			SW05 A -1 A_PlaySound("switches/exitbutn")
			Stop
	}
}

// Dummy inventory items for the HUD
#include "actors/nchudinv_ammo.txt"
#include "actors/nchudinv_armor.txt"
#include "actors/nchudinv_arms.txt"
#include "actors/nchudinv_health.txt"
#include "actors/nchudinv_misc.txt"

Actor TargetHealth : Ammo
{
	Inventory.MaxAmount 0x7fffffff
	+KeepDepleted
	+Inventory.IgnoreSkill
}

Actor JPHUD_BarToken : Inventory
{
    Inventory.MaxAmount 1
    +Inventory.Undroppable
	+Inventory.UnTossable
    -Inventory.Invbar
	+Inventory.HubPower
	+Inventory.PersistentPower
}

Actor SilverBar : JPHUD_BarToken {}
Actor BronzeBar : JPHUD_BarToken {}
Actor GoldBar : JPHUD_BarToken {}
Actor EmeraldBar : JPHUD_BarToken {}

Actor EnemyHealthBarTop : JPHUD_BarToken {}
Actor EnemyHealthBarBottom : JPHUD_BarToken {}
Actor EnemyHealthBarLeft : JPHUD_BarToken {}
Actor EnemyHealthBarRight : JPHUD_BarToken {}
Actor DrawTargetTag : JPHUD_BarToken {}

ACTOR TitlescreenMarine 987
{
Scale 2.5
height 50
radius 10
+LOOKALLAROUND
-SHOOTABLE
+INVULNERABLE
+NOBLOOD
+SOLID
+FORCEYBILLBOARD
Mass 900000
	states
	{
	Spawn:
		MWAV A 1 //Bright
		MWAV A 300 //Bright
		MWAV B 6 //Bright
		MWAV C 6 //Bright
		MWAV D 6 //Bright
		Goto Cheer
	Cheer:
		MWAV E 21
		MWAV F 21
		loop
	}
}

ACTOR TitlescreenMarine2 986
{
Scale 2.5
height 50
radius 10
+LOOKALLAROUND
-SHOOTABLE
+INVULNERABLE
+NOBLOOD
+SOLID
+FORCEYBILLBOARD
Mass 900000
	states
	{
	Spawn:
		MWAV A 1 //Bright
		MWAV A 300 //Bright
		MWAV B 6 //Bright
		MWAV C 6 //Bright
		MWAV D 6 //Bright
		Goto Cheer
	Cheer:
		MWAV G 21 
		MWAV H 21
		loop
	}
}

ACTOR TitlescreenBarrel 988
{
	Game Doom
    Mass 99999
    -PUSHABLE
    -WINDTHRUST
	States
	{
	Spawn:
		TNT1 A 1
		Goto Death
	Death:
		TNT1 AAAAAAA 100
		TNT1 A 18
		TNT1 A 0 A_Stop
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItem ("BigRicoChet", 0, -15)
		TNT1 A 0 A_SpawnItemEx ("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	    TNT1 A 0 A_SpawnItemEx ("DetectCeilCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("BarrelKaboom",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 AAAAAAAAAAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAAAAAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 180))
		TNT1 AAAAAAAA 0 A_CustomMissile ("BarrelShrapnel1", 25, 0, random (0, 360), 2, random (30, 160))
		TNT1 AAAAAAAA 0 A_CustomMissile ("BarrelShrapnel2", 15, 0, random (0, 360), 2, random (30, 160))
		TNT1 AAAAAAAA 0 A_CustomMissile ("BarrelShrapnel3", 5, 0, random (0, 360), 2, random (30, 160))
		TNT1 AAAAAAAA 0 A_CustomMissile ("BarrelShrapnel4", 5, 0, random (0, 360), 2, random (30, 160))
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ShrapnelParticle2", 0, 0, random (0, 360), 2, random (5, 90))
		TNT1 A 0 Radius_Quake (7, 54, 0, 15, 0)
		TNT1 A 0 A_PlaySound("GBANG13",0)
		TNT1 A 1 A_SpawnItemEx("SpawnedExplosionGiant",0,0,10)
		TNT1 A 1 A_SpawnItemEx("SpawnedExplosionGiant",0,0,10)
		TNT1 A 1 A_SpawnItemEx("SpawnedExplosionGiant",0,0,10)
		TNT1 AAAAAAA 0 A_SpawnItem("BarrelExplosionSmokeColumn")
		TNT1 AAAAAAAAAAA 4 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (50, 130))
		TNT1 A 1 A_BarrelDestroy
		Wait
	}
}


