//Weapon pickups
#include "actors/crystals/CA_Chainsaw.txt"
#include "actors/crystals/CA_Shotgun.txt"
#include "actors/crystals/CA_SSG.txt"
#include "actors/crystals/CA_Chaingun.txt"
#include "actors/crystals/CA_RocketLauncher.txt"
#include "actors/crystals/CA_PlasmaRifle.txt"
#include "actors/crystals/CA_Berserk.txt"

//Ammo replacers
#include "actors/ammo.txt"

//Health, armor, and items
#include "actors/HealthArmor.txt"

//Effects
#include "actors/CAEffects.txt"

//+++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++
//Combined_Arms weapons
//+++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++

//Artificer

#include "actors/Artificer/BlackJack.txt"
#include "actors/Artificer/LilksAxe.txt"
#include "actors/Artificer/SecondWind.txt"
#include "actors/Artificer/Shotgun.txt"
#include "actors/Artificer/SharpShooter.txt"
#include "actors/Artificer/VultureSMG.txt"
#include "actors/Artificer/CyclopsCannon.txt"
#include "actors/Artificer/BusterRifle.txt"


//Blastmaster Mk2

#include "actors/Blastmaster/BlastMasterEffects.txt"
#include "actors/Blastmaster/VentShots.txt"
#include "actors/Blastmaster/Mantisbunker.txt"
#include "actors/Blastmaster/Icebeam.txt"
#include "actors/Blastmaster/BMshotgun.txt"
#include "actors/Blastmaster/BMSSG.txt"
#include "actors/Blastmaster/DefianceGun.txt"
#include "actors/Blastmaster/GrenadeGun.txt"
#include "actors/Blastmaster/BMPlasmaGun.txt"

//Tech Monk

#include "actors/TechMonk/HandBeam.txt"
#include "actors/TechMonk/WaveBall.txt"
#include "actors/TechMonk/MoonBeam.txt"
#include "actors/TechMonk/ClashBall.txt"
#include "actors/TechMonk/PearlLaser.txt"
#include "actors/TechMonk/StrikerBeam.txt"

//Past Linked

#include "actors/PastLinked/HeroSword.txt"
#include "actors/PastLinked/LinkedBow.txt"
#include "actors/PastLinked/CrisSword.txt"
#include "actors/PastLinked/MagicalRod.txt"
#include "actors/PastLinked/LinkedSubweapons.txt"


//Crate weaponry

#include "actors/crateweapons/Bricks.txt"
#include "actors/crateweapons/ParticleSmasher.txt"
#include "actors/crateweapons/ShootKnightPistol.txt"
#include "actors/crateweapons/IcarusLauncher.txt"
#include "actors/crateweapons/PocketBoner.txt"

//The crate
#include "actors/weaponcrate.txt"

//Tokens and crap
#include "Playertokens.dec"


actor ArtiDummy
{
	scale 2
	states
	{
	spawn:
		RTDM A random (22,65)
	Flickering:
		RTDM A random (2,3)
		RTDM B random (1,2)
		TNT1 A 0 a_jump (70,"Spawn")
		loop
	death:
		TNT1 A 1
		TNT1 A 1
		stop
	}
}



actor Artificer : DoomPlayer
{
	Player.DisplayName "Artificer"
	Player.StartItem "SecondWind"
	Player.StartItem "BlackJackBaton"
	Player.startitem "IAmArtificer", 1
	Player.startitem "seekritthing", 1
	Player.AirCapacity 0
	Player.startitem "clip", 50
	Player.CrouchSprite "CAGY"
	Player.portrait "CBGPIC"
	Player.soundclass "Artificer"
	DamageFactor "CyclopsShell", 0
	Species "Player"
	+THRUSPECIES
	+dontblast
	+DONTGIB
	Player.weaponslot 1, BlackJackBaton, SkillAxe
	Player.weaponslot 2, SecondWind
	Player.weaponslot 3, SharpShooter, WhiplashShotgun
	Player.weaponslot 4, VultureSMG
	Player.weaponslot 5, CyclopsCannon
	Player.weaponslot 6, BusterCarbine
	Player.weaponslot 7, TSbrick, ParticleSmasher, SKpistol, IcarusLauncher, RevenantBox
	states
	{
	Spawn:
		CAGY A -1
		Loop
	See:
		CAGY ABCD 4 
		Loop
	Missile:
		CAGY E 12
		Goto Spawn
	Melee:
		CAGY F 6 BRIGHT
		Goto Missile
	Pain:
		TNT1 A 0 
		TNT1 A 0 a_takeinventory ("ArtiPainTimer",9999)
		TNT1 A 0 a_giveinventory ("ArtiPainTimer",30)
		CAGY G 4 A_Pain
		CAGY G 4
		Goto Spawn
	Death:
	XDeath:
		CAGY H 6
		CAGY I 5 A_PlayerScream
		CAGY J 5 A_NoBlocking
		CAGY K 4
		CAGY L -1
		Stop
	}
}

