/*	
================================================================================
	Crucified Seraph
	
	Class: Sacrifical Angel
	Replaces: Cyberdemon
	
	"An immortal, ten-winged angel charged with the selfless task of absorbing and 
destroying the world's sin. The pain of this task has greatly weakened her to 
the point where she had to be crucified to her own wings just to keep standing. 
She channels this power into living fireballs that burn anything in their path 
to cinders."
	Absorbing Sin, the Seraph is always in prepetual pain which has greatly 
weakened her. Her once beautiful robes reduced to rags or stripped off her body
entirely, leaving her exposed to the elements. She will eventually die of pain, 
only to be reborn to begin the task once again.

	-As the replacement to the Cyberdemon, the Crucified Seraph is no pushover.
Her main attack is to fire six small homing fireball followed by a loon blast, 
an explosive missile with splash damage that can often one-shot the player. When
entering her pain state, she will launch 5 ground fireballs in 45 degree patterns
which do minor splash damage and make it hard to merely circle straff her to
death. Worst of all, the Crucified Seraph is able to fly.
	The Crucified Seraph has several weakness compared to the Cyberdemon. She is
3500 Hp rather than 4000, and can be 1-shotted with a good BFG shot. She is very
slow and it takes time for her to attack, unlike a cyber which can unload its
rockets in milliseconds.
	On death, the Seraph will spawn a red egg. This egg should ALWAYS be the 
highest priority as if it hatches, the Seraph will be reborn in her original 
state.

================================================================================
*/

