Actor HellfireIfrit : RMAfrit
{
  Health 2000
  Speed 10
  PainChance 50
  Scale 1.15
  Obituary "%o was scorched by a Hellfire Ifrit."
  Tag "\c[z4]Hellfire Ifrit\c-"
  +BRIGHT
  SeeSound "HellfireIfrit/Sight"
  DeathSound "HellfireIfrit/Death"
  PainSound "HellfireIfrit/Pain"
  ActiveSound "HellfireIfrit/Active"
  States
  {
  Spawn:
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_Look
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_Look  
    Loop
  See:
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_Chase	
	TNT1 A 0 A_Jump(15,"Evade")
    Loop   
  Evade:
    TNT1 A 0 A_Jump(128,"Evade2")
	TNT1 A 0 ThrustThing(Angle*256/360+64,14,0,0)
	TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_Chase	
	TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_Chase	
	TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_Chase	
	TNT1 A 0 A_Stop
	Goto See
  Evade2:
	TNT1 A 0 ThrustThing(Angle*256/360+192,14,0,0)		 
	TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_Chase	
	TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_Chase	
	TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_Chase	
	TNT1 A 0 A_Stop
	Goto See
  Melee:
    TNT1 A 0
    Goto Missile
  Missile:
    TNT1 A 0 A_Jump(256,"Missile1","Missile2","Missile3")
  Missile1:
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("PyroComet",44,0,random(-6,6))
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("PyroComet",44,0,random(-6,6))
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("PyroComet",44,0,random(-6,6))
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("PyroComet",44,0,random(-6,6))
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),16,0,0)
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
	TNT1 A 0 A_Stop
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("PyroComet",44,0,random(-6,6))
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("PyroComet",44,0,random(-6,6))
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("PyroComet",44,0,random(-6,6))
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("PyroComet",44,0,random(-6,6))
    Goto See
  Missile2:
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 0 A_CustomMissile("Comet",44,0,random(-10,10))
    HIFR C 2 A_CustomMissile("Comet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 0 A_CustomMissile("Comet",44,0,random(-10,10))
    HIFR C 2 A_CustomMissile("Comet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 0 A_CustomMissile("Comet",44,0,random(-10,10))
    HIFR C 2 A_CustomMissile("Comet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 0 A_CustomMissile("Comet",44,0,random(-10,10))
    HIFR C 2 A_CustomMissile("Comet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),16,0,0)
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
	TNT1 A 0 A_Stop
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 0 A_CustomMissile("Comet",44,0,random(-10,10))
    HIFR C 2 A_CustomMissile("Comet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 0 A_CustomMissile("Comet",44,0,random(-10,10))
    HIFR C 2 A_CustomMissile("Comet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 0 A_CustomMissile("Comet",44,0,random(-10,10))
    HIFR C 2 A_CustomMissile("Comet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 0 A_CustomMissile("Comet",44,0,random(-10,10))
    HIFR C 2 A_CustomMissile("Comet",44,0,0)
    Goto See
  Missile3:
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("NobleBehemothSeekingComet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("NobleBehemothSeekingComet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),16,0,0)
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
	TNT1 A 0 A_Stop
    HIFR B 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("NobleBehemothSeekingComet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_CustomMissile("NobleBehemothSeekingComet",44,0,0)
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR C 2 A_FaceTarget
    Goto See
  Pain:
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR D 2
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR D 2 A_Pain
    Goto See
  Death:
    TNT1 A 0 A_SpawnItemEx("AfritFireSpawner")
    HIFR D 6 A_Scream
    HIFR E 5 A_NoBlocking
    HIFR FGHI 5
	TNT1 A 0 A_KillMaster
	HIFR I -1 A_SetFloorClip
    Stop
  Raise:
    Stop
  XDeath:
    TNT1 A 0
	Goto Death
  }
}

ACTOR NobleBehemothSeekingComet : BehemothSeekingComet
{
  DamageType "NobleComet"
}