Actor Afrit : SSTBaron 22084
{
//$Category Monsters
  Health 800
  Speed 6
  Radius 24
  Height 72
  PainChance 50
  Mass 1100
  SeeSound "Baron/Sight"
  PainSound "Baron/Pain"
  DeathSound "Baron/Death"
  ActiveSound "Baron/Active"
  Monster
  +NoGravity
  +Float
  +DontHurtSpecies
  Obituary "%o was scorched by an Afrit"
  HitObituary "%o found the Afrit too hot to handle."
  Damagefactor "Fire", 0.0
  BloodType "SkullPuff"
   bloodcolor "EE 88 33"
   +NOBLOODDECALS
	damagefactor "RedPaint", 0
damagefactor "OrangePaint", 0
damagefactor "YellowPaint", 0
damagefactor "GreenPaint", 0
damagefactor "BluePaint", 0
damagefactor "PurplePaint", 0
damagefactor "WhitePaint", 0
damagefactor "BlackPaint", 0
  States
  {
  Spawn:
    FRIT A 0
    FRIT A 0 A_CustomMissile("OrbitComet", 44, 0, 0, 2, 0)
    FRIT A 0 A_CustomMissile("OrbitComet2", 44, 0, 180, 2, 0)
    FRIT AABB 4 Bright A_Look
    Goto Spawn+3
  Idle:
    FRIT ABCD 4 Bright A_Look
    Loop
  See:
    FRIT AABBCCDD 2 Bright A_Chase
    Loop
  Melee:
    TNT1 A 0 A_Jump(64, "Melee2")
    FRIT ST 6 Bright A_FaceTarget
    FRIT U 6 Bright A_CustomComboAttack("AfritBall", 44, 10, "Baron/Melee")
    Goto See
  Melee2:
    FRIT E 6 Bright A_FaceTarget
    FRIT F 6 Bright A_CustomMissile("HellFire", 44)
    FRIT G 6 Bright A_FaceTarget
    Goto See
  Missile:
    TNT1 A 0 A_Jump(64, "Missile3")
    TNT1 A 0 A_Jump(128, "Missile2")
    FRIT ST 6 Bright A_FaceTarget
    FRIT U 6 Bright A_CustomComboAttack("AfritBall", 44, 10, "Baron/Melee")
    Goto See
  Missile2:
    FRIT EF 6 Bright A_FaceTarget
    FRIT G 6 Bright A_CustomMissile("Comet", 44)
    Goto See
  Missile3:
    FRIT E 6 Bright A_FaceTarget
    FRIT F 6 Bright A_CustomMissile("Hellfire", 44)
    FRIT G 6 Bright A_FaceTarget
    Goto See
  Pain:
    FRIT H 4 Bright
    FRIT H 4 Bright A_Pain
    Goto See
  Death.Chainsaw:
  Death.Shotgun:
  Death.Rocket:
  Death.Plasma:
  Death.Fire:
  Death:
    TNT1 A 0 A_NoGravity
    FRIT I 6 Bright A_Scream
    FRIT J 5 Bright A_NoBlocking
    FRIT KLMNOPQR 4 Bright
    Stop
	
  Pain.GreenPaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 0,0,0)
	Goto Pain
  Pain.BluePaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 1,0,0)
	Goto Pain
  Pain.RedPaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 2,0,0)
	Goto Pain
  Pain.OrangePaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 3,0,0)
	Goto Pain
  Pain.PurplePaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 4,0,0)
	Goto Pain
  Pain.WhitePaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 5,0,0)
	Goto Pain
  Pain.YellowPaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 6,0,0)
	Goto Pain
  Pain.BlackPaint:
    TNT1 A 0 ACS_ExecuteAlways(926,0, 7,0,0)
	Goto Pain
  }
}

Actor AfritBall
{
  Radius 6
  Height 8
  Speed 15
  Damage 8
  Projectile
  RenderStyle Add
  Alpha 0.8
  SeeSound "Imp/Attack"
  DeathSound "Imp/ShotX"
  Decal BaronScorch
  Damagetype "Fire"
  States
  {
  Spawn:
    FRTM AB 5 Bright
    Loop
  Death:
    FRTM CDE 6 Bright
    Stop
  }
}