actor BlastMaster : DoomPlayer
{
	Player.DisplayName "BlastMaster Mk.2"
	Player.StartItem "BMIceBeam"
	Player.StartItem "IceCharge", 100
	Player.startitem "IAmBlastMaster", 1
	Player.startitem "seekritthing", 1
	Player.AirCapacity 0
	Player.CrouchSprite "BMGY"
	Player.portrait "BMSPIC"
	Player.soundclass "Artificer"
	DamageFactor "CyclopsShell", 0
	Species "Player"
	+THRUSPECIES
	+dontblast
	+DONTGIB
	Player.weaponslot 1, MantisBunker
	Player.weaponslot 2, BMIcebeam
	Player.weaponslot 3, BMShotgun, BMSSG
	Player.weaponslot 4, BMMachineGun
	Player.weaponslot 5, BMGrenader
	Player.weaponslot 6, BMPlasmagun
	Player.weaponslot 7, TSbrick, ParticleSmasher, SKpistol, IcarusLauncher, RevenantBox
	states
	{
	Spawn:
		BMGY A -1
		Loop
	See:
		BMGY ABCD 4 
		Loop
	Missile:
		BMGY E 12
		Goto Spawn
	Melee:
		BMGY F 6 BRIGHT
		Goto Missile
	Pain:
		TNT1 A 0
		TNT1 A 0 a_takeinventory ("ArtiPainTimer",9999)
		TNT1 A 0 a_giveinventory ("ArtiPainTimer",40)
		BMGY G 4 A_Pain
		BMGY G 4 
		Goto Spawn
	Death:
	XDeath:
		TNT1 A 0
		BMGY H 2 A_PlayerScream
		TNT1 A 0 a_playsound ("BlastMaster/Die",0)
		TNT1 A 1 A_NoBlocking
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1
		BMGY H 2
		TNT1 A 1


		BMGY I 5
		BMGY J 5
		BMGY K 4
		BMGY L -1
		Stop
	}
}


actor TechMonk : DoomPlayer
{
	Player.DisplayName "Tech Monk"
	Player.StartItem "HandBeam"
	Player.startitem "IAmTechMonk", 1
	Player.startitem "seekritthing", 1
	Player.AirCapacity 0
	Player.CrouchSprite "TMNK"
	Player.portrait "TCMPIC"
	Player.soundclass "Artificer"
	DamageFactor "CyclopsShell", 0
	Species "Player"
	+THRUSPECIES
	+dontblast
	+DONTGIB
	Player.weaponslot 1, HandBeam, StrikerBeam
	//Player.weaponslot 2, HandBeam
	Player.weaponslot 3, Waveball
	Player.weaponslot 4, Moonbeam
	Player.weaponslot 5, ClashBall
	Player.weaponslot 6, PearlLaser
	Player.weaponslot 7, TSbrick, ParticleSmasher, SKpistol, IcarusLauncher, RevenantBox
	states
	{
	Spawn:
		TMNK A -1
		Loop
	See:
		TMNK ABCD 4 
		Loop
	Missile:
		TMNK E 5
		Goto Spawn
	Melee:
		TMNK E 3
		TMNK F 4 bright
		Goto missile
	Pain:
		TNT1 A 0
		TNT1 A 0 a_takeinventory ("ArtiPainTimer",9999)
		TNT1 A 0 a_giveinventory ("ArtiPainTimer",78)
		TMNK G 4 A_Pain
		TMNK G 4 
		Goto Spawn
	Death:
	XDeath:
		TNT1 A 0
		TNT1 A 0 a_playsound ("TechMonk/Die",0)
		TMNK H 3 A_PlayerScream
		TMNK I 3 A_NoBlocking
		TMNK HIHIHIHIHI 3
		TMNK JKLM 2
		TNT1 A -1
		Stop
	}
}

