ACTOR TheCyberdemon: Cyberdemon Replaces Cyberdemon
{
    //damagefactor "BFG", 0.5
	damagefactor "Explosive", 1.1
    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 "CauseObjectsToSplash", 0.0
	damagefactor "CutLess", 0.5
	Obituary "%o was exploded to pieces by a Cyberdemon."
	+NOICEDEATH
    Health 5000
    damagefactor "Crush", 20.0
	MaxStepHeight 24
	MaxDropOffHeight 32
    Scale 1.7
	Radius 50
	Height 210
	damagefactor "GAvoid", 0.0
	dropitem "20_coins" 225
	dropitem "10_coins" 100
    +DONTRIP
    +NORADIUSDMG
	+MISSILEMORE
	-MISSILEEvenMORE
	+QUICKTORETALIATE
	Speed 24
	FastSpeed 30
	dropitem "miniupgrade" 20
	painchance "kick", 4
	mass 5000
	PainChance "Head", 30
	PainChance "KillMe", 32
	PainChance "Taunt", 255
	DropItem "DemonStrengthRune" 25
    BloodType "CyberDemon_Blood", "SawBlood", "SawBlood"
damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0
	States
	{
	
	Death.KillMe:
    Death.Taunt:
	    TNT1 A 0 A_ChangeFlag("SOLID", 0)
        TNT1 A 0 A_SpawnItem("TheCyberdemon")
        Stop
	Pain.Killme:
	TNT1 A 0
	Goto See
	
    ReplaceVanilla:
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("VanillaCyberdemon",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		Stop
	spawnsmall:
		tnt1 a 0 A_SpawnItemEx ("SmallCyberdemon",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		stop
    Spawn:
		TNT1 A 0 ACS_ExecuteAlways(796, 0, 0, 0, 0)//Check if Vanilla Mode is activated
		TNT1 A 0 A_CheckCeiling("spawnsmall")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		TNT1 A 0 A_GiveInventory("TargetIsACyberdemon")
		
	Stand:	
        CYBR D 10 A_Look
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
        CYBR Z 10 A_Look
        Loop

	See:
	tnt1 a 0 radius_quake(4,2,0,10,0)
	tnt1 a 0 radius_quake(3,6,0,25,0)
	tnt1 a 0 radius_quake(2,13,3,75,0)
	tnt1 a 0 radius_quake(1,20,10,150,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		TNT1 A 0 A_SpawnItem("HeavyFootSteps32")
		CYBR A 3 A_Hoof
		CYBR A 3 A_Chase
		TNT1 A 0 A_JumpIfCloser(120, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR AA 2 A_Chase
		TNT1 A 0 A_JumpIfCloser(120, "Stomp")
        //TNT1 A 0 A_SpawnItemEx("CyberStep",12,-30)
		CYBR BB 2 A_Chase
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
        CYBR BBC 2 A_Chase
		TNT1 A 0 A_SpawnItem("HeavyFootSteps32")
		TNT1 A 0 A_JumpIfCloser(120, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
        CYBR C 2 A_Chase
		CYBR C 2
		CYBR C 2 A_Metal
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
        //TNT1 A 0 A_SpawnItemEx("CyberStep",12,30)
		CYBR D 2 A_Chase
		CYBR D 2 A_Chase
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR DD 2 A_Chase
		Loop


	Missile:
		CYBR E 2 A_jumpifhealthlower(800,"Specialattack3")
		CYBR E 2 A_jumpifhealthlower(1400,"Specialattack")
	    TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,0,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		CYBR E 2 A_jumpifhealthlower(1200,"Specialattack")
	    TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,0,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		Goto See
		
		 
	Stomp:
	tnt1 a 0 radius_quake(10,7,1,25,0)
	tnt1 a 0 radius_quake(10,7,3,30,0)
	tnt1 a 0 radius_quake(10,7,5,35,0)
	tnt1 a 0 radius_quake(10,7,7,40,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR Z 5 A_FaceTarget
		TNT1 A 0 A_Recoil(-5)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
	    CYMA A 7 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		TNT1 A 0 A_CustomMissile("CyberStomp",10,0,0,0)
	    CYMA B 7
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYMA B 7
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		Goto See
	Death:
		CYBR H 10
		EXPL A 0 Radius_Quake (8, 50, 1, 22, 0)
		EXPL A 0 Radius_Quake (4, 100, 2, 34, 0)
		EXPL A 0 Radius_Quake (3, 150, 3, 46, 0)
		EXPL A 0 Radius_Quake (2, 200, 0, 58, 0)
		EXPL A 0 Radius_Quake (1, 250, 0, 70, 0)
		EXPL A 0 Radius_Quake (1, 300, 0, 82, 0)
		tnt1 a 0 A_playsound("CYBREXP",100,1,0,0.05)
		TNT1 AAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ExplosionSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("UltraGoreSPawner", 90, 0, random (0, 360), 2, random (0, 180))
        BARX ABCDEFGHIJ 1 A_CustomMissile ("ExplosionSpawner", 90, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonHead", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonArm", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonGun", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonPiece", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonTorso", 120, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAA 0 A_CustomMissile ("UltraGoreSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 A 0 A_CustomMissile ("CyberXDeath", 0, 0, random (0, 360), 2, random (0, 160))
		CYBR I 5 A_Scream
		CYBR JKL 5
		CYBR M 5 A_NoBlocking
		CYBR NOP 5
		CYBR P 120
		TNT1 A 0 A_BossDeath
		CYBR P -1 A_BossDeath
		Stop
	
	Death.Decaptate:
	    tnt1 a 0 A_playsound("CYBREXP",999,1,0,0.05)
	    TNT1 A 0 A_CustomMissile ("XDeathCyberdemonHead", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 AAAAAAAAA 0 A_CustomMissile ("XDeath1", 120, 0, random (0, 360), 2, random (0, 180))
		CYBB AAAAA 8 A_SpawnItem("MuchBlood", 0, 120)
		CYBB ABCABCB 8 A_SpawnItem("MuchBlood", 0, 120)
		EXPL A 0 Radius_Quake (6, 100, 0, 22, 0)
        TNT1 AAAA 0 A_CustomMissile ("ExplosionSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAA 0 A_CustomMissile ("ExplosionSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAA 0 A_CustomMissile ("UltraGoreSPawner", 90, 0, random (0, 360), 2, random (0, 180))
		
        TNT1 AAAAAA 0 A_CustomMissile ("UltraGoreSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 A 0 A_CustomMissile ("CyberXDeath", 0, 0, random (0, 360), 2, random (0, 160))
		CYBR I 0 A_Fall
		CYBR JKL 0
		CYBR M 0 A_NoBlocking
		CYBR NOP 0
		CYBR P 120
		CYBR P -1 A_BossDeath
		Stop
	
    Crush:
        TNT1 A 0 A_PlaySound("misc/xdeath4")
        CRS3 A 5
        CRS3 A -1
        Stop
	
	Pain.Taunt:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
		SPOS B 0 A_Pain
		TNT1 A 0 A_ChangeFlag("FASTER", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
		TNT1 A 0 A_PlaySound("demon/pain")
		CYBT A 1 A_FaceTarget
		CYBT ABCCBADE 2
		TNT1 A 0 A_PlaySound("CYBTAT", 1)
		CYBT FGHGFGHGFGHGFGHG 2
		CYBT EDA 2
		TNT1 A 0 A_GiveInventory("Enraged", 1)
		tnt1 a 0 
		Goto Missile
	LowHealth:
		SPOS B 0 A_Pain
		TNT1 A 0 A_ChangeFlag("FASTER", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEvenMORE", 1)
		TNT1 A 0 A_PlaySound("demon/pain")
		CYBT A 1 A_FaceTarget
		CYBT ABCCBADE 2
		TNT1 A 0 A_PlaySound("CYBTAT", 1)
		CYBT FGHGFGHGFGHGFGHG 1
		CYBT EDA 2
		Goto see
	SpecialAttack:
	TNT1 A 0 A_takeInventory("Enraged", 1)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,0,0)
		TNT1 A 0 A_takeInventory("Enraged", 1)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,0,0)
		Goto See
	SpecialAttack3:
	TNT1 A 0 A_takeInventory("Enraged", 1)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 1 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 1 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 1 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 1 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("VERYFASTCyberBalls",86,-30,random(-8,8),0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,0,0)
		TNT1 A 0 A_takeInventory("Enraged", 1)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("VERYCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 2 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("VERYFastCyberBalls",86,-30,random(-8,8),0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR FFF 0 BRIGHT A_CustomMissile("CyberBalls",86,-30,0,0)
		CYBR FFF 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,0,0)
		CYBR FFF 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,0,0)
		CYBR F 2 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,0,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("VERYFASTCyberBalls",86,-30,random(-8,8),0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,0,0)
		TNT1 A 0 A_takeInventory("Enraged", 1)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("VERYCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,random(-8,8),0)
		CYBR F 2 BRIGHT A_CustomMissile("CyberBalls",86,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 2 BRIGHT A_CustomMissile("VERYFastCyberBalls",86,-30,random(-8,8),0)
		CYBR E 2 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR FFF 0 BRIGHT A_CustomMissile("CyberBalls",86,-30,0,0)
		CYBR FFF 0 BRIGHT A_CustomMissile("FastCyberBalls",86,-30,0,0)
		CYBR FFF 0 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,0,0)
		CYBR F 2 BRIGHT A_CustomMissile("VeryFastCyberBalls",86,-30,0,0)
		Goto See
	}
}
ACTOR SmallCyberdemon
{
    //damagefactor "BFG", 0.5
	damagefactor "Explosive", 1.1
    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 "CauseObjectsToSplash", 0.0
	Obituary "%o was exploded to pieces by a Cyberdemon."
	+NOICEDEATH
    Health 5000
    damagefactor "Crush", 20.0
	MaxStepHeight 24
	MaxDropOffHeight 32
    Scale 1.2
	+solid
	monster
	Radius 40
	Height 120
	damagefactor "GAvoid", 0.0
	dropitem "20_coins" 225
	dropitem "10_coins" 100
	+MISSILEMORE
	+MISSILEEVENMORE
    +DONTRIP
    +NORADIUSDMG
	+QUICKTORETALIATE
	Speed 16
	FastSpeed 24
	dropitem "miniupgrade" 20
	painchance "kick", 255
	mass 5000
	PainChance "Head", 80
	PainChance "KillMe", 64
	PainChance "Taunt", 255
	DropItem "DemonStrengthRune" 25
    BloodType "CyberDemon_Blood", "SawBlood", "SawBlood"
damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0
	States
	{
	
	Death.KillMe:
    Death.Taunt:
	    TNT1 A 0 A_ChangeFlag("SOLID", 0)
        TNT1 A 0 A_SpawnItem("TheCyberdemon")
        Stop
	Pain.Killme:
	TNT1 A 0
	Goto See
	
    ReplaceVanilla:
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("VanillaCyberdemon",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		Stop
    Spawn:
		TNT1 A 0 ACS_ExecuteAlways(796, 0, 0, 0, 0)//Check if Vanilla Mode is activated
		
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		TNT1 A 0 A_GiveInventory("TargetIsACyberdemon")
		
	Stand:	
        CYBR D 10 A_Look
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
        CYBR Z 10 A_Look
        Loop

	See:
	tnt1 a 0 radius_quake(4,2,0,10,0)
	tnt1 a 0 radius_quake(3,6,0,25,0)
	tnt1 a 0 radius_quake(2,13,1,75,0)
	tnt1 a 0 radius_quake(1,20,5,150,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		TNT1 A 0 A_SpawnItem("HeavyFootSteps32")
		CYBR A 3 A_Hoof
		CYBR A 3 A_Chase
		TNT1 A 0 A_JumpIfCloser(120, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR AA 2 A_Chase
		TNT1 A 0 A_JumpIfCloser(120, "Stomp")
        //TNT1 A 0 A_SpawnItemEx("CyberStep",12,-30)
		CYBR BB 2 A_Chase
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
        CYBR BBC 2 A_Chase
		TNT1 A 0 A_SpawnItem("HeavyFootSteps32")
		TNT1 A 0 A_JumpIfCloser(120, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
        CYBR C 2 A_Chase
		CYBR C 2
		CYBR C 2 A_Metal
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
        //TNT1 A 0 A_SpawnItemEx("CyberStep",12,30)
		CYBR D 2 A_Chase
		CYBR D 2 A_Chase
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR DD 2 A_Chase
		Loop


	Missile:
		CYBR E 2 A_jumpifhealthlower(1200,"Specialattack")
	    TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 5 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",68,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 5 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",68,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 5 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",68,-25,7,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 5 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",68,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 5 A_FaceTarget
		Goto See
		
		 
	Stomp:
	tnt1 a 0 radius_quake(10,7,1,25,0)
	tnt1 a 0 radius_quake(10,7,3,30,0)
	tnt1 a 0 radius_quake(10,7,5,35,0)
	tnt1 a 0 radius_quake(10,7,7,40,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR Z 5 A_FaceTarget
		TNT1 A 0 A_Recoil(-5)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
	    CYMA A 7 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		TNT1 A 0 A_CustomMissile("CyberStomp",10,0,0,0)
	    CYMA B 7
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYMA B 7
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		Goto See
	Death:
		CYBR H 10
		EXPL A 0 Radius_Quake (1, 50, 1, 22, 0)
		EXPL A 0 Radius_Quake (1, 100, 2, 34, 0)
		EXPL A 0 Radius_Quake (1, 150, 3, 46, 0)
		EXPL A 0 Radius_Quake (1, 200, 0, 58, 0)
		EXPL A 0 Radius_Quake (1, 250, 0, 70, 0)
		EXPL A 0 Radius_Quake (1, 300, 0, 82, 0)
		tnt1 a 0 A_playsound("CYBREXP",100,1,0,0.05)
        TNT1 AAAA 0 A_CustomMissile ("ExplosionSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAA 0 A_CustomMissile ("ExplosionSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAA 0 A_CustomMissile ("UltraGoreSPawner", 90, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonHead", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonArm", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonGun", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonPiece", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 A 0 A_CustomMissile ("XDeathCyberdemonTorso", 120, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAA 0 A_CustomMissile ("UltraGoreSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 A 0 A_CustomMissile ("CyberXDeath", 0, 0, random (0, 360), 2, random (0, 160))
		CYBR I 5 A_Scream
		CYBR JKL 5
		CYBR M 5 A_NoBlocking
		CYBR NOP 5
		CYBR P 120
		TNT1 A 0 A_BossDeath
		CYBR P -1 A_BossDeath
		Stop
	
	Death.Decaptate:
	    tnt1 a 0 A_playsound("CYBREXP",999,1,0,0.05)
	    TNT1 A 0 A_CustomMissile ("XDeathCyberdemonHead", 120, 0, random (0, 360), 2, random (0, 180))
		TNT1 AAAAAAAAA 0 A_CustomMissile ("XDeath1", 120, 0, random (0, 360), 2, random (0, 180))
		CYBB AAAAA 8 A_SpawnItem("MuchBlood", 0, 120)
		CYBB ABCABCB 8 A_SpawnItem("MuchBlood", 0, 120)
		EXPL A 0 Radius_Quake (6, 100, 0, 22, 0)
        TNT1 AAAA 0 A_CustomMissile ("ExplosionSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAA 0 A_CustomMissile ("ExplosionSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAA 0 A_CustomMissile ("UltraGoreSPawner", 90, 0, random (0, 360), 2, random (0, 180))
		
        TNT1 AAAAAA 0 A_CustomMissile ("UltraGoreSpawner", 90, 0, random (0, 360), 2, random (0, 180))
        TNT1 A 0 A_CustomMissile ("CyberXDeath", 0, 0, random (0, 360), 2, random (0, 160))
		CYBR I 0 A_Fall
		CYBR JKL 0
		CYBR M 0 A_NoBlocking
		CYBR NOP 0
		CYBR P 120
		CYBR P -1 A_BossDeath
		Stop
	
    Crush:
        TNT1 A 0 A_PlaySound("misc/xdeath4")
        CRS3 A 5
        CRS3 A -1
        Stop
	
	Pain.Taunt:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
		SPOS B 0 A_Pain
		TNT1 A 0 A_ChangeFlag("FASTER", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
		TNT1 A 0 A_PlaySound("demon/pain")
		CYBT A 1 A_FaceTarget
		CYBT ABCCBADE 2
		TNT1 A 0 A_PlaySound("CYBTAT", 1)
		CYBT FGHGFGHGFGHGFGHG 2
		CYBT EDA 2
		TNT1 A 0 A_GiveInventory("Enraged", 1)
		tnt1 a 0 
		Goto Missile
	LowHealth:
		SPOS B 0 A_Pain
		TNT1 A 0 A_ChangeFlag("FASTER", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
		TNT1 A 0 A_PlaySound("demon/pain")
		CYBT A 1 A_FaceTarget
		CYBT ABCCBADE 2
		TNT1 A 0 A_PlaySound("CYBTAT", 1)
		CYBT FGHGFGHGFGHGFGHG 1
		CYBT EDA 2
		Goto see
	SpecialAttack:
	TNT1 A 0 A_takeInventory("Enraged", 1)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",68,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",68,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",68,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",68,-30,random(-8,8),0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",68,-30,random(-8,8),0)
		CYBR E 3 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 100,0)
		CYBR F 3 BRIGHT A_CustomMissile("FastCyberBalls",68,-30,random(-8,8),0)
		Goto See
	
	}
}



