ACTOR CorruptedSentient : CerebralSentient
{
  Health 8000
  Speed 20
  FloatSpeed 20
  BloodColor "33 66 99"
  PainChance 2
  PainChance "DBFG2",0
  PainChance "PlayerDBFG2",0
  PainChance "DBFG10K2",0
  PainChance "PlayerDBFG10K2",0
  PainChance "SoulToxic",5
  PainChance "Explosion",40
  PainChance "BFG9500Ball",40
  PainChance "PlayerDevBall",100
  PainChance "BFG10K",100
  PainChance "PDTBFG",100
  PainChance "Legendary",100
  PainChance "LegendaryPlayer",100
  PainChance "LegendaryGuru",256
  PainChance "LegendaryGuruPlayer",256
  DamageFactor 0.5
  DamageFactor "PyroShot",0.25
  DamageFactor "PlayerPyro",0.25
  DamageFactor "PlayerBHole",0.25
  DamageFactor "Player",0.05
  DamageFactor "DBFG10K2",0.0
  DamageFactor "PlayerDBFG10K2",0.05
  DamageFactor "DBFG2",0.0
  DamageFactor "PlayerDBFG2",0.10
  DamageFactor "Ice",0.0
  DamageFactor "Legendary",0.75
  DamageFactor "LegendaryPlayer",0.75
  DamageFactor "LegendaryGuruPlayer",0.75
  DamageFactor "PlayerDevBall",0.65
  DamageFactor "PlayerDevTracer",0.15
  DamageFactor "BFG10K",0.65
  DamageFactor "BFG9500Ball",0.1
  DamageFactor "UpBFG9500Ball",0.1
  DamageFactor "BFGSplash",0.1
  DamageFactor "UpBFGSplash",0.1
  DamageFactor "Explosion",0.1
  DamageFactor "PDTBFG",0.1
  DamageFactor "PDTBFGTracer",0.1
  DamageFactor "PDTPuff",0.1
  DamageFactor "Cyber10K",0.0
  DamageFactor "CerChainguns",0.0	
  DamageFactor "CerEnergyBall",0.0
  DamageFactor "DemolisherEx",0.0
  DamageFactor "DarkDemoEx",0.0
  DamageFactor "Legendary1",0.0
  DamageFactor "VileFires",0.0
  DamageFactor "NobleComet",0.0
  DamageFactor "ZombieDev",0.0
  DamageFactor "BeheComet",0.0
  DropItem "BossLifeEssence", 192
  DropItem "BossArmorBonusMax", 192
  DropItem "SkullOfPower", 128, 1
  DropItem "UltraSphere", 256, 1
  Dropitem "D-BFG", 256
  Dropitem "DCellPack", 256, 32
  Dropitem "DCellPack", 128, 24
  Dropitem "DCell", 256, 10
  Dropitem "DCell", 256, 10
  Dropitem "DCell", 256, 10
  Mass 100000
  +NOTARGET
  +DONTMORPH
  +NOICEDEATH
  +CANTSEEK
  +DONTRIP
  SeeSound "BlueSent/Sight"
  ActiveSound "BlueSent/Active"
  PainSound "BlueSent/Pain"
  DeathSound "BlueSent/Death"
  Species "Masterminds"
  Obituary "%o was blessed by the Corrupted Sentient."
  Tag "\c[l5]Corrupted Sentient\c-"
  var int user_music;
  var int user_script;
  var int user_missile;
  var int user_lasershot;
  var int user_flashing;
  var int user_rageshot;
  States
  {
  Spawn:
	TNT1 A 0 A_JumpIf(user_script == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("CorruptSentientFire",0)
	TNT1 A 0 A_SetUserVar("user_script",1)
	CSNT AB 2 Bright A_Look
	TNT1 A 0 A_JumpIfhealthLower(8000,"Idle")
	Loop
  Idle:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnSetReflectiveInvulnerable
	TNT1 A 0 A_SetTranslucent(1,0)
	CSNT AB 2 Bright A_Wander
	TNT1 A 0 A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_script == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("CorruptSentientFire",0)
	TNT1 A 0 A_SetUserVar("user_script",1)
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,745)
	TNT1 A 0 A_SetUserVar("user_music",1)
	CSNT AB 2 Bright A_Chase
	TNT1 A 0 A_Jump(26,"Evade")  
	Loop
  Evade:
	TNT1 A 0 A_Jump(128,19)
	TNT1 A 0 ThrustThing(Angle*256/360+64,20,0,0)
	CSNT ABABABAB 2 Bright A_Chase
	TNT1 A 0 A_Stop
	Goto See
	TNT1 A 0 ThrustThing(Angle*256/360+192,20,0,0)
	CSNT ABABABAB 2 Bright A_Chase
	TNT1 A 0 A_Stop
	Goto See
  Teleport:
	TNT1 A 0 A_UnSetShootable
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueSentLineSpawner")
	CSNT PPPPPPPPPPP 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_Stop
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase(0,0,CHF_NIGHTMAREFAST)
	TNT1 A 1 A_PlaySound("boss/teleport",6)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueSentLineSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_Jump(192,3)
	TNT1 A 0 ThrustThing(angle*256/360+128,15,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
	CSNT PPPPPPPPPPP 1 A_FadeIn(0.1)
	CSNT P 20
	TNT1 A 0 A_Stop
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_Jump(70,"DTBFG10K")
	TNT1 A 0 A_Jump(128,"Taunt")
	Goto Missile
  Taunt:
	TNT1 A 0 A_SetReflectiveInvulnerable
	TNT1 A 0 A_PlaySound("BlueSent/Sight",2)
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT P 8 Bright
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT P 8 Bright
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT P 8 Bright
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT P 8 Bright
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT P 8 Bright
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	TNT1 A 0 A_UnSetReflectiveInvulnerable
	Goto See
  Missile:
	TNT1 A 0 A_SetTranslucent(1,0)
	TNT1 A 0 A_JumpIfTargetInLos("Missile2",360,JLOSF_TARGETLOS|JLOSF_DEADNOJUMP)
	Goto See
  Missile2:
	TNT1 A 0 A_Jump(128,"DBFG10k","DBFG","DTBFG10k","Railgun")
	TNT1 A 0 A_Jump(64,"Lasers","FlashBFGs","Rage")
  Normal:
	CSNT AA 2 Bright A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
	CSNT A 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CorruptShellCasing", 10, 12, 40, Random(2, 6), 0, Random(1, 3), Random(80, 90), 128)
	TNT1 A 0 A_PlaySound("sentient/fire")
	CSNT F 3 Bright A_CustomMissile("BlueSentientExplosiveTracer",36,0,Random(-800,800)/100.00,0)
	TNT1 A 0 A_SpawnItemEx("CorruptShellCasing", 10, -12, 40, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_PlaySound("sentient/fire")
	CSNT E 4 Bright A_CustomMissile("BlueSentientExplosiveTracer",36,0,Random(-800,800)/100.00,0)
	TNT1 A 0 A_StopSoundEx("Weapon")  
	TNT1 A 0 A_JumpIfCloser(512,"Whirl")
	TNT1 A 0 A_Jump(3,"See","DBFG10k","DTBFG10k","Railgun")
	TNT1 A 0 A_SpidRefire
	Goto Normal+4
  DBFG10k:
	TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2",1)
	CSNT NN 2 Bright A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
	CSNT NN 3 Bright A_FaceTarget
  DBFG10kLoop:
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	CSNT O 3 Bright A_CustomMissile("T3DBFG10kShot",42,0,random(-4,4))
	CSNT N 4 Bright A_FaceTarget
	TNT1 A 0 A_Jump(15,"DBFG10kEnd")
	TNT1 A 0 A_MonsterRefire(192,"DBFG10kEnd")
	Loop
  DBFG10kEnd:
	CSNT N 3 Bright A_PlaySound("Weapons/dbfgcooldown2",CHAN_AUTO)
	TNT1 A 0 A_Jump(128,"DTBFG10K")
	Goto See
  DTBFG10K:
	TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2",1)
	CSNT NN 2 Bright A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
	CSNT NN 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	CSNT O 4 Bright A_CustomMissile("T3DBFG10KBall",34,0,0)
	CSNT N 4 Bright
	Goto Missile  
  DBFG:
	TNT1 A 0 A_PlaySound("Weapons/dbfgcharge",1)
	CSNT NN 2 Bright A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
	CSNT NNNNNNNNNNNNNNNNNNNNNNN 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire")
	CSNT O 4 Bright A_CustomMissile("T3DBFGBall",34,0,0)
	CSNT N 10 Bright
	TNT1 A 0 A_PlaySound("Weapons/dbfgcooldown",6)
	CSNT N 6 Bright
	Goto See  
  Railgun:
	TNT1 A 0 A_PlaySound("CyberRail/Charge",1)
	CSNT NN 2 Bright A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
	CSNT NNNNNNN 4 Bright A_FaceTarget
	CSNT O 4 Bright A_CustomMissile("BlueCyberRail",34,0,0)
	CSNT NNNNNN 4 Bright
	Goto Missile 
  Lasers:
	TNT1 A 0 A_SetReflectiveInvulnerable
	TNT1 A 0 A_PlaySound("BlueSent/Laser",CHAN_NOPAUSE)
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT PP 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT PP 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT PP 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT PP 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT PP 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT PP 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueSentShield",Random(-1,1),Random(-1,1),8)
	CSNT P 4
	TNT1 A 0 A_UnSetReflectiveInvulnerable
	TNT1 A 0 A_SetUserVar("user_lasershot",0)
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
  Lasering:
	TNT1 A 0 A_JumpIf(user_lasershot >= 24,"See")
	TNT1 A 0 A_SetUserVar("user_lasershot",user_lasershot+1)
	TNT1 A 0 A_PlaySound("Laser/Beam",CHAN_NOPAUSE)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LaserBeam",76,7,0,0)
	CSNT Q 2 Bright A_CustomMissile("LaserBeam",76,-7,0,0)
	TNT1 A 0 Bright A_CustomMissile("LaserBeam",76,7,0,0)
	CSNT R 2 Bright A_CustomMissile("LaserBeam",76,-7,0,0)
	Loop
  Rage:
	TNT1 A 0 A_JumpIfCloser(128,"Teleport")
	TNT1 A 0 A_UnSetShootable
	CSNT P 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("BlueSent/Pain",2)
	CSNT PPN 5 Bright A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT N 5 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT N 5 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT N 5 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT N 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2")
	CSNT N 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT N 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT N 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT NN 3 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT N 3 Bright A_FaceTarget
	CSNT NN 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	CSNT NNNN 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
	TNT1 A 0 A_SetUserVar("user_rageshot",0)
	TNT1 A 0 A_SetShootable
  Raging:
	TNT1 A 0 A_JumpIf(user_rageshot >= 24,"RagingFinalBlow")     
	TNT1 A 0 A_SetUserVar("user_rageshot",user_rageshot+1)
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	TNT1 A 0 A_FaceTarget
	CSNT O 3 Bright A_CustomMissile("T3DBFG10kShot",42,0,random(-4,4))
	CSNT NN 1 Bright
	TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
	Loop
  RagingFinalBlow:
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire",CHAN_AUTO)
	TNT1 A 0 A_CustomMissile("T3DBFGBall",34,0,random(-4,4))
	CSNT OOO 2 A_FaceTarget
	CSNT NN 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgcooldown")
	CSNT C 4 A_FaceTarget
	Goto See
  Whirl:
	TNT1 A 0 A_JumpIfCloser(128,"Teleport")
	TNT1 A 0 A_Jump(128,"DBFG10K")
	TNT1 A 0 A_PlaySound("BlueSent/Sight",2)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 ThrustThing(angle*256/360,15,0,0)
	CSNT PPPPPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_UnSetShootable
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueSentLineSpawner")
	CSNT PPPPPPPPPPP 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_Stop
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase(0,0,CHF_NIGHTMAREFAST)
	TNT1 A 1 Bright A_PlaySound("boss/teleport",6)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueSentLineSpawner")
	CSNT PPPPPPPPPPPP 1 A_FadeIn(0.1)
	TNT1 A 0 A_SpawnItemEx("CorruptSentientWhirlGhost",0,0,0,0,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_PlaySound("BlueCardinal/Spit",1)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,0,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,20,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,40,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,60,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,80,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,100,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,120,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,140,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,40)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,160,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,45)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,180,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,200,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,-5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,220,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,-10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,240,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,-15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,260,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,-20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,280,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,-25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,300,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,-30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,320,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,-35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,340,CMF_AIMDIRECTION|CMF_ABSOLUTEANGLE,-40)
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_PlaySound("BlueCardinal/Spit",1)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,180,CMF_AIMDIRECTION,45)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,200,CMF_AIMDIRECTION,40)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,220,CMF_AIMDIRECTION,35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,240,CMF_AIMDIRECTION,30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,260,CMF_AIMDIRECTION,25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,280,CMF_AIMDIRECTION,20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,300,CMF_AIMDIRECTION,15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,320,CMF_AIMDIRECTION,10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,340,CMF_AIMDIRECTION,5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,0,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,20,CMF_AIMDIRECTION,-5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,40,CMF_AIMDIRECTION,-10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,60,CMF_AIMDIRECTION,-15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,80,CMF_AIMDIRECTION,-20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,100,CMF_AIMDIRECTION,-25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,120,CMF_AIMDIRECTION,-30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,140,CMF_AIMDIRECTION,-35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,160,CMF_AIMDIRECTION,-40)
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_PlaySound("BlueCardinal/Spit",1)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,90,CMF_AIMDIRECTION,45)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,110,CMF_AIMDIRECTION,40)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,130,CMF_AIMDIRECTION,35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,150,CMF_AIMDIRECTION,30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,170,CMF_AIMDIRECTION,25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,190,CMF_AIMDIRECTION,20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,210,CMF_AIMDIRECTION,15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,230,CMF_AIMDIRECTION,10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,250,CMF_AIMDIRECTION,5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,270,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,290,CMF_AIMDIRECTION,-5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,310,CMF_AIMDIRECTION,-10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,330,CMF_AIMDIRECTION,-15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,350,CMF_AIMDIRECTION,-20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,10,CMF_AIMDIRECTION,-25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,30,CMF_AIMDIRECTION,-30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,50,CMF_AIMDIRECTION,-35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,70,CMF_AIMDIRECTION,-40)
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_PlaySound("BlueCardinal/Spit",1)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,270,CMF_AIMDIRECTION,45)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,290,CMF_AIMDIRECTION,40)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,310,CMF_AIMDIRECTION,35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,330,CMF_AIMDIRECTION,30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,350,CMF_AIMDIRECTION,25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,10,CMF_AIMDIRECTION,20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,30,CMF_AIMDIRECTION,15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,50,CMF_AIMDIRECTION,10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,70,CMF_AIMDIRECTION,5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,90,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,110,CMF_AIMDIRECTION,-5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,130,CMF_AIMDIRECTION,-10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,150,CMF_AIMDIRECTION,-15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,170,CMF_AIMDIRECTION,-20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,190,CMF_AIMDIRECTION,-25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,210,CMF_AIMDIRECTION,-30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,230,CMF_AIMDIRECTION,-35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,250,CMF_AIMDIRECTION,-40)
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 2 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 3 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 3 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 3 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 3 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 4 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 4 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 4 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_SetAngle(angle+45)
	CSNT P 4 Bright A_GiveInventory("BlueSentStrafe")
	TNT1 A 0 A_RemoveChildren(1)
	Goto See
  FlashBFGs:
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("BlueSent/Sight",2)
	CSNT PPPPPPPPPPPPPPPPPPPPP 4 Bright A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_flashing",0)
  Flashing:
	TNT1 A 0 A_JumpIf(user_flashing >= 6,"Missile")
	TNT1 A 0 A_SetUserVar("user_flashing",user_flashing+1)
	TNT1 A 0 A_UnSetShootable
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
	CSNT AAAAA 1 Bright A_FadeOut(0.2,0)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAA 0 A_Chase(0,0,CHF_NIGHTMAREFAST)
	TNT1 A 1 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
	TNT1 A 0 A_FaceTarget
	CSNT AAAAA 1 A_FadeIn(0.2)
	CSNT NNNN 1 Bright A_FaceTarget
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	CSNT O 3 Bright A_CustomMissile("T3DBFG10KBall2",34)
	TNT1 A 0 A_JumpIf(user_flashing >= 6,"Missile")
	CSNT NNNNN 1 Bright A_FaceTarget
	Loop
  Pain:
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_Jump(32,"Rage","FlashBFGs")
	TNT1 A 0 A_Jump(64,"Teleport","Rage","FlashBFGs")
	CSNT A 3 Bright
	CSNT A 3 Bright A_Pain
	Goto Missile
  Pain.Legendary:
  Pain.LegendaryPlayer:
  Pain.PlayerDevBall:
  Pain.PDTBFG:
  Pain.BFG10K:
  Pain.LegendaryGuru:
  Pain.LegendaryGuruPlayer:
	TNT1 A 0 A_Jump(200,"Teleport")
	Goto Pain
  Death:
	CSNT H 10 Bright A_Fall
	TNT1 A 0 Bright A_Scream
	CSNT HHII 2 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	TNT1 A 0 A_PlaySound("BlueCardinal/Spit")
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,0,2,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,20,2,5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,40,2,10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,60,2,15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,80,2,25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,100,2,30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,120,2,35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,140,2,40)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,160,2,45)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,180,2,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,200,2,-5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,220,2,-10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,240,2,-15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,260,2,-20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,280,2,-25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,300,2,-30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,320,2,-35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,340,2,-40)
	CSNT HHII 2 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,180,2,45)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,200,2,40)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,220,2,35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,240,2,30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,260,2,25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,280,2,20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,300,2,15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,320,2,10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,340,2,5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,0,2,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,20,2,-5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,40,2,-10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,60,2,-15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,80,2,-20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,100,2,-25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,120,2,-30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,140,2,-35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,160,2,-40)
	CSNT HHHHIIII 1 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,90,2,45)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,110,2,40)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,130,2,35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,150,2,30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,170,2,25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,190,2,20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,210,2,15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,230,2,10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,250,2,5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,270,2,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,290,2,-5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,310,2,-10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,330,2,-15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,350,2,-20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,10,2,-25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,30,2,-30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,50,2,-35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,70,2,-40)
	CSNT HHHHIIII 1 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,270,2,45)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,290,2,40)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,310,2,35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,330,2,30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,350,2,25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,10,2,20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,30,2,15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,50,2,10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,70,2,5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,90,2,0)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,110,2,-5)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,130,2,-10)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,150,2,-15)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,170,2,-20)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,190,2,-25)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,210,2,-30)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,230,2,-35)
	TNT1 A 0 A_CustomMissile("BlueCardball",72,0,250,2,-40)
	CSNT JJJJJ 2 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	CSNT KKKKK 2 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	CSNT LLLLL 2 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(-50,50),random(-50,50),random(40,100),frandom(1,2),frandom(1,2),frandom(-2,2),random(0,360))
	CSNT LM 5
	TNT1 A -1 A_KillMaster
	Stop
	}
}

