ACTOR Diabloist : Archvile 30112
{
//$Category Stronghold_Monsters
spawnid 219
painchance "Stunner", 64

Obituary "%o was set ablaze by a Diabloist."
Health 1400
Radius 20
Height 56
Mass 500
Speed 15
PainChance 10
BloodColor "08 08 08"
MONSTER
+FIRERESIST
+FLOORCLIP
+NOTARGET
+NORADIUSDMG
+MISSILEMORE
+BOSS
+DONTHURTSPECIES
SeeSound "monster/diasit"
PainSound "monster/diapai"
DeathSound "monster/diadth"
ActiveSound "monster/diaact"
States
   {
   Spawn:
       DIAB AB 10 A_Look
       Loop
   See:
       DIAB AABBCCDDEEFF 2 A_Chase
       Loop
   Missile:
       DIAB G 0 BRIGHT A_Jump (128,21)
       DIAB G 0 BRIGHT A_FaceTarget
       DIAB G 3 Bright A_FaceTarget
       DIAB H 3 BRIGHT A_FaceTarget
       DIAB I 3 A_CustomMissile ("DFire",32,0,0)
       DIAB H 3 BRIGHT A_FaceTarget
       DIAB G 3 Bright A_FaceTarget
       DIAB H 3 BRIGHT A_FaceTarget
       DIAB I 3 BRIGHT A_FaceTarget
       DIAB H 3 BRIGHT A_FaceTarget
       DIAB G 3 Bright A_FaceTarget
       DIAB H 3 BRIGHT A_FaceTarget
       DIAB I 3 BRIGHT A_FaceTarget
       DIAB H 3 BRIGHT A_FaceTarget
       DIAB G 3 Bright A_FaceTarget
       DIAB H 3 BRIGHT A_FaceTarget
       DIAB I 3 BRIGHT A_FaceTarget
       DIAB G 3 Bright A_FaceTarget
       DIAB H 3 BRIGHT A_FaceTarget
       DIAB I 3 BRIGHT A_FaceTarget
       DIAB G 0 BRIGHT A_Jump (128,31)
       Goto See
       DIAB N 5 BRIGHT A_FaceTarget
       DIAB O 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB P 0 BRIGHT A_FaceTarget
       DIAB P 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB N 0 BRIGHT A_FaceTarget
       DIAB N 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB O 0 BRIGHT A_FaceTarget
       DIAB O 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB P 0 BRIGHT A_FaceTarget
       DIAB P 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB N 0 BRIGHT A_FaceTarget
       DIAB N 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB O 0 BRIGHT A_FaceTarget
       DIAB O 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB P 0 BRIGHT A_FaceTarget
       DIAB P 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB N 0 BRIGHT A_FaceTarget
       DIAB N 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB O 0 BRIGHT A_FaceTarget
       DIAB O 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB P 0 BRIGHT A_FaceTarget
       DIAB P 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB N 0 BRIGHT A_FaceTarget
       DIAB N 5 BRIGHT A_CustomMissile ("DFlare",40,0,random(-4,4))
       DIAB O 0 BRIGHT A_FaceTarget
       DIAB P 5 BRIGHT
       DIAB P 0 BRIGHT A_Jump (64,3)
       DIAB P 0 BRIGHT A_Jump (128,14)
       Goto See
       DIAB GHIJKLM 5 BRIGHT A_FaceTarget
       DIAB N 5 BRIGHT A_FaceTarget
       DIAB O 1 BRIGHT A_Playsound ("weapons/firbfi")
       DIAB O 4 BRIGHT A_CustomMissile ("DMissile",32,0,0)
       DIAB P 5 BRIGHT
       DIAB P 0 BRIGHT A_Jump (128,1)
       Goto See
       DIAB [ 8 BRIGHT A_FaceTarget
       DIAB \ 8 BRIGHT A_FaceTarget
       DIAB ] 0 BRIGHT A_CustomMissile ("DTracer",0,-40,0)
       DIAB ] 8 BRIGHT A_CustomMissile ("DTracer",0,40,0)
       Goto See
   Pain:
       DIAB Q 5
       DIAB Q 5 A_Pain
       Goto See
   Pain.Stunner:
       DIAB Q 2 A_ChangeFlag("NoPain", 1)
       DIAB Q 300 A_Pain
       DIAB Q 0 A_ChangeFlag("NoPain", 0)
       goto See
   Death:
       TNT1 A 0 A_GiveToTarget("AwardItem", 16)
       DIAB Q 7
       DIAB R 7 A_Scream
       DIAB S 7 A_NoBlocking
       DIAB TUVW 7
       DIAB XY 5
       DIAB Z 3000
       DIAB ZZZZZZZZZZZZZZ 2 A_FadeOut(0.1)
       Stop
   }
}

