ACTOR HellFireBaron : BaronOfHell 31042
{
Health 1700
PainChance 30
Scale 1.1
PainChance "SoulToxic", 20
PainChance "FatFlamer", 20
PainChance "FiendFire", 20
BloodColor "ff 5f 00"
DamageFactor "NobleComet", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "Ice", 0.0
Species "Nobles"
DropItem "BossLifeEssence" 128 25
DropItem "BossArmorBonusMax" 128 1
DropItem "DemonAmmoBox" 128 200
DropItem "BigGas" 128 200
MeleeDamage 10
Obituary "%o was Burned to death by a HellFire Baron."
HitObituary "%o was ripped open by a HellFire Baron."
SeeSound "HellFireBaron/sight"
PainSound "monsters/baronpain"
DeathSound "HellFireBaron/Death"
MeleeSound "baron/melee"
+MISSILEEvenMORE
+FASTMELEE
+NOICEDEATH
+DONTHURTSPECIES
+QUICKTORETALIATE
States
{
Spawn:
	HFBY A 7 A_Look
	HFBY A 7 A_Look
	HFBI A 7 A_Look
	HFBI A 7 A_Look
	Loop
See:
    TNT1 A 0 A_Jump(70,"rush")
    TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("HFBaronWalkFire",0,0,0,0,0,0,0,128)
    HFBY AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HFBaronWalkFire",0,0,0,0,0,0,0,128)
    HFBY BB 3 Bright A_Chase
    TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HFBaronWalkFire",0,0,0,0,0,0,0,128)
    HFBY CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HFBaronWalkFire",0,0,0,0,0,0,0,128)
	HFBY DD 3 Bright A_Chase
    Loop
 Rush:
		TNT1 A 0 A_SpawnItem("HellFireBaronFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhost",0,0,0,0,0,0,0,128)		
		HFBY A 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhost",0,0,0,0,0,0,0,128)		
		HFBY A 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhost",0,0,0,0,0,0,0,128)
		HFBY B 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhost",0,0,0,0,0,0,0,128)
		HFBY B 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhost",0,0,0,0,0,0,0,128)
		HFBY C 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhost",0,0,0,0,0,0,0,128)
		HFBY C 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhost",0,0,0,0,0,0,0,128)
		HFBY D 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhost",0,0,0,0,0,0,0,128)
		HFBY D 1 A_Chase
		TNT1 A 0 A_SpawnItem("HellFireBaronFlameSpawner",0,0,0,0)
		HFBY D 1 A_Chase	
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("HellFireBaronFlameSpawner",0,0,0,0)
		TNT1 A 0 A_Jump(80,"See")		
	    TNT1 A 0 A_SpawnItem("HellFireBaronFlameSpawner",0,0,0,0)
		Loop
Missile:
	TNT1 A 0 A_Jump(128,"GiantBalls","Comet","Tracers","Spread")
Normal:
    HFBY EF 6 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY G 0 Bright A_CustomMissile("HFBall", 32, 0, 0)
	TNT1 A 0 Bright A_CustomMissile("HFBall", 32, 0, -5)
	HFBY G 3 Bright A_CustomMissile("HFBall", 32, 0, 5)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
    HFBY HI 6 Bright A_FaceTarget
	HFBY G 0 Bright A_CustomMissile("HFBall", 32, 0, 0)
	TNT1 A 0 Bright A_CustomMissile("HFBall", 32, 0, -5)
	HFBY G 3 Bright A_CustomMissile("HFBall", 32, 0, 5)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_Jump(87,"GiantBalls","Comet","Tracers","Spread")
	Goto See
Spread:
	HFBY KL 8 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY M 0 Bright A_CustomMissile("HFBall", 32, 0, 0)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY M 0 A_CustomMissile("HFBall", 32, 0, 3)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_CustomMissile("HFBall", 32, 0, -3)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_CustomMissile("HFBall", 32, 0, 6)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY M 0 Bright A_CustomMissile("HFBall", 32, 0, -6)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_CustomMissile("HFBall", 32, 0, 9)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_CustomMissile("HFBall", 32, 0, -9)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_CustomMissile("HFBall", 32, 0, 12)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY M 7 Bright A_CustomMissile("HFBall", 32, 0, -12)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_Jump(87,"GiantBalls")
	Goto See
GiantBalls:
    TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
    HFBY EF 8 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY G 0 Bright A_CustomMissile("BBall2", 32, 0, 0)
	HFBY G 0 Bright A_CustomMissile("BBall2", 32, 0, 5)
	HFBY G 7 Bright A_CustomMissile("BBall2", 32, 0, -5)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
    HFBY HI 8 A_FaceTarget
	HFBY J 0 Bright A_CustomMissile("BBall2", 32, 0, 0)
	HFBY J 0 Bright A_CustomMissile("BBall2", 32, 0, 5)
	HFBY J 7 Bright A_CustomMissile("BBall2", 32, 0, -5)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_Jump(87,"Comet")
	Goto See
Comet:
    TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
    HFBY EF 6 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY G 0 Bright A_CustomMissile("Comet", 32, 0, 0)
	TNT1 A 0 Bright A_CustomMissile("Comet", 32, 0, -5)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY G 3 Bright A_CustomMissile("Comet", 32, 0, 5)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
    HFBY HI 6 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY G 0 Bright A_CustomMissile("Comet", 32, 0, 0)
	TNT1 A 0 Bright A_CustomMissile("Comet", 32, 0, -5)
	HFBY G 3 Bright A_CustomMissile("Comet", 32, 0, 5)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	TNT1 A 0 A_Jump(87,"Tracers")
	Goto See
Tracers:
    TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
    HFBY ML 8 A_FaceTarget	
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY K 0 Bright A_CustomMissile("HFBaronTracer", 32, 0, 0)
	HFBY K 0 Bright A_CustomMissile("HFBaronTracer", 32, 0, 5)
	HFBY K 0 Bright A_CustomMissile("HFBaronTracer", 32, 0, -5)
	HFBY K 0 Bright A_CustomMissile("HFBaronTracer", 32, 0, 10)
	HFBY K 8 Bright A_CustomMissile("HFBaronTracer", 32, 0, -10)
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
    Goto See
Melee:
    TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY EF 6 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY G 4 A_MeleeAttack
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	Goto See
Pain:
    TNT1 A 0 A_Jump(87,"PainMissile")
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY N 4 A_Pain
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	Goto See
PainMissile:
    TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	HFBY N 4 A_Pain
	TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
	Goto Missile
Death: 
    HFBY O 7
    HFBY P 6 A_Scream 
    HFBY Q 5 A_Fall 	
    HFBY R 4 A_SpawnItem("BodyCrash",0,0,0,0)
	HFBY ST 4
    HFBY U -1 A_KillMaster
    Stop 
XDeath: 
	HFBX AB 5
	HFBX C 4 A_XScream
	HFBX D 4 A_SpawnItemEx("OrangeGibbedGenerator",0,0,0,0,0,0,0,128,0)
	HFBX E 3 A_Fall
	HFBX F 3 A_SpawnItem("BodyCrash",0,0,0,0)
	HFBX GH 3
	HFBX I -1 A_KillMaster
	Stop 	
Raise:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	HFBY TSRQPO 6
	Goto See
 	}
}