ACTOR BlueCardinalRagingSmokeSpawner2 : CardinalRageFlameSpawner replaces BlueCardinalRagingSmokeSpawner 
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 AAA 1 A_SpawnItemEx("LRedFlameFlame",random(15,-15),random(15,-15),random(40,50),0,0,random(3,6),0,128,0)
    Stop
	}
}

ACTOR BlueSentientExplosiveTracer : SentientExplosiveTracer
{
States
{
Spawn:
    TRC5 A 1 Bright
	Loop
Death:
	TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItem("BlueSentientExplosiveEffect")
    BCRC C 4 Bright A_Explode(Random(3,6)*5,72)
    BCRC DE 3 Bright
    Stop
    }
}

Actor BlueSentStrafe : OverseerStrafe
{
  States
  {
  Pickup:
    NULL A 1
	NULL A 1 A_ChangeVelocity(velx/2,vely/2,velz,CVF_REPLACE)
	NULL A 1 A_JumpIf(velx != 0 || vely != 0,2)
	NULL A 1 A_Jump(256,2)
	NULL A 1 A_Jump(235,5)
	NULL A 1 A_JumpIfInventory("LegSentientStrafeSens",1,3)
	NULL A 1 A_GiveInventory("LegSentientStrafeSens",1)
	NULL A 1 A_Jump(256,2)	
	NULL A 1 A_TakeInventory("LegSentientStrafeSens",1)
	NULL A 1 A_JumpIfInventory("LegSentientStrafeSens",1,3)
	NULL A 1 ThrustThing(angle*256/360+38.7,4,0,0)
	NULL A 1 A_Jump(256,2)	
	NULL A 1 ThrustThing(angle*256/360+38.7,-4,0,0)
    NULL A 1 //A_FaceTarget
	NULL A 1 A_Jump(24,2)
	NULL A 1 A_Recoil(-1)
    Stop
	NULL A 1 A_Recoil(1)
    Stop
  }
}

