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

actor PowerOCS : PowerMorph
{
powerup.duration 99999999999999
PowerMorph.PlayerClass "OCSPlayer"
}

Actor OCSActCount : Inventory
{
	inventory.maxamount 100
	+IGNORESKILL
}

ACTOR OCSPlayer : PlayerPawn
{
  Health 750
	Radius 48
	Height 100
	Mass 1000
  Player.forwardmove 0.96
  Player.sidemove 0.96
  gravity 0.0
  Player.ViewHeight 84
  Player.DisplayName "Omega Cerebral Sentient"
  Player.MorphWeapon "OCSWeapon0"
  Player.SoundClass "OCS"
  Player.StartItem "Mana", 100
  DamageFactor "Boss", 0
  limitedtoteam 1
    SEESOUND "Cerebral/See"
    DEATHSOUND "Cerebral/Death"
	+NOSKIN
	+FLOATBOB
	+NOGRAVITY
	+NOPAIN
  -PICKUP
  bloodcolor black
  states
{
	Spawn:
		OMCS A 0 A_PlaySoundEx("Cerebral/Fly","Body",1)
		OMCS A 0 SetPlayerProperty (0, 1, 3)
		OMCS ABABAB 4
		Loop
	See:
		OMCS A 0 A_PlaySoundEx("Cerebral/Fly","Body",1)
		OMCS A 0 SetPlayerProperty (0, 1, 3)
		OMCS AABBAABB 2
		Loop
	Missile:
		OMCS AABB 2 
		Goto Spawn
	OCSChaingun:
        OMCS CCCDDD 1 Bright A_JumpIf(Health<=0,"Death")
		Goto Spawn
	OCSStartMiniBall:
	    OMCS GGGGGGGGGGGGGGGGGGGGEEEEEEEEEE 1 Bright A_JumpIf(Health<=0,"Death")
		Goto Spawn
	OCSMiniBall:
	    OMCS FFFF 1 Bright A_JumpIf(Health<=0,"Death")
        OMCS EEEE 1 Bright A_JumpIf(Health<=0,"Death")
		Goto Spawn
	OCSBFG:
        OMCS GGGGGGGGGGGGGGGEEEEEEEEEEFFFFFFFF 1 Bright A_JumpIf(Health<=0,"Death")
        OMCS FFFFGGGGGGGGGGGGGGG 1 Bright A_JumpIf(Health<=0,"Death")
		Goto Spawn
	OCSRailgun:
        OMCS IIIIIIIIHHHHHHHHHHGGGGGGGGGGGG 1 Bright A_JumpIf(Health<=0,"Death")  
		Goto Spawn
	OCSWall:
        OMCS FFEEFFEEE 1 Bright A_JumpIf(Health<=0,"Death")  
		Goto Spawn
	Death:
		TNT1 A 0 A_SpawnItem("OCSDeath")
        APYT A 0 A_PlayerScream
		TNT1 A 0 A_ChangeFlag(FLOATBOB,0)
        TNT1 A 0 A_Nogravity
		TNT1 A 0 a_givetotarget("BOSSKILLEDSTAT", 1)
		TNT1 A 1 a_givetotarget("reward", 1)
		BLAN A -1
		stop
    }
}

Actor OCSDeath
{
	+NOINTERACTION
	+NOGRAVITY	
	States
	{
	spawn:
        OMCS JJJKKKJJKKJJKKJKJKJKJKJK 5 Bright
		OMCS LMNS 8 Bright 
		TNT1 A -1
		Stop
	}
}

