ACTOR BlueCardinal
{
MONSTER
Health 6000
Height 100
Radius 40
Speed 10
Mass 0x7FFFFFFF
Scale 1.1
Meleedamage 10 

Species "Cybers"

BloodColor "33 66 99"
Obituary "%o was blessed by a corrupted cardinal."  

SeeSound "BlueCardinal/Sight"
//PainSound "BlueCardinal/Pain"
ActiveSound "BlueCardinal/Active"
DeathSound "BlueCardinal/Death"

// Pain Chances
PainChance 2 // 5
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 // 100
PainChance "LegendaryPlayer", 100 // 100
PainChance "LegendaryGuru", 256
PainChance "LegendaryGuruPlayer", 256

// Damage Factors
DamageFactor 0.5

DamageFactor "PyroShot", 0.25
DamageFactor "PlayerPyro", 0.25
DamageFactor "PlayerBHole", 0.25

DamageFactor "Player", 0.05
DamageFactor "DBFG10K2", 0.0 // 0.05
DamageFactor "PlayerDBFG10K2", 0.05
DamageFactor "DBFG2", 0.0 // 0.05
DamageFactor "PlayerDBFG2", 0.10
DamageFactor "FreezerBurn", 0.0
DamageFactor "Ice", 0.0

DamageFactor "Legendary", 0.75 // Monster+player

DamageFactor "SuperWeapon", 0.75
DamageFactor "LegendaryPlayer", 0.75
DamageFactor "LegendaryGuru", 0.75
DamageFactor "LegendaryGuruPlayer", 0.75

DamageFactor "PlayerDevBall", 0.65
DamageFactor "PlayerDevTracer", 0.15
DamageFactor "PowerDoubleDamage", 0.35

DamageFactor "BFG10K", 0.65
DamageFactor "BFG9500Ball", 0.1
DamageFactor "CustomSpray", 0.1
DamageFactor "BFGSplash", 0.1
DamageFactor "BFGSpray", 0.1
DamageFactor "Explosion", 0.1
DamageFactor "PDTBFG", 0.1
DamageFactor "PDTBFGTracer", 0.1
DamageFactor "PlayerDTBFGRailgunSlug", 0.1
DamageFactor "PDTPuff", 0.1

DamageFactor "Cyber10K", 0.0 // Monster+player dev.

// No infighting.
DamageFactor "CerChainguns", 0.0	
DamageFactor "CerEnergyBall", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "Legendary1", 0.0 // Leg Imp
DamageFactor "VileFires", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "BeheComet", 0.0

// Drops
DropItem "BossLifeEssence", 192
DropItem "BossArmorBonusMax", 192
DropItem "DemonicChalice", 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

+DONTHARMSPECIES
+QUICKTORETALIATE
+NORADIUSDMG
+NOGRAVITY
//+FLOATBOB
+FLOAT
+BOSS

+MISSILEMORE
+MISSILEEVENMORE
+NOTARGET
+FLOORCLIP
+DONTMORPH
+BOSSDEATH
+NOICEDEATH
+CANTSEEK
+DONTGIB
+DONTRIP

var int user_music;
var int user_rageshot;
var int user_lasershot;
var int user_voidtravel;
var int user_disappeared;
var int user_mirrored;
var int user_flashing;
States
	{
	Spawn:
		BCRD A 4 Bright A_Look
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD B 4 Bright A_Look
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(user_music == 1,3)
		TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,76)
		TNT1 A 0 A_SetUserVar("user_music",1)
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_UnSetReflectiveInvulnerable
		TNT1 A 0 A_SetTranslucent(1)
		TNT1 A 0 A_JumpIfHealthLower(3000, 2) // 3000
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_JumpIf(user_disappeared < 1, "Disappear")
		TNT1 A 0 A_Jump(100,"Rush")
		BCRD AA 2 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD BB 2 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD AA 2 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD BB 2 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD AA 2 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD BB 2 Bright A_Chase
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		Loop
	Missile:
	Normal:
		TNT1 A 0 A_SetTranslucent(1)
		TNT1 A 0 A_Jump(128,"DBFG10K","Railgun")
		TNT1 A 0 A_Jump(128,"DBFG","DBFG10KBall")
		TNT1 A 0 A_Jump(64,"Lasers","FlashBFGs")
		TNT1 A 0 A_JumpIfCloser(128, "Teleport")
		//BCRD A 0 A_jump(100,5)
		BCRD C 5 Bright A_FaceTarget
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_CustomMissile("BlueCardinalRocket", 72, -30, 0)
		BCRD D 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD C 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_CustomMissile("BlueCardinalRocket", 72, -30, 0)
		BCRD D 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD C 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_CustomMissile("BlueCardinalRocket", 72, -30, 0)
		BCRD D 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD C 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD C 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_JumpIfCloser(512, "Whirl")
		Goto See
	Rush:
		TNT1 A 0 A_PlaySound("BlueCardinal/Rush", CHAN_VOICE)
		TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		BCRD A 2 Bright A_SpawnItemEx("BlueCardinalGhost")
		TNT1 AAAA 0 Bright A_Chase
		BCRD A 2 Bright A_SpawnItemEx("BlueCardinalGhost")
		TNT1 AAAA 0 Bright A_Chase
		BCRD B 2 Bright A_SpawnItemEx("BlueCardinalGhostB")
		TNT1 AAAA 0 Bright A_Chase
		BCRD B 2 Bright A_SpawnItemEx("BlueCardinalGhostB")
		TNT1 AAAA 0 Bright A_Chase
		TNT1 A 0 A_Jump(16,"Teleport")
		TNT1 A 0 A_Jump(32,"See")
		Loop
	"Whirl":
		TNT1 A 0
		TNT1 A 0 A_JumpIfCloser(128, "Teleport")
		TNT1 A 0 A_Jump(128, "DBFG10K")
		TNT1 A 0 A_PlaySound("BlueCardinal/Whirl", CHAN_VOICE)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)
		BCC1 AA 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 BB 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CC 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 DD 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 AB 3 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 3 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 AB 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 AB 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_UnSetShootable
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
		BCC1 AABBCCDDAAB 1 Bright A_FadeOut(0.1,0)
		TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase(0, 0, CHF_NIGHTMAREFAST)
		TNT1 A 1 Bright A_PlayWeaponSound("boss/teleport")
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
		BCT1 BCCDDAABBCCD 1 A_FadeIn(0.1)
		TNT1 A 0 A_SetShootable
		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)
		BCC1 AB 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_PlaySound("BlueCardinal/Spit")
		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)
		BCC1 AB 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_PlaySound("BlueCardinal/Spit")
		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)
		BCC1 AB 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_PlaySound("BlueCardinal/Spit")
		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)
		BCC1 AB 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 AB 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 2 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 AB 3 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 CD 3 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 A 4 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 B 4 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 C 4 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC1 D 4 Bright A_Chase(0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		Goto See
	Railgun:
		TNT1 A 0 A_PlaySound("CyberRail/Charge")
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_CustomMissile("BlueCyberRail",88,-30,0)
		BCF1 A 4 Bright A_FaceTarget
		BCF1 AAA 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 AA 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD CCCCC 2 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		//TNT1 A 0 A_Jump(128,"Missile")
		Goto Missile
	"DBFG":
		TNT1 A 0 A_PlaySound("Weapons/dbfgcharge") // 196 tics.
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 BA 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 3 Bright A_FaceTarget
		BCC2 BA 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 3 Bright A_FaceTarget
		BCC2 BA 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 3 Bright A_FaceTarget
		BCC2 BA 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 3 Bright A_FaceTarget
		BCC2 AB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 A 2 Bright A_FaceTarget
		BCC2 B 2 Bright A_FaceTarget
		BCC2 AB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_PlaySound("Weapons/dbfgfire", CHAN_AUTO)
		TNT1 A 0 A_CustomMissile("T3DBFGBall", 72, 0, Random(4, -4), 0, Random(4, -4))
		BCF1 AAA 2 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 AB 2 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_PlaySound("Weapons/dbfgcooldown")
		BCRD C 4 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		Goto See
	"DBFG10K":
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2") // 196 tics.
		BCC2 AA 2 Bright A_FaceTarget
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 BB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 AA 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		/*
		BCC2 BA 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 B 3 Bright A_FaceTarget
		BCC2 AB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 AB 2 Bright A_FaceTarget
		BCC2 AB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		*/
	"DBFG10KHold":
		BCC2 AB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
		BCF1 A 3 Bright A_CustomMissile("T3DBFG10kShot", 72, 0, Random(4, -4), 0, Random(4, -4))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_CheckSight(2)
		TNT1 A 0 A_Jump(240, "DBFG10KHold")
		TNT1 A 0 A_PlaySound("Weapons/dbfgcooldown2")
		BCC2 AB 2
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD CC 2
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD AA 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD BB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD AA 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD BB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD AA 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD BB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		Goto See
	"DBFG10KBall":
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2") // 196 tics.
		BCC2 AA 2 Bright A_FaceTarget
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 BB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 AA 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
		BCF1 A 3 Bright A_CustomMissile("T3DBFG10KBall",72)
		Goto Missile
	"FlashBFGs":
		TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		TNT1 A 0 A_PlaySound("BlueCardinal/Flash", CHAN_NOPAUSE)
		BCFL A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL C 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL D 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL E 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL D 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL E 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL D 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL E 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL D 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL E 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL D 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL E 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL D 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL E 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DE 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DE 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DE 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DE 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DE 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DE 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DE 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DEDE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DEDE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL DEDE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		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")
		BCFL EEEEE 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
		BCFL EEEEE 1 A_FadeIn(0.2)
		BCFL DCBA 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
		BCF1 A 3 Bright A_CustomMissile("T3DBFG10KBall2", 72)
		TNT1 A 0 A_JumpIf(user_flashing >= 6, "Missile")
		BCFL ABCDE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		Loop
	Lasers:
		TNT1 A 0 A_SetReflectiveInvulnerable
		TNT1 A 0 A_PlaySound("BlueCardinal/Charge2", CHAN_NOPAUSE)
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCLC AB 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCLC CA 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCLC BC 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCLC AB 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCLC CA 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCLC BC 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCLC D 4
		//TNT1 A 0 A_PlaySound("BlueCardinal/Charge", CHAN_AUTO|CHAN_NOPAUSE)
		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, "Missile")
		TNT1 A 0 A_SetUserVar("user_lasershot", user_lasershot+1)
		TNT1 A 0 A_PlaySound("Laser/Beam", CHAN_NOPAUSE)
		TNT1 A 0 Bright A_CustomMissile("LaserBeam",116,6,0,0)
		BCLR A 2 Bright A_CustomMissile("LaserBeam",116,-6,0,0)
		TNT1 A 0 Bright A_CustomMissile("LaserBeam",116,6,0,0)
		BCLR B 2 Bright A_CustomMissile("LaserBeam",116,-6,0,0)
		Loop
	Rage:
		TNT1 A 0 A_JumpIfCloser(128, "Teleport")
		TNT1 A 0 A_UnSetShootable
		BCRD E 5 Bright A_FaceTarget
		TNT1 A 0 A_PlaySound("BlueCardinal/Whirl", CHAN_VOICE)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCRD E 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCRD E 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCRD C 5 Bright A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCRD C 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCRD C 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCRD C 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCRD C 5 Bright A_FaceTarget
		TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2") // 196 tics.
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCC2 B 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCC2 A 4 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCC2 BA 3 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCC2 B 3 Bright A_FaceTarget
		BCC2 AB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		BCC2 A 2 Bright A_FaceTarget
		BCC2 B 2 Bright A_FaceTarget
		BCC2 AB 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueCardinalRagingSmokeSpawner",0,0,64)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,4)
		TNT1 A 0 A_SetUserVar("user_mirrored", 0)
		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
		BCF1 A 3 Bright A_CustomMissile("T3DBFG10kShot", 72, 0, Random(6, -6), 0, Random(4, -4))
		BCC2 AB 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", 72, 0, Random(4, -4), 0, Random(4, -4))
		BCF1 AAA 2 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCC2 AB 2 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_PlaySound("Weapons/dbfgcooldown")
		BCRD C 4 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		Goto Missile
	Pain:
		TNT1 A 0 A_SetTranslucent(1)
		TNT1 A 0 A_Jump(64,"PainMirror")
		TNT1 A 0 A_PlaySound("BlueCardinal/Pain")
		TNT1 A 0 A_Jump(32,"Rage","FlashBFGs")
		TNT1 A 0 A_Jump(64,"Teleport","Rage","FlashBFGs")
		TNT1 A 0 A_Jump(128,"Dodge")
		TNT1 A 0 A_Jump(128,"PainMissile")
		BCT1 X 8 Bright
		TNT1 A 0 A_SpawnItem("BlueFireSpawner",0,16,0,0)
		Goto See
	"PainMirror":
		TNT1 A 0
		TNT1 A 0 A_PlaySound("BlueCardinal/Pain")
		TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorOut", 0, 0, 0, -16, 0, 0, 0)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorOut", 0, 0, 0, -16, 0, 0, 45)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorOut", 0, 0, 0, -16, 0, 0, 90)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorOut", 0, 0, 0, -16, 0, 0, 135)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorOut", 0, 0, 0, -16, 0, 0, 180)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorOut", 0, 0, 0, -16, 0, 0, 225)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorOut", 0, 0, 0, -16, 0, 0, 270)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorOut", 0, 0, 0, -16, 0, 0, 315)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
		BCFL AAAAA 1 Bright A_FadeOut(0.2,0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Wander
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorIn", -400, 0, 0, 16, 0, 0, 0)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorIn", -400, 0, 0, 16, 0, 0, 45)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorIn", -400, 0, 0, 16, 0, 0, 90)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorIn", -400, 0, 0, 16, 0, 0, 135)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorIn", -400, 0, 0, 16, 0, 0, 180)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorIn", -400, 0, 0, 16, 0, 0, 225)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorIn", -400, 0, 0, 16, 0, 0, 270)
		BCFL A 1 A_SpawnItemEx("BlueCardinalTeleportMirrorIn", -400, 0, 0, 16, 0, 0, 315)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 1 A_PlayWeaponSound("boss/teleport")
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
		TNT1 A 0 A_FaceTarget
		BCFL AAAAAAAAAAA 1 A_FadeIn(0.1)
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_Jump(32,"Rage")
		TNT1 A 0 A_Jump(64,"Teleport","Rage")
		TNT1 A 0 A_Jump(128,"Dodge")
		TNT1 A 0 A_Jump(128,"PainMissile")
		BCT1 X 8 Bright
		TNT1 A 0 A_SpawnItem("BlueFireSpawner",0,16,0,0)
		Goto Missile
	Pain.Legendary:
	Pain.LegendaryPlayer:
	Pain.PlayerDevBall:
	Pain.PDTBFG:
	Pain.BFG10K:
		TNT1 A 0
		TNT1 A 0 A_Jump(200, "Teleport")
		TNT1 A 0
		Goto PainMissile
	Pain.LegendaryGuru:
	Pain.LegendaryGuruPlayer:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(user_mirrored < 1, "MirrorDodge")
		TNT1 A 0 A_Jump(256, "Teleport")
		TNT1 A 0
		Goto PainMissile
	"Dodge":
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Jump(128,3)
		TNT1 A 0 ThrustThing(angle*256/360+64, 15, 0, 0)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 ThrustThing(angle*256/360+192, 15, 0, 0)
		BCT1 X 8
		Goto PainMissile
	"MirrorDodge":
		TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_SetUserVar("user_mirrored", 1)
		TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		TNT1 A 0 A_SpawnItemEx("LightBlueStruckGlow", 0, 0, 48)
		BCT1 XXXXX 1 Bright A_FadeOut(0.2,0)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalSplitMirror", 0, 0, 0, -16, 0, 0, 0)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalSplitMirror", 0, 0, 0, -16, 0, 0, 45)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalSplitMirror", 0, 0, 0, -16, 0, 0, 90)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalSplitMirror", 0, 0, 0, -16, 0, 0, 135)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalSplitMirror", 0, 0, 0, -16, 0, 0, 180)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalSplitMirror", 0, 0, 0, -16, 0, 0, 225)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalSplitMirror", 0, 0, 0, -16, 0, 0, 270)
		TNT1 A 0 A_SpawnItemEx("BlueCardinalSplitMirror", 0, 0, 0, -16, 0, 0, 315)
		TNT1 A 90 // 20+64+20=104
		BCT1 XXXXX 1 Bright A_FadeIn(0.2)
		TNT1 A 0 A_SpawnItemEx("LightBlueStruckGlow", 0, 0, 48)
		TNT1 A 0 A_SetShootable
		Goto PainMissile
	PainMissile:
		TNT1 A 0
		BCT1 X 8 Bright
		TNT1 A 0 A_SpawnItem("BlueFireSpawner",0,16,0,0)
		Goto Missile
	"Taunt":
		TNT1 A 0
		TNT1 A 0 A_SetReflectiveInvulnerable
		TNT1 A 0 A_PlaySound("BlueCardinal/Taunt", CHAN_VOICE)
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCT1 A 4 Bright
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 B 4 Bright
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCT1 AB 3 Bright
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 A 2 Bright
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCT1 B 2 Bright
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 AB 2 Bright
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 A 2 Bright
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		BCT1 B 2 Bright
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 AB 3 Bright
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 AB 4 Bright
		TNT1 A 0 A_SpawnItemEx("BlueCardShield", Random(-1,1), Random(-1,1), 8)
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		TNT1 A 0 A_UnSetReflectiveInvulnerable
		Goto See
	"Teleport":
		TNT1 A 0
		TNT1 A 0 A_UnSetShootable
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
		BCT1 XXXXXXXXXXX 1 Bright A_FadeOut(0.1,0)
		TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase(0, 0, CHF_NIGHTMAREFAST)
		//TNT1 AAAA 0 A_Wander // Removed on 2016-07-31
		TNT1 A 1 A_PlayWeaponSound("boss/teleport")
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
		TNT1 A 0 A_FaceTarget
		// Dash.
		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)
		BCT1 XXXXXXXXXXX 1 A_FadeIn(0.1)
		BCT1 X 20
		TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_Jump(70,"DBFG10K")
		TNT1 A 0 A_Jump(128,"Taunt")
		Goto Missile
	"Disappear":
		TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_SetUserVar("user_disappeared", 1)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlueCardLineSpawner")
		BCT1 XXXXXXXXXXX 4 Bright A_FadeOut(0.1,0)
		TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		TNT1 A 0 A_SetUserVar("user_voidtravel", 0)
	"VoidTravel":
		TNT1 A 0 A_JumpIf(user_voidtravel >= Random(15,45), "Reappear")     
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 A 35
		TNT1 A 0 A_SetUserVar("user_voidtravel", user_voidtravel+1)
		Loop
	"Reappear":
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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
		TNT1 A 0 ThrustThing(angle*256/360+128,15,0,0)
		BCT1 XXXXXXXXXXX 1 A_FadeIn(0.1)
		BCT1 X 20
		TNT1 A 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_Jump(70,"DBFG10K")
		TNT1 A 0 A_Jump(128,"Taunt")
		Goto See
	Raise:
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("BlueCardinal/Taunt", CHAN_VOICE)
		// Dying
		BCT1 A 4 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 B 4 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		// Whirl Attack
		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)
		// Dying
		BCT1 AB 3 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 AB 2 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		// Whirl attack 2
		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)
		// Dying
		BCT1 AB 2 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 AB 2 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		// Whirl attack 3
		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)
		// Dying
		BCT1 AB 1 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCT1 AB 1 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		// Whirl attack 4
		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)
		// Explode
		BCRD E 5 Bright A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		TNT1 A 0 A_SpawnItemEx("BlueFireSpawner",0,0,-12)
		BCRD E 3 A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		BCRD F 2 Bright A_Scream
		BCRD FF 3 A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		BCRD G 5 Bright A_NoBlocking
		BCRD G 3 A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		BCRD H 2 Bright
		BCRD HH 3 A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		BCRD I 2 Bright A_Explode
		BCRD II 3 A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		BCRD J 2 Bright
		BCRD J 3 A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,99), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		BCRD K 8 Bright
		BCRD L 8 Bright
		Stop
	}
}

