ACTOR HellFireBaron 31042
{
Monster
Health 1700
Height 64
Radius 24
Mass 1000
Speed 8
Scale 1.1
BloodColor "ff 5f 00"
PainChance 30
PainChance "Fire", 0
PainChance "SoulToxic", 20
PainChance "FatFlamer", 20
PainChance "FiendFire", 20
MeleeDamage 10
+FLOORCLIP
+BOSSDEATH
+NOICEDEATH
+FASTMELEE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTHURTSPECIES
Species "Nobles"
DamageFactor "NobleComet", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "Ice", 0.0
DamageFactor "Fire", 0.001
DropItem "BossLifeEssence", 128
DropItem "BossArmorBonusMax", 128
DropItem "DemonAmmoBox", 128, 200
DropItem "BigGas", 128, 200
SeeSound "HellFireBaron/sight"
PainSound "monsters/baronpain"
DeathSound "HellFireBaron/Death"
MeleeSound "baron/melee"
Obituary "%o was Burned to death by a HellFire Baron."
HitObituary "%o was ripped open by a HellFire Baron."
Tag "\cgHellfire Baron\c-"
States
	{
	Spawn:
		HFBY A 7 A_Look
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		HFBY A 7 A_Look
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		HFBI A 7 A_Look
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		HFBI A 7 A_Look
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_UnsetInvulnerable
		TNT1 A 0 A_SetTranslucent(1)
		TNT1 A 0 A_Jump(70,"rush")
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		HFBY AABB 3 A_Chase
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		HFBY CCDD 3 A_Chase
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		Loop
	Rush:
		TNT1 A 0 A_SpawnItem("HellFireBaronFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhostD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)		
		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,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)		
		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,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HFBY B 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhostB",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HFBY B 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhostB",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HFBY C 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhostC",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HFBY C 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhostC",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HFBY D 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HFBaronGhostD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		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
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_UnsetInvulnerable
		TNT1 A 0 A_SetTranslucent(1)
		TNT1 A 0 A_Jump(128,"GiantBalls","Comet","Tracers","Spread")
	Normal:
		HFBY EEEEEEFFFFFF 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		TNT1 A 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
		TNT1 A 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")
		TNT1 A 0 Bright A_CustomMissile("HFBall",32,0,0)
		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,-3)
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		TNT1 A 0 A_CustomMissile("HFBall",32,0,6)
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		TNT1 A 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")
		TNT1 A 0 Bright A_CustomMissile("BBall2",32,0,0)
		TNT1 A 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
		TNT1 A 0 Bright A_CustomMissile("BBall2",32,0,0)
		TNT1 A 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")
		TNT1 A 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")
		TNT1 A 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")
		TNT1 A 0 Bright A_CustomMissile("HFBaronTracer",32,0,0)
		TNT1 A 0 Bright A_CustomMissile("HFBaronTracer",32,0,5)
		TNT1 A 0 Bright A_CustomMissile("HFBaronTracer",32,0,-5)
		TNT1 A 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
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_UnsetInvulnerable
		TNT1 A 0 A_SetTranslucent(1)
		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
		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
	Escape:
		HFBY K 5 A_FaceTarget
		TNT1 A 0 A_CustomMissile("EscapeExplosion",48,10,0,0)
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		TNT1 A 0 A_GiveInventory("Health",100)
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		HFBY K 3 Bright A_SpawnItemEx("HellFireBaronFlameSpawner")
		TNT1 A 0 A_SpawnItemEx("HellFireBaronFlameSpawner")
		HFBY K 3 Bright A_SpawnItemEx("HellFireBaronFlameSpawner")
		TNT1 A 0 A_UnSetShootable
		HFBY A 1 A_PlaySound("pyro/tele")
		HFBY AAAAAAAAAAA 1 Bright A_FadeOut(0.1,0)
		TNT1 A 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase("","",CHF_NIGHTMAREFAST)
		TNT1 A 1 A_PlaySound("pyro/tele")
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360,30,0,0)
		HFBY AAAAAAAAAAA 1 A_FadeIn(0.1)
		HFBY K 20
		TNT1 A 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)
		TNT1 A 0 A_CustomMissile ("EscapeExplosion",48,10,0,0)
		TNT1 A 0 A_SetShootable
		Goto See
	Death:
		TNT1 A 0
		HFBY O 7
		HFBY P 6 A_Scream 
		TNT1 A 0 A_Bossdeath
		HFBY Q 5 A_Fall 	
		HFBY R 4 A_SpawnItem("BodyCrash",0,0,0,0)
		HFBY ST 4 A_KillMaster
		HFBY U 63000 CanRaise
		Stop
	XDeath:
		TNT1 A 0
		HFBX AB 5
		HFBX C 4 A_XScream
		TNT1 A 0 A_Bossdeath
		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 A_KillMaster
		HFBX I 63000 CanRaise
		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 EscapeExplosion : FuelExplosion01
{
Species "Nobles"
DamageType "NobleComet"
SeeSound "pyro/explosion"
}

