ACTOR Cyberbaron : Baronofhell
{
  obituary "%o was splayed by a cyber baron"
  hitobituary "%o was ripped to shreds by a cyber baron"
  health 1200
  radius 24
  height 64
  mass 1000
  speed 8
  painchance 40
  seesound "cbaron/sight"
  painsound "cbaron/pain"
  deathsound "cbaron/death"
  activesound "cbaron/active"
  MONSTER
  +NORADIUSDMG
  +DONTHURTSPECIES
  states
  {
  Spawn:
    CBOS AB 10 A_Look
    loop
  See:
    CBOS A 3 A_chase
    CBOS A 3 A_chase   
    CBOS B 0 A_playsound("cbaron/metal")
    CBOS BB 3 A_chase
    CBOS CC 3 A_chase    
    CBOS D 3 A_chase
    CBOS D 3 A_hoof
    loop
  Melee:
    CBOS PQ 8 A_FaceTarget
    CBOS R 8 A_BruisAttack
    Goto See
  Missile:
    CBOS E 0 A_jump(80,5)
    CBOS E 10 A_FaceTarget
    CBOS E 10 A_FaceTarget
    CBOS F 10 Bright A_customMissile("Rocket",27,16,0)
    CBOS E 10 A_FaceTarget
    Goto See
    CBOS PQ 8 A_FaceTarget
    CBOS R 8 A_BruisAttack
    Goto See      
 Pain:
    CBOS H 2
    CBOS H 2 A_Pain
    goto See
  Death:
    CBOS I 8
    CBOS J 8 A_Scream
    CBOS K 8 bright A_Playsound("world/barrelx")
    CBOS L 8 bright A_NoBlocking
    CBOS M 8 bright
    CBOS N 8 bright
    CBOS O -1
    stop
   }
}          

ACTOR CyberProphet : Baronofhell 
{
  obituary "%o Was Exploited By Cyber Prophet"
  hitobituary "%o Is without his Guts" 
  health 3000
  radius 24
  height 64
  mass 1000
  speed 12
  Translation "16:47=193:204", "112:125=176:181"
  painchance 40
  seesound "cbaron/sight"
  painsound "cbaron/pain"
  deathsound "cbaron/death"
  activesound "cbaron/active"
  Dropitem "BlueCard"
  DamageFactor "KThunder", 0.0
  MONSTER
  +DONTRIP
  +DONTHURTSPECIES
  +BOSS
  +NOTARGET
  +NORADIUSDMG
  +NOICEDEATH
  states
  {
  Spawn:
    CBOS AB 10 A_Look
    loop
  See:
    CBOS A 3 A_Vilechase
    CBOS A 3 A_Vilechase   
    CBOS B 0 A_playsound("cbaron/metal")
    CBOS BB 3 A_Vilechase
    CBOS CC 3 A_Vilechase    
    CBOS D 3 A_Vilechase
    CBOS D 0 A_Hoof
    CBOS D 3 A_Vilechase
    loop
  Melee:
    CBOS PQ 3 A_FaceTarget
    CBOS R 3 A_BruisAttack
    Goto See
  Heal:
    CBOS H 30
    goto See
  Missile:
    TNT1 A 0 A_Jump(256, "Rocket", "Baron", "Fire", "Thunder", "Ice", "Fire", "Shield")
  Rocket:
    CBOS E 10 A_FaceTarget
    CBOS F 10 Bright A_CustomMissile("Rocket", 27,16,random(-2,2),0)
    CBOS E 10 A_FaceTarget
    CBOS F 10 Bright A_CustomMissile("Rocket", 27,16,random(-2,2),0)
    CBOS E 10 A_FaceTarget
    CBOS F 10 Bright A_CustomMissile("Rocket", 27,16,random(-2,2),0)
	CBOS E 10 A_FaceTarget
    CBOS F 10 Bright A_CustomMissile("Rocket", 27,16,random(-2,2),0)
	CBOS E 10 A_FaceTarget
    CBOS F 10 Bright A_CustomMissile("Rocket", 27,16,random(-2,2),0)
    Goto See
  Baron:
    CBOS PQ 4 A_FaceTarget
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 15)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -15)
    CBOS R 4 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 0)
    CBOS PQ 4 A_FaceTarget
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 15)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -15)
    CBOS R 4 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 0)
    CBOS PQ 4 A_FaceTarget
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 15)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -15)
    CBOS R 4 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 0)
	CBOS PQ 4 A_FaceTarget
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 15)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -15)
    CBOS R 4 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 0)
	CBOS PQ 4 A_FaceTarget
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 7)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 15)
    CBOS R 0 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, -15)
    CBOS R 4 BRIGHT A_Custommissile ("CBBaronBall", 27, 0, 0)
    Goto See
  Thunder:
    CBOS PQR 10 A_FaceTarget
    CBOS FFFFFFFFFF 0 BRIGHT A_CustomMissile("GroundLightningTracer", 40, 0, random(-16, 16), 0)
	CBOS R 10 A_FaceTarget
    Goto See
  Ice:
    CBOS E 10 A_FaceTarget
    CBOS FFFFFFFFFF 0 BRIGHT A_CustomMissile("IceBaronBall", 27, 16, random(-16, 16), 0)
    CBOS F 10 A_FaceTarget
    Goto See
  Fire:
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    CBOS E 0 A_FaceTarget
    CBOS EF 1 BRIGHT A_CustomMissile("DFlare", 27, 16, random(-10, 10), 0)
    Goto See
  Shield:
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS E 0 A_FaceTarget
    CBOS E 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
    CBOS FFFFFFF 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
	Goto See
  Pain:
    CBOS H 2
    CBOS H 2 A_Pain
    TNT1 A 0 A_Jump(64, "Shield")
    goto See
  Raise:
    CBOS O -1
    Stop
  Death:
    TNT1 A 0 a_givetotarget("BOSSKILLEDSTAT", 1)
	TNT1 A 0 A_GiveToTarget("reward", 1)
    CBOS H 0 A_Scream
    CBOS H 35
	CBOS H 0 A_Scream
    CBOS H 35
	CBOS H 0 A_Scream
    CBOS H 35
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CBOS I 8
    CBOS J 8 A_Scream
    CBOS K 8 bright A_Playsound("world/barrelx")
    CBOS L 8 bright A_NoBlocking
    CBOS M 8 bright
    CBOS N 8 bright
    CBOS O -1
    stop
   }
}  