ACTOR OCSWeapon0 : Weapon 
{
 Weapon.SelectionOrder 800
 Obituary "%o was raped by %k"
 Inventory.PickupMessage ""
 Inventory.PickupSound "misc/pk_up"
 Weapon.AmmoUse 0
 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("OCSWeapon")
       TNT1 A 0 A_SelectWeapon("OCSWeapon")
       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 OCSattackmode1 : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

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

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

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

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

ACTOR OCSWeapon : Weapon 
{
 Weapon.SelectionOrder 800
 Obituary "%o was raped 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:
       CLA3 A 0
       CLA3 A 0 A_StopSoundEx("SoundSlot7")
	   CLA3 A 0 A_JumpIfInventory("OCSActCount", 100, "MakeNoise")
	   CLA3 AAAAAAAA 1 A_WeaponReady(WRF_ALLOWRELOAD)
	   CLA3 A 0 A_GiveInventory("OCSActCount", 3)
	   Loop
  MakeNoise:
	   CLA3 A 0 A_TakeInventory("OCSActCount", 999)
	   CLA3 A 0 A_PlaySound("Cerebral/Active", 3)
	   CLA3 A 1 
	   Goto Ready
  Nofire:
       CLA3 AAAA 2
	   Goto Ready
  Deselect:
       CLA3 A 0 A_StopSoundEx("SoundSlot7")
       CLA3 A 1 A_Lower
       Loop
  Select:
       CLA3 A 0 A_StopSoundEx("SoundSlot7")
       CLA3 A 0 A_Raise
       Loop
  Fire:
       TNT1 A 0 A_jumpIfinventory("OCSattackmode1", 1, "Chainguncheck")
       TNT1 A 0 A_jumpIfinventory("OCSattackmode2", 1, "MiniBallcheck")
       TNT1 A 0 A_jumpIfinventory("OCSattackmode3", 1, "Railguncheck")
       TNT1 A 0 A_jumpIfinventory("OCSattackmode4", 1, "BFGcheck")
	   Goto ready
  AltFire:
  	   CLA3 A 1 ACS_execute(812)
       CLA3 A 2
       CLA3 A 15
       goto ready
  ChainGunFire:
       TNT1 A 0 A_Takeinventory("mana", 2)
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,OCS_Chaingun)
       TNT1 A 0 A_PlaySound ("Cerebral/Shoot",5)
       CLA3 B 2 bright A_FireBullets(6, 6, -1, 5, "BulletPuff", 0)
       CLA3 A 1 A_FireBullets(6, 6, -1, 5, "BulletPuff", 0)
       CLA3 B 2 bright A_FireBullets(6, 6, -1, 5, "BulletPuff", 0)
       CLA3 A 1 A_FireBullets(6, 6, -1, 5, "BulletPuff", 0)
       goto ready
  MiniBallFire:
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,OCS_MiniBall1)
       CLA3 A 20 A_PlaySound("Cerebral/Charge",5)
	   CLA3 A 10
       TNT1 A 0 A_Takeinventory("mana", 4)
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,OCS_MiniBall2)
       CLA3 B 4 bright A_FireCustomMissile("CerebralBall1")
       CLA3 A 4    
       CLA3 A 1 A_Refire
	   CLA3 A 1 A_ClearRefire
	   CLA3 A 32 A_PlaySound("Cerebral/Cooldown",5)
       goto ready
  Hold:
       TNT1 A 0 A_jumpIfinventory("mana", 5, 2)
       TNT1 A 0   
	   goto StopHold
       TNT1 A 0 A_Takeinventory("mana", 4)
	   TNT1 A 0
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,OCS_MiniBall2)
       CLA3 B 4 bright A_FireCustomMissile("CerebralBall1")
       CLA3 A 4   
       CLA3 A 1 A_Refire
  StopHold:
	   CLA3 A 1 A_ClearRefire
	   CLA3 A 32 A_PlaySound("Cerebral/Cooldown",5)
       goto ready
  RailgunFire:
       TNT1 A 0 A_JumpIfInventory("CRailgunCooldown",1,"Nofire")
       TNT1 A 0 A_Takeinventory("mana", 25)
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,OCS_Railgun)
	   CLA3 A 0 A_GiveInventory("CRailgunCooldown", 1)     
	   CLA3 D 0 A_PlaySound("OCS/RailShot",5)
	   CLA3 D 0 A_FireBullets(-5,0,1,0,"RailgunCerebralPuff",0,5000) 
	   CLA3 D 0 A_RailAttack(500,0,0,"Red","Blue",0,0,"RailgunCerebral2Puff",0,0,0,0,5,1.0,"RailgunCerebralPuffTrail")
       CLA3 B 10 bright
	   CLA3 A 22 
       goto ready
  BFGFire:
       TNT1 A 0 A_Takeinventory("mana", 50)
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,OCS_BFG)
       CLA3 A 25 A_PlaySound("Cerebral/Fire2",5) 
	   CLA3 B 8 bright
	   CLA3 B 4 bright A_FireCustomMissile("CerebralBall2")
       CLA3 A 15
       goto ready
  Reload:
	   TNT1 A 0 ACS_NamedExecuteAlways("True Sprite",0,OCS_Wall)
	   TNT1 A 0 A_PlaySoundEx("Cerebral/Wall","SoundSlot7",1)
       CLA3 BB 1 bright A_SpawnItemEx ("CerebralShieldSpawner", 0, 96, 18, 0, 0, 0, -270, 32)
       CLA3 AA 1 A_SpawnItemEx ("CerebralShieldSpawner", 0, 96, 18, 0, 0, 0, -270, 32)
       CLA3 BB 1 bright A_SpawnItemEx ("CerebralShieldSpawner", 0, 96, 18, 0, 0, 0, -270, 32)
       CLA3 AA 1 A_SpawnItemEx ("CerebralShieldSpawner", 0, 96, 18, 0, 0, 0, -270, 32)
       Goto Ready
  Chainguncheck:
       TNT1 A 0 A_jumpIfinventory("mana", 2, "ChainGunFire")
       goto ready
  MiniBallcheck:
       TNT1 A 0 A_jumpIfinventory("mana", 4, "MiniBallFire")  
       goto ready
  Railguncheck:
       TNT1 A 0 A_jumpIfinventory("mana", 25, "RailgunFire")  
       goto ready 
  BFGcheck:
       TNT1 A 0 A_jumpIfinventory("mana", 50, "BFGFire")  
       goto ready
       }
}