ACTOR Seraph replaces Cyberdemon
{
  Health 3500
  Radius 40
  Height 110
  Mass 5000
  Speed 5
  PainChance 20
  Tag "Crucified Seraph"
  Species "Seraph"
  Monster
  +BOSS
  +QUICKTORETALIATE
  +MISSILEMORE
  +DONTMORPH
  +DONTFALL
  +DONTHARMCLASS
  +NOICEDEATH
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Judgement", 0
  DamageFactor "Holy", 0
  DamageFactor "Ice", 500
  DamageFactor "KissMagic", 2
  DamageFactor "DashDamage", 0.25
  DamageFactor "TsundereDamage", 0.5 //Substance18's Doomgals
  DamageFactor "TouhouAllyDamage", 0.5 //Untitled's Touhou Doom Allies
  DamageFactor "Susiestoughlove", 0.5 //Veronica's Susie
  DamageFactor "RALSEISWARMLOVE", 0.5 //Veronica's Ralsei
  DamageFactor "ISABELLESROMANTICLOVE", 0.5 //Veronica's Isabelle
  DamageFactor "CloneDamage", 0.5 //Skelgant's Gholazon
  DamageFactor "CordieDamage", 0.5 // Bimmy's Cordie
  DamageFactor "VivianDamage", 0.5 // Bimmy's Vivian
  DamageFactor "FriesDamage", 0.5 // Skelegant's Frylock
  DamageFactor "MeatlingDamage", 0.5 // Skelegant's Meatling (Gholazon X)
  PainChance "BurningAngelDamage", 0
  damageFactor "BurningAngelDamage", 0
  DamageFactor "DRadysAllyDamage", 0.5 //Untitled's D-Radys Class Helpers (orig. by Toasty)
  DamageFactor "ISPrisonerDamage", 0.5 //Hyakutaro Ichimonji mod for Melodica's Iro
  SeeSound "seraph/sight"
  PainSound "seraph/pain"
  DeathSound "seraph/death"
  ActiveSound "seraph/active"
  Obituary "%o was incinerated by a Crucified Seraph"
    DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
    DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
  	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 128
	DropItem "AngelHealthSpawner", 128
	DropItem "AngelHealthSpawner", 128
	DropItem "SoulSphere", 8

	var int user_haloactive;

  States
  {
  Spawn:
	SZPH A 0 // Blank frame with the angel's sprite, in case a map or script makes them dormant, or for mods like Corruption Cards.
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop") // Makes sure the halo is only spawned once.
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("SeraphHalo", 0,0,100, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
    SZPH AB 10 A_Look
    Loop
  See:
    SZPH AABBCCDD 3 A_Chase
	TNT1 A 0 A_Changeflag("FLOAT",TRUE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",TRUE)
    Loop
  Missile:
    SZPH EFG 6 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",10, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",10, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",70, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",70, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",110, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",110, 45, 0, 4, 0)
    SZPH H 12 Bright A_FaceTarget
	SZPH I 5 Bright A_CustomMissile ("LoonBlast",73, 0, 0, 4, 0)
    Goto See
  Pain:
	TNT1 AA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH J 1 A_Pain
	TNT1 AAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH J 4
	TNT1 A 0 A_GiveInventory("NoRainbowRip",1)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 0, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 90, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -90, 0, 0)
    Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	SZPH K 10 Bright A_NoBlocking
	SZPH L 10 Bright A_BossDeath
	SZPH M 10 Bright A_Scream
	SZPH N 2 Bright A_DropItem ("RedEgg")
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 A 0 A_Quake(4,60,0,350,"Seraph/Burn")
	SZPH OPN 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPN 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPN 3 Bright 
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPQ 3 Bright 
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH QRS 4 Bright
	TNT1 A 0 A_Changeflag("DONTFALL",False)
	SZPH TUVWXYZ 4 Bright
	SZ2H AB 4
    Stop
  Death.Fire:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_BossDeath
	LT2S A 10 Bright A_Scream
	LT2S B 8 Bright
	LT2S C 10 Bright A_playsound ("greatseraph/active1")
	TNT1 A 0 A_playsound ("seraph/sizzle")
	LT2S DEDEDEDEDE 3 Bright 
	TNT1 A 0 A_playsound ("seraph/sizzle")
	LT2S FG 10 Bright
	LT2S H 15 Bright
	LTG3 A 30 Bright A_FaceTarget
	TNT1 I 0 A_SpawnItemEx ("BarbieSeraph", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Stop
   Death.Ice:
    TNT1 A 0
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	LTGS O 75
	KI2S E 1 A_SpawnItemEx ("IceSeraph", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	TNT1 A 0 A_FreezeDeathChunks
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
    Stop
  }
}

ACTOR QuietSeraph : Seraph
{
  Tag "Seraph"
  SeeSound "light/altint"
  PainSound "seraph/sizzle"
  DeathSound "Seraph/Burn"
  ActiveSound "bird/flap" 
}

ACTOR PureSeraph
{
  Health 3500
  Radius 40
  Height 110
  Mass 5000
  Speed 5
  PainChance 20
  Species "Seraph"
  Tag "Crucified Seraph"
  Monster
  +BOSS
  +QUICKTORETALIATE
  +MISSILEMORE
  +DONTMORPH
  +DONTFALL
  +DONTHARMCLASS
  +NOICEDEATH
  DamageFactor "Judgement", 0
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Holy", 0
  DamageFactor "FireMagic", 0
  DamageFactor "RainbowRip", 0
  DamageFactor "None", 1
  DamageFactor "BFGSplash", 0.5
  DamageFactor "lightning", 0.5
  DamageFactor "Ice", 0
  DamageFactor "Fire", 2.0
  DamageFactor "Crush", 0
  DamageFactor "Massacre", 0
  DamageFactor "GoldenGooseDamage", 0
  DamageFactor "TsundereDamage", 0.01
  DamageFactor "TouhouAllyDamage", 0.5 //Untitled's Touhou Doom Allies
  DamageFactor "Susiestoughlove", 0.5 //Veronica's Susie
  DamageFactor "RALSEISWARMLOVE", 0.5 //Veronica's Ralsei
  DamageFactor "ISABELLESROMANTICLOVE", 0.5 //Veronica's Isabelle
  DamageFactor "CloneDamage", 0.5 //Skelgant's Gholazon
  DamageFactor "CordieDamage", 0.5 // Bimmy's Cordie
  DamageFactor "VivianDamage", 0.5 // Bimmy's Vivian
  DamageFactor "FriesDamage", 0.5 // Skelegant's Frylock
  DamageFactor "MeatlingDamage", 0.5 // Skelegant's Meatling (Gholazon X)
  PainChance "BurningAngelDamage", 0
  damageFactor "BurningAngelDamage", 0
  DamageFactor "DRadysAllyDamage", 0.5 //Untitled's D-Radys Class Helpers (orig. by Toasty)
  DamageFactor "ISPrisonerDamage", 0.5 //Hyakutaro Ichimonji mod for Melodica's Iro
  SeeSound "seraph/sight"
  PainSound "seraph/pain"
  DeathSound "seraph/death"
  ActiveSound "seraph/active"
  Obituary "%o was burned to a crisp by a Crucified Seraph."
    DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
    DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
  	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 128
	DropItem "AngelHealthSpawner", 128
	DropItem "AngelHealthSpawner", 128
	DropItem "SoulSphere", 8

	var int user_haloactive;

  States
  {
  Spawn:
	LTGS A 0 // Blank frame with the angel's sprite, in case a map or script makes them dormant, or for mods like Corruption Cards.
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop") // Makes sure the halo is only spawned once.
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("SeraphHalo", 0,0,100, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  Aggressive:
	TNT1 A 0
	TNT1 A 0 A_Changeflag("NODROPOFF",FALSE)
	Goto SpawnLoop
  SpawnLoop:
    LTGS ABCD 10 A_Look
    Loop
  See:
    LTGS AABB 3 A_Chase
	LTGS CC 2 A_Chase
	LTGS DD 3 A_Chase
	TNT1 A 0 A_Changeflag("FLOAT",TRUE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",TRUE)
    Loop
  Missile:
    LTGS EFG 6 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",115, 45, 0, 4, 0)
    LTGS I 12 Bright A_FaceTarget
	LTGS I 5 Bright A_CustomMissile ("LoonBlast",68, 0, 0, 4, 0)
    Goto See
  Pain:
	TNT1 AA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	LTGS J 1 A_Pain
	TNT1 A 0 A_GiveInventory("NoRainbowRip",1)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 0, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 90, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -90, 0, 0)
	LTGS J 4
    Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	LTGS M 10 Bright A_NoBlocking
	LTGS N 10 Bright A_BossDeath
	SZPH M 10 Bright A_Scream
	SZPH N 2 Bright A_DropItem ("RedEgg")
	TNT1 A 0 A_playsound ("Seraph/Burn")
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 A 0 A_playsound ("Seraph/Burn")
	TNT1 A 0 A_Quake(4,60,0,350)
	SZPH OPN 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPN 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPN 3 Bright 
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH NOP 3 Bright 
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH QRS 4 Bright
	TNT1 A 0 A_Changeflag("DONTFALL",False)
	SZPH TUVWXYZ 4 Bright
	SZ2H AB 4 A_BossDeath
    Stop
  }
}

ACTOR QuietPureSeraph : PureSeraph
{
  Tag "Seraph"
  SeeSound "light/altint"
  PainSound "seraph/sizzle"
  DeathSound "Seraph/Burn"
  ActiveSound "bird/flap" 
}

ACTOR CensoredSeraph  // This Seraph cannot be stripped
{
  Health 3500
  Radius 40
  Height 110
  Mass 5000
  Speed 5
  PainChance 20
  Tag "Censored Seraph"
  Species "Seraph"
  Monster
  +BOSS
  +QUICKTORETALIATE
  +MISSILEMORE
  +DONTMORPH
  +DONTFALL
  +DONTHARMCLASS
  +NOICEDEATH
  +NODROPOFF
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Judgement", 0
  DamageFactor "Holy", 0
  DamageFactor "Ice", 500
  DamageFactor "Fire", 0.25
  DamageFactor "KissMagic", 2
  DamageFactor "TsundereDamage", 0.5 //Substance18's Doomgals
  DamageFactor "TouhouAllyDamage", 0.5 //Untitled's Touhou Doom Allies
  DamageFactor "Susiestoughlove", 0.5 //Veronica's Susie
  DamageFactor "RALSEISWARMLOVE", 0.5 //Veronica's Ralsei
  DamageFactor "ISABELLESROMANTICLOVE", 0.5 //Veronica's Isabelle
  DamageFactor "CloneDamage", 0.5 //Skelgant's Gholazon
  DamageFactor "CordieDamage", 0.5 // Bimmy's Cordie
  DamageFactor "VivianDamage", 0.5 // Bimmy's Vivian
  DamageFactor "FriesDamage", 0.5 // Skelegant's Frylock
  DamageFactor "MeatlingDamage", 0.5 // Skelegant's Meatling (Gholazon X)
  PainChance "BurningAngelDamage", 0
  damageFactor "BurningAngelDamage", 0
  DamageFactor "DRadysAllyDamage", 0.5 //Untitled's D-Radys Class Helpers (orig. by Toasty)
  DamageFactor "ISPrisonerDamage", 0.5 //Hyakutaro Ichimonji mod for Melodica's Iro
  SeeSound "seraph/sight"
  PainSound "seraph/pain"
  DeathSound "seraph/death"
  ActiveSound "seraph/active"
  Obituary "%o was incinerated by a Crucified Seraph"
    DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
    DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
  	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 128
	DropItem "AngelHealthSpawner", 128
	DropItem "AngelHealthSpawner", 128
	DropItem "SoulSphere", 8

	var int user_haloactive;

  States
  {
  Spawn:
	SZPH A 0 // Blank frame with the angel's sprite, in case a map or script makes them dormant, or for mods like Corruption Cards.
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop") // Makes sure the halo is only spawned once.
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("SeraphHalo", 0,0,100, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
    SZPH AB 10 A_Look
    Loop
  See:
    SZPH AABBCCDD 3 A_Chase
	TNT1 A 0 A_Changeflag("FLOAT",TRUE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",TRUE)
    Loop
  Missile:
    SZPH EFG 6 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",10, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",10, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",70, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",70, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",110, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",110, 45, 0, 4, 0)
    SZPH H 12 Bright A_FaceTarget
	SZPH I 5 Bright A_CustomMissile ("LoonBlast",73, 0, 0, 4, 0)
    Goto See
  Pain:
	TNT1 AA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH J 1 A_Pain
	TNT1 A 0 A_GiveInventory("NoRainbowRip",1)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 0, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 90, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -90, 0, 0)
	SZPH J 3
	Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	SZPH K 10 Bright A_NoBlocking
	SZPH L 10 Bright A_BossDeath
	SZPH M 10 Bright A_Scream
	SZPH N 2 Bright A_DropItem ("RedEgg")
	TNT1 A 0 A_playsound ("Seraph/Burn")
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 A 0 A_playsound ("Seraph/Burn")
	TNT1 A 0 A_Quake(4,60,0,350)
	SZPH OPN 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPN 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPN 3 Bright 
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH NOP 3 Bright 
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH QRS 4 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 A 0 A_Changeflag("DONTFALL",False)
	TNT1 A 0 A_playsound ("seraph/sizzle")
	SZPH TUVWXYZ 4 Bright
	SZ2H AB 4 A_BossDeath
    Stop
  Death.Ice:
    TNT1 A 0
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	LTGS O 75
	KI2S E 1 A_SpawnItemEx ("IceSeraph", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	TNT1 A 0 A_FreezeDeathChunks
    Stop
  }
}

ACTOR QuietCensoredSeraph : CensoredSeraph
{
  Tag "Seraph"
  SeeSound "light/altint"
  PainSound "seraph/sizzle"
  DeathSound "Seraph/Burn"
  ActiveSound "bird/flap" 
}

ACTOR BarbieSeraph  //Nude Seraph without naughty bits.
{
  Health 2000
  Radius 40
  Height 110
  Mass 5000
  Speed 8
  PainChance 20
  Species "Seraph"
  Tag "Crucified Seraph"
  Monster
  +BOSS
  +QUICKTORETALIATE
  +MISSILEMORE
  +DONTMORPH
  +DONTFALL
  +DONTHARMCLASS
  +DONTRIP
  +NOICEDEATH
  +NORADIUSDMG
  DamageFactor "Judgement", 0
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Holy", 0
  DamageFactor "FireMagic", 0
  DamageFactor "RainbowRip", 0
  DamageFactor "None", 1
  DamageFactor "BFGSplash", 0.5
  DamageFactor "lightning", 0.5
  DamageFactor "Ice", 0.5
  DamageFactor "Fire", 0.5
  DamageFactor "KissMagic", 2
  DamageFactor "Crush", 0
  DamageFactor "Massacre", 0
  DamageFactor "GoldenGooseDamage", 0
  DamageFactor "TsundereDamage", 0.01
  DamageFactor "TouhouAllyDamage", 0.5 //Untitled's Touhou Doom Allies
  DamageFactor "Susiestoughlove", 0.5 //Veronica's Susie
  DamageFactor "RALSEISWARMLOVE", 0.5 //Veronica's Ralsei
  DamageFactor "ISABELLESROMANTICLOVE", 0.5 //Veronica's Isabelle
  DamageFactor "CloneDamage", 0.5 //Skelgant's Gholazon
  DamageFactor "CordieDamage", 0.5 // Bimmy's Cordie
  DamageFactor "VivianDamage", 0.5 // Bimmy's Vivian
  DamageFactor "FriesDamage", 0.5 // Skelegant's Frylock
  DamageFactor "MeatlingDamage", 0.5 // Skelegant's Meatling (Gholazon X)
  PainChance "BurningAngelDamage", 0
  damageFactor "BurningAngelDamage", 0
  DamageFactor "DRadysAllyDamage", 0.5 //Untitled's D-Radys Class Helpers (orig. by Toasty)
  DamageFactor "ISPrisonerDamage", 0.5 //Hyakutaro Ichimonji mod for Melodica's Iro
  SeeSound "seraph/sight"
  PainSound "seraph/pain"
  DeathSound "seraph/death"
  ActiveSound "greatseraph/active"
  Obituary "Stripping the Seraph didn't do %o any favors."
    DropItem "AngelicHealthBonus", 256
	DropItem "AngelicHealthBonus", 256
	DropItem "AngelicHealthBonus", 256
	DropItem "AngelicHealthBonus", 256
    DropItem "AngelicHealthBonus", 256
	DropItem "AngelicHealthBonus", 256
  	DropItem "AngelicHealthBonus", 256
	DropItem "AngelicHealthBonus", 128
	DropItem "AngelicHealthBonus", 128
	DropItem "AngelicHealthBonus", 128
	DropItem "SoulSphere", 8

	var int user_haloactive;

  States
  {
  Spawn:
	LTG3 A 0 // Blank frame with the angel's sprite, in case a map or script makes them dormant, or for mods like Corruption Cards.
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop") // Makes sure the halo is only spawned once.
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("SeraphHalo", 0,0,100, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
	TNT1 A 0 A_FaceTarget
    LTG3 ABCD 10 A_Look
    Goto See
  See:
    LTG3 AABB 3 A_Chase
	LTG3 CC 2 A_Chase
	LTG3 DD 3 A_Chase
	TNT1 A 0 A_Changeflag("FLOAT",TRUE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",TRUE)
    Loop
  Missile:
    LTG3 EFG 6 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball",115, 45, 0, 4, 0)
    LTG3 I 12 Bright A_FaceTarget
	LTG3 I 5 Bright A_CustomMissile ("LoonBlast",73, 0, 0, 4, 0)
    Goto See
  Pain:
	TNT1 AA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	LTG3 J 1 A_Pain
	TNT1 A 0 A_GiveInventory("NoRainbowRip",1)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 0, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 90, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -90, 0, 0)
	LTG3 J 4
    Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	LTG3 K 10 Bright A_NoBlocking
	LTG3 L 10 Bright A_BossDeath
	SZPH M 10 Bright A_Scream
	SZ2H N 2 Bright A_DropItem ("RedEgg")
	TNT1 A 0 A_playsound ("Seraph/Burn")
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 A 0 A_playsound ("Seraph/Burn")
	TNT1 A 0 A_Quake(4,60,0,350)
	SZPH OPN 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPN 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH OPN 3 Bright 
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH NOP 3 Bright 
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-20,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,20),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SZPH QRS 4 Bright
	TNT1 A 0 A_Changeflag("DONTFALL",False)
	SZPH TUVWXYZ 4 Bright
	SZ2H AB 4
    Stop
  }
}

ACTOR QuietBarbieSeraph : BarbieSeraph
{
  Tag "Seraph"
  SeeSound "light/altint"
  PainSound "seraph/sizzle"
  DeathSound "Seraph/Burn"
  ActiveSound "bird/flap" 
}

ACTOR IceSeraph
{
  Health 3500
  Radius 40
  Height 110
  Mass 5000
  Speed 7
  PainChance 50
  Tag "Ice Seraph"
  Species "Seraph"
  Monster
  +BOSS
  +QUICKTORETALIATE
  +MISSILEMORE
  +DONTMORPH
  +DONTFALL
  +DONTHARMCLASS
  +NOICEDEATH
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Judgement", 0
  DamageFactor "Holy", 0
  DamageFactor "Ice", 0
  DamageFactor "Fire", 1.25
  DamageFactor "KissMagic", 2
  DamageFactor "DashDamage", 0.25
  DamageFactor "TsundereDamage", 0.5 //Substance18's Doomgals
  DamageFactor "TouhouAllyDamage", 0.5 //Untitled's Touhou Doom Allies
  DamageFactor "Susiestoughlove", 0.5 //Veronica's Susie
  DamageFactor "RALSEISWARMLOVE", 0.5 //Veronica's Ralsei
  DamageFactor "ISABELLESROMANTICLOVE", 0.5 //Veronica's Isabelle
  DamageFactor "CloneDamage", 0.5 //Skelgant's Gholazon
  DamageFactor "CordieDamage", 0.5 // Bimmy's Cordie
  DamageFactor "VivianDamage", 0.5 // Bimmy's Vivian
  DamageFactor "FriesDamage", 0.5 // Skelegant's Frylock
  DamageFactor "MeatlingDamage", 0.5 // Skelegant's Meatling (Gholazon X)
  PainChance "BurningAngelDamage", 0
  damageFactor "BurningAngelDamage", 0
  DamageFactor "DRadysAllyDamage", 0.5 //Untitled's D-Radys Class Helpers (orig. by Toasty)
  DamageFactor "ISPrisonerDamage", 0.5 //Hyakutaro Ichimonji mod for Melodica's Iro
  SeeSound "seraph/sight"
  PainSound "seraph/pain"
  DeathSound "seraph/death"
  ActiveSound "seraph/active"
  Obituary "%o was frozen solid by the Ice Seraph"
    DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
    DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 256
  	DropItem "AngelHealthSpawner", 256
	DropItem "AngelHealthSpawner", 128
	DropItem "AngelHealthSpawner", 128
	DropItem "AngelHealthSpawner", 128
	DropItem "SoulSphere", 8

	var int user_haloactive;

  States
  {
  Spawn:
	IZPH A 0 // Blank frame with the angel's sprite, in case a map or script makes them dormant, or for mods like Corruption Cards.
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop") // Makes sure the halo is only spawned once.
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("SeraphHalo", 0,0,100, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
    IZPH AB 10 A_Look
    Loop
  See:
    IZPH AABBCCDD 3 A_Chase
	TNT1 A 0 A_Changeflag("FLOAT",TRUE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",TRUE)
    Loop
  Missile:
    IZPH E 3 A_FaceTarget
	IZPH F 3 Bright A_FaceTarget
	IZPH G 3 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("Flake",10, -54, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Flake",10, 54, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Flake",75, -85, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Flake",75, 85, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Flake",110, -54, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Flake",110, 54, 0, 4, 0)
	TNT1 A 0 A_CPosRefire
	Goto Missile+1
  Pain:
	IZPH H 3 A_Pain
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,180, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,0, CMF_AIMDIRECTION)
	IZPH H 1
	TNT1 A 0 A_GiveInventory("NoRainbowRip",1)
    Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 AA 0 A_SpawnItemEx ("AviaryIceSpawner2")
	IZPH H 10 Bright A_NoBlocking
	TNT1 A 0 A_Quake(5,60,0,350)
	TNT1 A 0 A_BossDeath
	TNT1 AAAA 0 A_SpawnItemEx ("AviaryIceSpawner3")
	TNT1 AAA 0 A_SpawnItemEx ("AviaryIceSpawner2")
		TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,180, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,0, CMF_AIMDIRECTION)
		TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,0, CMF_AIMDIRECTION)
		TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,0, CMF_AIMDIRECTION)
		TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,0, CMF_AIMDIRECTION)
	IZPH H 10 Bright 
		TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,180, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,0, CMF_AIMDIRECTION)
		TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,0, CMF_AIMDIRECTION)
		TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,0, CMF_AIMDIRECTION)
		TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,0, CMF_AIMDIRECTION)
	IZPH H 10 Bright A_Scream
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner3")
	TNT1 A 0 
		TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,-135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,180, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("BigFlake1",12,0,0, CMF_AIMDIRECTION)
		TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",26,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",26,0,0, CMF_AIMDIRECTION)
		TNT1 A 0 Bright A_CustomMissile ("BigFlake2",12,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",38,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",38,0,0, CMF_AIMDIRECTION)
		TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake1",50,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("BigFlake2",50,0,0, CMF_AIMDIRECTION)
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx ("ExtraIce")
	IZPH H 2 Bright 
	TNT1 A 0 A_Changeflag("DONTFALL",False)
	TNT1 AAA 0 A_SpawnItemEx ("AviaryIceSpawner3")
	TNT1 AA 0 A_SpawnItemEx ("AviaryIceSpawner3")
    Stop
  }
}
 