ACTOR BlueSentientExplosiveEffect : SentientExplosiveEffect
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
    TNT1 AAA 0 A_CustomMissile("BlueKaboom16", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX6", 0, 0, random(0,360), 2, random(0,360))
	TNT1 A 1
	Stop
Toaster:
    TNT1 A 0
	Stop
	}
}

ACTOR CorruptShellCasing : ShellCasing
{
	States
	{
	Spawn:
	  TNT1 A 0
      TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	  CORC DCBAHGFE 2
	  Loop
    Death:
	  TNT1 A 0
      TNT1 A 0 A_Jump(128,3)
      CORC C 100
      CORC C 5 A_FadeOut(0.10)
      Goto Death+3
      CORC G 100
	  CORC G 5 A_FadeOut(0.10)
	  Goto Death+5
	  }
}

ACTOR BlueKaboom16 : Kaboom16
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
FXPB AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR CorruptSentientWhirlGhost
{
  +CLIENTSIDEONLY
  +NOINTERACTION
  +ISMONSTER
  Scale 1.1
  Renderstyle Translucent
  Alpha 0.6
  States
  {
  Spawn:
	CSNT PPPPPPPPPPPPPPPPPPPP 2 A_Warp(AAPTR_MASTER,0,0,0,angle-45,WARPF_ABSOLUTEANGLE)
	CSNT PPPP 3 A_Warp(AAPTR_MASTER,0,0,0,angle-45,WARPF_ABSOLUTEANGLE)
	CSNT PPPP 4 A_Warp(AAPTR_MASTER,0,0,0,angle-45,WARPF_ABSOLUTEANGLE)
	Stop
	}
}