Actor CRailgunCooldown : PowerDamage
{
	DamageFactor "Nothing", 1.0
	PowerUp.Duration -15
}

ACTOR CerebralBall1
{
    Radius 12
    Height 12
    Speed 40
    Damage 16
    Projectile
	RenderStyle Add
	Scale 0.60
	Damagetype "Boss"
    SeeSound "Cerebral/Fire1"
    DeathSound "Cerebral/Explode1"
    Obituary "%o was decimated by %k"
    Decal "Scorch"
	+SPAWNSOUNDSOURCE
	+FORCERADIUSDMG
    States
    {
    Spawn:
        BFR1 AB 3 Bright 
		Loop
	Death: 
	    BRE1 A 4 Bright A_Explode(64,128)
		BRE1 B 3 Bright 
	    BRE1 C 2 Bright 
		BRE1 DEFGHIJK 2 Bright 
		Stop
    }
}

ACTOR CerebralBall2
{
    Height 26
	Radius 26
	Speed 30
    Damage 30
    Projectile
	Damagetype "Boss"
    +DONTREFLECT
	+EXTREMEDEATH
	+FORCERADIUSDMG
    DeathSound "Cerebral/Explode2"
    Obituary "%o was decimated by %k"
    Decal "CerebralBall2Scorch"
    States
    {
    Spawn:
	    BFR1 A 0 A_PlaySound("Cerebral/FireFly",CHAN_BODY,1.0,True) 
        BFR1 A 1 Bright A_SpawnItemEx("CerebralBall2Trail",FRandom(-14,14),FRandom(-14,14),FRandom(-14,14),FRandom(-2,2),FRandom(-2,2),FRandom(-2,2),FRandom(-20,20),128)
        BFR1 A 0 A_Explode(64,64,0)
		BFR1 A 1 Bright A_SpawnItemEx("CerebralBall2Trail",FRandom(-14,14),FRandom(-14,14),FRandom(-14,14),FRandom(-2,2),FRandom(-2,2),FRandom(-2,2),FRandom(-20,20),128)
        BFR1 A 0 A_Explode(64,64,0)
		BFR1 A 1 Bright A_SpawnItemEx("CerebralBall2Trail",FRandom(-14,14),FRandom(-14,14),FRandom(-14,14),FRandom(-2,2),FRandom(-2,2),FRandom(-2,2),FRandom(-20,20),128)
        BFR1 A 0 A_Explode(64,64,0)
		BFR1 B 1 Bright A_SpawnItemEx("CerebralBall2Trail",FRandom(-14,14),FRandom(-14,14),FRandom(-14,14),FRandom(-2,2),FRandom(-2,2),FRandom(-2,2),FRandom(-20,20),128)
        BFR1 B 0 A_Explode(64,64,0)
		BFR1 B 1 Bright A_SpawnItemEx("CerebralBall2Trail",FRandom(-14,14),FRandom(-14,14),FRandom(-14,14),FRandom(-2,2),FRandom(-2,2),FRandom(-2,2),FRandom(-20,20),128)
        BFR1 B 0 A_Explode(64,64,0)
		BFR1 B 1 Bright A_SpawnItemEx("CerebralBall2Trail",FRandom(-14,14),FRandom(-14,14),FRandom(-14,14),FRandom(-2,2),FRandom(-2,2),FRandom(-2,2),FRandom(-20,20),128)
        BFR1 B 0 A_Explode(64,64,0)
		Loop
    Death:
	    BRE1 A 0 A_StopSound(CHAN_BODY)
        BRE1 A 1 Bright A_SpawnItemEx("CerebralShockWave1",0,0,0,0,0,0,0,128)
        BRE1 A 2 Bright A_Explode(128,256)
		BRE1 A 1 Bright Radius_Quake(10,13,0,8,0)
		BRE1 BCD 4 Bright
        BRE1 E 4 Bright A_BFGSpray("CerebralSpray",35,20)
	    BRE1 FGHIJK 3 Bright 
        Stop
    }
}