//====================
ACTOR BlueCardinalRocket
{
Game Doom
SpawnID 127
Projectile
Radius 11
Height 8
Speed 20
Damage 19
DamageType "DBFG2"
+RANDOMIZE
+DEHEXPLOSION
+ROCKETTRAIL
+SEEKERMISSILE
SeeSound "weapons/rocklf"
DeathSound "weapons/rocklx"
States
	{
	Spawn:
		BCRC AB 4 Bright A_Tracer2
		TNT1 A 0 Bright A_PlaySound("Weapons/homingbeep")
		Loop
	Death:
		BCRC C 8 Bright A_Explode
		BCRC D 6 Bright
		BCRC E 4 Bright
		Stop
	}
}


ACTOR BlueCardball
{
Projectile
Radius 11
Height 8
Speed 18
Scale 0.25
Renderstyle Add
Alpha 0.97
Decal Scorch
Damage 15
SeeSound "Imp/Attack"
DeathSound "Imp/ShotX"
+EXPLODEONWATER
+FORCERADIUSDMG
+DONTBLAST
DamageType "DBFG2"
Obituary "%k got hit by %o's Blueball!"
States
	{
	Spawn:
		D3PP ABCDEFG 1 Bright A_SpawnItemEx("BlueCardballTrail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode(128,128,0)
		TNT1 A 0 Bright A_PlaySound("weapons/t2fbx1", 0, 0.75, 0, ATTN_NORM)
		TNT1 A 1 A_SpawnItemEx("BlueCardballExp")
		Stop
	}
}

ACTOR BlueCardballExp
{
Scale 0.75
Renderstyle Add
Alpha 0.75
+NOGRAVITY
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		D3PX A 1 Bright A_FadeOut(0.05,1)
		D3PX B 1 Bright A_FadeOut(0.05,1)
		D3PX C 1 Bright A_FadeOut(0.045,1)
		D3PX D 1 Bright A_FadeOut(0.035,1)
		D3PX E 1 Bright A_FadeOut(0.025,1)
		D3PX F 1 Bright A_FadeOut(0.015,1)
	Continuous:
		D3PX G 1 Bright A_FadeOut(0.065,1)
		Loop
	}
}


