Actor Lethe
{ 
  Health 1500
  Speed 10
  Radius 24
  Height 72
  PainChance 50
  Mass 500
  SeeSound "Baron/Sight"
  PainSound "Baron/Pain"
  DeathSound "Baron/Death"
  ActiveSound "Baron/Active"
  Damagefactor 0.7
  Monster
  +NoGravity
  +NoBlood
  +Float
  +DontHurtSpecies
  Species "Infernal"
  Obituary "%o was blown to bits by the Lethe"
  HitObituary "%o found the wrong way to face a Lethe."
  Damagefactor "HellFire", 0.0
  States
  {
  Spawn:
    SHIN A 0
    SHIN A 0 A_CustomMissile("OrbitComet", 44, 0, 0, 2, 0)
    SHIN A 0 A_CustomMissile("OrbitComet2", 44, 0, 180, 2, 0)
    SHIN AABB 4 Bright A_Look
    Goto Spawn+3
  Idle:
    SHIN ABCD 4 Bright A_Look
    Loop
  See:
    SHIN AABBCCDD 2 Bright A_Chase
    Loop
  Melee:
    TNT1 A 0 A_Jump(64, "Melee2")
    SHIN ST 6 Bright A_FaceTarget
    SHIN U 6 Bright A_CustomComboAttack("ASHINBall", 44, 10, "Baron/Melee")
    Goto See
  Melee2:
    SHIN E 6 Bright A_FaceTarget
    SHIN F 6 Bright A_CustomMissile("HellFire", 44)
    SHIN G 6 Bright A_FaceTarget
    Goto See
  Missile:
    TNT1 A 0 A_Jump(64, "Missile3")
    TNT1 A 0 A_Jump(128, "Missile2")
    SHIN ST 6 Bright A_FaceTarget
    SHIN U 6 Bright A_CustomComboAttack("ASHINBall", 44, 10, "Baron/Melee")
    Goto See
  Missile2:
    SHIN EF 6 Bright A_FaceTarget
    SHIN G 6 Bright A_CustomMissile("Comet", 44)
    Goto See
  Missile3:
    SHIN E 6 Bright A_FaceTarget
    SHIN F 6 Bright A_CustomMissile("Hellfire", 44)
    SHIN G 6 Bright A_FaceTarget
    Goto See
  Pain:
    SHIN H 4 Bright
    SHIN H 4 Bright A_Pain
    Goto See
  Death:
    TNT1 A 0 A_NoGravity
    SHIN I 6 Bright A_Scream
    SHIN J 5 Bright A_NoBlocking
    SHIN KLMNOPQR 4 Bright
    Stop
  }
}

Actor ASHINBall
{
  Radius 6
  Height 8
  Speed 15
  Damage 8
  Projectile
  RenderStyle Add
  Alpha 0.8
  SeeSound "Imp/Attack"
  DeathSound "Imp/ShotX"
  Decal BaronScorch
  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
  SeeSound "ASHIN/CometFire"
  DeathSound "ASHIN/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:
    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, 128)
    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, 128)
    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("ASHIN/Hellfire")
    Stop
  }
}

Actor HellFire1
{
  +Ripper
  +NoExplodeFloor
  +Painless
  +BloodlessImpact
  +Missile
  +DropOff
  Speed 2
  States
  {
  Spawn:
     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
  }
}

Actor HellFire2
{
  +Ripper
  +NoExplodeFloor
  +BloodlessImpact
  +DropOff
  +Randomize
  Scale 1.5
  Speed 1
  RenderStyle Add
  Alpha 0.67
  Damagetype "HellFire"
  Obituary "%o was scorched by an ASHIN"
  States
  {
  Spawn:
    TNT1 A 8
    FRTF A 3 Bright
    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
  }
}