ACTOR ClockworkCyberdemon : DarkCyberdemon
{
  Scale 0.9
  Health 5500
  PainChance 0
  Speed 20
  DropItem "BossLifeEssence" 200 25
  DropItem "BossArmorBonusMax" 200 1
  DropItem "NewCellPack" 186 300
  DropItem "BFG10K " 178 1
  DropItem "Railgun " 184 1
  Obituary "%o was out-runned and out-gunned by a Clockwork Cyberdemon."
  DamageFactor "Normal", 0.65
  DamageFactor "Cyber10K", 0.0
  DamageFactor "PDTBFG", 0.5
  DamageFactor "PDTBFGTracer", 0.8
  SeeSound "Clockwork/Sight"
  ActiveSound ""
  DeathSound "Clockwork/Death"
  +NOICEDEATH
  +NOBLOOD
  +NOEXTREMEDEATH
  +NOPAIN
  Tag "\c[i7]Clockwork Cyberdemon\c-"
  States 
  {    
  Spawn: 
	CCYB A 10 A_Look
	Loop 
  See: 
	TNT1 A 0 A_Hoof
    CCYB A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("InsaneCyberGhostA",0,0,0,0,0,0,0,128)
    CCYB A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("InsaneCyberGhostA",0,0,0,0,0,0,0,128)
    CCYB A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("InsaneCyberGhostB",0,0,0,0,0,0,0,128)
    CCYB B 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("InsaneCyberGhostB",0,0,0,0,0,0,0,128)
    CCYB C 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("InsaneCyberGhostC",0,0,0,0,0,0,0,128)
    CCYB C 2 A_Chase
    TNT1 A 0 A_Metal
    TNT1 A 0 A_SpawnItemEx("InsaneCyberGhostC",0,0,0,0,0,0,0,128)
    CCYB D 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("InsaneCyberGhostD",0,0,0,0,0,0,0,128)
    CCYB D 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("InsaneCyberGhostD",0,0,0,0,0,0,0,128)    
    Loop
  Missile:
    TNT1 A 0 A_jump(128,"railguncharge","MiniDTBFG")
  EMinigun:  
    TNT1 A 0 A_Jumpifcloser(400,"EASG")
  Actuallyfireit:
    CCYB E 14 A_FaceTarget
    CCYB E 2 A_facetarget
    TNT1 A 0 A_PlaySound("sentient/fire")
    CCYB F 2 Bright A_CustomMissile("TerminatorExplosiveTracer",50,-25,frandom(1,-1),0)
    TNT1 A 0 A_SpawnItemEx("OrangeShellCasing", 0, 12, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    TNT1 A 0 A_Jumpifcloser(400,"EASG")
    TNT1 A 0 A_Jump(18,"See")
    TNT1 A 0 A_SpidRefire    
    Goto Actuallyfireit+1
  EASG:
    CCYB E 14 A_FaceTarget
    TNT1 A 0 A_PlaySound("weapons/ExplosiveSG/fire",7)
    TNT1 A 0 A_SpawnItemEx("OrangeShellCasing", 0, 12, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    TNT1 AAAAAA 0 Bright A_CustomMissile("TerminatorExplosiveTracer",50,-25,Random(4,-4),0)
    CCYB F 4 Bright A_CustomBulletAttack(9,6,6,Random(5,7),"Cyberpuff")
    CCYB E 12
    TNT1 A 0 A_Jump(128,"See")
    TNT1 A 0 A_SpidRefire
    Goto EASG+2
  Railguncharge:
    TNT1 A 0 A_PlaySound("weapons/rgcharge")
    CCYB EE 5 A_FaceTarget
    CCYB EEE 5 Bright A_FaceTarget
	TNT1 A 0 A_Jump(120,"Lasers")
    TNT1 A 0 A_jump(80,"Morerailguns")
  Railgun:
    CCYB E 10 Bright
	CCYB F 10 Bright A_CustomMissile("CardinalRail",50,-25)
    CCYB E 15
    Goto See
  Morerailguns:
    CCYB E 10 Bright
	CCYB F 10 Bright A_CustomMissile("CardinalRail",50,-25)
    CCYB E 8 a_facetarget
	CCYB F 10 Bright A_CustomMissile("CardinalRail",50,-25)
    CCYB E 8 a_facetarget
	CCYB F 10 Bright A_CustomMissile("CardinalRail",50,-25)
    CCYB E 15
    Goto See
  Lasers:
    CCYB E 10 Bright
	CCYB F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
    CCYB E 4 a_facetarget
	CCYB F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
    CCYB E 4 a_facetarget
	CCYB F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
    CCYB E 4 a_facetarget
	CCYB F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
    CCYB E 4 a_facetarget
	CCYB F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
    CCYB E 4 a_facetarget
    Goto see
  MiniDTBFG:
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGCharge")
	CCYB EEEEEEE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	CCYB F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-8,8))
	CCYB E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	CCYB F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-8,8))
	CCYB E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	CCYB F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-8,8))
	CCYB E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	CCYB F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-8,8))
	CCYB E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	CCYB F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-8,8))
	CCYB E 5 A_FaceTarget
	Goto See
  Death:
	CCYB G 10 A_Scream
    CCYB H 10 A_NoBlocking
	CCYB IIIII 2 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	CCYB JJJJJ 2 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	CCYB KKKKK 2 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	CCYB LLLLL 1 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	CCYB MMMMM 1 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
    TNT1 AAAAAAAA 0 A_CustomMissile("SmokeFX3", Random(20,80), 0, random(0,360), 2, random(0,360))  
	CCYB NO 5
	CCYB P -1 A_KillMaster
	Stop  
  }
}

Actor CwClaser : SpecOpsLaser  
{
damagetype "Cyber10K"
Damage 20
}

ACTOR Cyberpuff : BulletPuff
{
damagetype "Cyber10K"
}

ACTOR ClockworkMiniDTBFG : LesserCardinalMiniDTBFG
{
DamageType "Cyber10K"
Obituary "%o was out-runned and out-gunned by a Clockwork Cyberdemon."
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_PlaySoundEx("LesserCardinal/BFGIdle","Voice",1)
    CRS1 ABCDABCD 1 Bright A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("ClockworkBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
    Loop  
    }
}

ACTOR ClockworkBFGProjectileAttack : LesserCardinalBFGProjectileAttack
{
Obituary "%o was out-runned and out-gunned by a Clockwork Cyberdemon."
MissileType "ClockworkLightningProjectile"
}

ACTOR ClockworkLightningProjectile : LesserCardinalLightningProjectile { DamageType "Cyber10K" }

//Illusions
ACTOR InsaneCyberGhostA
{
Scale 0.95
RENDERSTYLE Translucent
Alpha 0.75
+NOGRAVITY
+CLIENTSIDEONLY
+DONTSPLASH
+NOINTERACTION
+NOCLIP
States
{
Spawn:
    CCYB A 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR InsaneCyberGhostB : InsaneCyberGhostA
{   
States
{
Spawn:
    CCYB B 2 A_FadeOut(0.18)
    Loop
    }
}
  
ACTOR InsaneCyberGhostC : InsaneCyberGhostA
{   
States
{
Spawn:
    CCYB C 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR InsaneCyberGhostD : InsaneCyberGhostA
{   
States
{
Spawn:
    CCYB D 2 A_FadeOut(0.18)
    Loop
    }
}