ACTOR Excubitor : BaronOfHell~
{
//Creator: NaturalxCF
//Origin: Nexus Infinity
//Sprite: HOBA
//Title: "Excubitor" 
Health 2500
Speed 16
PainChance 25
damage 20
minmissilechance 20
DeathSound "profane/death"
SeeSound "MEOWZART"
translation "16:43=170:191" , "44:47=5:8" , "48:75=53:79" , "76:79=5:8"
Obituary "%o was killed by Excubitor."
painchance "hornedbaronlifesteal1",0
painchance "hornedbaronlifesteal2",255
Tag "\c[m6]Excubitor\c-"
DropItem "BossLifeEssence", 200, 25
DropItem "HEMBossArmorBonusMax25", 200
DropItem "HEMArmorBonusMax5", 200
DropItem "HEMArmorBonusMax5", 200
DropItem "ModdedSoulSphere", 64
+MISSILEEVENMORE
States
{
  Spawn:
    HOBA AB 10 A_Look
    Loop
  See:
    HOBA AABB 3 A_Chase
    TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
    HOBA CCDD 3 A_Chase
    TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
    Loop
  Melee:
    HOBA EF 5 a_facetarget
    HOBA G 0 A_CustomMeleeAttack(11 * random(1, 8),"baron/melee","none")
    HOBA G 5 a_custommissile("HornedBaronLifeStealBall",32,0,0)  
	goto see
  Pain:
    HOBA K 2
    HOBA K 2 A_Pain
    Goto See
  Pain.hornedbaronlifesteal2:
	HOBA K 1 a_jumpifinventory("hornedbaronhealing",10,"nomorehealing")
	HOBA J 1 a_giveinventory("hornedbaronhealing",1)
	HOBA K 1 a_custommissile("HornedBaronLifeStealIndicator",random(16,64),random(-24,24),0)
	HOBA K 1 HealThing(100)
	HOBA K 1 a_custommissile("HornedBaronLifeStealIndicator",random(16,64),random(-24,24),0)
	HOBA K 1 HealThing(100)
	HOBA KKKKKKKKKKKKKK 1 a_custommissile("HornedBaronLifeStealIndicator",random(16,64),random(-24,24),0)
	goto see
  nomorehealing:
	HOBA K 1 a_pain
	goto see
  Missile:
	HOBA A 0 a_jumpifcloser(160,"ShortDistanceRectify")
	HOBA A 0 a_jumpifcloser(440,"MediumDistanceRectify")
  LongDistanceRectify: 
	HOBA A 0 a_jump(160,"FieryAttack")
	goto RapidAttack
  MediumDistanceRectify:
	HOBA A 0 a_jump(128,"Charge")
	HOBA A 0 a_jump(160,"RapidAttack","Comets")
	goto FieryAttack 
  ShortDistanceRectify:
	HOBA A 0 a_jump(32,"FieryAttack")
	HOBA A 0 a_jump(32,"RapidAttack")
	HOBA A 0 a_jump(128,"Charge","Comets")
	goto Firebreath
  FieryAttack:
    HOBA L 0 A_VileStart
    HOBA L 10 Bright A_FaceTarget
    HOBA M 8 Bright A_VileTarget("HornedBaronVileFire")
    HOBA M 8 Bright A_FaceTarget
    HOBA N 8 Bright A_VileTarget("HornedBaronVileFire2")
    HOBA N 0 a_jump(104,"see")
    HOBA N 8 bright a_spidrefire
    Goto FieryAttack+2
  MediumDistance:
	HOBA A 0 a_jump(104,"RapidAttack","Comets")
	HOBA A 0 a_jumpifcloser(160,"FireBreath")
	HOBA A 0 a_jumpifcloser(384,"Charge")
  Firebreath:
	HOBA "Z" 8 a_facetarget
	HOBA K 4 a_custommissile("hornedbaronfirebreath",50,0,0)
	HOBA "Z" 4 a_facetarget
	HOBA K 4 a_custommissile("hornedbaronfirebreath",50,0,0)
	goto see
  RapidAttack:
	HOBA EF 4 a_facetarget
	TNT1 A 0 A_CustomMissile("DukeBall2",40,0,0)
	TNT1 A 0 A_CustomMissile("DukeBall2",40,0,-4)
	HOBA G 3 A_CustomMissile("DukeBall2",40,0,4)
	HOBA HI 4 a_facetarget
	TNT1 A 0 A_CustomMissile("DukeBall2",40,0,0)
	TNT1 A 0 A_CustomMissile("DukeBall2",40,0,-4)
	HOBA J 2 A_CustomMissile("DukeBall2",40,0,4)
	HOBA J 0 a_jump(32,"see")
	HOBA J 1 a_spidrefire
	goto RapidAttack
  Comets:
	HOBA LLMM 6 Bright A_FaceTarget 
	HOBA N 1 Bright A_CustomMissile("BelphegorComet",40,0,0)
	TNT1 A 0 A_CustomMissile("BelphegorComet",40,0,-4)
	HOBA N 1 Bright A_CustomMissile("BelphegorComet",40,0,4)	
	TNT1 A 0 A_CustomMissile("BelphegorComet",40,0,-8)
	HOBA N 5 Bright A_CustomMissile("BelphegorComet",40,0,8)	
	Goto See 
  Charge: 
    HOBA O 2 A_SkullAttack
	HOBA O 0 A_SpawnItemEx("HornedBaronChargeShadowO",0,0,0,0,0,0,0,128,0)
	HOBA O 1 thrustthingz(0,20,1,1)
	HOBA O 4 A_SkullAttack
	HOBA O 1 thrustthingz(0,20,1,1)
	HOBA P 0 A_SpawnItemEx("HornedBaronChargeShadowP",0,0,0,0,0,0,0,128,0)
	HOBA P 1 thrustthingz(0,20,1,1)
	HOBA P 4 A_SkullAttack
	HOBA Q 0 A_SpawnItemEx("HornedBaronChargeShadowQ",0,0,0,0,0,0,0,128,0)
	HOBA Q 1 thrustthingz(0,20,1,1)
	HOBA Q 4 A_SkullAttack
	HOBA R 0 A_SpawnItemEx("HornedBaronChargeShadowR",0,0,0,0,0,0,0,128,0)
	HOBA R 1 thrustthingz(0,20,1,1)
	HOBA R 4 A_SkullAttack
	HOBA O 0 A_SpawnItemEx("HornedBaronChargeShadowO",0,0,0,0,0,0,0,128,0)
	HOBA Q 1 thrustthingz(0,20,1,1)
	HOBA O 4 A_SkullAttack
	HOBA O 1 thrustthingz(0,20,1,1)
	HOBA P 0 A_SpawnItemEx("HornedBaronChargeShadowP",0,0,0,0,0,0,0,128,0)
	HOBA P 1 thrustthingz(0,20,1,1)
	HOBA P 4 A_SkullAttack
	HOBA Q 0 A_SpawnItemEx("HornedBaronChargeShadowQ",0,0,0,0,0,0,0,128,0)
	HOBA Q 1 thrustthingz(0,20,1,1)
	HOBA Q 4 A_SkullAttack
	HOBA Q 1 thrustthingz(0,20,1,1)
	HOBA R 0 A_SpawnItemEx("HornedBaronChargeShadowR",0,0,0,0,0,0,0,128,0)
	HOBA R 0 A_Stop
	HOBA R 1
    Goto See
  XDeath:
  Death:
    HOBA S 8 A_SpawnItemEx("GreenGibbedGenerator",0,0,0,0,0,0,0,128,0)
    HOBA T 8 A_Scream
    HOBA U 8
    HOBA V 8 A_NoBlocking
    HOBA WX 8
	TNT1 A 0 A_BossDeath
    HOBA "Y" -1
    Stop
	}
}

