//==========================================================================
//==========================================================================
//
//                              Dark Imps
//
//==========================================================================
//==========================================================================
//  DECORATE: Nanami, Jaeden, Skulltag, Vader, Cyb
//  Sprites: Id Software (edits by Nanami, Jaden, and Vader)
//==========================================================================
//
//==========================================================================
//
//                                 Nami
//
//==========================================================================
actor NamiDarkImp 
{
	//$Category Monsters
    Health 120
    Radius 20
    Height 56
    Speed 8
    PainChance 200
    MONSTER 
    +FLOORCLIP
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    MeleeSound "imp/melee"
    Obituary "%o was cursed by a dark imp."
    HitObituary "%o was touched by a dark imp."
    MissileType DarkSeeker
	Species DoomImp
    MeleeDamage 3
    States
    {
    Spawn:
        DRKI AB 10 A_Look
        Loop
    See:
        DRKI AABBCCDD 3 A_Chase
        Loop
    Melee:
    Missile:
        DRKI EF 8 A_FaceTarget
        DRKI G 6 A_ComboAttack
        Goto See
    Pain:
        DRKI H 2
        DRKI H 2 A_Pain
        Goto See
    Death:
        DRKI I 8
        DRKI J 8 A_Scream
        DRKI K 6
        DRKI L 6 A_Fall
        DRKI M -1
        Stop
    XDeath:
        DRKI N 5
        DRKI O 5 A_XScream
        DRKI P 5
        DRKI Q 5 A_Fall
        DRKI RST 5
        DRKI U -1
        Stop
    Raise:
        DRKI ML 8
        DRKI KJI 6
        Goto See
    }
}

actor DarkSeeker
{
    Radius 8
    Height 6
    Speed 9
    Damage 3
    +SEEKERMISSILE
    PROJECTILE
    RENDERSTYLE ADD
    ALPHA 0.67
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
    States
    {
    Spawn:
        DKB1 AB 4 Bright A_SeekerMissile (5,10)
        Loop
    Death:
        DKB1 CDE 4 Bright
        Stop
    }
}
//==========================================================================
//
//                               Nether
//
//==========================================================================
actor NetherDarkImp //11368
{
    Health 300
    Radius 22
    Height 60
    Speed 9
    PainChance 100
    Mass 500
    Scale 1.2
    MONSTER 
    +FLOORCLIP
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    MeleeSound "imp/melee"
	Species "DoomImp"
    Obituary "%o was cursed by a dark imp."
    HitObituary "%o was touched by a dark imp."
    MeleeDamage 6
    MissileType "InfernoBall"
    Missileheight 32
    States
    {
    Spawn:
        DRKF AB 10 A_Look
        Loop
    See:
        DRKF AABBCCDD 3 A_Chase
        Loop
    Melee:
        DRKF IJ 8 A_FaceTarget
        DRKF K 6 A_ComboAttack
        Goto See
    Missile:
        DRKF E 1 A_Jump (255, "Attack1", "Attack2")
        Goto See
    Attack1:
        DRKF EF 8 A_FaceTarget
        DRKF G 6 A_CustomMissile ("NetherLightning", 32, 0, 0)
        Goto See
    Attack2:
        DRKF IJ 8 A_FaceTarget
        DRKF K 6 A_CustomMissile ("InfernoBall", 32, 0, 0)
        Goto See
    Pain:
        DRKF H 2
        DRKF H 2 A_Pain
        Goto See
    Death:
        DRKF L 8
        DRKF M 8 A_Scream
        DRKF N 5
        DRKF O 5 A_Fall
        DRKF P -1
        Stop
    XDeath:
        DRKF Q 5
        DRKF R 5 A_XScream
        DRKF S 5
        DRKF T 5 A_Fall
        DRKF UVW 5
        DRKF X -1
        Stop
    Raise:
        DRKF PO 8
        DRKF NML 6
        Goto See
    }
}