ACTOR RedEgg
{
  Health 1250
  Radius 20
  Height 56
  Mass 5000
  Speed 14
  PainChance 0
  Tag "Red Egg"
  +SOLID
  +SHOOTABLE
  +FLOORCLIP
  +CANNOTPUSH
  +FULLVOLACTIVE
  +DONTRIP
  +NOBLOOD
  +NOBLOODDECALS
  +NOTELEFRAG
  +BOSSDEATH
  DamageFactor "UndeadGoHomeImpact", 0
  DeathSound "egg/death"
  DamageFactor "NoRainbowRip", 1
  DamageFactor "KissMagic", 2
	
  States
  {
  Spawn:
	REGG A 100
	TNT1 A 0 Bright a_playsound("egg/active")
	REGG B 100
	TNT1 A 0 Bright a_playsound("egg/active")
	REGG C 100
	TNT1 A 0 Bright a_playsound("egg/active")
	REGG D 50 Bright
	REGG D 1 a_playsound("egg/charge") 
	REGG D 49 Bright
	TNT1 A 0 Bright a_playsound("egg/active")
	REGG E 25 Bright
	REGG E 8 a_playsound("egg/charge")
	REGG E 25 Bright
	REGG E 8 a_playsound("egg/charge") 
	REGG E 25 Bright
	REGG E 8 a_playsound("egg/charge")
	REGG E 25 Bright
	TNT1 A 0 a_playsound("egg/charge")
	REGG F 20 Bright
	REGG F 10 a_playsound("egg/charge")
	REGG F 20 Bright
	REGG F 10 a_playsound("egg/charge")
	REGG F 20 Bright
	REGG F 10 a_playsound("egg/charge")
	REGG F 20 Bright
	TNT1 A 0 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	TNT1 A 0 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	TNT1 A 0 a_playsound("egg/live")
	TNT1 A 0 A_NoBlocking
	LASB ABCDEFGHIJ 1 Bright
	TNT1 A 1 A_SpawnItemEx("Great_Seraph",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION | SXF_TELEFRAG)
	LAS2 ABCDE 1 Bright
	Stop
  Death:
  	REGG N 3 A_NoBlocking
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Eggshell01",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("Eggshell01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Eggshell02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Eggshell02",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Eggshell03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Eggshell03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Eggshell03",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("Eggshell04",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Eggshell04",0,0,32,random(-10,10),random(-10,10),random(5,10))
	REGG O 3 A_Scream
	REGG PQRST 3
	REGG U -1 A_BossDeath
	Stop
	}
}

ACTOR Great_Seraph
{
  Health 5000
  Radius 40
  Height 110
  Mass 1000
  Speed 16
  PainChance 10
  Tag "Great Seraph"
  Species "Seraph"
  Monster
  +BOSS
  +FLOAT
  +NOGRAVITY
  +QUICKTORETALIATE
  +MISSILEMORE
  +NOTARGET
  +NORADIUSDMG
  +DONTMORPH
  +NOICEDEATH
  +NOFEAR
  +CANTSEEK
  +DONTHARMCLASS
  +DONTRIP
  +NOTELEFRAG
  +LOOKALLAROUND
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Judgement", 0
  DamageFactor "Holy", 0
  DamageType "Fire"
  DamageFactor "Fire", 0
  DamageFactor "Ice", 0.5
  DamageFactor "FireMagic", 0
  DamageFactor "KissMagic", 2
  DamageFactor "RainbowRip", 0
  DamageFactor "GoldenGooseDamage", 0
  DamageFactor "DashDamage", 0
  DamageFactor "TsundereDamage", 0.5 //Substance18's Doomgals
  DamageFactor "TouhouAllyDamage", 0.5 //Untitled's Touhou Doom Allies
  DamageFactor "Susiestoughlove", 0.5 //Veronica's Susie
  DamageFactor "RALSEISWARMLOVE", 0.5 //Veronica's Ralsei
  DamageFactor "ISABELLESROMANTICLOVE", 0.5 //Veronica's Isabelle
  DamageFactor "CloneDamage", 0.5 //Skelgant's Gholazon
  DamageFactor "CordieDamage", 0.5 // Bimmy's Cordie
  DamageFactor "VivianDamage", 0.5 // Bimmy's Vivian
  DamageFactor "FriesDamage", 0.5 // Skelegant's Frylock
  DamageFactor "MeatlingDamage", 0.5 // Skelegant's Meatling (Gholazon X)
  PainChance "HunkDamage", 0 //Skelegant's Cosmic Muscle
  damageFactor "HunkDamage", 0
  PainChance "Slicedamage", 0
  damageFactor "Slicedamage", 0
  PainChance "Punchdamage", 0
  damageFactor "Punchdamage", 0
  PainChance "Shockdamage", 0
  damageFactor "Shockdamage", 0
  PainChance "BurningAngelDamage", 0
  damageFactor "BurningAngelDamage", 0
  DamageFactor "DRadysAllyDamage", 0.5 //Untitled's D-Radys Class Helpers (orig. by Toasty)
  DamageFactor "ISPrisonerDamage", 0.5 //Hyakutaro Ichimonji mod for Melodica's Iro
  SeeSound "greatseraph/sight"
  PainSound "seraph/pain"
  DeathSound "seraph/death"
  ActiveSound "greatseraph/active"
  Obituary "%o should not have let the egg hatch"
    DropItem "Soulsphere", 256
	DropItem "Cellpack", 256
	DropItem "Cellpack", 256
	
		var int user_haloactive;

  States
  {
  Spawn:
	SGPH A 0 // Blank frame with the angel's sprite, in case a map or script makes them dormant, or for mods like Corruption Cards.
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop") // Makes sure the halo is only spawned once.
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("GreatSeraphHalo", 0,0,100, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
    SGPH ABCD 10 A_Look
    Loop
  See:
    SGPH AABBCCDD 2 A_Chase
    Loop
  Missile:
    SGPH EFG 4 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, 45, 0, 4, 0)
	SGPH G 4 Bright
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, 45, 0, 4, 0)
	SGPH G 4 Bright
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, 45, 0, 4, 0)
    SGPH H 8 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlastFast",75, 0, 0, 4, 0)
	SGPH H 4 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlast",75, 0, 0, 4, 0)
	SGPH H 4 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlastFast",75, 0, 0, 4, 0)
    Goto See
  Pain:
	TNT1 AA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    SGPH J 2 A_Pain
	TNT1 AAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SGPH J 3
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 0, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 90, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 180, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -180, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -90, 0, 0)
    Goto See
  Death:
	SGPH K 10 Bright A_NoBlocking
	SGPH L 10 Bright A_BossDeath
	SGPH M 10 Bright A_Scream
	SGPH N 2 Bright A_DropItem ("RedEgg2")
	TNT1 A 0 A_playsound ("Seraph/Burn")
	TNT1 A 0 A_Quake(6,60,0,400)
	SGPH OPNOPNOPNOP 3 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SGPH QRS 4 Bright
	SGPH TUVWXYZ 4
	SG8H AB 4
    Stop
  }
}