ACTOR CerebralBall2Trail
{
	Height 0
    Radius 0
    Mass 0
    Damage 0
    RenderStyle Add
	BounceFactor 0.6
    Gravity 0.2
	Scale 0.06
	+NOGRAVITY
	+THRUACTORS
    +NOTELEPORT
    +DONTSPLASH
    +DOOMBOUNCE
    +CLIENTSIDEONLY
    +MISSILE
    +NOBLOCKMAP
    +FORCEXYBILLBOARD
    States
    {
    Spawn:
	    SPKR A 2 Bright A_FadeOut(0.015)
	    TNT1 A 0 A_ChangeVelocity(FRandom(-0.75,0.75),FRandom(-0.75,0.75),FRandom(-0.75,0.75))
        Loop
	Death:
	    SPKR A 1 Bright A_FadeOut(0.025)
	    Loop
    }
}

ACTOR CerebralShockWave1
{
    Radius 1
	Height 1
	RenderStyle Translucent
	Speed 0
	+NOINTERACTION
	+NOBLOCKMAP
	+CLIENTSIDEONLY
	States
	{
	Spawn:
	    SHO1 ABCDEFGHIJKLMNOPQR 1 Bright 
		Stop
	}
}

ACTOR CerebralSpray
{
    Radius 1
    Height 1
    Damage 0
    Speed 0
	Damagetype "Boss"
    Obituary "%o was decimated by %k"
    +NOBLOCKMAP
    +NOGRAVITY
    +ACTIVATEPCROSS
    +ACTIVATEIMPACT
    +NOTELEPORT
    +DROPOFF
    States
    {
    Spawn:
	    BRE2 ABCD 3 Bright 
	    BRE2 EFG 3 Bright
	    BRE2 HIJKLMNO 2 Bright A_FadeOut(0.05)
	    Stop
	}
}


ACTOR RailgunCerebralPuff : BulletPuff
{	
	Height 8
	Radius 8
	Scale 0.90
	Obituary "%o was burned by %k's railgun."
	DamageType "Boss"
	Decal "RailgunCerebralDecal"
	Speed 0
	VSpeed 0
	RenderStyle Add
	+PUFFONACTORS
	+PUFFGETSOWNER
	+ALWAYSPUFF
    +FORCEDECAL
	States 
	{
	Spawn:
	    TNT1 A 0 
  	    TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("RailgunCProjectileParticle",0,0,Random(0,360),2,Random(0,360))
		TNT1 A 0 A_SpawnItemEx("RailgunThunderImpact",0,0,0,0,0,0,0,0) 
		TNT1 A 0 A_Explode(128,128,0)
		TNT1 A 2 Radius_Quake(6,9,0,5,0)
		TNT1 BCDEFGHIJ 2
	    Stop
    }
}

ACTOR RailgunCerebral2Puff : RailgunCerebralPuff
{	
	Scale 0.90
	RenderStyle Add
	-ALLOWPARTICLES 
	+PUFFONACTORS
	+DONTREFLECT
	+DONTBLAST
	States 
	{
	Spawn:
	Melee:
	Crash:
	    TNT1 A 0 
  	    TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("RailgunCProjectileParticle",0,0,Random(0,360),2,Random(0,360))
		TNT1 A 2 Radius_Quake(6,9,0,5,0)
		TNT1 BCDEFGHIJ 2
	    Stop
    }
}

