actor D4DarkCyberdemon : D4AbstractBoss
{
	Health 300
	Radius 80
	Height 210
	Mass 100000
	Speed 16
	PainChance 2
	Monster
	MinMissileChance 500
	+BOSS 
	+MISSILEMORE
	+FLOORCLIP
	+NORADIUSDMG
	+DONTMORPH
	+BOSSDEATH
	+NOFEAR
	+DONTHARMSPECIES
	SeeSound 	"Doom4/Monsters/Cyberdemon/Sight"
	PainSound 	"Doom4/Monsters/Cyberdemon/Pain"
	DeathSound 	"Doom4/Monsters/Cyberdemon/Death"
	ActiveSound "Doom4/Monsters/Cyberdemon/Idle"
	Obituary "%o got exterminated by a dark cyberdemon"
	DropItem "D4GaussCannon", 255
	DropItem "BFGModDropper", 7
	DropItem "GaussCannonModDropper", 56
	DropItem "CyberGrenadeDrop", 5
	DropItem "CyberdemonRune", 20 // 1/13
	DamageFactor "PlayerFatsoFlameThrower", 0.5
	DamageFactor "PlayerDemonSpamDamage", 0.05 //definitely not gonna die anytime soon
	PainChance "PlayerDemonSpamDamage", 0
	PainChance "GloryKill", 255
	WoundHealth 150
	Tag "Dark Cyberdemon"
	//scale 2
	States
	{
	Spawn:
		SPOS A 0 NODELAY A_SetUserVar(user_bigmonstersound,2)
		Goto Super::Spawn
	Idle:
		SPOS A 0 A_ChangeFlag("NOPAIN",0)
		SPOS AA 10 A_Look
		Loop
	See:
		SPOS A 0 A_PlaySound("Doom4/Monsters/Cyberdemon/StepHoof",6,1.0,0,0.9)
		SPOS A 3 A_Chase
		SPOS ABBCC 3 A_Chase
		SPOS A 0 A_PlaySound("Doom4/Monsters/Cyberdemon/StepMech",7,1.0,0,0.7)
		SPOS D 3 A_Chase
		SPOS D 3 A_Chase
		Loop
	//----------------------------------------------------------
	//	Attacks
	//----------------------------------------------------------
	Missile:
		SPOS E 0 A_jump(128,"Missile2")
		SPOS E 6 A_FaceTarget
		SPOS F 0 A_CustomMissile("CyberdemonRocket",86,-22,-10)
		SPOS F 0 A_CustomMissile("CyberdemonRocket",86,-22,10)
		SPOS F 12 A_CustomMissile("CyberdemonRocket",86,-22,0)
		SPOS E 6 A_FaceTarget
		SPOS F 0 A_CustomMissile("CyberdemonRocket",86,-22,-10)
		SPOS F 0 A_CustomMissile("CyberdemonRocket",86,-22,10)
		SPOS F 12 A_CustomMissile("CyberdemonRocket",86,-22,0)
		SPOS E 6 A_FaceTarget
		SPOS F 0 A_CustomMissile("CyberdemonRocket",86,-22,-10)
		SPOS F 0 A_CustomMissile("CyberdemonRocket",86,-22,10)
		SPOS F 12 A_CustomMissile("CyberdemonRocket",86,-22,0)
		Goto See
	Missile2:
		SPOS E 6 A_FaceTarget
		SPOS F 0 A_CustomMissile("D4FatsoPoison",86,-22,-10)
		SPOS F 0 A_CustomMissile("D4FatsoPoison",86,-22,-5)
		SPOS F 0 A_CustomMissile("D4FatsoPoison",86,-22,10)
		SPOS F 0 A_CustomMissile("D4FatsoPoison",86,-22,5)
		SPOS F 0 A_CustomMissile("D4BaronBallBig",86,-22,-3)
		SPOS F 0 A_CustomMissile("D4BaronBallBig",86,-22,-3)
		SPOS F 12 A_CustomMissile("D4FatsoPoison",86,-22,0)
		SPOS E 6 A_FaceTarget
		SPOS F 0 A_CustomMissile("D4FatsoPoison",86,-22,-10)
		SPOS F 0 A_CustomMissile("D4FatsoPoison",86,-22,-5)
		SPOS F 0 A_CustomMissile("D4FatsoPoison",86,-22,10)
		SPOS F 0 A_CustomMissile("D4FatsoPoison",86,-22,5)
		SPOS F 0 A_CustomMissile("D4BaronBallBig",86,-22,-3)
		SPOS F 0 A_CustomMissile("D4BaronBallBig",86,-22,-3)
		SPOS F 12 A_CustomMissile("D4FatsoPoison",86,-22,0)
		Goto See
	Pain:
		SPOS G 1 A_Pain
		SPOS G 9
		Goto See
	Death:
		"####" "#" 0  A_SpawnItemEx("SituationalPinata",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
		SPOS H 0 A_Explode(50,32,0,0,32)
		SPOS H 5 A_ChangeFlag(THRUACTORS,true)
		SPOS I 5 A_Scream
		SPOS H 0 A_SpawnItemEx("CyberdemonDeathFX",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		SPOS H 0 A_SpawnItemEx("BossExploderSFX",0,0,0,0,0,0,0,32)
		SPOS JKL 5
		SPOS M 5 A_NoBlocking
		SPOS NO 6
		SPOS P 30
		SPOS P 0 A_BossDeath
		SPOS P 0 A_KillMaster
		SPOS P -1
		Stop
		
	Death.ChainsawKill:
		TNT1 A 0 A_SpawnItemEx("D4PinataHealth",0,0,0,frandom(-4,4),frandom(-4,4),frandom(1,5),0,SXF_NOCHECKPOSITION)
		Goto XDeath
	Death.ChainsawPinata:	// Chainsaw alt-fire execution
		TNT1 A 0 A_GiveToTarget("SuccessfulExecutionToken",1)
		TNT1 A 0 A_SpawnItemEx("ChainsawExecutionPinata",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
		Goto XDeath
	Death.BerserkKill:
		TNT1 AAAAA 0 A_SpawnItemEx("D4PinataHealth",0,0,0,frandom(-4,4),frandom(-4,4),frandom(1,5),0,SXF_NOCHECKPOSITION)
		Goto XDeath
	
	//------------------------------------------------------------------------
	// Start of Stagger / Glory Kill states
	//------------------------------------------------------------------------
	Wound:
		SPOS X 0 A_SetUserVar(user_healto,130)
		Goto WoundStagger	// see MonsterBase.AED
		
	Death.GloryKill:
		SPOS Y 0
		Goto GloryKillGeneric // see MonsterBase.AED
		
	GloryEnd:	//depending on the monster, is what and how much will spawn
		SPOS A 1 A_SpawnItemEx("GloryKillPinata",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
		Goto XDeath
	CyberdemonXDeath:
		"####" A 0 A_PlaySound("Doom4/Gore/Big",7,1.0,false,1.3)
		"####" A 0 A_SpawnItemEx("BloodGibDropperBig",0,0,28,0,0,0,0,SXF_NOCHECKPOSITION|SXF_USEBLOODCOLOR)
		"####" "#" 0  A_SpawnItemEx("SituationalPinata",0,0,32,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
		SPOS H 0 A_Explode(50,32,0,0,32)
		SPOS I 0 A_Scream
		SPOS H 0 A_SpawnItemEx("CyberdemonDeathFX",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_SETMASTER)
		SPOS H 0 A_SpawnItemEx("BossExploderSFX",0,0,0,0,0,0,0,32)
		SPOS JKL 4
		SPOS M 4 
		SPOS NO 4
		SPOS P 30
		SPOS P 0 A_BossDeath
		SPOS P 0 A_KillMaster
		SPOS P -1
		Stop
	}
}