ACTOR RedEgg2
{
  Health 1000
  Radius 20
  Height 56
  Mass 5000
  Speed 14
  PainChance 0
  Tag "Red Egg"
  DeathSound "egg/death"
  +SOLID
  +SHOOTABLE
  +FLOORCLIP
  +CANNOTPUSH
  +FULLVOLACTIVE
  +NOBLOOD
  +NOBLOODDECALS
  +BOSSDEATH
  DamageFactor "NoRainbowRip", 1
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Judgement", 0
  DamageFactor "Holy", 0
	
  States
  {
  Spawn:
	REGG A 100
	TNT1 A 0 Bright a_playsound("egg/active")
	REGG B 100
	TNT1 A 0 Bright a_playsound("egg/active")
	REGG C 100
	TNT1 A 0 Bright a_playsound("egg/active")
	REGG D 50 Bright
	REGG D 1 a_playsound("egg/charge") 
	REGG D 49 Bright
	TNT1 A 0 Bright a_playsound("egg/active")
	REGG E 25 Bright
	REGG E 8 a_playsound("egg/charge")
	REGG E 25 Bright
	REGG E 8 a_playsound("egg/charge") 
	REGG E 25 Bright
	REGG E 8 a_playsound("egg/charge")
	REGG F 20 Bright
	REGG F 10 a_playsound("egg/charge")
	REGG F 20 Bright
	REGG F 10 a_playsound("egg/charge")
	REGG F 20 Bright
	REGG F 10 a_playsound("egg/charge")
	REGG F 10 Bright
	TNT1 A 0 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	REGG G 5 a_playsound("egg/charge")
	REGG G 10 Bright
	TNT1 A 0 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	REGG H 5 Bright
	REGG H 2 a_playsound("egg/charge")
	TNT1 A 0 a_playsound("egg/live")
	TNT1 A 0 A_NoBlocking
	LASB ABCDEFGHIJ 1 Bright
	TNT1 A 10 A_SpawnItemEx("Great_Seraph2",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION | SXF_TELEFRAG)
	LAS2 ABCDE 1 Bright
	Stop
  Death:
  	REGG N 2 A_NoBlocking
	REGG O 2 A_Scream
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Eggshell01",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("Eggshell01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Eggshell02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Eggshell02",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Eggshell03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Eggshell03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Eggshell03",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("Eggshell04",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Eggshell04",0,0,32,random(-10,10),random(-10,10),random(5,10))
	REGG PQRST 2
	REGG U -1 A_BossDeath
	Stop
	}
}

ACTOR Great_Seraph2
{
  Health 5000
  Radius 40
  Height 110
  Mass 1000
  Speed 16
  PainChance 10
  Tag "Great Seraph"
  Monster
  +BOSS
  +FLOAT
  +NOGRAVITY
  +QUICKTORETALIATE
  +MISSILEEVENMORE
  +NOTARGET
  +NORADIUSDMG
  +DONTMORPH
  +NOICEDEATH
  +NOTIMEFREEZE
  +NOFEAR
  +CANTSEEK
  +DONTHARMCLASS
  +DONTRIP
  +NOTELEFRAG
  +LOOKALLAROUND
  DamageType "Fire"
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Judgement", 0
  DamageFactor "Holy", 0
  DamageFactor "Fire", 0
  DamageFactor "Ice", 0.5
  DamageFactor "FireMagic", 0
  DamageFactor "KissMagic", 2
  DamageFactor "RainbowRip", 0
  DamageFactor "GoldenGooseDamage", 0
  DamageFactor "DashDamage", 0
  DamageFactor "TsundereDamage", 0.5 //Substance18's Doomgals
  DamageFactor "TouhouAllyDamage", 0.5 //Untitled's Touhou Doom Allies
  DamageFactor "Susiestoughlove", 0.5 //Veronica's Susie
  DamageFactor "RALSEISWARMLOVE", 0.5 //Veronica's Ralsei
  DamageFactor "ISABELLESROMANTICLOVE", 0.5 //Veronica's Isabelle
  DamageFactor "CloneDamage", 0.5 //Skelgant's Gholazon
  DamageFactor "CordieDamage", 0.5 // Bimmy's Cordie
  DamageFactor "VivianDamage", 0.5 // Bimmy's Vivian
  DamageFactor "FriesDamage", 0.5 // Skelegant's Frylock
  DamageFactor "MeatlingDamage", 0.5 // Skelegant's Meatling (Gholazon X)
  PainChance "HunkDamage", 0 //Skelegant's Cosmic Muscle
  damageFactor "HunkDamage", 0
  PainChance "Slicedamage", 0
  damageFactor "Slicedamage", 0
  PainChance "Punchdamage", 0
  damageFactor "Punchdamage", 0
  PainChance "Shockdamage", 0
  damageFactor "Shockdamage", 0
  PainChance "BurningAngelDamage", 0
  damageFactor "BurningAngelDamage", 0
  DamageFactor "DRadysAllyDamage", 0.5 //Untitled's D-Radys Class Helpers (orig. by Toasty)
  DamageFactor "ISPrisonerDamage", 0.5 //Hyakutaro Ichimonji mod for Melodica's Iro
  SeeSound "greatseraph/sight"
  PainSound "seraph/pain"
  DeathSound "seraph/death"
  ActiveSound "seraph/active"
  Obituary "%o should not have let the egg hatch"
    DropItem "Megasphere", 256
	DropItem "Plasmarifle", 256
	DropItem "Backpack", 256
	DropItem "Cellpack", 256
	DropItem "Cellpack", 256
	DropItem "Cellpack", 256
	DropItem "Cellpack", 256
	DropItem "Cellpack", 256
	DropItem "Cellpack", 256
	
		var int user_haloactive;

  States
  {
  Spawn:
	SGPH A 0 // Blank frame with the angel's sprite, in case a map or script makes them dormant, or for mods like Corruption Cards.
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop") // Makes sure the halo is only spawned once.
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("GreatSeraphHalo", 0,0,100, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
    SGPH AB 10 A_Look
    Loop
  See:
    SGPH AABBCCDD 2 A_Chase
    Loop
  Missile:
    SGPH EFG 4 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, 45, 0, 4, 0)
	SGPH G 4 Bright
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, 45, 0, 4, 0)
	SGPH G 4 Bright
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("Tinyyfireball2",115, 45, 0, 4, 0)
    SGPH H 8 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlastFast",75, 0, 0, 4, 0)
	SGPH H 4 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlast",75, 0, 0, 4, 0)
	SGPH H 4 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlastFast",75, 0, 0, 4, 0)
    Goto See
  Pain:
	TNT1 AA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    SGPH J 2 A_Pain
	TNT1 AAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SGPH J 3
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 0, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 45, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -45, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 90, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 180, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -180, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -90, 0, 0)
    Goto See
  Death:
	SGPH K 10 Bright A_NoBlocking
	SGPH L 10 Bright A_BossDeath
	SGPH M 10 Bright A_Scream
	SGPH N 2 Bright A_DropItem ("GoldenEgg")
	TNT1 A 0 A_playsound ("Seraph/Burn")
	TNT1 A 0 A_Quake(6,60,0,400)
	SGPH OPNOPNOPNOP 3 Bright
	SGPH QRS 4 Bright
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	SGPH TUVWXYZ 4
	SG8H AB 4
    Stop
  }
}