actor InfernoBall
{
    Radius 8
    Height 6
    Speed 20
    Damage 12
    PROJECTILE
    RENDERSTYLE ADD
    ALPHA 0.67
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
    States
    {
    Spawn:
        IBAL AAAABBBB 1 Bright A_SpawnItemEx ("InfernoBallTrail", 0, 0, 0, random(0, -4), random(-2, 2), random(-2, 2), 0, 0, 0)
        Loop
    Death:
        IBAL CDE 4 Bright
        Stop
    }
}

actor InfernoBallTrail
{
    Radius 1
    Height 1
    Speed 0
    Damage 0
    +NOGRAVITY
    Scale 0.2
    States
    {
    Spawn:
        ITRL ABCDEFGHIJKLMN 1 Bright
        stop
    }
}

actor NetherLightning
{
    Radius 8
    Height 6
    Speed 24
    Damage 4
    PROJECTILE
    +RIPPER
    RENDERSTYLE ADD
    ALPHA 0.75
    Scale 0.75
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
    States
    {
    Spawn:
        NLIT AA 1 Bright A_SpawnItemEx ("NetherLightningTrail", 0, 0, 0, 0, 0, 0, 0, 0, 0)
        NLIT A 0 Bright A_SpawnItemEx ("NetherLightningSpark", 0, 0, 0, random(0, -4), random(-2, 2), random(-2, 2), 0, 0, 0)
        NLIT AA 1 Bright A_SpawnItemEx ("NetherLightningTrail", 0, 0, 0, 0, 0, 0, 0, 0, 0)
        NLIT A 0 Bright A_SpawnItemEx ("NetherLightningSpark", 0, 0, 0, random(0, -4), random(-2, 2), random(-2, 2), 0, 0, 0)
        loop
    Death:
        NLIT ABCDEFG 1 Bright
        Stop
    }
}

actor NetherLightningTrail
{
    Radius 8
    Height 6
    Speed 1
    Damage 0
    PROJECTILE
    +RIPPER
    RENDERSTYLE ADD
    ALPHA 0.75
    Scale 0.75
    States
    {
    Spawn:
        NLIT A 1 A_FadeOut (0.025)
        NLIT A 0 A_Jump (32, "Spark")
        loop
    Spark:
        NLIT A 0 A_SpawnItemEx ("NetherLightningSpark", 0, 0, 0, random(0, -4), random(-2, 2), random(-2, 2), 0, 0, 0)
        goto Spawn
    }
}

actor NetherLightningSpark
{
    Radius 1
    Height 1
    Speed 0
    Damage 0
    +NOGRAVITY
    Scale 0.3
    States
    {
    Spawn:
        NLIT BCDEFG 1 Bright
        stop
    }
}
//==========================================================================
//
//                               Skulltag
//
//==========================================================================
actor STDarkImp //3102
{
	//$Category Monsters
    Health 110
    Radius 20
    Height 56
    Speed 9
    PainChance 200
    MONSTER 
    +FLOORCLIP
	Species DoomImp
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    MeleeSound "imp/melee"
    Obituary "%o was cursed by a dark imp."
    HitObituary "%o was touched by a dark imp."
    MissileType DarkFast
    MeleeDamage 3
    States
    {
    Spawn:
        DRKS AB 10 A_Look
        Loop
    See:
        DRKS AABBCCDD 3 A_Chase
        Loop
    Melee:
    Missile:
        DRKS EF 8 A_FaceTarget
        DRKS G 6 A_ComboAttack
        Goto See
    Pain:
        DRKS H 2
        DRKS H 2 A_Pain
        Goto See
    Death:
        DRKS I 8
        DRKS J 8 A_Scream
        DRKS K 6
        DRKS L 6 A_Fall
        DRKS M -1
        Stop
    XDeath:
        DRKI N 5
        DRKI O 5 A_XScream
        DRKI P 5
        DRKI Q 5 A_Fall
        DRKI RST 5
        DRKI U -1
        Stop
    Raise:
        DRKS ML 8
        DRKS KJI 6
        Goto See
    }
}

