ACTOR DamnedNoble 
{ 
Health 1500
PainChance 50
MeleeDamage 15
DropItem "BossLifeEssence" 250
DropItem "BossArmorBonusMax" 250
DropItem "MegaSphere" 10 1
DropItem "ExtraArmor" 50 
DamageFactor "NobleComet", 0.0
Scale 1.15
Species "Infernal"
BloodColor "Red"
+MISSILEMORE
+FASTMELEE
+MISSILEEVENMORE
+QUICKTORETALIATE
+NOTARGET
-BOSSDEATH
Obituary "%o suffered through the Nobel's damnation." 
HitObituary "%o was reduced to bloody remains by the Damned Noble."
SeeSound "monster/ar2sit" 
ActiveSound "superbaron/act"
PainSound "superbaron/pain"
DeathSound "monster/ar2dth"
MeleeSound "imp/melee"
States 
{ 
Spawn: 
        DAMN A 7 Bright A_Look
		DAMN A 7 Bright A_Look
		DAMN A 7 Bright A_Look
		DAMN A 7 Bright A_Look
        Loop 
See: 
        DAMN AA 3 Bright A_Chase
		TNT1 A 0 Bright A_SpawnItem("HoofStep",0,0,0,0)
		DAMN BB 3 Bright A_Chase
        TNT1 A 0 Bright A_SpawnItem("HoofStep",0,0,0,0)
		DAMN CC 3 Bright A_Chase
		TNT1 A 0 Bright A_SpawnItem("HoofStep",0,0,0,0)
		DAMN DD 3 Bright A_Chase
        TNT1 A 0 Bright A_SpawnItem("HoofStep",0,0,0,0)
		Loop
  Missile:  
        TNT1 A 0 A_SetShootable
        TNT1 A 0 A_UnsetInvulnerable
        TNT1 A 0 A_SetTranslucent(1)
        TNT1 A 0 Bright A_Jump(128,"DamnedComet","TripleDamnedComet","HellStorm","BigHellStorm")
		GoTo See
  Normal:
        DAMN EF 6 Bright A_FaceTarget 
		DAMN G 1 Bright A_CustomMissile("DamnedArchonBall", 32, 0, 0)		
		TNT1 A 0 A_CustomMissile("DamnedArchonBall", 32, 0, -5)
		DAMN G 4 Bright A_CustomMissile("DamnedArchonBall", 32, 0, 5)
        DAMN EF 6 Bright A_FaceTarget 
		DAMN G 1 Bright A_CustomMissile("DamnedArchonBall", 32, 0, 0)		
		TNT1 A 0 A_CustomMissile("DamnedArchonBall", 32, 0, -5)
		DAMN G 4 Bright A_CustomMissile("DamnedArchonBall", 32, 0, 5)		
		TNT1 A 0 Bright A_Jump(147,"TripleDamnedComet","Evade")
        Goto See
  Evade:
		TNT1 A 0 A_Jump(128,11)
		DAMN A 4 A_FaceTarget
		TNT1 A 0 ThrustThing(Angle*256/360+64,10,0,0)
		DAMN AABBCCDD 2 A_Chase
		DAMN A 4 A_FaceTarget
		TNT1 A 0 ThrustThing(Angle*256/360+64,5,0,0)
		TNT1 A 0 A_Stop
		Goto See
  TripleDamnedComet:
        DAMN EF 7 Bright A_FaceTarget 
        DAMN G 1 Bright A_Custommissile("DComet", 32, 0, 0)
		TNT1 A 0 Bright A_Custommissile("DComet", 32, 0, 6)
		DAMN G 6 Bright A_Custommissile("DComet", 32, 0, -6)
		TNT1 A 0 Bright A_Jump(87,"DamnedComet","Evade")
        Goto See
  DamnedComet:
        DAMN EF 8 Bright A_FaceTarget 	
		DAMN G 0 A_CustomMissile("DamnedComet", 32, 0, random(8, -8))
		DAMN G 0 A_CustomMissile("DamnedComet", 32, 0, random(7, -7))
		DAMN G 0 A_CustomMissile("DamnedComet", 32, 0, random(6, -6))
		DAMN G 0 A_CustomMissile("DamnedComet", 32, 0, random(5, -8))
		DAMN G 6 Bright A_CustomMissile("DamnedComet", 32, 0, random(4, -7))
		TNT1 A 0 Bright A_Jump(88,"Hellstorm")
		Goto See
  HellStorm:
        DAMN E 0 A_PlaySound("Hellstorm/start")
        DAMN FGFEFGFEFGFEFGFEFG 8 Bright A_FaceTarget 	
		DAMN G 6 A_CustomMissile("HellStormWind",10,15,0)
		DAMN G 6 Bright A_CustomMissile("HellStormWind",10,-15,0)
		TNT1 A 0 Bright A_Jump(88,"BigHellStorm")
		Goto See
  BigHellStorm:
        DAMN EF 8 Bright A_FaceTarget 	
		DAMN G 6 Bright A_CustomMissile("BigHellStorm",32,0,0)
		Goto See		
Melee:
        DAMN EF 8 Bright A_FaceTarget 
        DAMN G 8 Bright A_MeleeAttack	
        Goto See
Pain: 
        DAMN D 10 Bright A_Pain 
        Goto See 
Death: 
        DAMN H 8 Bright
        DAMN I 7 Bright A_Scream 
		TNT1 AAA 0 Bright A_SpawnItemEx("RedParticleSpawner666", 0, 0, 40, 0, 0, 0, 0, 128)
        DAMN J 5 Bright A_Fall 
        DAMN KL 5 Bright
		TNT1 AAAA 0 A_CustomMissile("SmokeFX", Random(30,60), 0, random(0,360), 2, random(0,360))
		TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("HellClouds",0,0,20,Random(8,-8),Random(8,-8),Random(6,-6))
    	DAMN MN 4 Bright A_CustomMissile("HellSoul",86,0,0,2,90)
    	DAMN O 4 Bright
        TNT1 A -1
	    Stop
        } 
}

