Actor SuperDemon
{
	Monster
	Obituary "%o was crushed by a SuperDemon."
	Health 5000
	Radius 40//82SpriteW(120%=98)
	Height 130//108SpriteH(120%=130)
	Scale 1.2
	Mass 5000
	Speed 16
	MaxStepHeight 24
	MaxDropOffHeight 32
	BloodType "CyberDemon_Blood", "CyberDemon_SawBlood", "CyberDemon_Blood"
	PainChance 20
	seesound "cyber/sight"
	PainSound "CYBPAIN"
	deathsound "superdemon/death"
	activesound "cyber/active"
	painchance "kick", 255
	painchance "Fire", 60
	PainChance "Head", 40
	PainChance "KillMe", 64
	PainChance "Taunt", 255
	PainChance "Cut", 5
	Painchance "Fatality", 90
	damagefactor "HKFT", 0.05
	damagefactor "HKFT", 0.05
	damagefactor "Decaptate", 5.0
	damagefactor "Avoid", 0.0
	damagefactor "GibRemoving", 0.0
	damagefactor "TeleportRemover", 0.0
	DamageFactor "CauseSplash", 0.0 DamageFactor "CauseObjectsToSplashSlime", 0.0 DamageFactor "CauseObjectsToSplashNukage", 0.0
	DamageFactor "CauseObjectsToSplashBlood", 0.0 DamageFactor "CauseObjectsToSplashLava", 0.0
	damagefactor "Crush", 20.0
	damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0
	DropItem "DemonStrengthRune", 32
	Tag "Super Demon"
	Species "CyberDemon"
	+FLOORCLIP
	+NOICEDEATH
	+MISSILEMORE
	+MISSILEEVENMORE
    +DONTRIP
    +NORADIUSDMG
	+QUICKTORETALIATE
	States
	{
		Death.KillMe:
		Death.Taunt:
			TNT1 A 0 A_ChangeFlag("SOLID", 0)
			TNT1 A 0 A_SpawnItem("SuperDemon")
		Stop

		Pain:
			SUPR G 10 A_Pain
		goto See

		Pain.KillMe:
			TNT1 A 0
			Goto See
			
		Spawn:
			TNT1 A 0 A_GiveInventory("TargetIsACyberdemon")
			SUPR C 10 A_Look
		Stand:
			SUPR A 10 A_Look
			SUPR B 10 A_Look
			Loop
			
		See:
			SUPR AAAA 2 A_Chase
			TNT1 A 0 A_PlaySound("Cyber/Hoof",5)
			SUPR BBBB 2 A_Chase
			SUPR CCCC 2 A_Chase
			TNT1 A 0 A_PlaySound("Cyber/Hoof",5)
			SUPR DDDD 2 A_Chase
			Loop
			
		Missile://Y=62 | X=44.5, -44.5
			TNT1 A 0 A_Jump(64, "SpecialAttack")
			SUPR G 4 A_FaceTarget
			
			SUPR E 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 74, 53, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 74, 53, random (0, 140), 2, random (0, 160))
			SUPR E 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 74, 53, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 74, 53, random (0, 140), 2, random (0, 160))
			SUPR E 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 74, 53, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 74, 53, random (0, 140), 2, random (0, 160))
			SUPR E 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 74, 53, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 74, 53, random (0, 140), 2, random (0, 160))
			
			SUPR F 4 BRIGHT A_CustomMissile("SuperDemonBall", 65, 0, 0)
			TNT1 A 0 A_Jump(128, "Missile2")
			Goto See
		
		Missile2:
			SUPR P 4 A_FaceTarget
			
			SUPR Q 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 74, -53, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 74, -53, random (0, 140), 2, random (0, 160))
			SUPR Q 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 74, -53, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 74, -53, random (0, 140), 2, random (0, 160))
			SUPR Q 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 74, -53, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 74, -53, random (0, 140), 2, random (0, 160))
			SUPR Q 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 74, -53, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 74, -53, random (0, 140), 2, random (0, 160))
			
			SUPR R 4 BRIGHT A_CustomMissile("SuperDemonBall", 65, 0, 0)
			Goto See
			
		SpecialAttack://Y=61 | X=56, -56
			TNT1 A 0 A_PlaySound("Cyber/Sight")
			SUPR S 16 A_FaceTarget
			
			SUPR T 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, 67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, -67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, 67, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, -67, random (0, 140), 2, random (0, 160))
			SUPR T 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, 67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, -67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, 67, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, -67, random (0, 140), 2, random (0, 160))
			SUPR T 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, 67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, -67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, 67, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, -67, random (0, 140), 2, random (0, 160))
			SUPR T 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, 67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, -67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, 67, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, -67, random (0, 140), 2, random (0, 160))
			SUPR T 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, 67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, -67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, 67, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, -67, random (0, 140), 2, random (0, 160))
			SUPR T 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, 67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, -67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, 67, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, -67, random (0, 140), 2, random (0, 160))
			SUPR T 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, 67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, -67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, 67, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, -67, random (0, 140), 2, random (0, 160))
			SUPR T 2 A_FaceTarget
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, 67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 bright A_CustomMissile ("SmallFlameTrails", 73, -67, random (0, 360), 2, random (70, 110))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, 67, random (0, 140), 2, random (0, 160))
			TNT1 A 0 A_CustomMissile ("ImBallGettingReady", 73, -67, random (0, 140), 2, random (0, 160))
			
			TNT1 A 0 A_PlaySound("BFGEXPL2")
			SUPR U 8 BRIGHT A_FaceTarget
			TNT1 A 0 A_CustomMissile("SuperDemonBall", 65, 0, 9, 11) 
			TNT1 A 0 A_CustomMissile("SuperDemonBall", 65, 0, -9, 11)
			TNT1 A 0 A_CustomMissile("SuperDemonBall", 65, 0, 0, 11)
			Goto See
		
		Death:
			SUPR H 3 A_PlaySound ("SuperDemon/Snarl")
			SUPR H 3 A_CustomMissile("Brutal_FlyingBlood", 0, 0, random (-80, -100), 2, random(45, 80))
			SUPR I 3 A_Scream
			SUPR I 3 A_CustomMissile("Brutal_FlyingBlood", 0, 0, random (-80, -100), 2, random(45, 80))
			SUPR J 2 A_CustomMissile("SuperDemonArm", 45, -50, -50)
			SUPR KL 4 A_CustomMissile("Brutal_FlyingBlood", 0, 0, random (-80, -100), 2, random(45, 80))
			SUPR M 6 A_PlaySound("Superdemon/Crash")
			SUPR N 6 A_CustomMissile("Brutal_FlyingBlood", 0, 0, random (-80, -100), 2, random(45, 80))
			SUPR O 6 A_CustomMissile("Brutal_FlyingBlood", 0, 0, random (-80, -100), 2, random(45, 80))
			TNT1 A 0 A_NoBlocking
			SUPR O -1 A_BossDeath
	}
}