actor PastLinked : DoomPlayer
{
	Player.DisplayName "Past Linked"
	Player.StartItem "HeroSword"
	Player.StartItem "BoomerangToken"
	Player.StartItem "BoomerangActive"
	Player.startitem "IAmPastLinked", 1
	Player.startitem "seekritthing", 1
	Player.AirCapacity 0
	Player.CrouchSprite "L1NK"
	Player.portrait "PSLPIC"
	Player.soundclass "Artificer"
	DamageFactor "CyclopsShell", 0
	Species "Player"
	+THRUSPECIES
	+dontblast
	+DONTGIB
	Player.weaponslot 1, HeroSword
	//Player.weaponslot 2, 
	Player.weaponslot 3, LinkedBow
	Player.weaponslot 4, CrisSword
	Player.weaponslot 6, MagicalRod
	Player.weaponslot 7, TSbrick, ParticleSmasher, SKpistol, IcarusLauncher, RevenantBox
	states
	{
	Spawn:
		L1NK A -1
		Loop
	See:
		L1NK ABCD 4 
		Loop
	Missile:
		TNT1 A 0 
		L1NK E 8 
		Goto Spawn
	Melee:
		L1NK E 6 
		Goto spawn	
	Pain:
		TNT1 A 0
		TNT1 A 0 a_takeinventory ("ArtiPainTimer",9999)
		TNT1 A 0 a_giveinventory ("ArtiPainTimer",60)
		L1NK F 4 A_Pain
		L1NK F 4
		Goto Spawn
	Death:
	XDeath:
		L1NK H 2 A_PlayerScream
		L1NK H 1 A_NoBlocking
		L1NK H 12
		
		TNT1 A 0 a_playsound ("PastLinked/Die",0)
		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 1

		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 1

		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 1

		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 1

		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 1

		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 1

		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 1

		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 1




		L1NK I 1
		L1NK J 1
		L1NK K 1
		L1NK L 1
		L1NK M 1
		L1NK N 1
		L1NK O 1
		L1NK H 2
		L1NK H 10

		L1NK P 3 bright
		L1NK Q 3 bright
		L1NK R 15 bright
		TNT1 A 0 a_playsound ("PastLinked/Blip",0)
		TNT1 A 0 a_spawnitemex ("LinkedDed",0,0,40,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A -1
		Stop
	}
}

actor LinkedDed
{
	projectile
	+nointeraction
	speed 10
	+BRIGHT
	+CLIENTSIDEONLY
	scale 3
	states
	{
	spawn:	
		ZDTH A 3
		ZDTH B 3
		ZDTH A 3
		Stop
	}
}



/*
//+++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++
//Combined_Arms Monsters and blood stuff
//+++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++
#include "actors/monsters/CA_Blood.txt"
#include "actors/monsters/ZombieGunner.txt"
#include "actors/monsters/ShotGunner.txt"
#include "actors/monsters/ImpDude.txt"
#include "actors/monsters/Chaingunner.txt"
#include "actors/monsters/Pinky.txt"
#include "actors/monsters/SneakyPinky.txt"
#include "actors/monsters/BigMouthedHissyThing.txt"
#include "actors/monsters/SostLool.txt"
#include "actors/monsters/MeatballDemon.txt"
#include "actors/monsters/Bruiserbro.txt"
#include "actors/monsters/KnellHight.txt"
#include "actors/monsters/Agitator.txt"
#include "actors/monsters/Fatty.txt"
#include "actors/monsters/Lilspider.txt"
#include "actors/monsters/Pissedoffmartian.txt"
#include "actors/monsters/Bigspider.txt"
#include "actors/monsters/AngryCow.txt"
*/




// Decorate for Game Checking related Actors

///Gametype Testers (Ripped from Psychic)
ACTOR GameDoom    { Game Doom    SpawnID 255  Radius 1  Height 1 }
ACTOR GameHeretic { Game Heretic SpawnID 255  Radius 1  Height 1 }
ACTOR GameHexen   { Game Hexen   SpawnID 255  Radius 1  Height 1 }
ACTOR GameStrife  { Game Strife  SpawnID 255  Radius 1  Height 1 }
ACTOR GameChex    { Game Chex    SpawnID 255  Radius 1  Height 1 }

//Gametype Testers
ACTOR BFGameDoom    : Inventory {Game Doom Inventory.MaxAmount 1}
ACTOR BFGameHeretic : Inventory {Game Heretic}
ACTOR BFGameHexen   : Inventory {Game Hexen}
ACTOR BFGameStrife  : Inventory {Game Strife}
ACTOR BFGameChex    : Inventory {Game Chex}