actor DarkFast
{
    Radius 8
    Height 6
    Speed 18
    Damage 3
    PROJECTILE
    RENDERSTYLE ADD
    ALPHA 0.67
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    MISSILEHEIGHT 0
    Decal DoomImpScorch
    States
    {
    Spawn:
        DKB1 AB 4 Bright
        Loop
    Death:
        DKB1 CDE 4 Bright
        Stop
    }   
}

//==========================================================================
//
//                               Void
//
//==========================================================================
actor VoidDarkImp //3101
{
	//$Category Monsters
    Health 130
    Radius 20
    Height 56
    Speed 7
    PainChance 200
    MONSTER 
    +FLOORCLIP
	Species DoomImp
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    MeleeSound "imp/melee"
    Obituary "%o was cursed by a dark imp."
    HitObituary "%o was touched by a dark imp."
    MissileType DarkNormal
    MeleeDamage 3
    States
    {
    Spawn:
        DRKV AB 10 A_Look
        Loop
    See:
        DRKV AABBCCDD 3 A_Chase
        Loop
    Melee:
        DRKV EF 8 A_FaceTarget
        DRKV G 6 A_ComboAttack
        Goto See
    Missile:
        DRKV E 0 A_Jump(64,4)
        DRKV EF 8 A_FaceTarget
        DRKV G 6 A_CustomMissile("DarkNormal", 32, 0, 0)
        Goto Missile+7
        DRKV IJ 8 Bright A_FaceTarget
        DRKV K 6 Bright A_CustomMissile("DarkStrong", 32, 0, 0)
        DRKV E 0 A_Jump(64,4)
        DRKV EF 8 A_FaceTarget
        DRKV G 6 A_CustomMissile("DarkNormal", 32, 0, 0)
        Goto See
        DRKV IJ 8 Bright A_FaceTarget
        DRKV K 6 Bright A_CustomMissile("DarkStrong", 32, 0, 0)
        Goto See
    Pain:
        DRKV H 2
        DRKV H 2 A_Pain
        Goto See
    Death:
        DRKV L 8
        DRKV M 8 A_Scream
        DRKV N 5
        DRKV O 5 A_Fall
        DRKV P -1
        Stop
    XDeath:
        DRKI N 5
        DRKI O 5 A_XScream
        DRKI P 5
        DRKI Q 5 A_Fall
        DRKI RST 5
        DRKI U -1
        Stop
    Raise:
        DRKV PO 8
        DRKV NML 6
        Goto See
    }
}

actor DarkNormal
{
    Radius 8
    Height 6
    Speed 9
    Damage 3
    PROJECTILE
    RENDERSTYLE ADD
    ALPHA 0.67
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
    States
    {
    Spawn:
        DKB1 AB 4 Bright
        Loop
    Death:
        DKB1 CDE 4 Bright
        Stop
    }
}

actor DarkStrong
{
    Radius 8
    Height 6
    Speed 9
    Damage 6
    PROJECTILE
    RENDERSTYLE ADD
    ALPHA 0.67
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
    States
    {
    Spawn:
        DKB2 AB 4 Bright A_SpawnItemEx("DarkTail", 0, 0, 0, 0, 0, 0, 0, 128)
        Loop
    Death:
        DKB2 CDE 4 Bright
        Stop
    }
}

actor DarkTail
{
    PROJECTILE
    RENDERSTYLE ADD
    +NOCLIP
    ALPHA 0.5
    States
    {
    Spawn:
        DKBT ABCDEF 2 Bright
        Stop
    }
}