ACTOR BlueCardballTrail : T3BaseEffect
{
Scale 0.35
Renderstyle Add
Alpha 0.75
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		D3PP A 1 Bright A_FadeOut(0.1)
		D3PP B 1 Bright A_FadeOut(0.1)
		D3PP C 1 Bright A_FadeOut(0.1)
		D3PP D 1 Bright A_FadeOut(0.1)
		D3PP E 1 Bright A_FadeOut(0.1)
		D3PP F 1 Bright A_FadeOut(0.1)
		D3PP G 1 Bright A_FadeOut(0.1)
		Loop
	}
}

ACTOR BlueCardRocketExplosion : BlueCardinalRocket
{
Speed 5
DamageType "DBFG2"
SeeSound ""
DeathSound ""
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Jump(128,1)
		Goto AltDeath
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("weapons/rockhit")
		Goto Death
	AltDeath:
		TNT1 A 0 Bright
		TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
		TNT1 AAA 0 A_CustomMissile("BlueKaboom3", 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 1 Bright A_Explode
		Stop
	}
}


ACTOR BlueCardRocketExplosionBundle
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AAAAA 1 A_SpawnItemEx("BlueCardRocketExplosion", random(31,-31), frandom(31,-31), frandom(39,-39), frandom(1,2), frandom(1,2), frandom(2,-2), random(0,359))
		Stop
	}
}