actor ShieldPart
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "ShieldHit"
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  +REFLECTIVE
  States
  {
  Spawn:
    HEXA A 2 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor ShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXA A 2 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor ShieldSpawner
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner4up", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner5up", 24, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner5up", -24, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner4up", 48, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner4up", -48, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner3up", 72, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner3up", -72, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner2up", 96, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldSpawner2up", -96, 0, 0, 0, 0, 0, 0, 32)
    stop
  }
}

actor ShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor ShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor ShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}


actor ShieldSpawner2up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    stop
  }
}

actor ShieldHit
{
  Radius 1
  Height 1
  Scale 0.05
  Renderstyle Add
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    RHIT A 0 bright
    RHIT A 1 bright A_Stop
    RHIT A 0 bright A_PlaySound ("ForceBarrier/Hit")
  Grow:
    RHIT A 1 bright A_SetScale (0.1, 0.1)
	RHIT A 0 bright A_FadeOut (0.2)
	RHIT A 1 bright A_SetScale (0.15, 0.15)
	RHIT A 0 bright A_FadeOut (0.2)
	RHIT A 1 bright A_SetScale (0.2, 0.2)
	RHIT A 0 bright A_FadeOut (0.2)
	RHIT A 1 bright A_SetScale (0.25, 0.25)
	RHIT A 0 bright A_FadeOut (0.2)
	RHIT A 1 bright A_SetScale (0.3, 0.3)
    stop
  }
}