//==========================================================================
//==========================================================================
//
//                                 Devil
//
//==========================================================================
//==========================================================================
//  DECORATE: Eriance
//  Sprites: Id Software (edits by Eriance)
//==========================================================================
actor Devil : DoomImp //30120
{
  obituary "%o was fried by a Devil."
  hitobituary "%o was flayed by a Devil."
  health 120
  radius 20
  height 56
  mass 120
  speed 10
  painchance 160
  +DONTHURTSPECIES
  seesound "monster/dvlsit"
  painsound "monster/dvlpai"
  deathsound "monster/dvldth"
  activesound "monster/dvlact"
  MONSTER
  +FLOORCLIP
  states
  {
  Spawn:
    TRO2 AB 10 A_Look
    loop
  See:
    TRO2 AABBCCDD 3 A_Chase
    loop
  Melee:
  Missile:
    TRO2 EF 6 A_FaceTarget
    TRO2 G 4 A_CustomComboAttack("DevilBall", 32, 3 * random(1, 8), "imp/melee")
    TRO2 B 2
    TRO2 VW 6 A_FaceTarget
    TRO2 X 4 A_CustomComboAttack("DevilBall", 32, 3 * random(1, 8), "imp/melee")
    TRO2 D 2
    goto See
  Pain:
    TRO2 H 2
    TRO2 H 2 A_Pain
    goto See
  Death:
    TRO2 I 8
    TRO2 J 8 A_Scream
    TRO2 K 6
    TRO2 L 6 A_NoBlocking
    TRO2 M -1
    stop
  XDeath:
    TRO2 N 5
    TRO2 O 5 A_XScream
    TRO2 P 5
    TRO2 Q 5 A_NoBlocking
    TRO2 RST 5
    TRO2 U -1
    stop
  Raise:
    TRO2 ML 8
    TRO2 KJI 6
    goto See
  }
}

ACTOR Devilball
{
   Radius 8
   Height 8
   Speed 15
   Damage 6
   DamageType fire 
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.95
   +THRUGHOST
   +FORCEXYBILLBOARD
   SeeSound "weapons/firmfi"
   DeathSound "weapons/firex3"
   DONTHURTSHOOTER
   States
   {
   Spawn: 
      BAL3 AB 4 Bright A_SpawnItemEx("RedPuff",0,0,0,0,0,0,0,128,0)
      loop
   Death:
      BAL3 C 5 Bright A_Explode(24,96,0)
      BAL3 DE 5 Bright
      stop
   }
}

ACTOR RedPuff
{   
   Radius 0
   Height 1
   +NOGRAVITY
   +NOBLOCKMAP
   +FORCEXYBILLBOARD
   RENDERSTYLE ADD
   ALPHA 0.85
   States
   {
   Spawn:
      NULL A 3 Bright
      RPUF ABCDE 3 Bright
      Stop 
   }
}

//==========================================================================
//==========================================================================
//
//                               Phantom
//
//==========================================================================
//==========================================================================
//  DECORATE: Finalizer
//  Sprites: Id Software
//==========================================================================
//==========================================================================
ACTOR Phantom //10502
{
	Tag "Phantom"
	Health 100
	Radius 16
	Height 48
	Mass 50
	Speed 8
	Scale 0.8
	PainChance 256
	Damage 3
	DamageType PhantomAttack
	DamageFactor PhantomAttack, 0
	PainChance PhantomAttack, 0
	Monster
	+FLOAT
	+NOGRAVITY
	+DONTFALL
	+MISSILEEVENMORE
	+NOBLOOD
	PainSound "Phantom/Pain"
	DeathSound "Phantom/Death"
	ActiveSound "Phantom/Active"
	Obituary "%o was haunted by a Phantom."
	States
	{
	Spawn:
		PHTM A 10 A_Look
		Loop
	See:
		PHTM A 5 A_Chase
		Loop
	Missile:
		TNT1 A 0 A_Jump(128, "Missile2")
		PHTM A 0 A_PlaySound("Phantom/Attack")
		PHTM AAAA 5 A_FaceTarget
		PHTM BCD 5 Bright A_FaceTarget
		PHTM E 5 Bright A_CustomMissile("SoulHarvesterBall", 6)
		Goto See
	Missile2:
		PHTM B 10 Bright A_FaceTarget
		PHTM C 4 Bright A_SkullAttack
		PHTM C 0 A_PlaySound("Phantom/Attack")
		PHTM DEDCBCDEDCBCDE 4 Bright
		Goto Missile2+2
	Pain:
		PHTM F 3 Bright
		PHTM F 3 Bright A_Pain
		Goto See
	Death:
		PHTM G 4 Bright
		PHTM H 4 Bright A_Scream
		PHTM IJKL 4 Bright
		PHTM M 4 Bright A_PlaySound("imp/shotx")
		PHTM N 0 Bright A_SpawnItemEx("PhantomCorpse",0,0,12,0,0,0,0,128)
		PHTM N 4 Bright A_NoBlocking
		PHTM OP 4 Bright
		Stop
	}
}

