ACTOR ClockworkAnnihilator : ClockworkCyberdemon
{
  Scale 0.95
  Health 7000
  DropItem "BossLifeEssence" 200 25
  DropItem "BossArmorBonusMax" 200 1
  DropItem "NewCellPack" 186 300
  DropItem "BFG10K " 178 1
  DropItem "Railgun " 184 1
  Obituary "%o was the first victim of the Clockwork Annihilator."
  //SeeSound "Clockwork/Sight"
  Tag "\c[i7]Clockwork Annihilator\c-"
  States 
  {    
  Spawn: 
	INNI A 10 A_Look
	Loop 
  See: 
	TNT1 A 0 A_Playsound("monsters/clhoof")
	INNI A 3 A_chase
	TNT1 A 0 A_SpawnItemEx("InsaneAnniGhostA",0,0,0,0,0,0,0,128)
	INNI A 3 A_Chase	
	TNT1 A 0 A_SpawnItemEx("InsaneAnniGhostA",0,0,0,0,0,0,0,128)
	INNI B 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneAnniGhostB",0,0,0,0,0,0,0,128)
	INNI B 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneAnniGhostB",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Playsound("monsters/clhoof")
	INNI C 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneAnniGhostC",0,0,0,0,0,0,0,128)
	INNI C 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneAnniGhostC",0,0,0,0,0,0,0,128)
	INNI D 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneAnniGhostD",0,0,0,0,0,0,0,128)
	INNI D 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneAnniGhostD",0,0,0,0,0,0,0,128)
	Loop 
  Missile:
	TNT1 A 0 A_jump(110,"RailgunCharge","InfernalRockets")
	TNT1 A 0 A_jump(80,"MiniDTBFG","BFG15k")
	TNT1 A 0 A_jump(20,"Overkillattack")
  EMinigun:	
	TNT1 A 0 A_Jumpifcloser(400,"EASG")
  Actuallyfireit:
	INNI E 14 A_FaceTarget
	INNI E 2 A_facetarget
	TNT1 A 0 A_PlaySound("sentient/fire")
    TNT1 A 0 A_CustomMissile("TerminatorExplosiveTracer",50,25,frandom(1,-1),0)
    INNI 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_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:
	INNI 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 A 0 A_SpawnItemEx("OrangeShellCasing", 0, 12, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    TNT1 AAAAAA 0 A_CustomMissile("TerminatorExplosiveTracer",50,25,Random(4,-4),0)
    TNT1 AAAAAA 0 A_CustomMissile("TerminatorExplosiveTracer",50,-25,Random(4,-4),0)
	INNI F 4 Bright A_CustomBulletAttack(9,6,12,Random(5,7),"Cyberpuff")
	INNI E 12
	TNT1 A 0 A_Jump(58,"See")
	TNT1 A 0 A_SpidRefire
	Goto EASG+2
  InfernalRockets:
    INNI E 12 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("CyberInfernalRocket",50,25)
    INNI F 8 Bright A_CustomMissile("CyberInfernalRocket",50,-25)
	INNI E 8 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("CyberInfernalRocket",50,25)
    INNI F 8 Bright A_CustomMissile("CyberInfernalRocket",50,-25)
	INNI E 8 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("CyberInfernalRocket",50,25)
    INNI F 8 Bright A_CustomMissile("CyberInfernalRocket",50,-25)
	INNI E 8 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("CyberInfernalRocket",50,25)
    INNI F 8 Bright A_CustomMissile("CyberInfernalRocket",50,-25)
	INNI E 8 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("CyberInfernalRocket",50,25)
    INNI F 8 Bright A_CustomMissile("CyberInfernalRocket",50,-25)
	INNI E 8 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("CyberInfernalRocket",50,25)
    INNI F 8 Bright A_CustomMissile("CyberInfernalRocket",50,-25)
	INNI E 8 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("CyberInfernalRocket",50,25)
    INNI F 8 Bright A_CustomMissile("CyberInfernalRocket",50,-25)
	INNI E 8
	Goto See
  RailgunCharge:
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
    INNI EE 5 A_FaceTarget
    INNI EEE 5 Bright A_FaceTarget
	TNT1 A 0 A_Jump(120,"Lasers")
	TNT1 A 0 A_jump(80,"Morerailguns")
  Railgun:
	INNI E 10 Bright
	TNT1 A 0 A_CustomMissile("CardinalRail",50,25)
	INNI F 10 Bright A_CustomMissile("CardinalRail",50,-25)
	INNI E 15
	Goto See
  Morerailguns:
	INNI E 10 Bright
	TNT1 A 0 A_CustomMissile("CardinalRail",50,25)
	INNI F 10 Bright A_CustomMissile("CardinalRail",50,-25)
	INNI E 8 a_facetarget
	TNT1 A 0 A_CustomMissile("CardinalRail",50,25)
	INNI F 10 Bright A_CustomMissile("CardinalRail",50,-25)
	INNI E 8 a_facetarget
	TNT1 A 0 A_CustomMissile("CardinalRail",50,25)
	INNI F 10 Bright A_CustomMissile("CardinalRail",50,-25)
	INNI E 15
	Goto See
  Lasers:
	INNI E 10 Bright
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(2,-2))
	INNI F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
	INNI E 4 a_facetarget
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(2,-2))
	INNI F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
	INNI E 4 a_facetarget
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(2,-2))
	INNI F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
	INNI E 4 a_facetarget
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(2,-2))
	INNI F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
	INNI E 4 a_facetarget
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(2,-2))
	INNI F 10 Bright A_CustomMissile("CWClaser",50,-25,random(2,-2))
	INNI E 4 a_facetarget
	Goto see
  BFG15k:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	INNI E 18 Bright A_FaceTarget
	INNI E 6 Bright A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("Desolator15k",50,25,random(-1,1))
    INNI F 8 Bright A_CustomMissile("Desolator15k",50,-25,random(-1,1))
	INNI E 5 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("Desolator15k",50,25,random(-1,1))
    INNI F 8 Bright A_CustomMissile("Desolator15k",50,-25,random(-1,1))
	INNI E 5 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("Desolator15k",50,25,random(-1,1))
    INNI F 8 Bright A_CustomMissile("Desolator15k",50,-25,random(-1,1))
	INNI E 5 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("Desolator15k",50,25,random(-1,1))
    INNI F 8 Bright A_CustomMissile("Desolator15k",50,-25,random(-1,1))
	INNI E 5 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("Desolator15k",50,25,random(-1,1))
    INNI F 8 Bright A_CustomMissile("Desolator15k",50,-25,random(-1,1))
	INNI E 5 A_FaceTarget
    TNT1 A 0 Bright A_CustomMissile("Desolator15k",50,25,random(-1,1))
    INNI F 8 Bright A_CustomMissile("Desolator15k",50,-25,random(-1,1))
	INNI E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	Goto see
  MiniDTBFG:
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGCharge")
	INNI EEEEEEE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_CustomMissile("ClockworkMiniDTBFG",50,25,random(-2,2))
	INNI F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-2,2))
	INNI E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_CustomMissile("ClockworkMiniDTBFG",50,25,random(-2,2))
	INNI F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-2,2))
	INNI E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_CustomMissile("ClockworkMiniDTBFG",50,25,random(-2,2))
	INNI F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-2,2))
	INNI E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_CustomMissile("ClockworkMiniDTBFG",50,25,random(-2,2))
	INNI F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-2,2))
	INNI E 5 A_FaceTarget
	Goto See
  Overkillattack:
	TNT1 A 0 A_PlaySound("lrball3/charge")
	INNI EEEEEEEEEEEE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_CustomMissile("Desolator15k",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("ClockworkMiniDTBFG",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("Desolator15k",50,-25,random(-2,2))
	TNT1 A 0 A_CustomMissile("CWClaser",50,-25,random(-2,2))
	INNI F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-2,2))
	INNI E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_CustomMissile("Desolator15k",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("ClockworkMiniDTBFG",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("Desolator15k",50,-25,random(-2,2))
	TNT1 A 0 A_CustomMissile("CWClaser",50,-25,random(-2,2))
	INNI F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-2,2))
	INNI E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_CustomMissile("Desolator15k",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("ClockworkMiniDTBFG",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("Desolator15k",50,-25,random(-2,2))
	TNT1 A 0 A_CustomMissile("CWClaser",50,-25,random(-2,2))
	INNI F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-2,2))
	INNI E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	TNT1 A 0 A_CustomMissile("Desolator15k",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("CWClaser",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("ClockworkMiniDTBFG",50,25,random(-2,2))
	TNT1 A 0 A_CustomMissile("Desolator15k",50,-25,random(-2,2))
	TNT1 A 0 A_CustomMissile("CWClaser",50,-25,random(-2,2))
	INNI F 8 Bright A_CustomMissile("ClockworkMiniDTBFG",50,-25,random(-2,2))
	INNI E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	Goto See	
  Death:
	INNI G 10 A_Scream
	INNI H 10 A_NoBlocking 
	INNI IIIII 2 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	INNI JJJJJ 2 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	INNI KKKKK 2 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	INNI LLLLL 1 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	INNI 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))	
	INNI NO 5
	INNI P -1 A_KillMaster
	Stop	
	}
}