ACTOR GoldenEgg
{
  Health 1000
  Radius 20
  Height 56
  Mass 5000
  Speed 14
  PainChance 0
  Tag "Golden Egg"
  DeathSound "egg/death"
  +SOLID
  +SHOOTABLE
  +FLOORCLIP
  +CANNOTPUSH
  +FULLVOLACTIVE
  +NOBLOOD
  +NOBLOODDECALS
  +BOSSDEATH
  DamageFactor "NoRainbowRip", 1
  DamageFactor "UndeadGoHomeImpact", 0
	
  States
  {
  Spawn:
	REG6 A 500
	TNT1 A 0 Bright a_playsound("egg/active")
	REG6 B 100
	TNT1 A 0 Bright a_playsound("egg/active")
	REG6 C 100
	TNT1 A 0 Bright a_playsound("egg/active")
	REG6 D 50 Bright
	REG6 D 1 a_playsound("egg/charge") 
	REG6 D 49 Bright
	TNT1 A 0 Bright a_playsound("egg/active")
	REG6 E 25 Bright
	REG6 E 8 a_playsound("egg/charge")
	REG6 E 25 Bright
	REG6 E 8 a_playsound("egg/charge") 
	REG6 E 25 Bright
	REG6 E 8 a_playsound("egg/charge")
	REG6 F 20 Bright
	REG6 F 10 a_playsound("egg/charge")
	REG6 F 20 Bright
	REG6 F 10 a_playsound("egg/charge")
	REG6 F 20 Bright
	REG6 F 10 a_playsound("egg/charge")
	REG6 F 10 Bright
	TNT1 A 0 a_playsound("egg/charge")
	REG6 G 10 Bright
	REG6 G 5 a_playsound("egg/charge")
	REG6 G 10 Bright
	REG6 G 5 a_playsound("egg/charge")
	REG6 G 10 Bright
	REG6 G 5 a_playsound("egg/charge")
	REG6 G 10 Bright
	REG6 G 5 a_playsound("egg/charge")
	REG6 G 10 Bright
	REG6 G 5 a_playsound("egg/charge")
	REG6 G 10 Bright
	REG6 G 5 a_playsound("egg/charge")
	REG6 G 10 Bright
	TNT1 A 0 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	REG6 H 5 Bright
	REG6 H 2 a_playsound("egg/charge")
	TNT1 A 0 a_playsound("egg/live")
	TNT1 A 0 A_NoBlocking
	LASB ABCDEFGHIJ 1 Bright
	TNT1 A 10 A_SpawnItemEx("Queen_of_Queens",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION | SXF_TELEFRAG)
	LAS2 ABCDE 1 Bright
	Stop
  Death:
  	REG6 N 2 A_NoBlocking
	REG6 O 2 A_Scream
	REG6 PQRST 2
	REG6 U -1 A_BossDeath
	Stop
	}
}

