ACTOR LesserPhaseCardinal : BaronOfHell
{
//Creator: Vast Unliking
//Origin: Nexus Infinity
//Sprite: PC7D
//Title: "Lesser Phase Cardinal" 
  Health 2000
  PainChance 45
  Scale 1.1
  MeleeDamage 30
  DamageFactor "NobleComet", 0.0
  DamageFactor "PlayerDTRG", 0.5
  DamageFactor "Legendary", 0.25
  DamageFactor "LegendaryPlayer", 0.25
  DamageFactor "LegendaryGuru", 0.25
  DamageFactor "LegendaryGuruPlayer", 0.25
  DamageFactor "Ice", 0.333
  DamageFactor "FreezerBurn", 0.333
  Species "Nobles"
  DropItem "BossLifeEssence" 200 25
  DropItem "BossArmorBonusMax" 200 1
  DropItem "GreaterDemonicEnergy" 128 200
  DropItem "GreaterPlasmaEnergy" 128
  DropItem "Freezer Rifle" 128
  DropItem "BFG10K " 60 
  DropItem "Demon Tech BFG10K" 30
  +DONTHARMSPECIES
  +DONTHARMCLASS
  +MISSILEMORE
  +NOICEDEATH
  +FLOAT
  +NOGRAVITY
  Obituary "%o couldn't escape a Lesser Phase Cardinal's carpet bombing."
  HitObituary "A Lesser Phase Cardinal clawed %o to death."
  BloodColor "51 07 94"
  SeeSound "cydes/sight"
  PainSound "cydes/pain"
  DeathSound "cydes/death"
  ActiveSound "cbaron/active"
  MeleeSound "baron/melee"
  Tag "\ctLesser Phase Cardinal\c-"
  var int user_firespawn;
  var int user_rageloop;
  States
  { 
  Spawn: 
	TNT1 A 0
	TNT1 A 0 A_JumpIf(user_firespawn == 1,4)
	TNT1 A 0 ACS_NamedExecuteAlways("LesserPhaseCardinalFireEffect",0)
	TNT1 A 0 A_PlaySound("monster/ambientfire",7,1.0,1)
	TNT1 A 0 A_SetUserVar("user_firespawn",1)
  Idle:
    PC7D AB 2 A_Look
    Loop 
  See:
    PC7D AB 2 A_Chase
    Loop
  Missile:
    TNT1 A 0 A_Jump(100,"Rocket")
    TNT1 A 0 A_Jump(80,"BFG15K","Railgun","Homing","FloorFire","DarkMatter")
  Comets:
	PC7D EF 7 A_FaceTarget 
	PC7D G 3 A_CustomMissile("PArchonComet2",46,0,0)		
	TNT1 A 0 A_CustomMissile("PArchonComet2",46,0,6)
	PC7D G 3 A_CustomMissile("PArchonComet2",46,0,-6)
	TNT1 A 0 A_Jump(60,"Rocket")
	Goto See
  Rocket:
    PC7D C 12 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardRocket",46,20,0,0)
    PC7D C 6 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardRocket",46,20,0,0)
    PC7D C 6 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardRocket",46,20,0,0)
    PC7D C 6 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardRocket",46,20,0,0)
    PC7D C 6 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardRocket",46,20,0,0)
    PC7D C 10
	TNT1 A 0 A_Jump(128,"Homing")
    Goto See
  Homing:
    PC7D C 12 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardHomer",46,20,0,0)
    PC7D C 6 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardHomer",46,20,0,0)
    PC7D C 6 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardHomer",46,20,0,0)
    PC7D C 6 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardHomer",46,20,0,0)
    PC7D C 6 A_FaceTarget
    PC7D D 6 A_CustomMissile("PhaseCardHomer",46,20,0,0)
    PC7D C 10
	TNT1 A 0 A_Jump(128,"Rocket")
    Goto See
  BFG15K:
	TNT1 A 0 A_PlayWeaponSound("weapons/charge15k")
    PC7D CCCCC 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
    PC7D D 3 A_CustomMissile("PhaseCyber15KBall",46,20,0,0)
    PC7D C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
    PC7D D 3 A_CustomMissile("PhaseCard15KBall",46,20,0,0)
    PC7D C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
    PC7D D 3 A_CustomMissile("PhaseCyber15KBall",46,20,0,0)
    PC7D C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
    PC7D D 3 A_CustomMissile("PhaseCyber15KBall",46,20,0,0)
    PC7D C 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
    PC7D D 3 A_CustomMissile("PhaseCyber15KBall",46,20,0,0)
    PC7D C 16 A_PlaySound("weapons/bfg15kcooldown",CHAN_AUTO)
	TNT1 A 0 A_Jump(64,"Rocket")
	TNT1 A 0 A_Jump(32,"Railgun")
    Goto See
  Railgun:
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
	PC7D CCCCC 5 A_FaceTarget
	PC7D D 5 A_CustomMissile("PhaseCardRail",46,20)
	PC7D C 20
	Goto See
  DarkMatter:
	PC7D EF 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	PC7D G 5 A_CustomMissile("DarkMatterBallRM",46,0,0)
	TNT1 A 0 A_Jump(64,"Railgun")
	Goto See
  FloorFire:
	PC7D GF 10 A_FaceTarget 
	TNT1 A 0 A_CustomMissile("PhaseAFireSpawner",46,0,-60)
	TNT1 A 0 A_CustomMissile("PhaseAFireSpawner",46,0,-40)
	TNT1 A 0 A_CustomMissile("PhaseAFireSpawner",46,0,-20)
	TNT1 A 0 A_CustomMissile("PhaseAFireSpawner",46,0,0)
	TNT1 A 0 A_CustomMissile("PhaseAFireSpawner",46,0,20)
	TNT1 A 0 A_CustomMissile("PhaseAFireSpawner",46,0,40)
	PC7D E 20 A_CustomMissile("PhaseAFireSpawner",46,0,60)
	TNT1 A 0 A_Jump(128,"Comets")
	Goto See
  Melee:
    PC7D EF 4 A_FaceTarget
	TNT1 A 0 A_RadiusGive("PhaseMindfuck",128,RGF_PLAYERS,1)
    PC7D G 4 A_MeleeAttack
    Goto See
  Pain: 
	TNT1 A 0 A_Jump(100,"PainRage")
    PC7D H 4 A_Pain
	TNT1 A 0 A_Jump(100,"Missile")
    Goto See
  PainRage:
	TNT1 A 0 A_JumpIfCloser(800,1)
	Goto Pain+1
	PC7D H 20 Bright A_Pain
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 Radius_Quake(6,60,0,18,0)
	TNT1 A 0 A_PlaySound("LesserCardinal/Laugh")
	TNT1 A 0 A_SetUserVar("user_rageloop",0)
  PainRageLoop:
	TNT1 A 0 A_JumpIf(user_rageloop >= 15,"PainRageEnd")	 
	TNT1 A 0 A_SetUserVar("user_rageloop",user_rageloop+1)
	TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
	PC7D H 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	Loop
  PainRageEnd:
	TNT1 A 0 A_UnSetInvulnerable
	PC7D H 6
	Goto See
  Ice:
	TNT1 A 0 A_RemoveChildren(1)
    PC7D H 5 A_GenericFreezeDeath
    PC7D H 1 A_FreezeDeathChunks
    Wait
  Death:
	TNT1 A 0
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_StopSound(7)
    PC7D I 20 A_Scream
	TNT1 AA 0 A_SpawnItemEx("MutantGibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	PC7D JJJJ 2 A_CustomMissile("PurpleKaboom4", Random(10,50), 0, random(0,360), 2, random(0,360))
	PC7D KKKK 2 A_CustomMissile("PurpleKaboom4", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("MutantGibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	PC7D LLLL 2 A_CustomMissile("PurpleKaboom4", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("MutantGibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	PC7D MMMM 2 A_CustomMissile("PurpleKaboom4", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("MutantGibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    PC7D N 4 A_NoBlocking
    PC7D O 3 A_BossDeath
	TNT1 A 1 A_KillMaster
	Stop
  Raise:
	Stop
  } 
}

ACTOR PhaseCardHomer : PhaseCyberHomer
{
  Damagetype "Noble"
  States
  {
  Death:
	TNT1 A 0
	TNT1 A 0 A_radiusgive("PhaseMindfuck",80,RGF_PLAYERS)
	TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
    TNT1 AAA 0 A_CustomMissile("PurpleKaboom4", 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)
    PHRK B 6 Bright A_Explode
    PHRK CDEF 4 Bright A_SetTranslucent(0.75,1)
    Stop
	}
}

ACTOR PhaseCardRail : PhaseCyberRail
{
  DamageType "Noble"
}

ACTOR PhaseCardRocket : PhaseCyberRocket
{
  Damagetype "Noble"
  States
  {
  Death:
	TNT1 A 0
	TNT1 A 0 A_radiusgive("PhaseMindfuck",80,RGF_PLAYERS)
	TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
    TNT1 AAA 0 A_CustomMissile("PurpleKaboom4", 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)
    PHRK B 6 Bright A_Explode
    PHRK CDEF 4 Bright A_SetTranslucent(0.75,1)
    Stop
	}
}

ACTOR PhaseCard15KBall : PhaseCyber15KBall
{
  DamageType "Noble"
}

ACTOR LesserPhaseCardinalFireSpawner : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	TNT1 A 0 A_SpawnItemEx("LesserPhaseCardinalFireEx",random(-12,12),random(-12,12),random(30,60),0,0,random(-4,-6),0,128,0)	
    TNT1 AAAA 0 A_SpawnItemEx("LesserPhaseCardinalFire",random(-18,18),random(-18,18),random(25,60),0,0,random(-6,-8),0,128,0)
    TNT1 A 1
    Stop
  }
}

ACTOR LesserPhaseCardinalFireEx : PurpleKaboom13
{
Scale 0.5
}

ACTOR LesserPhaseCardinalFire
{
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
RenderStyle Add
Scale 0.3
States
{
Spawn:
FXP2 ABCDEFGHIJKL 1 Bright A_FadeOut
Stop
}
}

ACTOR LesserPhaseHomerSpawner
{
Height 2
Radius 2
Speed 6
RenderStyle Subtract
Alpha 0.9
XScale 3
YScale 0.5
PROJECTILE
+SPAWNCEILING
+CEILINGHUGGER
+DONTSPLASH
States
{
Spawn:
	TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_Wander
	CMRA ABCDEFGHIJABCDEFGHIJ 2 Bright A_Wander
    TNT1 A 0 A_CustomMissile("PhaseArchonBall",-18,random(0,20),random(0,360),2)
	CMRA AAABBBCCC 1 Bright A_Wander
    TNT1 A 0 A_CustomMissile("PhaseArchonBall",-18,random(0,20),random(0,360),2)
	CMRA EEEFFFGGG 1 Bright A_Wander
    TNT1 A 0 A_CustomMissile("PhaseArchonBall",-18,random(0,20),random(0,360),2)
	CMRA HHHIIIJJJ 1 Bright A_Wander
	TNT1 A 0 A_CustomMissile("PhaseArchonBall",-18,random(0,20),random(0,360),2)
FadeOut:
	CMRA ABCDEFGHIJ 2 Bright A_FadeOut(0.06)
    Goto FadeOut
	}
}