ACTOR HellPaladin 30332
{
MONSTER
Health 3666
Height 70
Radius 24
Mass 1000
Speed 12
YScale 1.3
XScale 1.15
Bloodcolor "Blue"
Painchance "SatanGuard", 0
Painchance 64
MeleeRange 70
Meleedamage 45
+NOFEAR
+BOSSDEATH
+DONTBLAST
+DONTMORPH
+DONTRIP
+NOTARGET
+FLOORCLIP
+FASTMELEE
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTHARMSPECIES
+DONTHURTSPECIES
+DONTHARMCLASS
Species "Nobles"
Species "SatanGuard"
Damagetype "SatanGuard"
Damagefactor "DTRPlayer", 0.3
Damagefactor "Acid", 0.1
Damagefactor "Fire", 0.0
Damagefactor "Poison", 0.0
Damagefactor "PoisonCloud", 0.0
Damagefactor "Electric", 0.01
Damagefactor "Disintegrate", 0.01
DamageFactor "AfritComet", 0.1
DamageFactor "PDTBFG", 0.25
DamageFactor "PDTBFGTracer", 0.25
DamageFactor "PlayerDevBall", 0.125
DamageFactor "PlayerDTBFGRailgunSlug", 0.125
DamageFactor "PlayerDevTracer", 0.125
DamageFactor "Legendary", 0.1
DamageFactor "LegendaryPlayer", 0.3
DamageFactor 0.45
//No Infighting
DamageFactor "SatanGuard", 0.0
DamageFactor "AbyssalSatyr", 0.0
Damagefactor "Heterodox", 0.0
Damagefactor "Damned", 0.0
DamageFactor "NobleComet", 0.0
Damagefactor "CurseComet", 0.0
DropItem "BossLifeEssence", 196, 100
DropItem "HEMBossArmorBonusMax35", 196
DropItem "DemonAmmoBox", 180, 200
DropItem "ModdedSoulSphere", 96
DropItem "HemLifeRune", 48, 1
SeeSound "paladin/sight"
ActiveSound "paladin/active"
MeleeSound "imp/melee"
PainSound "paladin/pain"
DeathSound "paladin/death"
Obituary "%o was burnt from %p worthless existence by a Hell Paladin."
HitObituary "%o was blown away by the fists of a Hell Paladin."
Tag "\c[x5]Hell Paladin\c-"
var int user_currenthp;
States
	{
	Spawn: 
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
	SpawnLoop:
		TNT1 A 0
		SATG AAAAAAAAAAAA 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,64)
		TNT1 A 0 A_Look
		SATI AAAAAAAAAAAA 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,64)
		TNT1 A 0 A_Look
		SATG AAAAAAAAAAAA 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,64)
		TNT1 A 0 A_Look
		SATI AAAAAAAAAAAA 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,64)
		TNT1 A 0 A_Look
		TNT1 A 0 A_JumpIf(user_currenthp > ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"),"Idle")
        Loop
	Idle:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_UnsetInvulnerable
		TNT1 A 0 A_SetTranslucent(1)
	IdleLoop:
		TNT1 A 0
		TNT1 A 0 HealThing(1)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
        TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		TNT1 A 0 A_SpawnItemEx("PaladinWalkFire",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SATG AAA 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Wander
		TNT1 A 0 A_Look
		SATG AAA 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("PaladinWalkFire",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SATG BBB 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Wander
		TNT1 A 0 A_Look
		SATG BBB 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Wander
		TNT1 A 0 A_Look
        TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		TNT1 A 0 A_SpawnItemEx("PaladinWalkFire",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		SATG CCC 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Wander
		TNT1 A 0 A_Look
		SATG CCC 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("PaladinWalkFire",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		SATG DDD 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Wander
		TNT1 A 0 A_Look
		SATG DDD 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 5,"Pain.Crush")
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_UnsetInvulnerable
		TNT1 A 0 A_SetTranslucent(1)
	SeeLoop:
		TNT1 A 0
		TNT1 A 0 HealThing(1)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
        TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		TNT1 A 0 A_SpawnItemEx("PaladinWalkFire",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SATG AAA 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Chase
		SATG AAA 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Chase
		TNT1 A 0 A_SpawnItemEx("PaladinWalkFire",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SATG BBB 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Chase
		SATG BBB 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Chase
        TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		TNT1 A 0 A_SpawnItemEx("PaladinWalkFire",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		SATG CCC 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Chase
		SATG CCC 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Chase
		TNT1 A 0 A_SpawnItemEx("PaladinWalkFire",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		SATG DDD 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Chase
		SATG DDD 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_Chase
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 5,"Pain.Crush")
        Loop
	Missile:
		TNT1 A 0
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_UnsetInvulnerable
		TNT1 A 0 A_SetTranslucent(1)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Rage")
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_JumpIfTargetInLOS("VeryFarRange",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,1500)
		TNT1 A 0 A_JumpIfTargetInLOS("FarRange",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,1000)
		TNT1 A 0 A_JumpIfTargetInLOS("LongRange",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,800)
		TNT1 A 0 A_JumpIfTargetInLOS("NearRange",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,500)
		TNT1 A 0 A_JumpIfTargetInLOS("CloserAttack",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,500,0)
		Goto Shield
	VeryFarRange:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"HomingComets","HomingComets","RFLv2")
	FarRange:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Spread","Spread","Spread","HomingComets")
	LongRange:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Spread","Spread","FireBlast","Comet","Comet")
	NearRange:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Spread","FireBlast","FireBlast","Comet")
	CloserAttack:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Normal","Normal","FireBlast")
	Normal:
		TNT1 A 0
        SATG EEEEEE 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget 
		SATG FFFFFF 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG GGG 1 Bright A_CustomMissile("PaladinBall",32,0,random(5,-5))
		SATG GG 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        SATG IIIIII 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG JJJJJJ 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG KKK 1 Bright A_CustomMissile("PaladinBall",32,0,random(5,-5))		
		SATG KK 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 5,"Pain.Crush")
        Goto See
	Rage:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
        TNT1 A 0 A_Jump(255,"Spread","FireBlast","Comet","HomingComets","RFLv2","Normal")
		Goto Shield
	RFLv2:
		SATG MMMMMM 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG NNNNNN 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
        SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 5,"Pain.Crush")
        Goto See
	Spread:
        SATG MMMMMM 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG NNNNNN 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
        SATG O 1 Bright A_CustomMissile("PaladinBall",32,0,random(8,-8))
		TNT1 AAAAAAAAAA 0 A_CustomMissile("PaladinBall",32,0,random(8,-8))
		SATG OOOOO 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 5,"Pain.Crush")
		Goto See
	Comet:
		SATG MMMMMM 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG NNNNNN 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
        SATG OO 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Custommissile("PaladinComet",32,0,0)
		TNT1 A 0 A_FaceTarget
        SATG OO 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Custommissile("PaladinComet",32,0,0)
		TNT1 A 0 A_FaceTarget
        SATG OO 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Custommissile("PaladinComet",32,0,0)
		SATG OOOOO 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 5,"Pain.Crush")
        Goto See
	HomingComets:
        SATG OOOOOOOO 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
        SATG N 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG N 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG N 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG N 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HomingComet",65,24,0,2)
		TNT1 A 0 A_CustomMissile("HomingComet",65,-24,0,2)
		SATG M 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG M 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG M 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG M 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HomingComet",75,24,0,2)
		TNT1 A 0 A_CustomMissile("HomingComet",75,-24,0,2)
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 5,"Pain.Crush")
        Goto See
	Shield:
        TNT1 A 0
		TNT1 A 0 A_ChangeFlag(REFLECTIVE,1)
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_SetInvulnerable
        SATG MMMMMM 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG NNNNNN 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
        SATG OO 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_TakeInventory("Tic",999999)
	ShieldLoop:
		TNT1 A 0
		SATG O 1 Bright A_SpawnItemEx("BlueShieldFX",random(30,-30),random(30,-30),random(10,70),0,0,0,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_SpawnItemEx("BlueShieldFX",random(30,-30),random(30,-30),random(10,70),0,0,0,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_SpawnItemEx("BlueShieldFX",random(30,-30),random(30,-30),random(10,70),0,0,0,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_SpawnItemEx("BlueShieldFX",random(30,-30),random(30,-30),random(10,70),0,0,0,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		SATG O 1 Bright A_SpawnItemEx("BlueShieldFX",random(30,-30),random(30,-30),random(10,70),0,0,0,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HPBlueFire2Spawner")
		TNT1 AAA 0 Bright A_CustomMissile("PaladinTrail",0,0,random(0,360),2)
		TNT1 A 0 A_JumpIfInventory("Tic",21,"ShieldEnd")
		TNT1 A 0 A_GiveInventory("Tic",1)
		Loop
	ShieldEnd:
		TNT1 A 0
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) < 0,2)
		TNT1 A 0 HealThing(((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))*0.75)+1)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_UnSetInvulnerable
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_ChangeFlag(REFLECTIVE,0)
		SATG ONMM 3 Bright
		GoTo See
	FireBlast:
		SATG MMMMMM 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG NNNNNN 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
        SATG OO 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,5,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,10,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,15,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,20,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,25,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,30,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,35,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,40,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,-5,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,-10,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,-15,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,-20,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,-25,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,-30,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,-35,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("PaladinTrail",0,0,-40,CMF_AIMDIRECTION)
		SATG ONMM 3 Bright
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 10,"Pain.Crush")
		GoTo See
	Melee:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
        TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_GiveToTarget("HeterodoxCurse")
        SATG EEEE 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG FFFF 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_FaceTarget
		SATG GGGGG 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("PaladinMeleeAttack",30,0,0)
        SATG FFFF 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_FaceTarget
		SATG EEEE 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 5,"Pain.Crush")
		Goto See
	Pain:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_Pain
		TNT1 A 0 A_Jump(32,2)
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		TNT1 A 0 A_JumpIfCloser(300,"PainMissile")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Shield")
        SATG QQQQQQQQQQ 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		Goto See
	Pain.Crush:
		TNT1 A 0
		TNT1 A 0 A_Pain
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		GoTo See
	PainMissile:
		TNT1 A 0
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_Blast(BF_DONTWARN,225,250,30)
		SATG QQQQQQQQQQ 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Blast(BF_DONTWARN,225,250,30)
		SATG QQQQQQQQQQ 1 Bright A_SpawnItemEx("HPBlueFire2Spawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        Goto Missile
	Death:
		TNT1 A 0
        SATG Q 3 Bright A_Scream
		SATG QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ 2 Bright A_CustomMissile("Kaboom66",random(20,80),0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("BlueFlare3",0,0,48)
		TNT1 AAAAAA 0 A_CustomMissile("Kaboom66",random(20,80),0,random(0,360),2,random(0,360))
        TNT1 AAAAAA 0 A_CustomMissile("SmokeFX",random(40,80),0,random(0,360),2,random(0,360))
    	TNT1 A 0 A_CustomMissile("NightmareSummoner",47,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("NightmareSummoner",47,0,75,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("NightmareSummoner",47,0,-75,CMF_AIMDIRECTION)
		SATG RSTUV 6
		SATG W 7 A_Fall
		TNT1 A 0 A_KillMaster
    	SATG "X" 4 A_BossDeath
		SATG "Y" 4
		SATG "Z" 525
	Fade:
        SATG Z 5 A_FadeOut(0.1,1)
	    Loop
	}
}

Actor HPBlueFire2Spawner : RedParticleSpawner
{
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 1 Bright A_SpawnItemEx("BlueFire2",random(20,-20),random(20,-20),random(10,68),random(2,-2),random(2,-2),random(6,7),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		Stop
	}
}

ACTOR PaladinWalkFire
{
Scale 1.8
Height 8
Radius 4
Speed 0
RenderStyle Add
Alpha 0.75
MaxStepHeight 4
Damage (0)
+MISSILE
+DROPOFF
+NOTARGET
-NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+THRUACTORS
+DONTSPLASH
+MOVEWITHSECTOR
+NOEXPLODEFLOOR
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		TNT1 A 5 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		BRTF ABC 3 Bright
		TNT1 A 0 Bright A_Jump(191,3)
		TNT1 A 0 Bright A_CustomMissile("PaladinWalkFire",0,24,0,CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PaladinWalkFire",0,-24,0,CMF_TRACKOWNER)
		BRTF DEFGHIJKLMNOO 3 Bright A_FadeOut(0.08,1)
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
    }
}

Actor PaladinBall : BaronBall
{
Projectile
Height 8
Radius 8
Scale 0.72
Speed 20
FastSpeed 24
Renderstyle Add
Damage (8*random(6,8))
+ThruSpecies
+DONTHURTSPECIES
+DONTHARMSPECIES
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
States
	{
	Spawn:
		SATC AAABBB 1 Bright A_SpawnItemEx("PaladinBTrail",random(3,-3),random(3,-3),random(3,-3),random(1,-1),random(1,-1),random(1,-1),random(0,360))
		Loop
	Death:
		TNT1 A 0
		SATC K 5 Bright
		SATC LMNOPQRSTUVWX 2 Bright A_FadeOut(0.015,1)
		Stop
	XDeath:
		TNT1 A 0
		SATC K 5 Bright
		TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,128)
		TNT1 AAA 0 A_CustomMissile("Kaboom6",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))
		SATC DDD 0 A_SpawnItemEx("PaladinBTrail2",0,0,0,random(20,-20),random(20,-20),random(20,-20),random(0,360))
		SATC LMNOPQRSTUVWX 2 Bright A_FadeOut(0.015,1)
		Stop
	}
}

Actor PaladinBTrail : BlueFire { Scale 0.25 }
Actor PaladinBTrail2 : PaladinBTrail { Scale 0.11 }

Actor BlueCometDeathGlow : CometDeathGlow
{
Scale 2.0
Alpha 0.6
States
	{
	Spawn:
		STFR ABCDEFGHI 3 Bright
		Stop
	}
}

Actor BlueCometDeath : CometDeath
{
States
	{
	Spawn:
		TNT1 A 0
		TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,Random(20,40),Random(4,-4),Random(4,-4),Random(4,8),0,128)
		TNT1 AAA 0 A_CustomMissile("Kaboom23",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(0,360))
		HPCM FGHI 3 Bright A_FadeOut(0.1,1)
		TNT1 A 1
		Stop
	}
}