ACTOR Queen_of_Queens
{
  Health 7777
  Radius 40
  Height 110
  Mass 120
  Speed 16
  PainChance 10
  Tag "Queen of Queens"
  Species "ArchAngel"
  Monster
  +BOSS
  +FLOAT
  +NOGRAVITY
  +QUICKTORETALIATE
  +NORADIUSDMG
  +MISSILEEVENMORE
  +NOTARGET
  +DONTMORPH
  +NOTIMEFREEZE
  +DONTHARMCLASS
  +DONTHARMSPECIES
  +CANTSEEK
  +BOSSDEATH
  +NOICEDEATH
  +DONTRIP
  +NOTELEFRAG
  +LOOKALLAROUND
  DamageType "FireoftheQueen"
  DamageFactor "Judgement", 0
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Holy", 0
  DamageFactor "FireMagic", 0
  DamageFactor "RainbowRip", 0
  DamageFactor "None", 0.75
  DamageFactor "Plasma", 0.5
  DamageFactor "BFGSplash", 0.5
  DamageFactor "lightning", 0.5
  DamageFactor "PlayerVoid", 0.5
  DamageFactor "Ice", 0
  DamageFactor "Fire", 0
  DamageFactor "Poison", 0
  DamageFactor "PoisonCloud", 0
  DamageFactor "PlayerVoid", 0.25 
  DamageFactor "PLVoid", 0.25
  DamageFactor "Crush", 0
  DamageFactor "Massacre", 0
  DamageFactor "GoldenGooseDamage", 0
  DamageFactor "DashDamage", 0
  DamageFactor "TsundereDamage", 0.01
  DamageFactor "TouhouAllyDamage", 0.0001 //Untitled's Touhou Doom Allies
  DamageFactor "Susiestoughlove", 0.0001 //Veronica's Susie
  DamageFactor "RALSEISWARMLOVE", 0.0001 //Veronica's Ralsei
  DamageFactor "ISABELLESROMANTICLOVE", 0.0001 //Veronica's Isabelle
  DamageFactor "CloneDamage", 0.01 //Skelgant's Gholazon
  DamageFactor "CordieDamage", 0.01 // Bimmy's Cordie
  DamageFactor "VivianDamage", 0.01 // Bimmy's Vivian
  DamageFactor "FriesDamage", 0.01 // Skelegant's Frylock
  DamageFactor "MeatlingDamage", 0.01 // Skelegant's Meatling (Gholazon X)
  DamageFactor "CABladeBeam", 0 //Combine arms pistol
  PainChance "HunkDamage", 0 //Skelegant's Cosmic Muscle
  damageFactor "HunkDamage", 0
  PainChance "Slicedamage", 0
  damageFactor "Slicedamage", 0
  PainChance "Punchdamage", 0
  damageFactor "Punchdamage", 0
  PainChance "Shockdamage", 0
  damageFactor "Shockdamage", 0
  PainChance "BurningAngelDamage", 0
  damageFactor "BurningAngelDamage", 0
  DamageFactor "DRadysAllyDamage", 0.0001 //Untitled's D-Radys Class Helpers (orig. by Toasty)
  DamageFactor "ISPrisonerDamage", 0.0001 //Hyakutaro Ichimonji mod for Melodica's Iro
  SeeSound "queenofqueens/sight"
  PainSound "queenofqueens/pain"
  DeathSound "seraph/death"
  ActiveSound "queenofqueens/active"
  Obituary "%o bowed before the Queen of Queens"
	DropItem "BlueCard", 256
	DropItem "YellowCard", 256
	DropItem "RedCard", 256
	DropItem "BlueSkull", 256
	DropItem "YellowSkull", 256
	DropItem "RedSkull", 256

	var int user_haloactive;
		
  States
  {
  Spawn:
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop") // Makes sure the halo is only spawned once.
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("QofQHalo", 0,0,100, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER )
	Goto SpawnLoop
  SpawnLoop:
    SGPH AB 10 A_Look
    Loop
  See:
    SGPH AABBCCDD 2 A_Chase
    Loop
  Missile:
	TNT1 A 0 A_Jump (64, "Dooom")
    SGPH EFG 4 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",115, 45, 0, 4, 0)
	SGPH G 4 Bright
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",115, 45, 0, 4, 0)
	SGPH G 4 Bright
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBlastFast",115, 45, 0, 4, 0)
    SGPH H 8 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlast",75, 0, 0, 4, 0)
	SGPH H 4 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlast",75, 0, 0, 4, 0)
	SGPH H 4 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlast",75, 0, 0, 4, 0)
    Goto See
   Dooom:
	SGPH EFG 4 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile ("LoonBomb",15, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBomb",15, 45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBomb",75, -100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBomb",75, 100, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBomb",115, -45, 0, 4, 0)
	TNT1 A 0 A_CustomMissile ("LoonBomb",115, 45, 0, 4, 0)
	SGPH G 4 Bright
    SGPH H 8 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlast",75, 0, 0, 4, 0)
	SGPH H 4 A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlastFast",75, 0, 0, 4, 0)
	SGPH H 4 A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlast",75, 0, 0, 4, 0)
	GoTo See
  Pain:
	TNT1 AA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    SGPH J 2 A_Pain
	TNT1 AAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
    TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 0, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 45, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -45, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 90, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 180, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -180, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -90, 0, 0)
	SGPH J 5 A_Chase
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 45, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -135, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -45, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 90, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, 180, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -180, 0, 0)
	TNT1 A 0 A_CustomMissile ("Evefirefloor",0, 0, -90, 0, 0)
    Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	SGPH K 10 Bright A_NoBlocking
	SGPH L 10 Bright A_BossDeath
	SGPH M 10 Bright A_Scream
	TNT1 A 0 A_Quake(8,60,0,500)
	TNT1 A 0 A_SpawnItemEx ("GoldenEgg")
	TNT1 AAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAA 0 A_SpawnItemEx("YellowFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAA 0 A_SpawnItemEx("RedFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 AAAAAAA 0 A_SpawnItemEx("GreenFeather",random(-30,30),random(-30,30),random(50,100),random(-5,5),random(-5,5))
	TNT1 A 0 A_playsound ("Seraph/Burn")
	SGPH NOPNOPNOP 3 Bright
	SGPH QRSTUV 4 Bright
	SGPH WXYZ 4 Bright
	SG8H AB 4
    Stop
  }
}