ACTOR BlueCardShield : T3BaseEffect
{
YScale 2.0
XScale 1.5
RenderStyle Add
Alpha 0.8
States
	{
	Spawn:
		TNT1 A 0 Bright
		BCSH ABCDEFGH 1 Bright A_FadeOut(0.1,1)
		Stop
	}
}

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


ACTOR BlueCardPowerLine : BluePowerLine
{
Scale 0.84
States
	{
	Spawn:
		TNT1 A 0 Bright
		SPFX A 5 Bright
		TNT1 A 0 A_Jump(128,"FadeOut2")
		Goto Normal
	Normal:
		SPFX AAAAAAAA 1 Bright A_FadeOut(0.025,1)
		Stop
	FadeOut2:
		SPFX AAAAAAAA 1 Bright A_FadeOut(0.03,1)
		Stop
	}
}

ACTOR BlueCardinalGhost : MonsterGhost
{
Scale 1.1
States
	{
	Spawn:
		BCRD A 2 A_FadeOut(0.1,1)
		Loop
	}
}

ACTOR BlueCardinalGhostB : BlueCardinalGhost
{
States
	{
	Spawn:
		BCRD B 2 A_FadeOut(0.1,1)
		Loop
	}
}


ACTOR BlueCardinalRagingSmokeSpawner : RagingSmokeSpawner2 { }