ACTOR HellSoul : FamineSoul
{   
  Scale 1
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    ARSP ABCD 4 Bright
    Stop 
  }
}

ACTOR SBall : BaronBall
{
Speed 16
FastSpeed 20
States
{
Spawn:
    ABAL AB 1 Bright A_SpawnItemEx("DBallTrail",0,0,0,0,0,0,0,128,0)
    Loop
Death:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("RedParticleSpawner666", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("Kaboom10", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 A 0 A_SpawnItemEx("HellClouds",0,0,10,Random(4,-4),Random(4,-4),Random(4,-2))
    ABAL CDE 3 Bright
    Stop
    }
}

ACTOR DBallTrail : BFG9500Trail
{
Scale 0.85
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1
    ABAL AB 1 A_FadeOut(0.25)
    Goto Spawn+3
    }
}

ACTOR DamnedArchonBall : GuardianTracer
{
SeeSound "monsters/newfireshoot"
DeathSound "monsters/newfireexplode"
RenderStyle Translucent
Alpha 0.85
Decal BaronScorch
Speed 18
FastSpeed 22
Damage 8
-SEEKERMISSILE
States
{
Spawn:
    HEFX AB 1 Bright A_CustomMissile("ArchonFBTrail",Random(-1,1),Random(-1,1))
    Loop
Death:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("RedParticleSpawner666", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("Kaboom10", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("HellClouds",0,0,10,Random(4,-4),Random(4,-4),Random(4,-2))
    HEFX CEFGH 3 Bright
    Stop
    }
}

ACTOR ArchonFBTrail : MissileTrail
{
Scale 1
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TNT1 A 1
    HEFX AB 2 Bright A_FadeOut
    Stop
    }
}

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

ACTOR HellWalkFireSpawner
{
  Radius 16
  Height 10
  Damage 6
  RenderStyle Add
  PROJECTILE
  +FLOORHUGGER
  +BLOODLESSIMPACT
  +THRUSPECIES
  +FORCERADIUSDMG
  Speed 20
  FastSpeed 25
  DamageType "NobleComet"
  Species "Nobles"
  Obituary "A Damned Noble brutalized %o."
  SeeSound "weapons/diasht"
  DeathSound "weapons/firex3"
  MissileType InferalFire
  MissileHeight 0
  States
  {
  Spawn: 
    TNT1 A 0
    TNT1 A 0 A_PlaySoundEx("monster/ambientfire2","Voice",1)
	TNT1 A 0 A_CStaffMissileSlither
	TNT1 A 1 A_MissileAttack
	TNT1 A 1 A_CStaffMissileSlither	
    Loop
  Death:
    TNT1 A 0
    TNT1 A 0 A_StopSoundEx("Voice")
    TNT1 A 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAAA 0 A_CustomMissile("Kaboom4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    SRTF K 4 Bright
    SRTF L 4 Bright A_Explode(28,74)
    SRTF MNO 3 Bright
    Stop
    }
}

ACTOR InfernalFire
{
  Radius 1
  Height 1
  Speed 0
  Scale 2
  Projectile
  DamageType "NobleComet"
  RenderStyle Add
  Alpha 0.95
  +FLOORHUGGER
  +NODAMAGETHRUST
  +FORCERADIUSDMG
  Obituary "An Infernal demise befell %o."
  States
  {
  Spawn:
    TNT1 A 0
    SRTF A 1 Bright A_Explode(16,68)
	SRTF ABBCDEFGHIJ 1 Bright A_FadeOut(0.05)
    Stop
	}
}


ACTOR DamnedComet : Comet
{
Radius 10
Height 10
Speed 28
FastSpeed 32
Damage 22
Scale 0.85
DamageType "NobleComet"
ExplosionDamage 80
ExplosionRadius 105
PROJECTILE
Decal "Scorch"
SeeSound "comet/launch"
DeathSound "comet/explosion"
MissileType DamnedCometTail
MissileHeight 0
States
{
Spawn:
LRCB AAABBBCCC 1 Bright A_MissileAttack
Loop
Death:
TNT1 A 0
TNT1 A 0 A_Explode
TNT1 A 0 A_SetTranslucent(0.75,1)
TNT1 A 0 A_SpawnItemEx("RedParticleSpawner666", 0, 0, 0, 0, 0, 0, 0, 128)
TNT1 AAAAA 0 A_SpawnItemEx("DamnedClouds",0,0,10,Random(4,-4),Random(4,-4),Random(4,-2))
LRCB D 3 Bright A_SpawnItemEx("DamnedCometDeathGlow",0,0,0,0,0,0,0,128,0)
LRCB E 3 Bright A_SpawnItemEx("DamnedCometDeath",0,0,0,0,0,0,0,128,0)
Stop
}
}

ACTOR DamnedCometTail : CometTail
{
Alpha 0.3
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
LRCB DEFGHI 2 Bright
Stop
}
}

ACTOR DamnedCometDeath : CometDeath
{
Projectile
RenderStyle Add
Alpha 0.7
+NOCLIP
States
{
Spawn:
TNT1 A 0
TNT1 AAA 0 A_CustomMissile("HellKaboom", 0, 0, random(0,360), 2, random(0,360))
TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
LRCB JKLMN 3 Bright A_FadeOut(0.1)
Stop
}
}

ACTOR DamnedCometDeathGlow : CometDeathGlow
{
Scale 2.0
Alpha 0.6
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
DACD ABCDEFGHI 3 Bright
Stop
}
}

ACTOR HellKaboom : Kaboom3
{
Speed 2
Scale 0.9
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
DAHK AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR DamnedArchonBall : CyNobleBall
{
States
{
Spawn:
    HEFX AB 1 Bright A_SpawnItemEx("DamnedArchonBallTrail",0,0,0,0,0,0,0,128,0)
    Loop
Death:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("RedParticleSpawner666", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAA 0 A_CustomMissile("RedKaboom7", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_SpawnItemEx("HellClouds",0,0,10,Random(4,-4),Random(4,-4),Random(4,-2))
    HEFX CDEFGH 3 Bright
    Stop
    }
}

ACTOR DamnedArchonBallTrail : CyNobleBallTrail
{
Scale 0.85
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1
    HAT2 RSTUVWX 2 A_FadeOut(0.25)
    Goto Spawn+3
    }
}

ACTOR RedKaboom7 : Kaboom7
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
DAHK AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR RedParticleSpawner666 : RedParticleSpawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TNT1 A 0 A_SpawnItemEx("SSSG1",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("SSSG2",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 0 A_SpawnItemEx("SSSG3",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("SSSG4",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 0 A_SpawnItemEx("SSSG5",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
	TNT1 A 0 A_SpawnItemEx("SSSG6",0,0,0,Random(4,-4),Random(4,-4),Random(4,-4),0,128)
    TNT1 A 1
    Stop
  }
}

ACTOR EnergyProjectileSparkDAMN : EnergyProjectileSparkRed
{
BounceFactor 0.6
Gravity 0.2
States
{
Spawn:
GSKG A 2 Bright A_FadeOut(0.08)
Loop
}
}

ACTOR SSSG1 : EnergyProjectileSparkDAMN
{
Scale 0.06
}

ACTOR SSSG2 : EnergyProjectileSparkDAMN
{
Speed 1
Scale 0.05
}

ACTOR SSSG3 : EnergyProjectileSparkDAMN
{
Speed 2
Scale 0.04
}

ACTOR SSSG4 : EnergyProjectileSparkDAMN
{
Speed 3
Scale 0.03
}

ACTOR SSSG5 : EnergyProjectileSparkDAMN
{
Speed 4
Scale 0.02
}

ACTOR SSSG6 : EnergyProjectileSparkDAMN
{
Speed 5
Scale 0.01
}

ACTOR DComet : Comet
{
Scale 0.85
States
{
Spawn:
LRCB AAAABBBBCCCC 1 Bright A_SpawnItemEx("DCometTail",0,0,0,0,0,0,0,128)
Loop
Death:
TNT1 A 0 Bright A_Explode
TNT1 A 0 A_SpawnItemEx("RedParticleSpawner666", 0, 0, 0, 0, 0, 0, 0, 128)
LRCB DE 3 Bright
TNT1 A 0 A_SpawnItemEx("DCometDeath",0,0,0,0,0,0,0,128,0)
Stop
}
}

ACTOR DCometTail : CometTail
{
Scale 0.9
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
TNT1 A 2
LRCB DEFGHI 2 Bright
Stop
}
}

ACTOR DCometDeath : CometDeath
{
States
{
Spawn:
TNT1 A 0
TNT1 AAA 0 A_CustomMissile("HellKaboom4", 0, 0, random(0,360), 2, random(0,360))	
TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
TNT1 AAAAA 0 A_SpawnItemEx("HellClouds",0,0,10,Random(4,-4),Random(4,-4),Random(4,-2))
LRCB JKLMN 3 Bright A_FadeOut(0.1)
Stop
}
}

ACTOR HellKaboom4 : Kaboom4
{
Speed 2
Scale 0.85
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
DAHK AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR HellClouds : DaedabusChemSpray
{ 
	Scale 0.6
	Speed 14
	Species "Nobles"
	DamageType "NobleComet"
	States 
    { 
    Spawn:
        DGAS ABCDEFGDFEG 3 A_Explode(2,68)
    Death: 
		DGAS CCBBAA 1 A_FadeOut(0.15)
        Stop 
		} 
}

ACTOR HellStormWind
{
  Radius 8
  Height 8
  Speed 20
  Damage 4
  Projectile
  +DOOMBOUNCE
  +SEEKERMISSILE
  +BOUNCEONACTORS
  BounceCount 4
  RenderStyle Translucent
  DamageType "NobleComet"
  Alpha 0.4 
  States
  {
  Spawn:
    PMKE A 0
    PMKE A 0 A_PlaySoundEx("sandstorm/loop","SoundSlot7",1)
    PMKE ABCDEFGHIJKLKJIHGFEDCBA 6 A_SeekerMissile(30,30,SMF_LOOK)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("HellClouds",0,0,20,Random(8,-8),Random(8,-8),Random(6,-6))
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("HellClouds",0,0,-20,Random(-8,8),Random(-8,8),Random(-6,6))
    Loop
  Death:
    PMKE G 0
    PMKE G 0 A_StopSoundEx("SoundSlot7")
    PMKE ABCDEFGHIJKL 4
    Stop
  }
}

Actor BigHellStorm
{
  Speed 20
  Projectile
  radius 4
  height 4
  Damage 2
  +Ripper
  +DoomBounce
  +SeekerMissile
  BounceCount 2
  ReactionTime 720
  DamageType "NobleComet"
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_CountDown
    TNT1 A 0 A_PlaySoundEx("sandstorm/loop","SoundSlot7",1)
    TNT1 A 0 A_SeekerMissile(30,30,SMF_LOOK)
    TNT1 A 0 A_Explode(5,128,0)
    TNT1 A 2 A_SpawnItemEx("BigHellClouds",0,0,0,random(-4,4),random(-4,4),random(-2,2))
    Loop
  Dearh:
    TNT1 A 0
    TNT1 A 2 A_StopSoundEx("SoundSlot7")
    Stop
  }
}

ACTOR BigHellClouds : HellClouds
{ 
Scale 1.75
Speed 14
Species "Nobles"
DamageType "NobleComet"
}

ACTOR SummoningHellClouds2 : BigHellClouds
{ 
    +NOGRAVITY
	+FLOAT
	-HEXENBOUNCE
	+STANDSTILL
	Speed 0
	States 
    {  
    Spawn:
	    TNT1 A 0 A_PlaySoundEx("sandstorm/loop","SoundSlot7",1)
        DGAS ABCDEFGDFEGABCDEFGDFEGABCDEFGDFEGABCDEFGDFEGABCDEFGDFEGABCDEFGDFEGABCDEFGDFEGABCDEFGDFEGABCDEFGDFEG 3 A_Explode(2,68)
    Death: 
		DGAS CCBBAA 1 A_FadeOut(0.15)
        Stop 
		} 
}

Actor PoltergiestSummoner
{
 Height 8
 Radius 25
 Speed 30
 Damage (0)
 +RippeR
 +BloodlessImpact
  States
   {
    Spawn:
	 TNT1 A 5
	Death:
	 TNT1 A 0
	 TNT1 A 0 A_SpawnItemEx("BigHellClouds",0,0,0,0,0,0,0,128)
	 TNT1 A 2
	 TNT1 A 0 A_SpawnItem("Poltergiest")
	 Stop
   }
}


