ACTOR Afrit : BaronOfHell 31049
{ 
Health 1200
Speed 8
PainChance 30
PainChance "SoulToxic", 20
PainChance "FatFlamer", 20
PainChance "FiendFire", 20
Bloodcolor "ff 50 00"
Mass 1000
DamageFactor "NobleComet", 0.0
DropItem "BossLifeEssence" 100
DropItem "ArmorBonusMax" 100
Meleedamage 8
PainSound "monsters/baronpain"
MeleeSound "baron/melee"
Species "Nobles"
MONSTER
+FLOAT
+MISSILEMORE
+FastMelee
+NOGRAVITY
+BOSSDEATH
+QUICKTORETALIATE
+DONTHURTSPECIES
-FLOORCLIP
Obituary "%o was deep fried by an Afrit." 
HitObituary "%o couldnt take an Afrits heat." 
States 
{ 
Spawn:
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT A 4 Bright A_Look
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT B 4 Bright A_Look
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT C 4 Bright A_Look
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT D 4 Bright A_Look	  
      Loop
See:
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT A 3 Bright A_Chase
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT B 3 Bright A_Chase	 
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT C 3 Bright A_Chase
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT D 3 Bright A_Chase	
      Loop      
Melee:
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT ST 5 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT U 4 Bright A_MeleeAttack
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT TS 4 Bright A_FaceTarget  
      Goto See
Missile:
	  TNT1 A 0 A_Jump(127,27,38)
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT S 6 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)	  
      AFRT T 6 Bright A_FaceTarget	  
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
	  AFRT U 3 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
	  AFRT U 1 Bright A_CustomMissile("AfritBall", 44, 0, 0)	  
	  AFRT U 0 Bright A_CustomMissile("AfritBall", 44, 0, 3)
	  AFRT U 1 Bright A_CustomMissile("AfritBall", 44, 0, -3)
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT T 5 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)	  
      AFRT S 5 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)	  
      AFRT T 6 Bright A_FaceTarget	  
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
	  AFRT U 3 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
	  AFRT U 1 Bright A_CustomMissile("AfritBall", 44, 0, 0)
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
	  AFRT U 0 Bright A_CustomMissile("AfritBall", 44, 0, 3)
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
	  AFRT U 1 Bright A_CustomMissile("AfritBall", 44, 0, -3) 
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
	  TNT1 A 0 A_Jump(87,1)
	  Goto See
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT E 8 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT F 8 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT G 1 Bright A_CustomMissile("Comet", 44, 0, 0)
      AFRT G 0 Bright A_CustomMissile("Comet", 44, 0, 6)
      AFRT G 4 Bright A_CustomMissile("Comet", 44, 0, -6)
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT G 6 Bright A_FaceTarget
	  TNT1 A 0 A_Jump(87,1)
	  Goto See
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT G 8 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT F 8 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT E 8 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      TNT1 A 0 Bright A_FaceTarget
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      TNT1 A 0 Bright A_CustomMissile ("AfritTracer",0,40,0)	  
      AFRT E 1 Bright A_CustomMissile ("AfritTracer",0,-40,0)
	  TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT E 4 Bright A_FaceTarget	
      Goto See	  
Pain: 
	  TNT1 A 0 A_Jump(87,3)
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT H 8 Bright A_Pain
      Goto See
      TNT1 A 0 Bright A_SpawnItem("AfritFireSpawner",0,0,0,0)
      AFRT H 8 Bright A_Pain
      Goto Missile	  
Death: 
      AFRT I 0 Bright
      AFRT I 6 Bright A_Scream
      AFRT J 4 Bright A_Fall
      AFRT KLMNOPQ 3 Bright
      AFRT R 3 Bright
	  TNT1 A -1 Bright A_KillMaster
      Stop  
Raise:
      AFRT RQPONMLKJI 3 Bright
      Goto See
      } 
}

ACTOR AfritFire
{
+MISSILE
+DONTSPLASH
+CLIENTSIDEONLY
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+FORCEXYBILLBOARD
RenderStyle Add
Scale 0.3
States
{
Spawn:
FIR1 ABCDEFGHIJKL 2 bright A_FadeOut
Stop
}
}

ACTOR AfritFireSpawner : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 0 A_PlaySound("monster/ambientfire")
    TNT1 AAAAAA 0 A_SpawnItemEx("AfritFire",random(12,-12),random(12,-12),random(25,50),0,0,random(0,-5),0,128,0)
    TNT1 A 1
    Stop
  }
}

ACTOR AfritBall
{
Radius 8
Height 10
Speed 18
FastSpeed 22
Damage 8
PROJECTILE
RENDERSTYLE ADD
SeeSound "imp/attack"
DeathSound "imp/shotx"
States
{
Spawn:
      FRTM AB 1 Bright A_SpawnItemEx("AfritTrail",0,0,0,0,0,0,0,128,0)
      Loop
Death:
	  TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	  TNT1 AAA 0 A_CustomMissile("Kaboom9", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
      FRTM CDE 3 Bright
      Stop
      }
}

ACTOR AfritTrail : BFG9500Trail
{
States
{
Spawn:
Death:
    FRTM B 1 A_SetTranslucent(0.7,1)
    FRTM A 1 A_SetTranslucent(0.6,1)
    FRTM B 1 A_SetTranslucent(0.5,1)
    FRTM A 1 A_SetTranslucent(0.4,1)
    FRTM B 1 A_SetTranslucent(0.3,1)
    Stop
    }
}

ACTOR AfritTracer
{
  Radius 5
  Height 5
  Damage 6
  DamageType Fire
  RenderStyle Add
  Alpha 0.65
  Projectile
  +SeekerMissile
  +FloorHugger
  +DontSplash
  -NoGravity
  Speed 20
  FastSpeed 25
  DamageType "NobleComet"
  Obituary "%o was deep fried by an Afrit."
  Seesound "weapons/diasht"
  DeathSound "weapons/firex3"   
  States
  {
  Spawn:
    TNT1 A 0 A_PlaySound("monster/ambientfire2")
    TNT1 A 0 Bright A_SeekerMissile(0,2)
    TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 0 Bright A_SeekerMissile(0,2)
    TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 0 Bright A_SeekerMissile(0,2)
    TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 0 Bright A_SeekerMissile(0,2)
    TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)	
    Loop
  Death:
    TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
    FTRA K 4 Bright
	TNT1 AAA 0 A_CustomMissile("Kaboom9", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
    FTRA L 4 Bright A_Explode(32, 64)
    FTRA MNO 3 Bright
    Stop
  }
}

ACTOR ATracerPuff
{
  Radius 1
  Height 1
  Speed 0
  RenderStyle Add
  Alpha 0.6
  Scale 1.25
  Projectile
  +FloorHugger
  -NoGravity
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    FTRA ABCDEFGHIJ 2 Bright
    stop
  }
}

Actor Afrit2 : Afrit{
Species "Cybers"
DamageFactor "HFCyber", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "VileFires", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "CadaverRocket", 0.0
+THRUSPECIES
Tag "Afrit"
}