ACTOR BlueSentShield : BlueCardShield
{
YScale 2.0
XScale 2.5
}

ACTOR BlueSentLineSpawner : BluePowerLineSpawner
{
States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"Toaster")
	TNT1 AAAAA 0 A_SpawnItemEx("BlueCardPowerLine",random(-64,64),random(-64,64),random(0,54),0,0,random(2,8),0,128,0) 	
	TNT1 A 1 A_SpawnItemEx("BlueCardPowerLine",random(-64,64),random(-64,64),random(0,54),0,0,random(2,8),0,128,0) 
	Stop  
	}
}

ACTOR BlueSentientFire : SentientFire
{
Scale 0.6
States
{
Spawn:
	BMKE ABCDEFGHIJKL 1 Bright A_FadeOut
	Stop
	}
}


ACTOR BlueSentientFireSpawner : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_PlaySound("monster/ambientfire2")
	TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
    TNT1 AA 0 A_SpawnItemEx("BlueSentientFire",random(50,70),random(50,70),78,0,0,random(-4,-6),0,128,0)
	TNT1 AA 0 A_SpawnItemEx("BlueSentientFire",random(-50,-70),random(-50,-70),78,0,0,random(-4,-6),0,128,0)
	TNT1 AA 0 A_SpawnItemEx("BlueSentientFire",random(50,70),random(-50,-70),78,0,0,random(-4,-6),0,128,0)
	TNT1 AA 0 A_SpawnItemEx("BlueSentientFire",random(-50,-70),random(50,70),78,0,0,random(-4,-6),0,128,0)
    TNT1 A 1
    Stop
  }
}