ACTOR PhantomPuff
{
	+NOBLOCKMAP
	+NOGRAVITY
	+PUFFONACTORS
	+BLOODLESSIMPACT
	RenderStyle Add
	Alpha 0.5
	DamageType PhantomAttack
	SeeSound "Phantom/Hit"
	States
	{
	Spawn:
		PHTA ABC 5 Bright
		Stop
	}
}
	
ACTOR PhantomCorpse
{   
   Radius 16
   Height 8
   Speed 0
   PROJECTILE
   RENDERSTYLE Normal
   -NOGRAVITY
   +Floorclip
   States
   {
	Spawn:
		PHTM Q 4
	Death:
		PHTM Q 4
		PHTM Q -1
   }
}
//==========================================================================
//
//                               Paladin
//
//==========================================================================
//==========================================================================
//  DECORATE: Finalizer, Tormentor667, Vader
//  Sprites: Id Software, Raven Software (edits by Wolfendoom, Eriance, Vader, HorrorMovieGuy, Finalizer)
//==========================================================================
ACTOR Paladin //10500
{
	Tag "Paladin"
	Health 2500
	Radius 24
	Height 64
	Mass 800 
	Speed 8
	PainChance 80
	ProjectileKickBack 9001
	Monster
	+FloorClip
	+DontHarmClass
	+DontHarmSpecies
	+DontHurtSpecies
	+AvoidMelee
	Obituary "%o played dodgeball with a Paladin and lost."
	HitObituary "A Paladin blew %o away."
	SeeSound "Paladin/Sight" 
	PainSound "Paladin/Pain" 
	DeathSound "Paladin/Death" 
	ActiveSound "Paladin/Active" 
	States
	{ 
	Spawn: 
	   HPAL AB 10 A_Look 
       Loop 
	See:
       TNT1 A 0 A_UnSetInvulnerable
	   //TNT1 A 0 A_ChangeFlag("FRIGHTENED", 0)
       HPAL AA 3 A_Chase
	   HPAL BB 3 A_Chase
	   TNT1 A 0 A_PlaySound("Paladin/Step")
	   HPAL CC 3 A_Chase
	   HPAL DD 3 A_Chase
	   TNT1 A 0 A_PlaySound("Paladin/Step")
	   Goto See+1
	SeeShield:
       HPAL EF 5 A_Chase
	   TNT1 A 0 A_PlaySound("Paladin/Step")
	   HPAL GH 5 A_Chase
	   TNT1 A 0 A_PlaySound("Paladin/Step")
	   TNT1 A 0 A_Jump (96, "See")
	   Goto SeeShield
	Melee:
		TNT1 A 0 A_UnSetInvulnerable
		//TNT1 A 0 A_ChangeFlag("FRIGHTENED", 0)
		HPAL MN 6 A_FaceTarget
		HPAL O 6 A_CustomMeleeAttack(random(1, 10)*4, "Paladin/Melee", "Paladin/Swing")
		//HPAL O 6 A_CustomMissile("PaladinBlast",24,0,0,0)
		Goto See
	Missile: //Shield attack; used if outside 768 map units
		TNT1 A 0 A_UnSetInvulnerable
		//TNT1 A 0 A_ChangeFlag("FRIGHTENED", 0)
		TNT1 A 0 A_JumpIfCloser(768, "Missile1")
		Goto Missile2
	Missile1: //Grenade used if target is within 768 map units
		TNT1 A 0 A_Jump(32, "Missile2") //Use shield attack anyway
		HPAL I 5 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(384, "MissileLow")	//Don't lob the grenade if closer
		HPAL I 5 A_FaceTarget						//than 384 map units
		HPAL J 4 Bright A_CustomMissile("PaladinGrenade", 24, 16, 0, CMF_OFFSETPITCH, 8)
		HPAL J 4 Bright A_FaceTarget
		HPAL II 5 A_FaceTarget
		Goto See
	MissileLow: //Low lob grenade for close targets
		HPAL I 5 A_FaceTarget
		HPAL J 4 Bright A_CustomMissile("PaladinGrenade", 24, 16, 0)
		HPAL J 4 Bright A_FaceTarget
		HPAL II 5 A_FaceTarget
		Goto See
	Missile2: //Shield attack
		TNT1 A 0 A_SetInvulnerable
		HPAL KK 5 A_FaceTarget      
		HPAL L 4 Bright A_CustomMissile("PaladinBall",28,0,0,0)
		HPAL KK 4 A_FaceTarget      
		HPAL L 4 Bright A_CustomMissile("PaladinBall",28,0,0,0)
		HPAL KK 4 A_FaceTarget      
		HPAL L 4 Bright A_CustomMissile("PaladinBall",28,0,0,0)
		HPAL KK 4 A_FaceTarget      
		HPAL L 4 Bright A_CustomMissile("PaladinBall",28,0,0,0)
		HPAL KK 4 A_FaceTarget      
		HPAL L 4 Bright A_CustomMissile("PaladinBall",28,0,0,0)
		HPAL KK 4 A_FaceTarget  
		TNT1 A 0 A_UnSetInvulnerable
		Goto See
	Pain:
		//TNT1 A 0 A_ChangeFlag("FRIGHTENED", 0)
		HPAL P 3
		TNT1 A 0 A_JumpIfCloser (512, "ClosePain")
		HPAL P 3 A_Pain
		TNT1 A 0 A_Jump (96, "See")
		TNT1 A 0 A_SetInvulnerable
		HPAL KKKKKKKKKKKKKKKKKKKK 3 A_FaceTarget
		TNT1 A 0 A_Jump (160, "SeeShield")
		TNT1 A 0 A_UnSetInvulnerable
		Goto See
	ClosePain: //Less likely to raise shield when in grenading-range
		HPAL P 3 A_Pain
		TNT1 A 0 A_Jump (184, "See")
		TNT1 A 0 A_SetInvulnerable
		HPAL KKKKKKKKKKKKKKKKKKKK 3 A_FaceTarget
		TNT1 A 0 A_Jump (24, "SeeShield")
		TNT1 A 0 A_UnSetInvulnerable
		Goto See
	Death:
		HPAL Q 7 A_Scream
		HPAL R 7 A_SpawnItemEx("PaladinShield", 0, 0, 25, 6, 0, 0, 60, SXF_SETMASTER|SXF_CLIENTSIDE)
		HPAL S 7
		HPAL T 7 A_NoBlocking
		HPAL UV 7
		HPAL W -1
		Stop
	XDeath:
		HPLX A 6 A_PlaySound("Paladin/XDeath")
		HPLX B 6 Bright A_SpawnItemEx("PaladinShield", 0, 0, 25, 6, 0, 0, 60, SXF_SETMASTER|SXF_CLIENTSIDE)
		HPLX CD 6 Bright
		HPLX E 6 Bright A_NoBlocking
		HPLX FGH 6 Bright
		HPLX I 6
		HPLX J -1
		Stop 
	Raise: 
		HPAL W 7 A_KillChildren
		HPAL VUTSRQ 7
		Goto See 
	} 
}