ACTOR HellFireBaronFlameSpawner : RedParticleSpawner
{
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 0 Bright A_CheckSight("Toaster")
		TNT1 AAA 0 Bright A_SpawnItemEx("CardinalFire",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 A 1 Bright
		Stop
	}
}
ACTOR HFBaronGhost
{
Height 64
Radius 1
Scale 1.2
RENDERSTYLE Translucent
Alpha 0.75
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 0 Bright A_SpawnItem("HFBaronWalkFire")
		Goto Fade
	Fade:
		HFBY A 2 A_FadeOut(0.09,1)
		Loop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR HFBaronGhostB : HFBaronGhost
{
States
	{
	Fade:
		HFBY B 2 A_FadeOut(0.09,1)
		Loop
	}
}

ACTOR HFBaronGhostC : HFBaronGhost
{
States
	{
	Fade:
		HFBY C 2 A_FadeOut(0.09,1)
		Loop
	}
}

ACTOR HFBaronGhostD : HFBaronGhost
{
States
	{
	Fade:
		HFBY D 2 A_FadeOut(0.09,1)
		Loop
	}
}

ACTOR HFBaronWalkFire
{
Speed 0
Scale 1.4
RenderStyle Add
Alpha 0.75
+MISSILE
+DROPOFF
+RANDOMIZE
-NOGRAVITY
+DONTSPLASH
+NOBLOCKMAP
+NOTELEPORT
+THRUACTORS
+MOVEWITHSECTOR
+NOEXPLODEFLOOR
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 10 Bright
		HFWF ABC 3 Bright
		TNT1 A 0 Bright A_Jump(191,3)
		TNT1 A 0 Bright A_CustomMissile("HFBaronWalkFire",0,24,0)
		TNT1 A 0 Bright A_CustomMissile("HFBaronWalkFire",0,-24,0)
		HFWF DEFGHIJKLMNO 3 Bright
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR HFBall : BaronBall
{
Projectile
Speed 20
FastSpeed 28
Damage 10
States
	{
	Spawn:
		BAL9 AB 1 Bright A_SpawnItemEx("PBallTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		Loop
	Crash:
	Death:
		TNT1 A 0 Bright
		BAL9 CDE 3 Bright
		Stop
	XDeath:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom9",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))
		BAL9 CDE 3 Bright
		Stop
	}
}

ACTOR HFBaronTracer
{
Projectile
Height 5
Radius 5
Speed 25
FastSpeed 30
RenderStyle Add
Alpha 0.65
Damage 9
+FloorHugger
+DontSplash
-NoGravity
DamageType Fire
DamageType "NobleComet"
Seesound "weapons/diasht"
DeathSound "weapons/firex3"   
Obituary "%o was Burned to death by a HellFire Baron."
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("monster/ambientfire2")
		TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_SpawnItemEx("ATracerPuff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)	
		Loop
	Crash:
	Death:
		TNT1 A 0 Bright
		FTRA K 4 Bright
		FTRA L 4 Bright
		FTRA MNO 3 Bright
		Stop
	XDeath:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		FTRA K 4 Bright
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom9",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))	
		FTRA L 4 Bright A_Explode(32,64,0)
		FTRA MNO 3 Bright
		Stop
	}
}

Actor HellFireBaron2 : HellFireBaron
{
+THRUSPECIES
+NOTARGET
+NOINFIGHTING
+DONTHURTSPECIES
+DONTHARMSPECIES
+DONTHARMCLASS
Species "Cybers"
DamageFactor "HFCyber", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "VileFires", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "CadaverRocket", 0.0
DropItem ""
Tag "\c[z4]Hellfire Baron"
States
	{
	Death:
		TNT1 A 0
		HFBY O 7
		HFBY P 6 A_Scream 
		TNT1 A 0 A_Bossdeath
		HFBY Q 5 A_Fall 	
		HFBY R 4 A_SpawnItem("BodyCrash",0,0,0,0)
		HFBY ST 4 A_RemoveChildren
		HFBY U 525
		HFBY U 5 A_FadeOut(0.1,1)
		Wait
	XDeath:
		TNT1 A 0
		HFBX AB 5
		HFBX C 4 A_XScream
		TNT1 A 0 A_Bossdeath
		HFBX D 4 A_SpawnItemEx("OrangeGibbedGenerator",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		HFBX E 3 A_Fall
		HFBX F 3 A_SpawnItem("BodyCrash",0,0,0,0)
		HFBX GH 3 A_RemoveChildren
		HFBX I 525
		HFBX I 5 A_FadeOut(0.1,1)
		Wait
	}
}