ACTOR SuperDemonArm
{
   Radius 10
   Height 8
   Speed 1
   Damage 1
   Scale 1
   PROJECTILE
   -NOGRAVITY
   +LOWGRAVITY
   States
   {
	Spawn:
		TNT1 A 0 A_SpawnItem("Brutal_BloodSpot",0,0,0,1)
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		SUPH ABC 5 A_CustomMissile("Brutal_FlyingBloodTrail5",0,0,random(-80,-100),2,random(45,80))
		Goto Death
	Death:
		SUPH D 5 
		SUPH E -1
		Stop
   }
}

actor SuperDemonBall : BelphegorGreenPlasmaBall
{
  States
	{
	Spawn:
	    TNT1 A 0 A_SpawnItem("RedFlare22",0,0)
		BAL9 K 1 BRIGHT A_SpawnItemEx("SmallExplosionFlames", 0, 0, 0, 0, 0, 0, 0, 128) 
		Loop
	
	Death:
		BFE1 A 0 Bright
		EXPL A 0 Radius_Quake (2, 54, 0, 15, 0)
		BFE1 A 0 Bright A_Explode(32, 96, 1)
        TNT1 AAAA 0 A_CustomMissile ("ExplosionFlames", 2, 0, random (0, 360), 2, random (0, 360))
        EXPL A 0 A_CustomMissile ("BigNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 BCDEF 2 Bright
		TNT1 AAAA 2 A_CustomMissile ("BigNeoSmoke", 2, 0, random (0, 360), 2, random (0, 360))
		Stop
	}
}