ACTOR PaladinGrenade
{
	Radius 8
	Height 8
	Speed 25
	Damage 8
	Projectile
	-NOGRAVITY
	+GRENADETRAIL
	+THRUGHOST
	+FORCEXYBILLBOARD
	BounceType "Doom"
	Gravity 0.67
	SeeSound "Paladin/Grenade"
	DeathSound "Paladin/Explode"
	BounceSound "Paladin/Bounce"
	States
	{
	Spawn:
		SGRN A 1 Bright
		Loop
	Death:
		TNT1 A 0 A_ChangeFlag ("NoGravity", 1)
		TNT1 A 0 A_Stop
		MISL B 8 Bright A_Explode(72, 96)
		MISL C 6 Bright
		MISL D 4 Bright
		Stop
	}
}

ACTOR PaladinBall
{
	Radius 6
	Height 8
	Speed 18
	Damage 3
	Projectile
	RenderStyle Add
	Alpha 0.67
	+SeekerMissile
	+THRUGHOST
	+FORCEXYBILLBOARD
	SeeSound "Paladin/Shoot"
	DeathSound "Paladin/Hit"
	States
	{
	Spawn:
		HPLB A 2 Bright A_SeekerMissile(2, 2)
		HPLB A 0 Bright A_SpawnItemEx("PaladinBallTrail",0,0,0,0,0,0,0,128)
		HPLB B 2 Bright A_SeekerMissile(2, 2)
		HPLB B 0 Bright A_SpawnItemEx("PaladinBallTrail",0,0,0,0,0,0,0,128)
		HPLB C 2 Bright A_SeekerMissile(2, 2)
		HPLB C 0 Bright A_SpawnItemEx("PaladinBallTrail",0,0,0,0,0,0,0,128)
		HPLB D 2 Bright A_SeekerMissile(2, 2)
		HPLB D 0 Bright A_SpawnItemEx("PaladinBallTrail",0,0,0,0,0,0,0,128)
		Loop
	Death:
		HPLB EFHIJ 3 Bright
		Stop
	}
}