ACTOR DFlare
{
  Radius 5
  Height 5
  Speed 25
  Damage 4
  SpawnID 252
  RenderStyle Add
  DamageType Fire
  Alpha 0.85
  Projectile
  +ThruGhost
  Obituary "%o was set ablaze by the Cyber Prophet."
  Seesound "weapons/firmfi"
  DeathSound "weapons/firex4"
  States
  {
  Spawn:
    VBAL AB 3 Bright A_SpawnItemEx("MFlareFX", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
    CBAL CDEFG 3 Bright
    Stop
  }
}

Actor MFlareFX
{
  Radius 0
  Height 1
  Speed 0
  Projectile
  RenderStyle Add
  Alpha 0.67
  States
  {
  Spawn:
    FDFX ABCDEF 4 Bright
    Stop
  }
}

ACTOR IceBaronBall
{
  Radius 6
  Height 16
  Speed 15
  Damage 4
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Translation "Ice"
  DamageType Ice
  Alpha 1
  SeeSound "baron/attack"
  DeathSound "baron/shotx"
  Decal "BaronScorch"
  States
  {
  Spawn:
    BAL7 AB 4 Bright
    Loop
  Death:
    TNT1 A 0 A_IceGuyDie 
    BAL7 CDE 6 Bright 
    Stop
  }
}

ACTOR CBBaronBall : BaronBall
{
  Speed 30
  DamageType "Boss"
  Translation "112:127=192:207"
  States
  {
  }
}

ACTOR ExplosionEffect
{
  Radius 1
  Height 1
  Speed 0
  Damage 0
  Projectile
  +RANDOMIZE
  +DEHEXPLOSION
  States
  {
  Spawn:   
	MISL B 0
	MISL B 0 A_PlaySound("weapons/rocklx")
    MISL B 3 Bright A_Explode
    MIS9 CD 3 Bright
    MIS9 EFG 3 Bright
    Stop
  }
}

ACTOR CyberProphetMorpher : PowerupGiver 
{
Scale 2
radius 48
height 128
powerup.type CyberProphet
inventory.pickupmessage ""
powerup.duration 99999999999999
states
{
Spawn:
TNT1 A 6
loop
 }
 }


actor PowerCyberProphet : PowerMorph
{
powerup.duration 99999999999999
PowerMorph.PlayerClass "CyberProphetPlayer"
}

ACTOR CyberProphetPlayer : PlayerPawn
{
  Health 1000
  radius 24
  height 64
  mass 1000
  speed 0.9
  Player.ColorRange 0, 0
  Player.JumpZ 6
  Player.MaxHealth 16000
  Player.ViewHeight 60
   Player.DisplayName "CyberProphet"
  Player.SoundClass "cyberprophet"
  Player.MorphWeapon "CyberProphetWeapon0"
  Player.StartItem "Mana", 100
  limitedtoteam 1
  damagefactor "boss", 0
  damagefactor "ice", 0
	 seesound "cbaron/sight"
  painsound "cbaron/pain"
  deathsound "cbaron/death"
  activesound "cbaron/active"
	bloodcolor blue
	+NOSKIN
	-PICKUP
	+NOTARGET
  states
{
  Spawn: 
       CYPR A 20 SetPlayerProperty(0, 1, 1)
       Loop
   See:
       CYPR A 3 SetPlayerProperty(0, 1, 1)
       CYPR A 3   
       CYPR B 0 A_playsound("cbaron/metal")
       CYPR BB 3 
       CYPR CC 3    
       CYPR D 3 
       CYPR D 0 A_playsound("cyber/hoof")
       CYPR D 3 
       Loop
  Missile:
    CYPR F 1
	CYPR F 1 A_JumpIfInventory("UsingBaron", 1, "Baron")
    CYPR F 8 bright
    CYPR E 10 bright 
    goto Spawn   
  Baron:
    CYPR P 3 bright
    CYPR Q 3 bright 
	CYPR R 3 bright 
    goto Spawn   
  Pain:
    CYPR H 2
    CYPR H 2 A_Pain
    goto Spawn
   Death:
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR H 4 BRIGHT A_CustomMissile("ExplosionEffect",random(20,42),random(-4,4),random(0,359),2,random(-10,10))
    CYPR I 8
    CYPR J 8 A_PlayerScream
    CYPR K 8 bright A_Playsound("world/barrelx")
    CYPR L 8 bright A_NoBlocking
    CYPR M 8 bright
    CYPR N 8 bright
    CYPR O -1
    stop
  }
}

Actor UsingBaron : Inventory
{
	inventory.maxamount 1
}

ACTOR CyberProphetWeapon0 : Weapon 
{
 Weapon.SelectionOrder 800
 Obituary "%o was destroyed in the name of Lord God Kaiser by %k"
 Inventory.PickupMessage ""
 Inventory.PickupSound "misc/pk_up"
 Weapon.AmmoUse 5
 Weapon.AmmoGive 0
 Weapon.AmmoType "Mana"
 +WEAPON.NOAUTOAIM
  States
 {
  Spawn:
       TNT1 A -1
       Loop
  Ready:
       TNT1 A 1 A_WeaponReady
       goto AltFire
  Fire:
  TNT1 A 1
  goto AltFire
  Deselect:
       TNT1 A 1 A_Lower
       Loop
  Select:
       TNT1 A 0 A_Raise
       Loop
  AltFire:
       TNT1 A 0 A_GiveInventory("CyberProphetWeapon")
       TNT1 A 0 A_SelectWeapon("CyberProphetWeapon")
       TNT1 A 0 
       goto deselect
  Flash:
       SNIF F 3 Bright A_Light2
       SNIF F 3 Bright A_Light1
       SNIF F 0 Bright A_Light0
       Goto LightDone     
       }
}


actor CyberProphetattackmode1 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor CyberProphetattackmode2 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor CyberProphetattackmode3 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor CyberProphetattackmode4 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

ACTOR CyberProphetWeapon : Weapon 
{
 Weapon.SelectionOrder 800
 Obituary "%o was destroyed in the name of Lord God Kaiser by %k"
 Inventory.PickupMessage ""
 Inventory.PickupSound "misc/pk_up"
 Weapon.AmmoUse 0
 Weapon.AmmoGive 0
 Weapon.AmmoType "Mana"
 +WEAPON.NOAUTOAIM
 +INVENTORY.UNDROPPABLE
  States
 {
  Spawn:
       TNT1 A -1
       Loop
  Ready:
       TNT1 A 0 A_TakeInventory("UsingBaron", 1)
       CLA2 A 1 A_WeaponReady(WRF_ALLOWRELOAD)
       goto ready
  Deselect:
       CLA2 A 1 A_Lower
       Loop
  Select:
       CLA2 A 0 A_Raise
       Loop
  Fire:
       CLA2 A 0 A_jumpIfinventory("CyberProphetattackmode1", 1, "BaronAttackcheck")
       CLA2 A 0 A_jumpIfinventory("CyberProphetattackmode2", 1, "RocketAttackcheck")
       CLA2 A 0 A_jumpIfinventory("CyberProphetattackmode3", 1, "FlareAttackcheck")
	   CLA2 A 0 A_jumpIfinventory("CyberProphetattackmode4", 1, "ThunderAttackcheck")
	   Goto ready
  AltFire:
  	   CLA2 A 1 ACS_execute(812)
       CLA2 A 1
       CLA2 A 23
       goto ready
  BaronAttack:
       TNT1 A 0 A_GiveInventory("UsingBaron", 1)
       CLA2 A 0 A_Takeinventory("mana", 10)
       CLA2 A 0 A_PlayWeaponSound("imp/attack")
       CLA2 A 0 A_GunFlash
	   CLA2 A 0 A_FireCustomMissile ("CBBaronBall",-6,0,0,0,0)
       CLA2 A 0 A_FireCustomMissile ("CBBaronBall",3,0,0,0,0)
       CLA2 A 0 A_FireCustomMissile ("CBBaronBall",-3,0,0,0,0)
       CLA2 A 0 A_FireCustomMissile ("CBBaronBall",6,0,0,0,0)
       CLA2 A 3 A_FireCustomMissile ("CBBaronBall",0,1,0,0,0)
       CLA2 B 3
  goto ready
  Rocket:
	   CLA2 A 0 A_Takeinventory("mana", 20)
       CLA2 B 20 A_FireCustomMissile ("aRocket2",0,1,0,0,0)
       Goto Ready
  goto ready
  FlareAttack:
       CLA2 A 0 A_Takeinventory("mana", 3)
       CLA2 A 0 A_GunFlash
       CLA2 BBBBB 1 A_FireCustomMissile ("DFlare",random(10,-10),1,0,0,0)
       CLA2 B 0 A_Refire
       Goto Ready
  Thunderattack:
       TNT1 A 0 A_GiveInventory("UsingBaron", 1)
       CLA2 A 0 A_Takeinventory("mana", 40)
       CLA2 A 0 A_FireCustomMissile ("GroundLightningTracer",random(16,-16),1,0,0,0)
       CLA2 AAAAAAAAA 0 A_FireCustomMissile ("GroundLightningTracer",random(16,-16),0,0,0,0)
       CLA2 A 10 A_Refire
       Goto Ready
  BaronAttackcheck:
       TNT1 A 0 A_jumpIfinventory("mana", 10, "BaronAttack")
  goto ready
  RocketAttackcheck:
       TNT1 A 0 A_jumpIfinventory("mana", 20, "Rocket")  
  goto ready
  FlareAttackcheck:
       TNT1 A 0 A_jumpIfinventory("mana", 3, "FlareAttack")  
  goto ready
  ThunderAttackcheck:
       TNT1 A 0 A_jumpIfinventory("mana", 40, "ThunderAttack")  
  goto ready
  Reload:
       CLA2 A 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
       CLA2 BBBBBBB 1 bright A_SpawnItemEx ("ShieldSpawner", 0, 96, 0, 0, 0, 0, -270, 32)
       CLA2 D 0 A_Refire
       Goto Ready
  Flash:
       SNIF F 3 Bright A_Light2
       SNIF F 3 Bright A_Light1
       SNIF F 0 Bright A_Light0
       Goto LightDone     
       }
}