ACTOR RailgunThunderImpact
{
    Radius 0
	Height 0
	Scale 0.45
	Alpha 0.85
    RenderStyle Add
    Projectile
	+MISSILE
    +THRUACTORS
    -TELESTOMP
    +NOTELEPORT
	-SOLID
	+NOINTERACTION
    +NOBLOCKMAP
	+DONTREFLECT
	+DONTBLAST
	States
    {
    Spawn:
        TNT1 A 0
	    TNT1 A 1 A_Jump(128,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
	Spawn1:
	    RATH A 12 Bright A_PlaySound("CerebralRailgun/Impact")
	    RATH AAAAAAAAAAAAAAAAAAAA 1 Bright A_FadeOut
	    Stop
	Spawn2:
	    RATH B 12 Bright A_PlaySound("CerebralRailgun/Impact")
	    RATH BBBBBBBBBBBBBBBBBBBB 1 Bright A_FadeOut
	    Stop
	Spawn3:
	    RATH C 12 Bright A_PlaySound("CerebralRailgun/Impact")
	    RATH CCCCCCCCCCCCCCCCCCCC 1 Bright A_FadeOut
	    Stop
	Spawn4:
	    RATH D 12 Bright A_PlaySound("CerebralRailgun/Impact")
	    RATH DDDDDDDDDDDDDDDDDDDD 1 Bright A_FadeOut
	    Stop
	Spawn5:
	    RATH E 12 Bright A_PlaySound("CerebralRailgun/Impact")
	    RATH EEEEEEEEEEEEEEEEEEEE 1 Bright A_FadeOut
	    Stop
	Spawn6:
	    RATH F 12 Bright A_PlaySound("CerebralRailgun/Impact")
	    RATH FFFFFFFFFFFFFFFFFFFF 1 Bright A_FadeOut
	    Stop
    }
}

ACTOR RailgunCProjectileParticle
{
    Height 0
    Radius 0
    Mass 0
    +MISSILE
    +NOBLOCKMAP
    -NOGRAVITY
    +DOOMBOUNCE
	+MOVEWITHSECTOR
    +FORCEXYBILLBOARD
    BounceFactor 0.2
    Gravity 0.8
    RenderStyle Add
    Scale 0.030
    Speed 8.6
    States
    {
    Spawn:
    Death:
        LENR BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2 Bright A_FadeOut(0.04)
        Stop
    }
}

ACTOR RailgunCerebralPuffTrail
{ 
    Scale 0.075
    Alpha 0.7
    RenderStyle Add
	Obituary "%o was burned by %k's railgun."
	DamageType "Boss"
    +NOINTERACTION
    +NOGRAVITY
	+THRUGHOST
    States
    {
    Spawn:
        LENR B 0
        LENR B 11 Bright A_SpawnItemEx("RailgunCerebralProjectileParticle",Random(4,-4),Random(4,-4),Random(4,-4),0,0,0,0,128,0)
    Death:
        LENR BBBBBBBBBBBBBBBBBBBB 1 Bright A_FadeOut
        Stop
    }
}

ACTOR RailgunCerebralProjectileParticle
{ 
    RenderStyle Add
    Scale 0.018
    Alpha 0.95
    +NOINTERACTION
    +NOGRAVITY
    States
    {
    Spawn:
	    LENB C 0 NoDelay A_JumpIf(ScaleX<=0,"NULL")
	    LENB C 0 A_SetScale(ScaleX-0.0008)
        LENB C 1 Bright A_ChangeVelocity(FRandom(-0.2,0.2),FRandom(-0.2,0.2),FRandom(-0.2,0.2),0)
        LENB C 2 Bright A_FadeOut(0.07)
        Loop
    }
}

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

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

actor CerebralShieldSpawner
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner4up", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner5up", 24, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner5up", -24, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner4up", 48, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner4up", -48, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner3up", 72, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner3up", -72, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner2up", 96, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldSpawner2up", -96, 0, 0, 0, 0, 0, 0, 32)
    stop
  }
}

actor CerebralShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor CerebralShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor CerebralShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}


actor CerebralShieldSpawner2up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("CerebralShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    stop
  }
}

actor CerebralShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    FHIB A 0 bright
    FHIB A 1 bright A_Stop
    FHIB A 0 bright A_PlaySound ("ForceBarrier/Hit")
    FHIB BCDEFGH 1 bright
    stop
  }
}