ACTOR UndeadKnight : Archvile  30114 
{
MONSTER
Health 2666
Height 72
Radius 24
Mass 1000 
Speed 12
PainChance 20 
MeleeDamage 20
MeleeRange 65
+BOSS
+FLOORCLIP
+DEFLECT 
+NOTARGET
+NOINFIGHTING
+NORADIUSDMG
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTHURTSPECIES
+DONTHARMSPECIES
+THRUSPECIES
Species "Viles"
RadiusDamageFactor 0.5
DamageFactor "PlayerFireSword", 0.0
DamageFactor "PlayerDTRG", 0.65
DamageFactor "HellComet", 0.2
DamageFactor "PDTBFG", 0.25
DamageFactor "PDTBFGTracer", 0.25
DamageFactor "PlayerDevBall", 0.125
DamageFactor "PlayerDevBall2", 0.125
DamageFactor "PlayerDevTracer", 0.125
DamageFactor "PlayerDTBFGRailgunSlug", 0.125
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDTRG", 0.5
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "Legendary", 0.1
DamageFactor "LegendaryPlayer", 0.1
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor 0.65
//No Infighting
DamageFactor "VilesFire", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "CadaverRocket", 0.0
DamageFactor "CacoComet", 0.0
DamageFactor "BeheComet", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "Baby15K", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "ImpComet", 0.0
DamageFactor "Masterminds", 0.0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DropItem "HellfireUltrasphere", 256, 1
SeeSound "monster/dknsit" 
ActiveSound "monster/dknact" 
MeleeSound "monster/dknhit" 
PainSound "monster/dknpai" 
DeathSound "monster/dkndth" 
Obituary "%o got thought he could kill a deathknight."
HitObituary "A Deathknight hacked %o into pieces." 
var int user_skeldelay;
var int user_souldelay;
var int user_ghouldelay;
var int user_faminedelay;
States 
	{ 
	Spawn: 
		DKNT A 5
		TNT1 A 0 A_SetUserVar("user_skeldelay",5)
		TNT1 A 0 A_SetUserVar("user_souldelay",7)
		TNT1 A 0 A_SetUserVar("user_ghouldelay",9)
		TNT1 A 0 A_SetUserVar("user_faminedelay",13)
	Idle:
		DKNT A 10 A_Look 
		Loop 
	See:
		TNT1 A 0 A_Jump(32,"ShieldSee")
		TNT1 A 0 A_UnSetReflectiveInvulnerable
		TNT1 A 0 A_Radiusgive("Health",500,RGF_MONSTERS,3)
		DKNT AABB 3 A_VileChase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT CCDD 3 A_VileChase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		Loop
	ShieldSee:
		TNT1 A 0 A_SetReflectiveInvulnerable
		DKNT PPQQ 3 A_Chase
		TNT1 A 0 A_Radiusgive("Health",500,RGF_MONSTERS,5)
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT RRSS 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT PPQQ 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT RRSS 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT PPQQ 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT RRSS 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT PPQQ 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT RRSS 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT PPQQ 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT RRSS 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT PPQQ 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT RRSS 3 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		Goto see
	Melee:
		TNT1 A 0 A_UnSetReflectiveInvulnerable
		DKNT E 5 A_FaceTarget
		DKNT F 1 A_Playsound ("monster/dknswg")
		DKNT F 4 A_FaceTarget
		DKNT G 5 A_MeleeAttack 
		Goto See
	Missile:
		TNT1 A 0 A_JumpIfHealthLower(500,"Missile2")
		TNT1 A 0 A_Jump(20,"WELCOMETOTHEBONEZONE")
		TNT1 A 0 A_Jump(255,"SpookySkeletons","Souls","Ghouls","Faminee","AOEHeal")
		Goto See
	Missile2:
		DKNT E 0 Bright A_UnSetReflectiveInvulnerable
		TNT1 A 0 A_Jump(255,"RaiseChildren","SpookySkeletons","Souls","Ghouls","Faminee","AOEHeal")
		Goto See
	Defense:
		TNT1 A 0 A_Jump(256,"Defense1","Defense2","Defense3","Defense4")
	Defense1:
		TNT1 A 0 Bright A_UnSetReflectiveInvulnerable
		DKNT E 6 Bright A_FaceTarget
		DKNT F 6 Bright A_Playsound("monster/kntswg")
		TNT1 A 0 Bright A_CustomMissile("DKDart",32,0,-3,0)
		TNT1 A 0 Bright A_CustomMissile("DKDart",32,0,-1,0)
		DKNT G 0 Bright A_CustomMissile("DKDart",32,0,1,0)
		DKNT G 5 Bright A_CustomMissile("DKDart",32,0,3,0)
		Goto see
	Defense2:
		TNT1 A 0 Bright A_SetReflectiveInvulnerable
		DKNT T 3 Bright A_FaceTarget      
		DKNT U 3 Bright A_CustomMissile("DKbolt",44,-4,0,0)
		DKNT T 3 Bright A_FaceTarget      
		DKNT U 3 Bright A_CustomMissile("DKbolt",44,-4,0,0)
		DKNT T 3 Bright A_FaceTarget      
		DKNT U 3 Bright A_CustomMissile("DKbolt",44,-4,0,0)
		DKNT T 3 Bright A_FaceTarget      
		DKNT U 3 Bright A_CustomMissile("DKbolt",44,-4,0,0)
		DKNT T 3 Bright A_FaceTarget      
		DKNT U 3 Bright A_CustomMissile("DKbolt",44,-4,0,0)
		DKNT T 3 Bright A_FaceTarget      
		DKNT U 2 Bright A_CustomMissile("DKbolt",44,-4,0,0)
		DKNT U 0 Bright A_UnSetReflectiveInvulnerable
		Goto see
	Defense3:
		TNT1 A 0 Bright A_SetReflectiveInvulnerable
		DKNT T 6 Bright A_FaceTarget
		DKNT U 1 Bright A_FaceTarget
		TNT1 A 0 Bright A_CustomMissile("FHeadShot",44,-4,-12,0)      
		DKNT U 5 Bright A_CustomMissile("FHeadShot",44,-4,12,0)
		TNT1 A 0 Bright A_UnSetReflectiveInvulnerable
		Goto See
	Defense4:
		DKNT P 0 A_SetReflectiveInvulnerable
		TNT1 A 0 A_ChangeFlag(Frightened,1)
		DKNT PPQQ 2 A_Wander
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT RRSS 2 A_Wander
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		DKNT PPQQ 2 A_Wander
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		TNT1 A 0 A_Jump(75,"Defense4End")
		Loop
	Defense4End:
		TNT1 A 0 A_ChangeFlag(Frightened,0)
		Goto see
	SpookySkeletons:
		TNT1 A 0 A_JumpIf(user_Skeldelay >= 3,"SkelSummon")
		TNT1 A 0 A_SetUserVar("user_Skeldelay",user_Skeldelay+1)
		Goto Defense
	SkelSummon:
		TNT1 A 0 A_SetInvulnerable
		DKNT EE 3 Bright A_FaceTarget 
		TNT1 A 0 A_GiveInventory("Health",20)
		TNT1 A 0 A_UnSetInvulnerable
		DKNT E 8 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,90,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,180,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,360,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_PlaySound("monster/dknsit")
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
		DKNT E 25 Bright 
		TNT1 A 0 A_SetUserVar("user_Skeldelay",0)
		TNT1 A 0 A_Jump(80,"AOEHeal")
		Goto See
	Souls:
		TNT1 A 0 A_JumpIf(user_souldelay >= 5,"SoulSummon")
		TNT1 A 0 A_SetUserVar("user_souldelay",user_souldelay+1)
		Goto Defense
	SoulSummon:
		TNT1 A 0 A_SetInvulnerable
		DKNT EE 3 Bright A_FaceTarget 
		TNT1 A 0 A_GiveInventory("Health",20)
		TNT1 A 0 A_UnSetInvulnerable
		DKNT E 8 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ESoul",50,50,20,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_SpawnItemEx("ESoul",50,50,20,0,0,0,90,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_SpawnItemEx("ESoul",50,50,20,0,0,0,180,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_SpawnItemEx("ESoul",50,50,20,0,0,0,360,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_PlaySound("monster/dknsit")
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
		DKNT E 25 Bright 
		TNT1 A 0 A_SetUserVar("user_souldelay",0)
		TNT1 A 0 A_Jump(80,"AOEHeal")
		Goto See
	Ghouls:
		TNT1 A 0 A_JumpIf(user_ghouldelay >= 7,"ghoulSummon")
		TNT1 A 0 A_SetUserVar("user_ghouldelay",user_ghouldelay+1)
		Goto Defense
	GhoulSummon:
		TNT1 A 0 A_SetInvulnerable
		DKNT EE 3 Bright A_FaceTarget 
		TNT1 A 0 A_GiveInventory("Health",20)
		TNT1 A 0 A_UnSetInvulnerable
		DKNT E 8 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("RMGhoul",50,50,20,0,0,0,180,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_SpawnItemEx("RMGhoul",50,50,20,0,0,0,360,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 A_PlaySound("monster/dknsit")
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION,0)
		DKNT E 25 Bright 
		TNT1 A 0 A_SetUserVar("user_ghouldelay",0)
		TNT1 A 0 A_Jump(80,"AOEHeal")
		Goto See
	Faminee:
		TNT1 A 0 A_JumpIf(user_faminedelay >= 9,"FamineSummon")
		TNT1 A 0 A_SetUserVar("user_faminedelay",user_faminedelay+1)
		Goto Defense
	FamineSummon:
		TNT1 A 0 A_SetInvulnerable
		DKNT EE 3 Bright A_FaceTarget 
		TNT1 A 0 A_UnSetInvulnerable
		DKNT E 8 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("DKFamine",50,50,20,0,0,0,90,SXF_SETMASTER,0)
		TNT1 A 0 A_PlaySound("monster/dknsit")
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
		DKNT E 25 Bright 
		TNT1 A 0 A_SetUserVar("user_faminedelay",0)
		TNT1 A 0 A_Jump(80,"AOEHeal")
		Goto See
/*	WarCry:
		TNT1 A 0 ACS_ExecuteAlways(420)
		TNT1 A 0 ACS_ExecuteAlways(421)	
		TNT1 A 0 ACS_ExecuteAlways(422)	
		TNT1 A 0 a_jumpifinventory("keepgoingboi", 1, "WarCryGo")
		Goto Missile
	WarCryGo:
		TNT1 A 0 A_TakeInventory("keepgoingboi",1)
		TNT1 A 0 A_Radiusgive("DKMinionsBuff",1000,RGF_MONSTERS)
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
		DKNT E 20 Bright A_PlaySound("monster/dknsit",0,1000)
		Goto see
*/
	AoeHeal:
		TNT1 A 0 A_Radiusgive("Health",1000,RGF_MONSTERS,200)
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
		DKNT E 20 Bright A_PlaySound("monster/dknsit",0,1000)
		Goto See
	RaiseChildren:
		DKNT E 20 Bright A_PlaySound("monster/dknsit",0,1000)
		TNT1 A 0 A_RaiseChildren
		Goto See
	Heal:
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,20,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,40,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,60,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,80,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,100,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,120,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,140,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,160,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,200,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,220,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,240,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,260,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,280,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,300,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,320,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("DeathKnightResRadius",10,0,340,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,80,0,0,0,0,SXF_NOCHECKPOSITION)
		DKNT E 20 Bright A_PlaySound("monster/dknsit",0,1000)
		Goto See
	WELCOMETOTHEBONEZONE:
		TNT1 A 0 A_SetReflectiveInvulnerable
		DKNT E 20 Bright A_PlaySound("monster/dknsit",0,1000)
		DKNT E 2 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,60,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,20,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,80,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,50,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("SpookySkeleton",50,50,20,0,0,0,30,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0) 
		DKNT E 2 A_SpawnItemEx("DKGuardian",50,50,20,0,0,0,100,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("DKGuardian",50,50,20,0,0,0,170,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("DKGuardian",50,50,20,0,0,0,130,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("DKGuardian",50,50,20,0,0,0,150,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("DKFamine",50,50,20,0,0,0,270,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		DKNT E 2 A_SpawnItemEx("DKFamine",50,50,20,0,0,0,230,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		TNT1 A 0 Bright A_UnSetReflectiveInvulnerable
		Goto See
	Pain:
		DKNT H 2
		DKNT H 2 A_Pain
		DKNT T 105 A_SetReflectiveInvulnerable
		TNT1 A 0 A_UnSetReflectiveInvulnerable
		DKNT P 0 A_Jump(26,"Pain2")
		Goto See+1
	Pain2:
		TNT1 A 0 Bright A_SetReflectiveInvulnerable
		DKNT T 6 Bright A_FaceTarget
		DKNT U 1 Bright A_FaceTarget
		TNT1 A 0 Bright A_CustomMissile("FHeadShot",44,-4,-12,0)      
		DKNT U 5 Bright A_CustomMissile("FHeadShot",44,-4,12,0)
		TNT1 A 0 Bright A_UnSetReflectiveInvulnerable
		Goto See+1
	XDeath:
	Death:
		TNT1 A 0
		TNT1 A 0 Bright A_CustomMissile("DKSword",44,32,-90,0)
		DKNT I 8 Bright A_CustomMissile("DKShield",44,-32,90,0)
		DKNT J 8 Bright A_Scream 
		TNT1 A 0 A_CustomMissile("SmokeFX",Random(10,40),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 A_SpawnItemEx("RedParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("KaboomRed",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		DKNT K 8 Bright
		DKNT L 8 Bright A_NoBlocking 
		DKNT MN 8 Bright A_KillChildren
		DKNT O 63000 CanRaise
		Stop 
	}
}

ACTOR DeathKnightResRadius
{
PROJECTILE
Radius 10
Height 4
Speed 50
+ISMONSTER
-COUNTKILL
+NORADIUSDMG
+INVULNERABLE
+FLOORHUGGER
+THRUACTORS
+NOCLIP
States
	{
	Spawn:
		TNT1 AAAAAAAAAA 1 A_VileChase
		Stop
	Heal:
		TNT1 A 1
		Stop
	}
}

ACTOR DKDart
{
PROJECTILE
Height 12
Radius 3
Speed 25
RENDERSTYLE ADD
ALPHA 1.00
ExplosionDamage 34
ExplosionRadius 64
Damage 5
+THRUGHOST
+THRUSPECIES
Species "Viles"
DamageType "VilesFire"
Seesound "monster/dkndrt"
DeathSound "weapons/firex2"
States
	{
	Spawn:
		DKAT ABC 3 Bright
		Loop
	Death:
		DKAT D 0 Bright A_SetTranslucent (0.85,1)
		DKAT D 3 Bright
		DKAT E 3 Bright A_Explode
		DKAT FG 3 Bright
		DKAT H 0 Bright A_CustomMissile("DKFire",0,0,45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		DKAT H 0 Bright A_CustomMissile("DKFire",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		DKAT H 0 Bright A_CustomMissile("DKFire",0,0,135,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		DKAT H 0 Bright A_CustomMissile("DKFire",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		DKAT H 0 Bright A_CustomMissile("DKFire",0,0,225,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		DKAT H 0 Bright A_CustomMissile("DKFire",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		DKAT H 0 Bright A_CustomMissile("DKFire",0,0,315,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		DKAT H 3 Bright A_CustomMissile("DKFire",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		DKAT IJKLM 3 Bright
		Stop
	}
}

ACTOR FHeadShot
{
PROJECTILE
Height 12
Radius 12
Speed 15
RENDERSTYLE ADD
ALPHA 1.00
Damage 10
+THRUGHOST
+THRUSPECIES
+SEEKERMISSILE
DamageType "VilesFire"
Seesound "monster/dknmsl"
DeathSound "weapons/boom1"
States
	{
	Spawn:
		FHED ABCD 3 Bright A_SeekerMissile(5,15)
		Loop
	Death:
		RIP1 DEFGH 5 Bright
		Stop
	}
}

ACTOR DKbolt
{
PROJECTILE
Height 8
Radius 8
Speed 15
RENDERSTYLE ADD
ALPHA 0.8
Damage 8
+THRUGHOST
+THRUSPECIES
DamageType "VilesFire"
SeeSound "Weapons/boltfi"
DeathSound "weapons/firex4"
States
	{
	Spawn:
		BOLT A 1 Bright A_BishopMissileWeave
		TNT1 A 0 A_SpawnItemEx("RedPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		Loop
   Death:
		HBAL EFHI 2 Bright
		Stop
   }
}

ACTOR DKSword
{   
PROJECTILE
Height 8
Radius 8
Speed 1
RENDERSTYLE Normal
-NOGRAVITY
+LOWGRAVITY
+NOEXPLODEFLOOR
States
	{
	Spawn:
		SWRD KLMNOPQ 3 Bright
		Goto Death 
	Death:
		SWRD RS 4 Bright
		SWRD T 4 Bright
		SWRD U 4
		SWRD T 4 Bright
		SWRD U 8
		SWRD T 4 Bright
		SWRD U 16
		SWRD T 4 Bright
		SWRD U 8
		TNT1 A 1 Bright A_SpawnItemEx("FlameSword",0,0,0,0,0,0,0)
		Stop
	}
}

ACTOR DKShield
{   
PROJECTILE
Height 8
Radius 8
Speed 1
RENDERSTYLE Normal
-NOGRAVITY
+LOWGRAVITY
+NOEXPLODEFLOOR
States
	{
	Spawn:
		SHLD ABCDEFGHI 3
		Goto Death 
	Death:
		SHLD H 2100
		Stop
	}
}

ACTOR DKFire
{
PROJECTILE
Height 6
Radius 2
Speed 4
RENDERSTYLE ADD
ALPHA 0.95
Damage (0)
ExplosionDamage 4
ExplosionRadius 8
+THRUGHOST
DamageType "VilesFire"
DeathSound "weapons/scorch"
States
	{
	Spawn:
		DKAT NOPQRSTNOPQRSTNOPQRST 3 Bright A_Explode
		Goto Death
	Death:
		DKAT UVW 3 Bright A_Explode
		Stop
	}
}

ACTOR RedPuff
{
PROJECTILE
Height 1
Radius 0
Speed 0
RENDERSTYLE ADD
ALPHA 0.85
+THRUACTORS
States
	{
	Spawn:
		TNT1 A 3 Bright
		RPUF ABCDE 3 Bright
		Stop 
	}
}
/*
actor DKPowerMS : PowerupGiver
{
 inventory.pickupmessage " "
 inventory.maxamount 1
 powerup.type "Speed"
 powerup.duration 5
 +AUTOACTIVATE
 +INVENTORY.FANCYPICKUPSOUND
   states
 {
 Spawn:
   TNT1 A 0
   stop
 }
}

actor DKPowerX2Damage : PowerDamage
{
damagefactor "normal", 2
}

actor DKPowerDoubleDamage : PowerupGiver
{
inventory.pickupmessage " "
inventory.maxamount 1
damagefactor "normal", 2
powerup.type "DKPowerX2Damage"
powerup.duration 5
+AUTOACTIVATE
States
	{
	Spawn:
		TNT1 A 0
		Stop
	}
}

ACTOR DKProtection : PowerProtection
{
DamageFactor "Normal", 0.5
}

actor DKPowerProtection : PowerupGiver
{
inventory.pickupmessage " "
inventory.maxamount 1
powerup.type "DKProtection"
powerup.duration 5
+AUTOACTIVATE
states
	{
	Spawn:
		TNT1 A 0
		Stop
 }
}
*/
Actor KeepGoingBoi : Inventory { inventory.maxamount 1 }

Actor DKGuardian : Guardian
{
+MissileEvenMore
+THRUSPECIES
+NOINFIGHTING
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Viles"
DamageFactor "VilesFire", 0
DamageFactor "NobleComet", 0
DamageFactor "CadaverRocket", 0
DamageFactor "CacoComet", 0
DamageFactor "BeheComet", 0
DamageFactor "Baby15K", 0
DamageFactor "Cyber10K", 0
DamageFactor "Masterminds", 0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "ImpComet", 0.0
States
	{
	Spawn:
		SKEL PONML 10
	Idle:
		SKEL A 10 A_Look
		Loop
	}
}

Actor DKFamine : Famine
{
+MissileEvenMore
+THRUSPECIES
+NOINFIGHTING
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Viles"
DamageFactor "VilesFire", 0
DamageFactor "NobleComet", 0
DamageFactor "CadaverRocket", 0
DamageFactor "CacoComet", 0
DamageFactor "BeheComet", 0
DamageFactor "Baby15K", 0
DamageFactor "Cyber10K", 0
DamageFactor "Masterminds", 0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "ImpComet", 0.0
States
	{
	Spawn:
		NREV PONML 10
	Idle:
		NREV A 10 A_Look
		Loop
	}
}

Actor DKLegendaryRevenant : LegendaryRevenant
{
+MissileEvenMore
+THRUSPECIES
+NOINFIGHTING
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Viles"
DamageFactor "VilesFire", 0
DamageFactor "NobleComet", 0
DamageFactor "CadaverRocket", 0
DamageFactor "CacoComet", 0
DamageFactor "BeheComet", 0
DamageFactor "Baby15K", 0
DamageFactor "Cyber10K", 0
DamageFactor "Masterminds", 0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "ImpComet", 0.0
States
	{
	Spawn:
		LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))
		LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))	
		LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))
		LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))
		LREV QQQQQQQQQQQQQ 2 A_SpawnItemEx("LRUndeadHand",random(-128,128),random(-128,128))
		LREV PONML 10
	Idle:
		LREV A 10 A_Look
		Loop
	}
}
//=================================
//UndeanKnight minions
ACTOR ESoul 
{ 
MONSTER
Health 80
Height 32
Radius 16
Mass 400
Speed 5
Renderstyle Add
Alpha 0.4
Painchance 128
Damage 7
+FLOAT
+NOGRAVITY
+DONTFALL
+NOBLOOD
+NOICEDEATH
+MISSILEMORE
+STEALTH
+THRUSPECIES
Species "Viles"
DamageType "VilesFire"
DamageFactor "VilesFire", 0
DamageFactor "NobleComet", 0
DamageFactor "CadaverRocket", 0
DamageFactor "CacoComet", 0
DamageFactor "BeheComet", 0
DamageFactor "Baby15K", 0
DamageFactor "Cyber10K", 0
DamageFactor "Masterminds", 0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
ActiveSound "EtherealSoul/active"
AttackSound "skull/melee"
PainSound "EtherealSoul/pain"
DeathSound "EtherealSoul/death"
Obituary "%o was raped by a black soul."
Tag "\cmEthereal Soul"
States
	{
	Spawn:
		ETHS ABCD 10 bright A_Look
		Loop
	See:
		ETHS AABBCCDD 3 bright A_Chase 
		Loop
	Missile:
		ETHS C 6 bright A_FaceTarget
		ETHS E 4 bright A_SkullAttack
		ETHS E 0 bright A_FaceTarget
		ETHS F 4 bright A_SkullAttack
		ETHS F 0 bright A_FaceTarget
		ETHS E 4 bright A_SkullAttack
		ETHS E 0 bright A_FaceTarget
		ETHS F 4 bright A_SkullAttack
		Goto See
	Pain:
		ETHS G 3 bright
		ETHS G 3 bright A_Pain
		Goto See
	Death:
		ETHS F 3 bright 
		ETHS H 3 bright A_ScreamAndUnblock
		ETHS IJKLMNO 3 bright
		Stop
	}
}

Actor Spookyskeleton
{
MONSTER
Health 80
Height 56
Radius 24
Mass 100
Speed 10
Scale 0.9
Painchance 180
+NOBLOOD
+THRUSPECIES
Species "Viles"
DamageFactor "VilesFire", 0
DamageFactor "NobleComet", 0
DamageFactor "CadaverRocket", 0.0
DamageFactor "CacoComet", 0
DamageFactor "BeheComet", 0
DamageFactor "Baby15K", 0
DamageFactor "Cyber10K", 0
DamageFactor "Masterminds", 0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
DropItem "ArmorBonusMax", 100
SeeSound "skelsit"
Painsound "skelpai"
DeathSound "skeldth"
HitObituary "%o's funnybone was tickled by a skeleton"
States
	{
	Spawn:
		SKLT PONM 4
	Idle:
		SKLT R 10 A_Look
		Loop 
	See:
		SKLT AABBCC 2 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		SKLT DDEEFF 2 A_Chase
		TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
		Loop
	Melee:
		TNT1 A 0// A_JumpIfInventory("DKMinionsBuff", 1, "BuffedMelee")
		SKLT GH 4 A_FaceTarget 
		SKLT I 4 A_playsound("skelatt",chan_auto)  
		SKLT J 4 A_CustomMeleeAttack(random(1,6)*4,"swordhit",none)     
		SKLT K 4 A_FaceTarget    
		Goto See
	Pain:
		SKLT L 2 
		SKLT L 2 A_Pain
		Goto See
	Death:
		SKLT M 4 A_Scream
		TNT1 A 0 A_CustomMissile("SmokeFX",Random(10,40),0,random(0,360),2,random(0,360))
		SKLT N 4 A_Fall
		SKLT O 8 A_Noblocking
		SKLT P 12
		SKLT Q 63000 CanRaise
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		SKLT PONM 4
		Goto see
	}
}

ACTOR RMGhoul 30123 
{ 
MONSTER
Health 400 
Height 56
Radius 24
Mass 320
Speed 9
BloodColor "20 60 20"
PainChance 24
MeleeDamage 8
+FLOORCLIP
+MissileMore
+THRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
+DONTHARMCLASS
Species "Viles"
DamageFactor "VilesFire", 0
DamageFactor "NobleComet", 0
DamageFactor "CadaverRocket", 0
DamageFactor "CacoComet", 0
DamageFactor "BeheComet", 0
DamageFactor "Baby15K", 0
DamageFactor "Cyber10K", 0
DamageFactor "Masterminds", 0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
Obituary "A Ghoul poisoned %o with it's toxic projectiles."
HitObituary "%o was beaten to death by a ghoul."
SeeSound "monster/ghlsit" 
MeleeSound "monster/ghlhit" 
PainSound "monster/ghlpai" 
DeathSound "monster/ghldth" 
ActiveSound "monster/ghlact"
Tag "\c[z2]Ghoul"
States 
	{
	Spawn: 
		GHU2 PONMLKJI 5
	Idle:
		GHU2 A 10 A_Look 
		Loop 
	See: 
		GHU2 AABB 2 A_Chase
		TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
		GHU2 CCDD 2 A_Chase 
		TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
		Loop 
	Melee:
		GHU2 E 0 A_Jump(128,"Melee2")
		GHU2 E 6 A_FaceTarget
		GHU2 F 0 A_PlaySound("monster/ghlswg")
		GHU2 F 6 A_FaceTarget
		GHU2 G 6 A_MeleeAttack
		Goto See
	Melee2:
		GHU2 R 6 A_FaceTarget
		GHU2 S 0 A_PlaySound("monster/ghlswg")
		GHU2 S 6 A_FaceTarget
		GHU2 T 6 A_MeleeAttack
		Goto See
	Missile:
		GHU2 Q 10 A_FaceTarget 
		GHU2 Q 0 A_CustomMissile ("ToxinShot",44,-16,0,0,0)
		GHU2 Q 8 A_CustomMissile ("ToxinShot",44,16,0,0,0)
		Goto See
	Pain: 
		GHU2 H 2 
		GHU2 H 2 A_Pain 
		Goto See 
	Death: 
		GHU2 I 5 
		GHU2 J 0 A_CustomMissile ("ToxinCloud",40,0,0,0,0) 
		GHU2 J 5 A_Scream 
		GHU2 K 5 
		GHU2 L 5 A_NoBlocking 
		GHU2 M 5 
		GHU2 N 5
		GHU2 O 5
		GHU2 P 63000 CanRaise
		Stop 
	Raise:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		GHU2 PONMLKJI 5 
		Goto See 
	}
}

ACTOR ToxinShot
{
PROJECTILE
Height 5
Radius 5
Speed 15
Damage 2
Poisondamage 16
RENDERSTYLE ADD
ALPHA 0.80
+THRUGHOST
+FLOATBOB
DamageType "VilesFire"
Seesound "weapons/skulfi"
DeathSound "weapons/bloodx"
States
	{
	Spawn:
		GHFX A 1 Bright A_CustomMissile("Barbtrail",0,0,0,0)
		GHFX A 1 Bright A_CStaffMissileSlither
		GHFX B 1 Bright A_CustomMissile("Barbtrail",0,0,0,0)
		GHFX B 1 Bright A_CStaffMissileSlither
		Loop
	Death:
		GHFX CDEF 4 Bright
		Stop
	}
}

ACTOR ToxinCloud
{
MONSTER
Radius 0
Height 48
ReactionTime 20
RENDERSTYLE translucent
ALPHA 0.67
ExplosionDamage 5
ExplosionRadius 42
-COUNTKILL
-SOLID
-SHOOTABLE
-ACTIVATEMCROSS
+NOTELEPORT
+THRUGHOST
+DROPOFF
+LOWGRAVITY
+NODAMAGETHRUST
DamageType "VilesFire"
Seesound "weapons/poof1"
States
	{
	Spawn:
		TNT1 A 0 Bright
		GGAS AB 5 A_Explode
	SpawnLoop:
		GGAS CDEFGFD 5 A_Explode
		TNT1 A 0 A_Countdown
		Loop
	Death:
		GGAS C 5 A_FadeOut(0.1,1)
		TNT1 A 0 A_Explode
		GGAS D 5 A_FadeOut(0.1,1)
		TNT1 A 0 A_Explode
		GGAS E 5 A_FadeOut(0.1,1)
		TNT1 A 0 A_Explode
		GGAS F 5 A_FadeOut(0.1,1)
		TNT1 A 0 A_Explode
		GGAS G 5 A_FadeOut(0.1,1)
		TNT1 A 0 A_Explode
		GGAS F 5 A_FadeOut(0.1,1)
		TNT1 A 0 A_Explode
		GGAS E 5 A_FadeOut(0.1,1)
		TNT1 A 0 A_Explode
		GGAS D 5 A_FadeOut(0.1,1)
		Loop
	}
}

ACTOR Barbtrail
{   
PROJECTILE
Height 1
Radius 0
RENDERSTYLE ADD
ALPHA 0.75
States
	{
	Spawn:
		TNT1 A 1 Bright
		SSFX ABCDEFGH 2 Bright
		Stop 
	}
}


ACTOR MinionLineSpawner
{ 
+NOSECTOR
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 AAAAAAA 0 A_SpawnItemEx("MinionPowerLine",frandom(-80.0,80.0),frandom(-80.0,80.0),0.0,0.0,0.0,5.0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 1 A_SpawnItemEx("MinionPowerLine",frandom(-80.0,80.0),frandom(-80.0,80.0),0.0,0.0, 0.0,5.0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Stop  
	}
}

Actor MinionPowerLine
{
Speed 1
Radius 0
Height 0
Scale 0.40
Translation "80:111=112:127"
RenderStyle Add
Alpha 0.8
+MISSILE
-SOLID
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		FMFX A 5 Bright
		TNT1 A 0 A_Jump(128,"FadeOutFaster")
	Normal:
		FMFX AAAAAAAA 1 Bright A_FadeOut(0.05,1)
		Stop
	FadeOutFaster:
		FMFX AAAAAAAA 1 Bright A_FadeOut(0.075,1)
		Stop
	}
}
/*
Actor DKMinionsBuff : CustomInventory
{
Inventory.maxamount 1
States
	{
	PickUp:
		TNT1 A 0
		TNT1 A 1// ACS_ExecuteAlways(423)
		Stop
	}
}*/