ACTOR SeraphCast : Seraph
{
  States
	{
 See:
    SZPH AABBCCDD 3 A_Chase
    Loop
  Missile:
    SZPH EFG 8 Bright A_FaceTarget
    SZPH H 12 Bright A_FaceTarget
	SZPH I 5 Bright A_CustomMissile ("LoonBlast",73, 0, 0, 4, 0)
    Goto See
 Death:
	SZPH K 10 Bright A_NoBlocking
	SZPH L 10 Bright A_BossDeath
	SZPH M 10 Bright A_Scream
	SZPH N 2 Bright A_DropItem ("RedEgg")
	SZPH OPN 3 Bright
	SZPH OPN 3 Bright
	SZPH OPN 3 Bright 
	SZPH OPQ 3 Bright 
	SZPH QRS 4 Bright
	SZPH TUVWXYZ 4 Bright
	SZ2H AB 6
    Stop
	}
}

ACTOR GreatSeraphCast : Great_Seraph
{
  States
	{
  See:
    SGPH AABBCCDDAABBCCDD 2 A_Chase
    Loop
  Missile:
    SGPH EFG 4 Bright A_FaceTarget
	SGPH G 4 Bright
    SGPH H 8 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlastFast",75, 0, 0, 4, 0)
	SGPH H 4 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlast",75, 0, 0, 4, 0)
	SGPH H 4 Bright A_FaceTarget
	SGPH I 5 Bright A_CustomMissile ("LoonBlastFast",75, 0, 0, 4, 0)
    Goto See
  Death:
	SGPH K 10 Bright A_NoBlocking
	SGPH L 10 Bright A_BossDeath
	SGPH M 10 Bright A_Scream
	SGPH N 2 Bright A_DropItem ("RedEgg2")
	SGPH OPNOPNOPNOP 3 Bright
	SGPH QRS 4 Bright
	SGPH TUVWXYZ 4
	SG8H AB 4
    Stop
	}
}