ACTOR BrimstoneNightmare : SoulKeeper 25852
{
	Health 1250
	PainChance 60
	SeeSound "bomb/sight"
	DeathSound "Pain/Death"
	PainSound "bomb/pain"
	ActiveSound "bomb/lava"
	DamageType "SoulToxic"
    DropItem "BossLifeEssence" 128 25
	DropItem "BossArmorBonusMax" 128 1
    DropItem "DemonAmmoBox" 128 200
	Obituary "%o was battered and demolished by a Brimstone Nightmare."
	HitObituary "%o caught the wrong rock."
	DamageFactor 0.8
	+MISSILEEVENMORE
	+QUICKTORETALIATE
	States
	{
	Spawn:
		TNT1 A 0 A_LoopActiveSound
		INFR AABBCCDD 3 Bright A_Look
		Loop
	See:
		TNT1 A 0 A_LoopActiveSound
		INFR AABBCCDD 3 Bright A_Chase
		Loop
	Missile:
		TNT1 A 0 A_LoopActiveSound
		TNT1 A 0 A_Jump(32,"Onslaught")
		TNT1 A 0 A_Jump(64,"Charge")
		TNT1 A 0 A_Jump(102,"Seeker","FireBreath")
	Normal:
        INFR HI 6 Bright A_FaceTarget
        INFR J 5 Bright A_SpawnItemEx("NightmareShade",62,0,14,0,0,0,0,SXF_SETMASTER)
		INFR FE 4 Bright
		Goto See
	Onslaught:
		INFR J 12
		TNT1 A 0 A_SpawnItemEx("NightmareShade",62,0,14,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",-62,0,-14,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",-124,0,14,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",124,0,-14,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",62,0,0,0,0,0,0,SXF_SETMASTER)
		INFR K 8 A_Skullattack(22)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",62,0,14,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",-62,0,-14,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",-124,0,14,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",124,0,-14,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",62,0,0,0,0,0,0,SXF_SETMASTER)
		INFR L 12
		GoTo See
	Charge:
		INFR J 2
		INFR K 2 A_Skullattack(22)
		INFR L 2
		GoTo See
	Seeker:
        INFR EF 5 Bright A_FaceTarget 
        INFR G 4 Bright A_CustomMissile("BombBall", 20, 0, 0)
	    INFR FE 3 Bright
        Goto See
	FireBreath:
		INFR EF 4 Bright A_FaceTarget
		TNT1 A 0 Bright A_PlaySound("magma/firebreath")
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		TNT1 A 0 Bright A_FaceTarget
		INFR G 2 Bright A_CustomMissile("BombBreath", 24, 0, Random(8,-8))
		INFR FE 3 Bright
		Goto See
	Melee:
		TNT1 A 0 A_LoopActiveSound
        INFR EF 5 Bright A_FaceTarget 
        INFR G 4 Bright A_MeleeAttack
	    INFR FE 3 Bright A_FaceTarget
        Goto See		
	Pain:
		TNT1 A 0 A_LoopActiveSound
		TNT1 A 0 A_JumpIfHealthLower(250,"PainSuicide")
		TNT1 A 0 A_Jump(128,"PainMissile")
		INFR K 12 Bright A_Pain
		Goto See
	PainSuicide:
		TNT1 A 0 A_JumpIfCloser(1250,1)
		Goto Pain+2
		TNT1 A 0 A_Jump(18,"See")
		TNT1 A 0 A_StopSound
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(NOTARGET,1)
		TNT1 A 0 A_PlaySound("bomb/anger")
		TNT1 A 0 A_SpawnItem("BombFireSpawner",0,0,0,0)
		INFR H 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("BombFireSpawner",0,0,0,0)
		INFR H 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("BombFireSpawner",0,0,0,0)
		INFR I 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("BombFireSpawner",0,0,0,0)
		INFR I 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("BombFireSpawner",0,0,0,0)
		TNT1 A 0 A_CustomMissile("BombSuicide2",0,0,0,0) 
		INFR J 2 Bright A_Die("Suicide")
		Stop		
	PainMissile:
		INFR K 12 Bright A_Pain
		Goto Missile		
	Death:
		TNT1 A 0 A_PlaySound("bomb/explode")
		INFR L 5 Bright A_Explode(120,92)
		TNT1 A 0 A_SpawnItemEx("BombGoreGenerator",0,0,0,0,0,0,0,128,0)		
		INFR M 5 Bright A_Scream
		INFR N 5 Bright A_NoBlocking
		TNT1 A 0 A_SetTranslucent(0.75,1)
	    TNT1 AAAA 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, random(20,40), 0, 0, 0, 0, 128)
		TNT1 AAAA 0 A_CustomMissile("SmokeFX2", random(20,40), 0, random(0,360), 2, random(0,360))
		TNT1 AAAA 0 A_CustomMissile("Kaboom3", random(20,40), 0, random(0,360), 2, random(0,360))
		TNT1 A 0 A_SpawnItemEx("NightmareShade",0,40,14)
		TNT1 A 0 A_SpawnItemEx("NightmareShade",0,-40,14)
		INFR O 5 Bright A_SpawnItemEx("NightmareShade",-40,0,14)
		INFR PQ 5 Bright
		Stop
	Death.Suicide:
		TNT1 A 0
		TNT1 A 100 A_NoBlocking
		Stop
        } 
}