ACTOR HellFireBaronFlameSpawner : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 AAA 0 A_SpawnItemEx("CardinalFire",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,128,0)
    TNT1 A 1
    Stop
  }
}
ACTOR HFBaronGhost
{
Scale 1.2
RENDERSTYLE Translucent
Alpha 0.75
+NOGRAVITY
+CLIENTSIDEONLY
+DONTSPLASH
+NOINTERACTION
+NOCLIP
States
{
Spawn:
    HFBY A 2 A_FadeOut(0.09)
    Loop
    }
}
ACTOR HFBaronWalkFire
{
  Scale 1.4
  Speed 0
  RenderStyle Add
  Alpha 0.75
  Damage 0
  +NOCLIP
  +MISSILE
  +DROPOFF
  +RANDOMIZE
  +DONTSPLASH
  +NOTELEPORT
  +DONTHURTSPECIES
  +THRUSPECIES
  Species "Nobles"
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 10
    HFWF ABC 3 Bright
    TNT1 A 0 A_Jump(191,3)
    TNT1 A 0 A_CustomMissile("HFBaronWalkFire", 0, 24, 0)
    TNT1 A 0 A_CustomMissile("HFBaronWalkFire", 0, -24, 0)
    HFWF DEFGHIJKLMNO 3 Bright
    Stop
  Toaster:
    TNT1 A 0
	Stop
    }
}
ACTOR HFBall : BaronBall
{
Speed 20
FastSpeed 28
Damage 10
States
{
Spawn:
    BAL9 AB 1 Bright A_SpawnItemEx("PBallTrail",0,0,0,0,0,0,0,128,0)
    Loop
Death:
	TNT1 A 0
    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))	
    BAL9 CDE 3 Bright
    Stop
    }
}

ACTOR HFBaronTracer
{
  Radius 5
  Height 5
  Damage 9
  DamageType Fire
  RenderStyle Add
  Alpha 0.65
  Projectile
  +FloorHugger
  +DontSplash
  -NoGravity
  Speed 25
  FastSpeed 30
  DamageType "NobleComet"
  Obituary "%o was Burned to death by a HellFire Baron."
  Seesound "weapons/diasht"
  DeathSound "weapons/firex3"   
  States
  {
  Spawn:
    TNT1 A 0 A_PlaySound("monster/ambientfire2")
    TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    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 HellFireBaron2 : HellFireBaron{
Species "Cybers"
DamageFactor "HFCyber", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "VileFires", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "CadaverRocket", 0.0
+THRUSPECIES
Tag "\c[z4]Hellfire Baron"
}