Actor Comet
{
  Radius 6
  Height 8
  Speed 10
  Damage 5
  SpawnID 250
  Scale 0.55
  Projectile
  DamageType "Rocket"
  SeeSound "Afrit/CometFire"
  DeathSound "Afrit/CometHit"
  Decal Scorch
  States
  {
  Spawn:
    COMT AAAABBBBCCCC 1 Bright A_SpawnItemEx("CometTail", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
    COMT D 3 Bright A_SpawnItemEx("CometDeathGlow", 0, 0, 0, 0, 0, 0, 0, 128)
    COMT E 3 Bright A_Explode(80, 80, 0)
    TNT1 A 0 A_SpawnItemEx("CometDeath", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

Actor CometTail
{
  Projectile
  +NoClip
  RenderStyle Add
  Alpha 0.4
  States
  {
  Spawn:
    	TNT1 A 0
    	TNT1 A 0 Thing_ChangeTID (0, 1330) 
    FRTB ABCDEFGHI 1 Bright
    Stop
  }
}

Actor CometDeathGlow : CometTail
{
  Scale 2.0
  Alpha 0.6
  States
  {
  Spawn:
    FRTB ABCDEFGHI 3 Bright
    Stop
  }
}

Actor CometDeath
{
  Projectile
  RenderStyle Add
  +NoClip
  Alpha 0.7
  States
  {
  Spawn:
    COMT FGHI 3 Bright
    Stop
  }
}

Actor OrbitComet : Comet
{
  SeeSound ""
  +NoClip
  Scale 0.28
  Speed 5
  States
  {
  Spawn:
    COMT AABBCC 1 Bright A_SpawnItemEx("OrbitCometTail", 0, 0, 0, 0, 0, 0, 0, 160)
    TNT1 A 0 A_CustomMissile("OrbitComet", 0, 0, 75)
    TNT1 A 0 A_SpawnItemEx("OrbitCometTail", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

Actor OrbitComet2 : OrbitComet
{
  States
  {
  Spawn:
    COMT AABBCC 1 Bright A_SpawnItemEx("OrbitCometTail", 0, 0, 0, 0, 0, 0, 0, 160)
    TNT1 A 0 A_CustomMissile("OrbitComet2", 0, 0, -75)
    TNT1 A 0 A_SpawnItemEx("OrbitCometTail", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

Actor OrbitCometTail : CometTail
{
  Scale 0.5
}

Actor HellFire
{
  +NoBlockMap
  +Painless
  +BloodlessImpact
  +Missile
  +DropOff
	
  States
  {
  Spawn:
    TNT1 A 1
    Loop
  Death:
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, 0, -180)
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, 16, -175)
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, 32, -170)
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, -16, -185)
    TNT1 A 0 Bright A_CustomMissile("HellFire1", 0, -32, -190)
    TNT1 A 10 Bright A_PlaySound("Afrit/Hellfire")
    Stop
  }
}

Actor HellFire1
{
  +Ripper
  +NoExplodeFloor
  +Painless
  +BloodlessImpact
  +Missile
  +DropOff
	
  Speed 2
  States
  {
  Spawn:
	 TNT1 A 0
	 TNT1 A 0 A_Jump(64,"nvm")
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 0, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, 16, 0)
     TNT1 A 10 A_CustomMissile("HellFire2", 0, -16, 0)
     Stop
  nvm:
	 TNT1 A 0
     Stop
  
  }
}

Actor HellFire2
{
  +Ripper
  +NoExplodeFloor
  +BloodlessImpact
  +DropOff
  +Randomize
	
  Scale 1.5
  Speed 1
  RenderStyle Add
  Alpha 0.67
  Damagetype "Fire"
  Obituary "%o was scorched by an Afrit"
  States
  {
  Spawn:
	 TNT1 A 0
	 TNT1 A 0 A_Jump(64,"nvm")
    TNT1 A 8
    FRTF A 3 Bright
	FRTF A 0 A_SpawnItemEx("imonfire", random(-6,6),random(-6,6),random(1, 5), random(-10,10)*0.1, random(-10,10)*0.1, random(20,30)*0.1, 0, 160,64)
    FRTF BC 3 Bright A_Explode(3, 64)
    TNT1 A 0 A_Explode(3, 64)
    TNT1 A 0 A_Jump(191, 4)
    TNT1 A 0 A_CustomMissile("HellFire2", 0, 24, 0)
    TNT1 A 0 A_CustomMissile("HellFire2", 0, 0, 0)
    TNT1 A 0 A_CustomMissile("HellFire2", 0, -24, 0)
    FRTF DEFGHIJKLMNO 3 Bright
    Stop
  nvm:
	 TNT1 A 0
     Stop
  }
}