ACTOR CyberInfernalRocket : CardinalRocket
{
States
  {
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
    TNT1 A 0 Bright A_CustomMissile("CyberHellBoom",0,0,0,6)
    TNT1 A 0 Bright A_CustomMissile("CyberHellBoom",0,0,45,6)
    TNT1 A 0 Bright A_CustomMissile("CyberHellBoom",0,0,90,6)
    TNT1 A 0 Bright A_CustomMissile("CyberHellBoom",0,0,135,6)
    TNT1 A 0 Bright A_CustomMissile("CyberHellBoom",0,0,180,6)
    TNT1 A 0 Bright A_CustomMissile("CyberHellBoom",0,0,225,6)
    TNT1 A 0 Bright A_CustomMissile("CyberHellBoom",0,0,270,6)
    TNT1 A 0 Bright A_CustomMissile("CyberHellBoom",0,0,315,6)
	CROC B 6 Bright A_Explode
	CROC CD 5 Bright A_SetTranslucent(0.75,1)
	Stop
  }
}

ACTOR CyberHellBoom : HellBoom
{
  Damagetype "Cyber10k"
  States
  {
  Spawn:
	TNT1 AAAAA 3 A_SpawnItem("CyberHellFX",0,0)
	Stop
  }
}

ACTOR CyberHellFX : HellFX
{   
   Damagetype "Cyber10k"
}

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

ACTOR InsaneAnniGhostB : InsaneAnniGhostA
{   
States
{
Spawn:
    INNI B 2 A_FadeOut(0.18)
    Loop
    }
}
	
ACTOR InsaneAnniGhostC : InsaneAnniGhostA
{   
States
{
Spawn:
    INNI C 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR InsaneAnniGhostD : InsaneAnniGhostA
{   
States
{
Spawn:
    INNI D 2 A_FadeOut(0.18)
    Loop
    }
}