ACTOR HornedBaronLifeStealBall
{
  Radius 6
  Height 8
  Speed 20
  Damage 0
  Projectile
  +RANDOMIZE
  RenderStyle translucent
  damagetype HornedBaronLifeSteal1
  Alpha 0.1
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
    BAL1 AB 4 Bright
    stop
  Death:
    BAL1 C 0 a_spawnitem("HornedBaronLifeStealExplosion")
    BAL1 CDE 1 Bright
    Stop
  }
}

ACTOR HornedBaronLifeStealExplosion
{
  Radius 6
  Height 8
  Speed 10
  Damage 0
  Projectile
  +RANDOMIZE
  RenderStyle translucent
  damagetype HornedBaronLifeSteal2
  translation "16:47=192:207" , "168:191=192:207"
  Alpha 0.1
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
    BAL1 AB 1 Bright
    BAL1 C 1 a_explode(8,192)
    BAL1 CDE 1 Bright
    Stop
  }
}

ACTOR HornedBaronLifeStealIndicator
{
  Radius 6
  Height 16
  Speed 1
  Damage 0
  Projectile
  +RANDOMIZE
  +noclip
  RenderStyle translucent
  translation "112:127=175:191"
  Alpha 0.5
  SeeSound "baron/attack"
  DeathSound "baron/shotx"
  Decal "BaronScorch"
  States
  {
  Spawn:
    BAL7 CDE 4 Bright
    Stop
  }
}