Actor PaladinBallTrail
{   
	Radius 3
	Height 3
	Scale 1
	Speed 0
	Projectile
	+FORCEXYBILLBOARD
	RenderStyle Add
	Alpha 0.67
	States
	{
		Spawn:
		TNT1 A 2 Bright
		HPLB KLMNOP 2 Bright
		Stop 
	}
}

ACTOR PaladinShield
{
	Health 1000000000000
	Mass 1000000
	Radius 8
	Height 8
	+NoTarget
	+NeverTarget
	+CantSeek
	Monster
	-CountKill
	+NonShootable
	+NoRadiusDmg
	+DropOff
	+NoTeleport
	+Corpse
	+NotAutoaimed
	States
	{
	Spawn:
		HPLS ABCDEFGH 3 A_CheckFloor("Ground")
		Loop
	Ground:
		HPLS I 2100 A_SetFloorClip
		HPLS I 5 A_FadeOut(0.1)
		Wait
	Death:
		TNT1 A 0 A_SpawnItemEx("PaladinShieldFade")
		Stop
	}
}

Actor PaladinShieldFade
{
	Radius 8
	Height 8
	+Missile
	States
	{
	Spawn:
	Death:
		HPLS I 1
		HPLS I 1 A_FadeOut(0.01) 
		Wait
	}
}
//==========================================================================
//
//                                 
//
//==========================================================================
//==========================================================================
//  DECORATE: 
//  Sprites: 
//==========================================================================