Actor HomingComet
{
PROJECTILE
Height 10
Radius 10
Speed 25
Scale 0.85
Reactiontime 58
Damage (2*random(1,4))
+SeekerMissile
+ThruSpecies
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "SatanGuard"
Damagetype "SatanGuard"
SeeSound "comet/launch"
DeathSound "comet/explosion"
States
	{
    Spawn:
		TNT1 A 0 Bright
		HPCM AAABBBCCCAAABBBCCC 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Goto Travel
	Travel:
		HPCM A 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		HPCM A 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		HPCM A 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		HPCM B 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		HPCM B 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		HPCM B 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		HPCM C 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		HPCM C 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		HPCM C 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(6,9)
		TNT1 A 0 Bright A_Countdown
		Loop
	Crash:
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetTranslucent(0.75,1)
		TNT1 A 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		HPCM D 3 Bright A_SpawnItemEx("BlueCometDeathGlow",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		HPCM E 3 Bright A_SpawnItemEx("BlueCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		Stop
	XDeath:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode(35,64,0,0)
		TNT1 A 0 Bright A_SetTranslucent(0.75,1)
		TNT1 A 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		HPCM D 3 Bright A_SpawnItemEx("BlueCometDeathGlow",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		HPCM E 3 Bright A_SpawnItemEx("BlueCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		Stop
	}
}

Actor BlueCometTail
{
Height 1
Radius 1
RenderStyle Add
Alpha 0.3
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1 Bright
		STFR ABCDEFGHI 1 Bright
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

Actor PaladinComet : Comet
{
Projectile
Speed 35
Damage (2*random(1,4))
ExplosionDamage 95
ExplosionRadius 112
+ThruSpecies
+DONTHURTSPECIES
+DONTHARMSPECIES
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
States
	{
	Spawn:
		BCMT AAAABBBBCCCC 1 Bright A_SpawnItemEx("SPCometTail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		Loop
	XDeath:
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode(random(40,150),128,0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		BCMT DE 3 Bright
		TNT1 A 1 Bright A_SpawnItemEx("SPCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		Stop
	}
}

ACTOR SPCometTail
{
Height 1
Radius 1
Scale 1.15
RenderStyle Add
Alpha 0.3
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1 Bright
		BCMT DEFGHI 2 Bright
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR SPCometDeath : CometDeath
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AAAA 0 Bright A_SpawnItemEx("Debris",0,0,Random(20,40),Random(4,-4),Random(4,-4),Random(4,8),0,128)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom23",0,0,random(0,360),2,random(0,360))	
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(0,360))
		BCMT JJJKKKLLMMNN 1 Bright A_FadeOut(0.065,1)
		Stop
	}
}

Actor BlueShieldFX
{
Scale 1.1
Renderstyle Add
+NOGRAVITY
+NOBLOCKMAP
+THRUACTORS
+NOTELEPORT
+NONSHOOTABLE
States
	{
	Spawn:
		TNT1 A 0 Bright
		SAFX CDEFGH 3 Bright
		Stop
	}
}

Actor BlueSpike
{
Scale 3.5
Renderstyle Add
+FloorHugger
+NOBLOCKMAP
+THRUACTORS
+NOTELEPORT
+NONSHOOTABLE
States
	{
	Spawn:
		TNT1 A 0 Bright
		STRD ABC 3 Bright
		STRD D 15 Bright
		STRD EFGHIJ 3 Bright
		Stop
	}
}

Actor PaladinTrail
{
Projectile
Height 10
Radius 10
Speed 20
Scale 0.5
Damage (20*random(1,4))
+ISMONSTER
-COUNTKILL
+ALWAYSFAST
+LOOKALLAROUND
+QUICKTORETALIATE
+NOTARGET
+DONTBLAST
+THRUSPECIES
+FLOORHUGGER
+NODAMAGETHRUST
+FORCERADIUSDMG
+DONTHURTSPECIES
+DONTHARMSPECIES
+DONTHARMCLASS
Species "SatanGuard"
Damagetype "SatanGuard"
SeeSound "PaladinTrailSpawn"
DeathSound "PaladinTrailDeath"
var int user_counter;
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetUserVar("user_counter",27)
		TNT1 A 0 Bright A_SpawnItemEx("BlueSpike",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION,0)
		Goto Travel
	Travel:
		SBFR AAA 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,30,0,360,2)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(10,60,0)
		SBFR BBB 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,30,0,360,2)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(10,60,0)
		SBFR CCC 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,30,0,360,2)
		TNT1 A 0 Bright A_Jump(256,2)
		TNT1 A 0 Bright A_Explode(10,60,0)
		TNT1 A 0 Bright A_JumpIf(user_counter < 1,"Death")
		TNT1 A 0 Bright A_SetUserVar("user_counter",user_counter - 1)
		Loop
	Crash:
	Death:
		TNT1 A 0 Bright
		STRD K 3 Bright A_FadeOut(0.1,0)
		STRD LMNO 3 Bright A_FadeOut(0.1,1)
		Stop
	XDeath:
		TNT1 A 0 Bright
		STRD K 3 Bright A_FadeOut(0.1,0)
		TNT1 A 0 Bright A_Explode(34,98,0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom23",0,0,random(0,360),2,random(0,360))	
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(0,360))
		STRD LMNO 3 Bright A_FadeOut(0.1,1)
		Stop
	}
}

Actor PaladinTrailTail
{
Height 10
Radius 10
Speed 0
Scale 0.5
Renderstyle Add
Alpha 0.78
+FloorHugger
+NOBLOCKMAP
+THRUACTORS
+NOTELEPORT
+NONSHOOTABLE
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		TNT1 A 0 Bright
		SBFR AABBCCCCCCC 1 Bright A_FadeOut(0.1,1)
		Stop
	}
}

Actor PaladinMeleeAttack
{
Projectile
Height 6
Radius 3
Speed 35
Renderstyle Add
Damage (8*random(6,8))
+ThruSpecies
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "SatanGuard"
Damagetype "SatanGuard"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 2 Bright
		Stop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode(30,100,0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AA 0 Bright A_CustomMissile("Kaboom6",0,0,random(0,360),2,random(0,360))
		TNT1 AA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 Bright A_SpawnItemEx("PaladinBTrail",0,0,0,random(20,-20),random(20,-20),random(20,-20),random(0,360))
		SATC A 1 A_PlaySound("monster/psodeath",0,1.0,0)
		SATC DEFGGG 3 A_FadeOut(0.1,1)
		Stop
	}
}