ACTOR BombBall
{
Speed 18
FastSpeed 22
Damage 10
Radius 10
Height 10
Renderstyle Translucent
Alpha 0.85
Scale 0.6
SeeSound "famine/attack"
DeathSound "monsters/newfireexplode"
Species "Souls"
PROJECTILE
+SEEKERMISSILE
+THRUSPECIES
Decal RevenantScorch
States
{
Spawn:
    TNT1 A 0 A_SpawnItemEx("BombBallTrail",0,0,0,0,0,0,0,128) 
    PBMB A 2 Bright	A_Tracer2
	PBMB B 2 Bright A_SpawnItemEx("BombBallTrail",0,0,0,0,0,0,0,128)
	Loop
Death:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("RedParticleSpawner", 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 1 A_SpawnItem("BombBallEx")
    Stop
    }
}

ACTOR BombBallEx
{
Scale 0.75
RenderStyle Add
Alpha 0.75
+CLIENTSIDEONLY
+NOGRAVITY
States
{
Spawn:
	NREB CDEFGHIJKL 2 Bright
	Stop
	}
}

ACTOR BombBallTrail : BFG9500Trail
{
Scale 0.6
States
{
Spawn:
	TNT1 A 0
	TNT1 A 2
	FMTT ABCDE 2 Bright A_FadeOut(0.2)
	Stop
	}
}

ACTOR BombBreath : MagmaBreath
{ 
	Scale 0.42
	DamageType "BombBreath"
    States 
    { 
    Spawn: 
        FIR1 LKJIHGFEDCBA 3 Bright A_Explode(3,92) 
		FIR1 AAAA 1 Bright A_FadeOut(0.15)
	    Stop
		} 
}

ACTOR BombFire : ForgottenFire
{
Scale 0.65
}

ACTOR BombFireSpawner : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 AA 0 A_SpawnItemEx("BombFire",5,random(-20,20),random(30,50),random(3,6),0,random(4,8),random(90,270),128,0)
    TNT1 A 1
    Stop
    }
}

ACTOR BombSuicide2
{
Radius 24
Height 48
Health 250
Damage 15
Speed 25
DeathSound "Pain/Death"
DamageType "SoulToxic"
Species "Souls"
ExplosionDamage 168
ExplosionRadius 168
Decal Scorch
PROJECTILE
+SOLID
+SHOOTABLE
+THRUSPECIES
+SKYEXPLODE
+NOTARGETSWITCH
+SEEKERMISSILE
-NOBLOCKMAP
States
{
Spawn:
	TNT1 A 0 A_SeekerMissile(10,0)
	INFR JJ 1 Bright A_SpawnItem("BombFireSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySoundEx("bomb/suiciderush","Voice",1)	
    Loop
Death:
	TNT1 A 0 A_Die
Explode:
	TNT1 A 0 A_ChangeFlag(NOBLOCKMAP,1)
	TNT1 A 0 A_Explode
	TNT1 A 0 A_StopSoundEx("Voice")
	TNT1 A 0 A_PlaySound("bomb/explode")
	INFR L 3 Bright
	INFR M 3 Bright A_SpawnItemEx("BombGoreGenerator",0,0,0,0,0,0,0,128,0)
	INFR N 3 Bright
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 AAAA 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, random(20,40), 0, 0, 0, 0, 128)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", random(20,40), 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_CustomMissile("Kaboom3", random(20,40), 0, random(0,360), 2, random(0,360))	
	TNT1 A 0 A_SpawnItemEx("NightmareShade",0,40,14)
	TNT1 A 0 A_SpawnItemEx("NightmareShade",0,-40,14)
	INFR O 5 Bright A_SpawnItemEx("NightmareShade",-40,0,14)
	INFR PQ 5 Bright
	Stop
    } 
}
