ACTOR TheCyberdemon: Cyberdemon Replaces Cyberdemon
{
	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 "CauseSplash", 0.0 DamageFactor "CauseObjectsToSplashSlime", 0.0 DamageFactor "CauseObjectsToSplashNukage", 0.0
	DamageFactor "CauseObjectsToSplashBlood", 0.0 DamageFactor "CauseObjectsToSplashLava", 0.0
	+NOICEDEATH
    Health 5000
    damagefactor "Crush", 20.0
	MaxStepHeight 24
	MaxDropOffHeight 32
    Scale 1.2
	Radius 45
	Height 94
	+MISSILEMORE
	+MISSILEEVENMORE
    +DONTRIP
    +NORADIUSDMG
	+QUICKTORETALIATE
	Speed 16
	FastSpeed 22
	painchance "kick", 255
	painchance "Fire", 60
	painchance 20
	mass 5000
	PainChance "Head", 40
	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
		TNT1 A 0 A_NoBlocking
		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)
		TNT1 A 100
		TNT1 A 10 A_BossDeath
		Stop
		
	ReplaceForBOSS:
		TNT1 A 0
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", 0)
		TNT1 A 0 A_SpawnItemEx ("CyberdemonBoss",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 10
		Stop
		
	Pain:
		CYBR G 1
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR G 4 A_Pain
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR G 4 A_Pain
		Goto See
	
    Spawn:
		CYBR D 0
		TNT1 A 0 ACS_ExecuteAlways(796, 0, 0, 0, 0)//Check if Vanilla Mode is activated
		TNT1 A 0 A_JumpIf(x == -1472, "ReplaceForBOSS")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		TNT1 A 0 A_GiveInventory("TargetIsACyberdemon")
		
	Stand:	
        
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
        CYBR Z 10 A_Look
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR D 10 A_Look
        Loop

	See:
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,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, 96,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, 96,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, 96,0)
        CYBR C 2 A_Chase
		CYBR C 2
		CYBR C 2 A_Metal
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
        //TNT1 A 0 A_SpawnItemEx("CyberStep",12,30)
		CYBR D 2 A_Chase
		CYBR D 2 A_Chase
		TNT1 A 0 A_JumpIfCloser(120, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR DD 2 A_Chase
		Loop


	Missile:
	    TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR E 8 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,-7,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,7,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 3 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR E 12
		Goto See
		
		 
	Stomp:
	Melee:
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR Z 5 A_FaceTarget
		TNT1 A 0 A_Recoil(-5)
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
	    CYMA A 7 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		TNT1 A 0 A_CustomMissile("CyberStomp",10,0,0,0)
	    CYMA B 7
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYMA B 7
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		Goto See
	Death:
		CYBR H 20
		CYBR I 5 A_Scream
		CYBR J 5
		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 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 M 5 A_NoBlocking
		CYBR NOP 5
		CYBR P 120
		TNT1 A 0 A_BossDeath
		CYBR P -1 A_BossDeath
		Stop
	Death.Head:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInTargetInventory("HasCutingWeapon", 1, "Death.Decaptate")
		TNT1 AAA 0 A_CustomMissile ("Brains6Big", 120, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAA 0 A_CustomMissile ("Brains7Big", 210, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAAA 0 A_CustomMissile ("XDeath3b", 120, 0, random (0, 360), 2, random (50, 90))
		TNT1 AAAAA 0 A_CustomMissile ("XDeath2b", 120, 0, random (0, 360), 2, random (50, 90))
		TNT1 AA 0 A_CustomMissile ("MeatDeath", 120, 0, random (0, 360), 2, random (50, 90))
		CYBB AAAA 6 A_SpawnItem("MuchBlood3", 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
		
	Death.Decaptate:
	    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 AAAA 0 A_SpawnItem("MuchBlood3", 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
		TNT1 AAAA 0 A_SpawnItemEx ("BodyRemovalThing",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 1 A_XScream
		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_ChangeFlag("NOPAIN", 1)
		TNT1 A 0 A_PlaySound("demon/pain")
		CYBT A 1 A_FaceTarget
		CYBT ABCCBADE 4
		TNT1 A 0 A_PlaySound("CYBTAT", 1)
		CYBT FGHGFGHGFGHGFGHG 3
		CYBT EDA 4
		TNT1 A 0 A_GiveInventory("Enraged", 1)
		Goto Missile
	
	SpecialAttack:
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR E 6 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 4 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 4 BRIGHT A_CustomMissile("CyberBalls",60,-25,-7,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 4 BRIGHT A_CustomMissile("CyberBalls",60,-25,7,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 4 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		TNT1 A 0 A_JumpIfCloser(180, "Stomp")
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR EE 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 4 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		CYBR EE 4 A_FaceTarget
		TNT1 A 0 A_SpawnItem("CybersHitBox", 0, 96,0)
		CYBR F 4 BRIGHT A_CustomMissile("CyberBalls",60,-25,0,0)
		Goto See
	
	}
}