ACTOR HornedBaronChargeShadowO
{
	Radius 24
	Height 64
	Speed 1
	Damage 0
	RenderStyle Translucent
	Alpha 0.5
	PROJECTILE
	states
	{
	Spawn:
                HOBA O 8
                HOBA O 2 A_FadeOut(0.10)
		goto Spawn+1
	}
}

ACTOR HornedBaronChargeShadowP
{
	Radius 24
	Height 64
	Speed 1
	Damage 0
	RenderStyle Translucent
	Alpha 0.5
	PROJECTILE
	states
	{
	Spawn:
                HOBA P 8
                HOBA P 2 A_FadeOut(0.10)
		goto Spawn+1
	}
}

ACTOR HornedBaronChargeShadowQ
{
	Radius 24
	Height 64
	Speed 1
	Damage 0
	RenderStyle Translucent
	Alpha 0.5
	PROJECTILE
	states
	{
	Spawn:
                HOBA Q 8
                HOBA Q 2 A_FadeOut(0.10)
		goto Spawn+1
	}
}

ACTOR HornedBaronChargeShadowR
{
	Radius 24
	Height 64
	Speed 1
	Damage 0
	RenderStyle Translucent
	Alpha 0.5
	PROJECTILE
	states
	{
	Spawn:
                HOBA R 8
                HOBA R 2 A_FadeOut(0.10)
		goto Spawn+1
	}
}

Actor hornedbaronvilefire: Archvilefire
{
translation "160:167=112:127"
}

ACTOR hornedbaronvilefire2
{
translation "160:167=127:112"
  Damagetype "NobleComet"
  +NOBLOCKMAP
  +NOGRAVITY
  RenderStyle translucent
  Alpha 0.75
  States
  {
  Spawn:
    AFFI ABCDEFGH 2 Bright A_explode(8,128)
    Stop
  }
}

ACTOR hornedbaronFireBreath
{
  Radius 6
  Height 16
  Speed 15
  +ripper
  +BLOODLESSIMPACT
  Damage 5
  Projectile
  +RANDOMIZE
  translation "160:167=112:127"
  Damagetype "NobleComet"
  RenderStyle translucent
  scale 0.75
  Alpha 0.75
  SeeSound "baron/attack"
  DeathSound "baron/shotx"
  Decal "BaronScorch"
  States
  {
  Spawn:
    AFFI AB 4
    AFFI C 0 a_custommissile("HornedBaronFireBreath2",0,0,-7,CMF_AIMDIRECTION,-3)
    AFFI C 0 a_custommissile("HornedBaronFireBreath2",0,0,-7,CMF_AIMDIRECTION,3)
    AFFI C 0 a_custommissile("HornedBaronFireBreath2",0,0,7,CMF_AIMDIRECTION,-3)
    AFFI C 0 a_custommissile("HornedBaronFireBreath2",0,0,7,CMF_AIMDIRECTION,3)
    AFFI C 4 A_Explode(5,40,0)
    AFFI D 0 a_custommissile("HornedBaronFireBreath2",0,0,-12,CMF_AIMDIRECTION,-5)
    AFFI D 0 a_custommissile("HornedBaronFireBreath2",0,0,-12,CMF_AIMDIRECTION,5)
    AFFI D 0 a_custommissile("HornedBaronFireBreath2",0,0,12,CMF_AIMDIRECTION,-5)
    AFFI D 0 a_custommissile("HornedBaronFireBreath2",0,0,12,CMF_AIMDIRECTION,5)
    AFFI DEFGH 8 A_Explode(5,40,0)
    stop
  }
}

ACTOR hornedbaronFireBreath2
{
  Radius 6
  Height 16
  Speed 15
  +ripper
  +BLOODLESSIMPACT
  Damage 4
  Projectile
  +RANDOMIZE
  translation "160:167=127:112"
  RenderStyle translucent
  scale 0.55
  Alpha 0.75
  SeeSound "baron/attack"
  DeathSound "baron/shotx"
  Decal "BaronScorch"
  States
  {
  Spawn:
    AFFI ABC 6
    AFFI DEFGH 5
    stop
  
  }
}

actor HornedBaronHealing : Inventory
{
Inventory.MaxAmount 10
+INVENTORY.UNDROPPABLE
}