ACTOR BlueCardinalMirror : MonsterGhost
{
Height 100
Radius 40
Scale 1.1
Alpha 0.0
States
	{
	Spawn:
		TNT1 A 0 Bright
		BCRD ABABABABAB 4 A_FadeIn(0.1) // BCRDE
		BCRD ABABA 1 A_FadeOut(0.2,1)
		Stop
	}
}

ACTOR BlueCardinalTeleportMirrorIn : BlueCardinalMirror
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		BCFL AAAAAAAAAA 2 A_FadeIn(0.1) // BCRDE
		BCFL AAAAA 1 A_FadeOut(0.2,1)
		Stop
	}
}

ACTOR BlueCardinalTeleportMirrorOut : BlueCardinalMirror
{
Alpha 1.0
States
	{
	Spawn:
		TNT1 A 0 Bright
		BCFL AAAAAAAAAA 2 A_FadeOut(0.1,1) // BCRDE
		Stop
	}
}

ACTOR BlueCardinalSplitMirror : BlueCardinalMirror
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		BCC1 ABCDABCD 2 A_FadeIn(0.1) // BCRDE
		TNT1 A 0 A_ChangeVelocity(0, 0, 0, CVF_RELATIVE|CVF_REPLACE)
		BCC1 ABCDABCDABCDABCD 2
		BCC1 ABCDABCDABCDABCD 2
		TNT1 A 0 A_ChangeVelocity(16, 0, 0, CVF_RELATIVE|CVF_REPLACE)
		BCC1 ABCDABCD 2 A_FadeOut(0.1,1) // BCRDE
		Stop
	}
}