Actor Belphegor : BaronOfHell
{
//Creator: Complex Doom CF 3.0 team
//Origin: Complex Doom CF 3.0 Aprilfools
//Sprite: NBRN
//Title: "Belphegor"
Health 1500
Mass 2000
Speed 8
PainChance 15
MaxStepHeight 32
MaxDropOffHeight 32
RadiusDamageFactor 0.66
Species "Nobles"
DamageFactor "NobleComet", 0.0
DropItem "LifeEssence" 160
DropItem "ArmorBonusMax" 160
BloodColor "Green"
SeeSound "superbaron/scream"
PainSound "superbaron/pain"
DeathSound "superbaron/death"
ActiveSound "superbaron/act"
MeleeSound "baron/melee"
Obituary "%o was slain by a Belphegor."
HitObituary "%o was slain by a Belphegor."
MeleeDamage 25
Scale 1.25
Tag "\ccBelphegor\c-"
+DONTHARMSPECIES  
+MISSILEMORE
+MISSILEEVENMORE
+FASTMELEE
+QUICKTORETALIATE
+NORADIUSDMG
var int user_amount;
States
{
  Spawn:
    NBRN A 10 Bright A_Look 
    Loop
  See:
	TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("DukeWalkFire",0,0,0,0,0,0,0,128)
	NBRN AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("DukeWalkFire",0,0,0,0,0,0,0,128)
	NBRN BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("DukeWalkFire",0,0,0,0,0,0,0,128)
	NBRN CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("DukeWalkFire",0,0,0,0,0,0,0,128)
	NBRN DD 3 Bright A_Chase
	Loop
  Melee:
    NBRN EF 6 Bright A_FaceTarget
    NBRN G 6 Bright A_ComboAttack
    Goto See
  Missile:
    TNT1 A 0 A_Jump(188,"Spread","Floor","FastBall","Comet","BurstComet")
  Normal:
	NBRN EF 6 Bright A_FaceTarget 
	NBRN G 1 Bright A_CustomMissile("DukeBall2",40,0,0)
	TNT1 A 0 A_CustomMissile("DukeBall2",40,0,-4)
	NBRN G 3 Bright A_CustomMissile("DukeBall2",40,0,4)	
	TNT1 A 0 A_Jump(127,"Spread")
	Goto See 
  Spread:
	NBRN E 6 Bright A_FaceTarget 
	NBRN F 4 Bright A_FaceTarget 
	NBRN G 1 Bright A_CustomMissile("CyNobleBall",40,0,0)	
	TNT1 A 0 A_CustomMissile("CyNobleBall",40,0,-3)
	NBRN G 1 Bright A_CustomMissile("CyNobleBall",40,0,3)	
	TNT1 A 0 A_CustomMissile("CyNobleBall",40,0,-6)
	NBRN G 1 Bright A_CustomMissile("CyNobleBall",40,0,6)
	TNT1 A 0 A_CustomMissile("CyNobleBall",40,0,-9)
	NBRN G 3 Bright A_CustomMissile("CyNobleBall",40,0,9)	
	NBRN E 6 Bright A_FaceTarget 
	NBRN F 4 Bright A_FaceTarget 
	NBRN G 1 Bright A_CustomMissile("CyNobleBall",40,0,0)	
	TNT1 A 0 A_CustomMissile("CyNobleBall",40,0,-3)
	NBRN G 1 Bright A_CustomMissile("CyNobleBall",40,0,3)	
	TNT1 A 0 A_CustomMissile("CyNobleBall",40,0,-6)
	NBRN G 1 Bright A_CustomMissile("CyNobleBall",40,0,6)
	TNT1 A 0 A_CustomMissile("CyNobleBall",40,0,-9)
	NBRN G 3 Bright A_CustomMissile("CyNobleBall",40,0,9)
	TNT1 A 0 A_Jump(127,"Floor")
	Goto See
  Floor:
  	NBRN GF 8 Bright A_FaceTarget 
	NBRN E 0 A_CustomMissile("DukeFireSpawner",20,0,random(-2,2))	
	NBRN E 0 A_CustomMissile("DukeFireSpawner",-20,0,random(-2,2))
	NBRN E 0 A_CustomMissile("DukeFireSpawner",10,0,random(-2,2))	
	NBRN E 3 Bright A_CustomMissile("DukeFireSpawner",-10,0,random(-2,2))	
	TNT1 A 0 A_Jump(127,"FastBall")
	Goto See
  FastBall:
    NBRN E 6 Bright A_FaceTarget
    NBRN F 4 Bright A_FaceTarget
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-40)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-35)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-30)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-25)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-20)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-15)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-10)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-5)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,0)
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,5)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,10)	
    NBRN E 6 Bright A_FaceTarget
    NBRN F 4 Bright A_FaceTarget
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,40)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,35)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,30)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,25)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,20)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,15)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,10)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,5)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,0)
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-5)	
	NBRN G 1 Bright	A_CustomMissile("KnightFastBall",40,0,-10)
  	TNT1 A 0 A_Jump(127,"Comet")
	Goto See
  Comet:
	NBRN GF 6 Bright A_FaceTarget 
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("NobleBelphegorComet",70,27,random(-1,1))
	NBRN E 5 Bright A_CustomMissile("NobleBelphegorComet",70,-27,random(-1,1))	
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("NobleBelphegorComet",70,27,random(-1,1))
	NBRN E 5 Bright A_CustomMissile("NobleBelphegorComet",70,-27,random(-1,1))
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("NobleBelphegorComet",70,27,random(-1,1))
	NBRN E 5 Bright A_CustomMissile("NobleBelphegorComet",70,-27,random(-1,1))
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("NobleBelphegorComet",70,27,random(-1,1))
	NBRN E 5 Bright A_CustomMissile("NobleBelphegorComet",70,-27,random(-1,1))
	TNT1 A 0 A_Jump(127,"BurstComet")
	Goto See 
  BurstComet:
	NBRN EEFF 6 Bright A_FaceTarget 
	NBRN G 1 Bright A_CustomMissile("HDComet",40,0,0)
	TNT1 A 0 A_CustomMissile("HDComet",40,0,-4)
	NBRN G 1 Bright A_CustomMissile("HDComet",40,0,4)	
	TNT1 A 0 A_CustomMissile("HDComet",40,0,-8)
	NBRN G 5 Bright A_CustomMissile("HDComet",40,0,8)	
	Goto See 	
  Pain:
    TNT1 A 0 A_Jump(88,"PainRage")
	TNT1 A 0 A_Jump(158,"PainMissile")
    NBRN H 5 Bright A_Pain
    Goto See
  PainMissile:
    NBRN H 5 Bright A_Pain
    Goto Missile
   PainRage:
    TNT1 A 0 A_JumpIf(user_amount > 3,"Missile")
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_amount",user_amount+1)
	NBRN E 4 Bright A_PlaySound("superbaron/scream")
	NBRN FF 3 Bright A_FaceTarget
	TNT1 A 0 HealThing(650)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	TNT1 AAAAAAAAAA 0 A_CustomMissile("VeloFireSpawner",0,random(-15,15),random(-20,20))
	NBRN G 2 Bright A_SpawnItem("DukeHealFlameSpawner",0,0,0,0)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	NBRN FFEEE 4 Bright  A_FaceTarget
	Goto See	
  Death:
	NBRN H 0
    NBRN H 10 Bright A_ScreamAndUnblock
	NBRN H 0 A_NoBlocking
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	NBRN H 0 A_FadeOut(0.1)
	NBRN H 0 A_SpawnItemEx("GreenParticleSpawner", Random(10,-10), Random(10,-10), Random(30,60), 0, 0, 0, 0, 128)
	NBRN HH 0 A_CustomMissile("SmokeFX", Random(40,80), 0, random(0,360), 2, random(0,360))
	NBRN HHHH 2 Bright A_CustomMissile("Kaboom4", random(20,80), 0, random(0,360), 2, random(0,360))
	TNT1 A 0 A_BossDeath
	Stop	
  }
}

ACTOR NobleBelphegorComet : BelphegorComet { Damagetype "NobleComet" }