Actor DFire
{
   Obituary "%o was set ablaze by a Diabloist."
   Radius 0
   Height 1
   Speed 0
   RENDERSTYLE ADD
   DamageType fire
   ALPHA 1.00
   +NOGRAVITY
   +SEEKERMISSILE
   +NOTARGET
   +NODAMAGETHRUST
   States
   {
   Spawn:
      HLFR A 2 Bright A_StartFire
      TNT1 A 0 Bright A_Explode(4,32)
      HLFR B 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(4,32)
      HLFR A 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(4,32)
      HLFR B 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(4,32)
      HLFR C 2 Bright A_FireCrackle
      TNT1 A 0 Bright A_Explode(4,32)
      HLFR B 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR C 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR B 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR C 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR D 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR C 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR D 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR C 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR D 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR E 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR D 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR E 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(5,32)
      HLFR D 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(4,32)
      HLFR E 2 Bright A_FireCrackle
      TNT1 A 0 Bright A_Explode(4,32)
      HLFR F 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(3,32)
      HLFR E 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(3,32)
      HLFR F 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(3,32)
      HLFR E 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(2,32)
      HLFR F 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(2,32)
      HLFR G 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(2,32)
      HLFR H 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(1,32)
      HLFR G 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(1,32)
      HLFR H 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(1,32)
      HLFR G 2 Bright A_Fire
      TNT1 A 0 Bright A_Explode(1,32)
      HLFR H 2 Bright A_Fire
      stop
   }
}

ACTOR DFlare
{
   Radius 5
   Height 5
   Speed 25
   Damage 3
   SpawnID 252
   RENDERSTYLE ADD
   DamageType fire
   ALPHA 0.85
   PROJECTILE
   Obituary "%o got was set ablaze by a Diabloist."
   Seesound "weapons/firmfi"
   DeathSound "weapons/firex4"
   States
   {
   Spawn:
      VBAL AB 3 Bright A_SpawnItemEx("MFlareFX",0,0,0,0,0,0,0,128)
      loop
   Death:
      CBAL CDEFG 3 Bright
      stop
   }
}

ACTOR DMissile : CFlameMissile
{
}

ACTOR DTracer
{
   Radius 5
   Height 5
   Speed 15
   ReactionTime 175
   Damage 7
   ExplosionDamage 64
   ExplosionRadius 64
   DamageType fire
   RenderStyle ADD
   Alpha 0.67
   PROJECTILE
   +SEEKERMISSILE
   +FLOORHUGGER
   -NOGRAVITY
   Obituary "%o got was set ablaze by a Diabloist."
   Seesound "weapons/diasht"
   DeathSound "weapons/firex3"
   States
   {
   Spawn:
      TNT1 A 1 Bright A_SeekerMissile (10,15)
      TNT1 A 0 Bright A_Countdown
      TNT1 A 0 Bright A_CustomMissile("DTracerPuff",0,0,0,0)
      loop
   Death:
      FTRA K 4 Bright
      FTRA L 4 Bright A_Explode
      FTRA MNO 3 Bright
      stop
   }
}

ACTOR MFlareFX
{
   Radius 0
   Height 1
   Speed 0
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.67
   States
   {
   Spawn:
      FDFX ABCDEF 4 Bright
      Stop
   }
}

ACTOR DTracerPuff
{
   Radius 1
   Height 1
   Speed 0
   RENDERSTYLE ADD
   DamageType fire
   ALPHA 0.67
   PROJECTILE
   +FLOORHUGGER
   -NOGRAVITY
   States
   {
   Spawn:
      FTRA ABCDEFGHIJ 3 Bright A_Explode(4,8)
      stop
   }
}

ACTOR DMissileTrail : CFlameFloor
{
}

ACTOR DMissileCircle : CircleFlame
{
}