//////////Rare Birds///////////

/*
================================================================================
	Puckish Prankster
	
	Class: Rare outer sphere angel
		
	Extra tricky Cherubs with a reputation for pulling off pranks. These Cherubs 
don bright red bows to alert other angels of possible prank attacks.
================================================================================
*/

Actor EliteCherubSpawner 
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
  +SPAWNFLOAT
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("EliteCherub",0,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG )
	Stop
	}
}

ACTOR EliteCherub
{
  Health 80
  Radius 20
  Height 56
  Mass 30
  Speed 14
  PainChance 120
  Monster
  Species "Cherub"
  Tag "Puckish Prankster"
  +FLOAT
  +NOGRAVITY
  +SPAWNFLOAT
  +MISSILEEVENMORE
  DamageFactor "NoRainbowRip", 1
  DamageFactor "KissMagic", 2
  SeeSound "cherub/sight"
  PainSound "cherub/pain"
  DeathSound "cherub/death"
  ActiveSound "cherub/active"
  HitObituary "%o was slapped silly by a Puckish Prankster."
  Obituary "%o was fatally pranked by a Michevious Cherub."
	DropItem "Clip"
	DropItem "AngelHealthSpawner" 256
    DropItem "AngelHealthSpawner" 128
	DropItem "AngelHealthSpawner" 64
	DropItem "Cell" 8
	DropItem "Rarecandyspawner1" 8
  
	var int user_haloactive;
	
  States
  {
  Spawn:
	RDCB 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 ("CherubHalo", 0,0,28, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
	RDCB ABCDABCDABCD 10 A_Look
	RD2B ABCD 5 A_Look
	Loop
  See:
    RDCB AABB 3 A_Chase 
	RDCB C 4 A_FastChase
	TNT1 A 0 A_PlaySound("bird/flap")
	RDCB DD 3 A_Chase 
	TNT1 A 0 A_Jump (64, 1)
    Loop
	TNT1 A 0 A_PlaySound("cherub/bubble1")
	TNT1 AAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-10, 10), random(-10, 10),random(-10, 10) )
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10),random(-10, 10))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble3", random(-10, 10), random(-10, 10),random(-10, 10))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10),random(-10, 10))
	TNT1 AAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-10, 10), random(-10, 10),random(-10, 10))
	TNT1 AAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20),random(-20, 20))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-20, 20), random(-20, 20),random(-20, 20))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble", random(-20, 20), random(-20, 20),random(-20, 20))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20),random(-20, 20))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-20, 20), random(-20, 20),random(-20, 20))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-40, 40), random(-40, 40),random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	RD2B AABB 3 A_FastChase 
	RD2B C 4 A_FastChase
	TNT1 A 0 A_PlaySound("bird/flap")
	RD2B DD 3 A_FastChase 
	Loop
  Melee:
    RDCB EF 8 A_FaceTarget
    RDCB G 6 A_CustomMeleeAttack(1,"cherub/melee")
	Goto See
  Missile:
    RDCB EF 8 A_FaceTarget
    RDCB G 6 
	RDCB F 4 A_FaceTarget
    RDCB G 3 A_CustomMissile ("TrickyWaterBall",20,10,0)
	RDCB F 4 A_FaceTarget
    RDCB G 3 A_CustomMissile ("TrickyWaterBall",20,10,0)
	Goto See
  Pain:
	TNT1 A 0 A_SpawnItemEx("WhiteFeather",random(-20,20),random(-20,20),30,random(-5,5),random(-5,5),random(-5,5))
	TNT1 A 0 A_SpawnItemEx("WhiteFeather",random(-20,20),random(-20,20),30,random(-5,5),random(-5,5),random(-5,5))
    RDCB H 2
    RDCB H 2 A_Pain
    Goto See
  Death:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_Scream
	CHUB H 1
	TNT1 A 0 A_NoBlocking
	TNT1 A 0 A_SpawnItemEx ("CherubPCDeath")
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	TNT1 AAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble3", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-100, 100), random(-100, 100),random(-100, 100))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	CH3B P -1
	Stop
  XDeath:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_XScream
	TNT1 A 0 A_NoBlocking
	TNT1 AAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble3", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-100, 100), random(-100, 100),random(-100, 100))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 A 0 A_SpawnItemEx ("CherubPCDeath")
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	CH3B P -1
	Stop
  Death.Ice:
	TNT1 A 0 A_Changeflag("DONTCORPSE",TRUE)
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	RD2B E 200 
	TNT1 A 0 A_SpawnItemEx ("FrozenCherub", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner") 
    Stop
  Death.PlayerVoid:
	TNT1 A 0 A_Changeflag("DONTCORPSE",TRUE)
	TNT1 A 0 A_PlaySound("stonemaiden/pain",6,1, FALSE)
	RD2B E 1 Bright A_NoBlocking
	TNT1 AAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 A 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 A 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_SpawnItemEx ("Rrock04",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 A 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	TNT1 A 0 A_Jump (128, "Altstone")
	TNT1 A 0 A_SpawnItemEx ("StoneCherub", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
    Stop
  AltStone:
	TNT1 A 0 A_SpawnItemEx ("StoneCherub2", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
    Stop
  Death.CALinkedBomb:
  Death.CALinked:
		TNT1 A 0
		TNT1 A 0 A_Changeflag("DONTCORPSE",TRUE)
		TNT1 A 0 A_SetUserVar (user_haloactive, 0)
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 a_changeflag ("THRUACTORS",1)
		TNT1 A 0 A_Stop
		TNT1 A 0 A_PlaySound ("Angels/LinkedHurt",0,0.80)
		TNT1 A 1 A_SpawnItemEx ("CALinkedKillAngel",0,0,35)
		TNT1 A 0 A_PlaySound ("Angels/LinkedDeath",0,1,0,0.90)
		TNT1 A 2
		TNT1 A 3 ThrustThingZ (0,30,0,1)
		DTHZ C 2
		DTHZ C -1
		Stop
  Raise:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0) // Shouldn't be necessary, but just in case.
	CH2B P 10
	CH2B P 10 BRIGHT
    Goto Spawn
  Noextracherub:
		TNT1 A 0
		TNT1 A 0 A_Changeflag("COUNTKILL",FALSE)
		TNT1 A 0 A_SpawnItemEx ("LostFlower", 0,0,0,0,0,0,0,0,0,0)
		Stop
  }
}

ACTOR QuietEliteCherub : EliteCherub
{
  Tag "Puckish Prankster"
  SeeSound "bird/song"
  PainSound "virgin/pain"
  DeathSound "body/altgore"
  ActiveSound "bird/flock"
  States
  {
  Death:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_Scream
	CHUB H 1
	TNT1 A 0 A_NoBlocking
	TNT1 A 0 A_SpawnItemEx ("CherubPCDeath")
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	TNT1 AAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble3", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-100, 100), random(-100, 100),random(-100, 100))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 A 0
	Stop
  XDeath:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_XScream
	TNT1 A 0 A_NoBlocking
	TNT1 AAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble3", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-10, 10), random(-10, 10), random(-10, 10))
	TNT1 AAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAA 0 Bright A_CustomMissile("BigBigBubble", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AA 0 Bright A_CustomMissile("BigBigBubble2", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-20, 20), random(-20, 20), random(-20, 20))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-40, 40), random(-40, 40), random(-40, 40))
	TNT1 AAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble3", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAAA 0 Bright A_CustomMissile("BigBigBubble2", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 AAAA 0 Bright A_CustomMissile("TinyTinyBubble", random(-100, 100), random(-100, 100),random(-100, 100))
	TNT1 AAAAAAA 0 Bright A_CustomMissile("BigBigBubble", random(-100, 100), random(-100, 100), random(-100, 100))
	TNT1 A 0 A_SpawnItemEx ("CherubPCDeath")
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	TNT1 A 0
	Stop
  }
}

/*
================================================================================
	Rusalka
	
	Class: Rare outer sphere angel
		
	On death, Rusalka will freeze and then explode into dozens of deadly ice 
shards. If gibbed, she will instantaniously explode into more deadly ice shards.
	

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

Actor RusalkaSpawner
{
  +NOBLOCKMAP
  +NOSECTOR
  +THRUACTORS
  States
  {
  Spawn:
  	TNT1 A 0
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("Rusalka",0,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG )
	Stop
	SummonQuietRusalka:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("QuietRusalka",0,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG )
	Stop
	}
}

ACTOR Rusalka
{
  Health 50
  Radius 20
  Height 56
  Mass 60
  Speed 8
  PainChance 200
  Tag "Rusalka"
  Bloodcolor "Blue"
  Monster
  +FLOAT
  +MISSILEMORE
  +NOGRAVITY
  +NOICEDEATH
  DamageFactor "Ice", 0
  DamageFactor "Fire", 2
  DamageFactor "KissMagic", 3
  SeeSound "snow/altsight"
  PainSound "snow/pain"
  DeathSound "snow/death"
  ActiveSound "snow/active"
  AttackSound "snow/attack"
  Obituary "%o felt the chill of Rusalka."
  Dropitem "Clip" 256
    DropItem "AngelHealthSpawner" 128
		DropItem "AngelHealthSpawner" 128
		DropItem "AngelHealthSpawner" 128
		DropItem "AngelHealthSpawner" 128
		DropItem "Clipbox" 1
			
		var int user_haloactive;
			
  States
  {
  Spawn:
  	S2OW A 0
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop")
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("SnowBallHalo", 0,0,40, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
    S2OW AB 10 A_Look
    Loop
  See:
    S2OW AABBCCDD 3 A_Chase
    Loop
  Missile:
    S2OW E 15 A_FaceTarget
    S2OW FG 3 Bright A_CustomMissile ("Flake" ,20,0,1)
	S2OW G 0 Bright A_CustomMissile ("Flake",20,0,45, CMF_AIMDIRECTION)
	S2OW G 0 Bright A_CustomMissile ("Flake",20,0,-45, CMF_AIMDIRECTION)
	S2OW G 0 Bright A_CustomMissile ("Flake",20,0,90, CMF_AIMDIRECTION)
	S2OW G 0 Bright A_CustomMissile ("Flake",20,0,-90, CMF_AIMDIRECTION)
    S2OW F 1 A_CPosRefire
    Goto Missile+1
  Pain:
    S2OW H 5
    S2OW H 5 A_Pain
    Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
    S2OW I 10 A_PlaySound ("angel/frozensoild")
	S2OW I 10 Bright
	S2OW I 10
	S2OW I 5 Bright
	S2OW I 5
	S2OW I 5 Bright
	S2OW I 5
	S2OW I 3 Bright
	S2OW I 3
	S2OW I 3 Bright
	S2OW I 3
	S2OW I 3 Bright
	S2OW I 3
	S2OW I 1 Bright
	S2OW I 1
	S2OW I 1 Bright
	S2OW I 1
	S2OW I 1 Bright
	S2OW I 1
	S2OW I 1 Bright
	S2OW I 1
	S2OW I 1 Bright
	S2OW I 1
	S2OW I 1 Bright
	S2OW I 1
	TNT1 A 0 A_Changeflag("DONTCORPSE",TRUE)
	TNT1 A 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	TNT1 A 0 A_SpawnItemEx ("SnowballPCDeath")
	TNT1 A 0 A_NoBlocking
		TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,-45, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,-90, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,-135, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,180, CMF_AIMDIRECTION)
	TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,0, CMF_AIMDIRECTION)
		TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",26,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",26,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",26,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",26,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",26,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",26,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",26,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",26,0,0, CMF_AIMDIRECTION)
		TNT1 A 0 Bright A_CustomMissile ("WeakFlake",12,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",38,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",38,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",38,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",38,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",38,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",38,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",38,0,0, CMF_AIMDIRECTION)
		TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",50,0,45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",50,0,-45, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",50,0,90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",50,0,-90, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",50,0,135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",50,0,-135, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",50,0,180, CMF_AIMDIRECTION)
	TNT1 AA 0 Bright A_CustomMissile ("WeakFlake",50,0,0, CMF_AIMDIRECTION)
	TNT1 A 0 A_PlaySound ("snow/gib")
	TNT1 A 0
    Stop
  XDeath:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_Changeflag("DONTCORPSE",TRUE)
	TNT1 I 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	TNT1 A 0 A_NoBlocking
		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 A_PlaySound ("snow/gib")
    Stop
  Raise:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
    S2OW UTSRQPONMLKJ 2
	TNT1 H 0 A_SpawnItemEx ("SnowballHalo", 0,0,40, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	GoTo See
  Death.CALinkedBomb:
  Death.CALinked:
		TNT1 A 0
		TNT1 A 0 A_Changeflag("DONTCORPSE",TRUE)
		TNT1 A 0 A_SetUserVar (user_haloactive, 0)
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 a_changeflag ("THRUACTORS",1)
		TNT1 A 0 A_Stop
		TNT1 A 0 A_PlaySound ("angels/LinkedHurt",0,0.80)
		TNT1 A 1 A_SpawnItemEx ("CALinkedKillAngel",0,0,35)
		TNT1 A 0 A_PlaySound ("angels/LinkedDeath",0,1,0,0.90)
		TNT1 A 2
		TNT1 A 3 ThrustThingZ (0,30,0,1)
		DTHZ C 2
		DTHZ C -1
		Stop
  NoExtraRusalka:
		TNT1 A 0
		TNT1 A 0 A_Changeflag("COUNTKILL",FALSE)
		TNT1 A 1 A_SpawnItemEx ("LostFlower", 0,0,0,0,0,0,0,0,0,0)
		Stop
  }
}

ACTOR QuietRusalka : Rusalka
{
  Tag "Rusalka"
  SeeSound "snow/altsight"
  PainSound "virgin/pain"
  DeathSound "body/altgore"
  ActiveSound "bird/flap"
  }



ACTOR RusalkaSpawner2 : RandomSpawner replaces "DeadDemon"
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
	DropItem "WWhiteCandlestick" 255, 14
    DropItem "RusalkaSpawner" 255, 1
}

/*
================================================================================
	Aphrodite's Kiss
	
	Class: Rare Inner sphere angel
		
	On death, the Aphrodite's Kiss will turn to stone. If her statue is 
shattered, she will come back to life with full health. Be careful when using 
rockets or the BFG around her.
	

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

ACTOR Aphrodites_Kiss Replaces CommanderKeen
{
  Health 400
  Radius 26
  Height 50
  Mass 1000
  Speed 12
  PainChance 10
  Species "AphroditeKiss"
  Tag "Aphrodite's Kiss"
  Monster
  +FLOAT
  +NOGRAVITY
  +NOICEDEATH
  +DONTHARMSPECIES
  +THRUSPECIES
  +NOBLOOD
  DamageFactor "FireMagic", 500
  DamageFactor "PlayerVoid", 100
  DamageFactor "Magic", 0
  DamageFactor "Judgement", 0
  DamageFactor "UndeadGoHomeImpact", 0
  SeeSound "stonemaiden/sight1"
  ActiveSound "stonemaiden/active"
  PainSound "stonemaiden/cry1"
  Obituary "%o was blinded by the beauty of an Aphrodite's Kiss."
  HitObituary "Enjoying the view?"
    DropItem "AngelHealthSpawner", 256
		
	var int user_haloactive;
			
  States
  {
  Spawn:
  	AKIS A 0
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop")
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("AphroditeHalo", 0,0,50, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
    AKIS ABCD 10 A_Look
    Loop
  See:
    AKIS AABBCCDD 3 A_Chase
    Loop
  Missile:
    AKIS E 25 A_FaceTarget
	AKIS F 4 Bright A_FaceTarget
	TNT1 A 0 A_Jump(32,"PowerAttack")
	AKIS G 10 A_CustomMissile ("AfroArrow2")
    Goto See
   PowerAttack:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("kiss/shotx3",7)
    AKIS F 3 A_FaceTarget
	AKIS F 3 BRIGHT A_FaceTarget
	AKIS F 3 A_FaceTarget
	AKIS F 3 BRIGHT A_FaceTarget
	AKIS F 3 A_FaceTarget
	AKIS F 3 BRIGHT A_FaceTarget
	AKIS F 3 A_FaceTarget
	AKIS F 3 BRIGHT A_FaceTarget
	AKIS F 3 A_FaceTarget
	AKIS F 3 BRIGHT A_FaceTarget
	AKIS F 2 A_FaceTarget
	AKIS F 2 BRIGHT A_FaceTarget
	AKIS F 2 A_FaceTarget
	AKIS F 2 BRIGHT A_FaceTarget
	AKIS F 2 A_FaceTarget
	AKIS F 2 BRIGHT A_FaceTarget
	AKIS F 2 A_FaceTarget
	AKIS F 2 BRIGHT A_FaceTarget
	AKIS F 2 A_FaceTarget
	AKIS F 2 BRIGHT A_FaceTarget
	AKIS F 2 A_FaceTarget
	AKIS F 2 BRIGHT A_FaceTarget
	AKIS F 1 A_FaceTarget
	AKIS F 1 BRIGHT A_FaceTarget
	AKIS F 1 A_FaceTarget
	AKIS F 1 BRIGHT A_FaceTarget
	AKIS F 1 A_FaceTarget
	AKIS F 1 BRIGHT A_FaceTarget
	AKIS F 1 A_FaceTarget
	AKIS F 1 BRIGHT A_FaceTarget
	TNT1 A 0 A_StopSound(7)
	AKIS G 1 A_CustomMissile ("AfroArrow3")
	AKIS G 15 
    Goto See
  Pain:
    AKIS H 3
    AKIS H 3 A_Pain
    AKIS H 3
    Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_DropItem ("AngelHealthSpawner")
	TNT1 A 0 A_DropItem ("Shell")
	TNT1 A 0 A_DropItem ("AphroditeKissDressSpawner", 1,1) 
    AKIS I 10 A_Spawnitem ("AphroditeCloud")
	TNT1 A 0 A_KeenDie
	AKIS I 10 
	TNT1 A 0 A_SpawnItemEx ("StoneMaiden", 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)
	FKIS O 75 
	FKIS O 1 A_SpawnItemEx ("StoneMaiden", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	Stop
  Raise:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_UnSetFloorClip
    AKI2 ABCDEFGHIJ 4 
	TNT1 I 0 A_SpawnItemEx ("AphroditeHalo", 10,0,50, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER) 
    Goto See
  NoextraAphrodite:
	TNT1 A 0
  	TNT1 A 1 A_Keendie
	TNT1 A 0 A_SpawnItemEx ("LostFlowerKeen")
	Stop
  }
}

ACTOR Aphrodites_Kiss2 : RandomSpawner replaces GibbedMarineExtra
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
	DropItem "WWhiteCandlestick" 255, 5
    DropItem "Aphrodites_Kiss" 255, 1
	DropItem "EliteCherubSpawner" 255, 1
}

/*
================================================================================
	Forgotten maiden
	
	Class: Rare Sacrificial angel
	
	Forgotten Maidens are Aphrodite’s Kisses on steroids.
Their arrows are quicker, more accurate, deal more damage, and have a huge 
explosion radius. These angels are completely optional but drop a powerful 
artifact on death.

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

ACTOR ForgottenMaiden
{
  Health 1500
  Radius 26
  Height 50
  Mass 1000
  Speed 16
  PainChance 10
  Species "AphroditeKiss"
  Tag "Forgotten Maiden"
  Monster
  +BOSS
  +MISSILEMORE
  +FLOAT
  +DONTMORPH
  +NOGRAVITY
  +NOICEDEATH
  +DONTHARMSPECIES
  +THRUSPECIES
  +NOBLOOD
  +NOINFIGHTING
  +DONTSQUASH
  +NORADIUSDMG
  +CANTSEEK 
  DamageFactor "Magic", 0
  DamageFactor "Judgement", 0
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "Holy", 0
  SeeSound "stonemaiden/sight1"
  ActiveSound "stonemaiden/active"
  PainSound "stonemaiden/cry1"
  Obituary "%o shouldn't have freed the Forgotten Maiden."
  HitObituary "Enjoying the view?"
	DropItem "CrownOfMoon", 256
    DropItem "HealthBonus", 256
	DropItem "HealthBonus", 256
  	DropItem "HealthBonus", 256
	DropItem "HealthBonus", 128
	DropItem "HealthBonus", 64
	DropItem "HealthBonus", 32
	DropItem "HealthBonus", 16	
		
	var int user_haloactive;
			
  States
  {
  Spawn:
  	FKIS A 0
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop")
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("VVHalo", 0,0,50, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
    FKIS ABCD 10 A_Look
    Loop
  See:
	TNT1 A 0 A_JumpIfHealthLower(1250,"AntiBread")
    FKIS AABBCCDDAA 3 A_Chase
	FKIS BB 3 A_FastChase
	FKIS CCDD 3 A_Chase
    Loop
  AntiBread:
	TNT1 A 0 A_Changeflag("NOPAIN",TRUE)
	FKIS AABBCCDDAA 3 A_FastChase
	FKIS BB 3 A_Chase
	FKIS CCDD 3 A_FastChase
    Loop
  Missile:
    FKIS EEE 5 A_FaceTarget
	FKIS F 4 Bright
    FKIS G 10 A_CustomMissile ("AfroArrow3")
	FKIS EE 5 A_FaceTarget
	FKIS F 4 Bright
    FKIS G 10 A_CustomMissile ("AfroArrow3")
	FKIS EE 5 A_FaceTarget
	FKIS F 4 Bright
    FKIS G 10 A_CustomMissile ("AfroArrow3")
    Goto See
  Pain:
	TNT1 A 0 A_JumpIfHealthLower(1250,"AntiBread")
    FKIS H 3
    FKIS H 3 A_Pain
    FKIS H 3
    Goto See
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_DropItem ("CrownOfMoon")
    AKIS I 10 A_Spawnitem ("ForgottenCloud")
	TNT1 A 0 A_KeenDie
	AKIS I 10 
	TNT1 I 0 A_SpawnItemEx ("StoneMaiden", 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)
	FKIS N 75 
	FKIS N 1 A_SpawnItemEx ("StoneMaiden", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	TNT1 A 0 A_DropItem ("CrownOfMoon")
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner")
	Stop
  Raise:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_UnSetFloorClip
    AKI2 ABCDEFGHIJ 4 
	TNT1 I 0 A_SpawnItemEx ("AphroditeHalo", 10,0,50, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER) 
    Goto See
  }
}

ACTOR WWhiteCandlestick
{
  Radius 20
  Height 14
  ProjectilePassHeight -16
  States
  {
  Spawn:
    CAND A -1 Bright
    Stop
  }
}

ACTOR LostFlower
{
  Radius 20
  Height 14
  ProjectilePassHeight -16
  States
  {
  Spawn:
    FWLR A -1 
    Stop
  }
}

ACTOR LostFlowerKeen : LostFlower
{
  States
  {
    Spawn:
    FWLR A 100 
	FWLR A 1 A_Keendie
    Loop
	}
}

ACTOR StoneMaiden
{
	Health 150
	Radius 20
	Height 56
	Speed 8
	PainChance 256
	Mass 2000
	Monster
	Species "Stone Maiden"
	Tag "Stone Maiden"
	+PUSHABLE
	+DONTBLAST
	+DONTMORPH
	+DONTRIP
	+NOICEDEATH
	+NOBLOOD
	+FULLVOLACTIVE
	+NEVERTARGET
	+NORADIUSDMG
	-COUNTKILL
	DamageFactor "FireMagic", 0
	DamageFactor "Poison", 0
	DamageFactor "Melee", 2.0
	DamageFactor "Ice", 0
	DamageFactor "Fire", 0
	DamageFactor "Electric", 0
	DamageFactor "Magic", 0
	DamageFactor "PlayerVoid", 0
	SeeSound "stonemaiden/cry"
	PainSound "stonemaiden/pain"
	DeathSound "stonemaiden/free"
	ActiveSound "stonemaiden/cry"
	Obituary "How did the Stone maiden manage to kill you?"
	HitObituary "How did the Stone maiden manage to kill you?"
	States
	{
  Spawn: 
	AKIS I 25 A_PlaySound("stonemaiden/pain",0,5)
	AKIS I 25 A_PlaySound("stonemaiden/cry1")
	AKIS J 50 A_PlaySound("stonemaiden/pain",0,5)
	AKIS K 25 A_PlaySound("stonemaiden/pain",0,5)
	AKIS K 25 A_PlaySound("stonemaiden/cry1")
    AKIS LM 50 A_PlaySound("stonemaiden/pain",0,5)
	9KIS E 25 A_PlaySound("stonemaiden/cry1")
	9KIS E 25 A_PlaySound("stonemaiden/pain",0,5)
	AKIS N 25 A_PlaySound("stonemaiden/pain",0,5)
	AKIS N 25 A_PlaySound ("stonemaiden/cry1",6,1, TRUE)
	9KIS F 50 A_PlaySound("stonemaiden/pain",0,5)
    AKIS OP 50 A_PlaySound("stonemaiden/pain",0,5)
	TNT1 A 0 A_PlaySound("stonemaiden/cry2",6,1, FALSE)
	9KIS G 50 A_PlaySound ("stonemaiden/pain",0,5)
	AKIS Q 50 A_PlaySound ("stonemaiden/pain",0,5)
	9KIS H 50 A_PlaySound ("stonemaiden/pain",0,5)
	AKIS RS 50 A_PlaySound("stonemaiden/pain",0,5)
	AKIS TU 50 A_SetFloorClip
	TNT1 A 0 A_PlaySound("stonemaiden/pain4",0,10)
	TNT1 A 0 A_FaceTarget
  Goto Stone
  Stone: 
    AKIS V 400 
	AKIS V 1 A_Jump (64, 1)
	Loop
	9KIS A 20
	9KIS B 7
	9KIS C 4
	9KIS D 4 A_PlaySound ("stonemaiden/drip")
	Loop
  Death:
	TNT1 A 0 A_PlaySound("stonemaiden/pain",6,1, FALSE)
	AKIS W 1 Bright A_NoBlocking
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAA 0 A_SpawnItemEx ("Rrock04",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("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 1 A_SpawnItemEx("Aphrodites_Kiss",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION )
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	AKIS W -1
    Stop
	}
}

Actor AphroditeCloud
{
  +NOGRAVITY
  +DONTFALL
  States
  {
  Spawn:
	ACL0 A 1 //0 number, not O
    ACL0 A 15
    ACL0 BCDE 10
    Stop
  }
}

Actor ForgottenCloud
{
  +NOGRAVITY
  +DONTFALL
  States
  {
  Spawn:
	FKIS I 1 
    FKIS I 15
    FKIS JKLM 10
    Stop
  }
}

//////// Jay /////////

Actor JaySpawner replaces MBFHelperDog
{
  +NOBLOCKMAP
  +NOSECTOR
  +THRUACTORS
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("Jay",0,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG )
	Stop
	SummonQuietJay:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("QuietJay",0,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG )
	Stop
	}
}

ACTOR Jay 
{
  Health 300
  PainChance 180
  Speed 10
  Radius 30
  Height 56
  Mass 300
  Scale 1.1
  Monster
  Tag "Jay"
  +FLOORCLIP
  SeeSound "jay/sight"
  AttackSound "cardinal/melee"
  PainSound "jay/pain"
  DeathSound "jay/death"
  ActiveSound "jay/active"
  HitObituary "%o was shredded by a Jay."
  DamageFactor "Judgement", 0
  DamageFactor "UndeadGoHomeImpact", 0
  DamageFactor "KissMagic", 4
  DropItem "Shell" 256
  DropItem "Clip" 256
  DropItem "AngelHealthSpawner" 128
	DropItem "AngelHealthSpawner" 128
	DropItem "AngelHealthSpawner" 128
	DropItem "AngelHealthSpawner" 128
	DropItem "Rarecandyspawner2", 8

	var int user_haloactive;
			
  States
  {
  Spawn:
  	JARD A 0
	TNT1 A 0 A_JumpIf (user_haloactive == 1, "SpawnLoop")
	TNT1 A 0 A_SetUserVar (user_haloactive, 1)
    TNT1 A 0 A_SpawnItemEx ("JayHalo", 0,0,56, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
	SpawnLoop:
	JARD WXYZ 10 A_Look
	Loop
  See:
    JARD AABBCCDD 2 Fast A_Chase
	TNT1 A 0 A_Jump (16, "Takeoff")
    Loop
  TakeOff:
	JA2D A 3
	JA2D B 6
	JA2D C 4
  Goto TakeOff2
  TakeOff2:
	TNT1 A 0 A_Changeflag("FLOAT",TRUE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",TRUE)
	TNT1 A 0 A_Changeflag("NOPAIN",TRUE)
	TNT1 A 0 A_Changeflag("FLOAT",TRUE)
	TNT1 A 0 ThrustThingZ(0,7,0,0)
	JA2D DE 4
	Goto Flight
  Flight:
	JARD WXY 3 A_Chase 
	TNT1 A 0 A_PlaySound("bird/flap")
	JARD ZWXY 3 A_Chase
	TNT1 A 0 A_PlaySound("bird/flap")
	JARD ZWXY 3 A_Chase
	TNT1 A 0 A_PlaySound("bird/flap")
	JARD ZWXY 3 A_Chase
	TNT1 A 0 A_PlaySound("bird/flap")
	JARD ZWXY 3 A_Chase
	TNT1 A 0 A_PlaySound("bird/flap")
	JARD ZWXY 3 A_Chase
	TNT1 A 0 A_PlaySound("bird/flap")
	JARD ZWXY 3 A_Chase
	TNT1 A 0 A_PlaySound("bird/flap")
	JARD ZWXY 3 A_Chase
	JARD Z 3 A_Chase
	TNT1 A 0 A_Jump (128, "Charge")
	TNT1 A 0 A_Jump (16, "Land")
	Loop
  Charge:
  	JA2D C 5 A_FaceTarget
	TNT1 A 0 A_Changeflag("FLOAT",FALSE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",FALSE)
	TNT1 A 0 A_Changeflag("NOPAIN",FALSE)
	JA2D B 5 A_SkullAttack
	JARD AE 5 A_SkullAttack
	TNT1 A 0 Bright A_PlaySound("cardinal/melee1")
	JARD F 5 Fast A_SargAttack 
	TNT1 A 0 Bright A_PlaySound("cardinal/melee2")
    JARD G 5 Fast A_SargAttack 
	JARD EE 16
	Goto See
  Land:
	TNT1 A 0 A_Changeflag("FLOAT",FALSE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",FALSE)
	TNT1 A 0 A_Changeflag("NOPAIN",FALSE)
	JA2D EDCB 4
	JA2D A 8
	Goto See
  Melee:
    TNT1 A 0 A_Changeflag("FLOAT",FALSE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",FALSE)
	TNT1 A 0 A_Changeflag("NOPAIN",FALSE)
    JARD E 8 Fast A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("cardinal/melee1")
	JARD F 5 Fast A_SargAttack 
	TNT1 A 0 Bright A_PlaySound("cardinal/melee2")
    JARD G 5 Fast A_SargAttack 
	JARD EE 16
    Goto See
  Pain:
	TNT1 A 0 A_Changeflag("FLOAT",FALSE)
	TNT1 A 0 A_Changeflag("NOGRAVITY",FALSE)
	TNT1 A 0 A_Changeflag("NOPAIN",FALSE)
	TNT1 A 0 A_SpawnItemEx("BlueFeather",random(-20,20),random(-20,20),40,random(-5,5),random(-5,5),random(-5,5))
	TNT1 A 0 A_SpawnItemEx("BlueFeather",random(-20,20),random(-20,20),45,random(-5,5),random(-5,5),random(-5,5))
    JARD H 2 Fast
    JARD H 2 Fast A_Pain
    Goto See
    Stop
  Death.Ice:
	TNT1 A 0 A_Changeflag("DONTCORPSE",TRUE)
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	JA2D F 150 
	TNT1 A 0 A_SpawnItemEx ("FrozenJay", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner") 
    Stop
  Death.PlayerVoid:
	TNT1 A 0 A_Changeflag("DONTCORPSE",TRUE)
	TNT1 A 0 A_PlaySound("stonemaiden/pain",6,1, FALSE)
	JA2D O 1 Bright A_NoBlocking
	TNT1 AAAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AA 0 A_SpawnItemEx ("Rrock04",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	TNT1 A 0 A_Jump (128, "Altstone")
	TNT1 A 0 A_SpawnItemEx ("StoneJay", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
    Stop
  AltStone:
	TNT1 A 0 A_SpawnItemEx ("StoneJay2", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
    Stop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
	TNT1 A 0 A_Scream
	TNT1 A 0 A_NoBlocking
	JARD H 2
	JARD H 1
	TNT1 A 0 A_SpawnItemEx ("JayDeathPC", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx ("AviaryIceSpawner") 
	JA2D P -1
	Stop
  Raise:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
    JARD N 5
    JARD MLKJI 5
	TNT1 I 0 A_SpawnItemEx ("JayHalo", 10,0,56, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
    Goto See
  NoextraJay:
	TNT1 A 0
  	TNT1 A 1 A_Changeflag("COUNTKILL",FALSE)
	TNT1 A 0 A_SpawnItemEx ("LostFlowerKeen")
	Stop
  }
}

ACTOR QuietJay : Jay
{
  Tag "Cardinal"
  SeeSound "crow/sight1"
  PainSound "generic/pain"
  DeathSound "crow/death1"
  ActiveSound "crow/active1"
}

ACTOR Jay2 : Jay replaces DeadLostSoul 
{
	Tag "Jay"
}

ACTOR JaySpawner2 : RandomSpawner replaces "Brainstem"
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
	DropItem "WWhiteCandlestick" 255, 19
    DropItem "JaySpawner" 255, 1
}

Actor FrozenJay
{
  Health 100
  Radius 16
  Height 56
  ProjectilePassHeight -16
  Scale 1.1
  +SOLID
  +SHOOTABLE
  +PUSHABLE
  +NOICEDEATH
  +FULLVOLACTIVE
  +NOBLOOD
  -COUNTKILL
  DamageFactor "Ice", 0
  DamageFactor "Fire", 2
  States
  {
  Spawn:
	JA2D G 150
	TNT1 A 0 A_PlaySound("angel/frozensoild")
	JA2D HIJKLM 30
	JA2D N 10000000000000 
	JA2D N 0 A_FreezeDeathChunks
	Stop
   Death:
	TNT1 A 0 A_NoBlocking
	TNT1 A 1 A_IceGuyDie
    Stop
  }
}

Actor StoneJay
{
  Health 500
  Radius 20
  Height 56
  Mass 800
  Scale 1.1
  +SOLID
  +SHOOTABLE
  +PUSHABLE
  +DONTBLAST
  +DONTMORPH
  +DONTRIP
  +NOICEDEATH
  +FULLVOLACTIVE
  +NOBLOOD
  +NEVERTARGET
  -COUNTKILL
	DamageFactor "FireMagic", 0
	DamageFactor "Poison", 0
	DamageFactor "Melee", 2.0
	DamageFactor "Ice", 0
	DamageFactor "Fire", 0
	DamageFactor "Electric", 0
	DamageFactor "Magic", 0
	DamageFactor "PlayerVoid", 0
  States
  {
  Spawn:
	JA2D O 3 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 3 Bright
	JA2D O 3 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 3 Bright
	JA2D O 3 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 3 Bright
	JA2D O 3 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 3 Bright
	JA2D O 3 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 3 Bright 
	JA2D O 2 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 2 Bright  
	JA2D O 2 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 2 Bright 
	JA2D O 2 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 2 Bright 
	JA2D O 2 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 2 Bright 
	JA2D O 1 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 1 Bright  
	JA2D O 1 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 1 Bright 
	JA2D O 1 Bright A_PlaySound("angel/stonebeam")
	CA3D CD 1 Bright 
	CA3D E 25 Bright
	CA3D FG 50 Bright A_PlaySound("stonemaiden/pain")
	CA3D HIJ 50 A_PlaySound("stonemaiden/pain")
	TNT1 A 0 A_PlaySound("stonemaiden/pain4")
	CA3D K -1
	Stop
  Death:
	TNT1 A 0 A_PlaySound("stonemaiden/pain",6,1, FALSE)
	CA3D K 1  A_NoBlocking
	TNT1 AAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx ("Rrock04",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
    Stop
  }
}

Actor StoneJay2 : StoneJay
{
}

Actor JayDeathPC
{
   Scale 1.1
  -NOINTERACTION
  -SOLID
  +FLOAT
  +NOGRAVITY
  +DONTFALL
  States
  {
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_Quake(5,3,0,4)
	TNT1 AAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),45,random(-5,5),random(-5,5))
	TNT1 AAAA 0 A_SpawnItemEx("BlueFeather",random(-30,30),random(-30,30),45,random(-5,5),random(-5,5))
	TNT1 AAAAAAAA 0 A_SpawnItemEx("BlueFeather",random(-20,20),random(-20,20),45,random(-5,5),random(-5,5),random(-5,80))
	TNT1 AAAA 0 A_SpawnItemEx("BlueFeather",random(-20,20),random(-20,20),45,random(-5,5),random(-5,5),random(-5,5))
	CA3D V 20 Bright
	CA3D VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 1 BRIGHT A_Fadeout(0.01)
	CA3D VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 1 A_Fadeout(0.01)
	CA3D VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 2 A_Fadeout(0.02)
	TNT1 A 0
	Stop
	}
}

ACTOR SSrandomizer : RandomSpawner replaces WolfensteinSS
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
	DropItem "EliteCherubSpawner" 255, 1
	DropItem "RusalkaSpawner" 255, 1
}



// Stone maiden Summons

ACTOR SstatueSet01 : RandomSpawner replaces "TorchTree"
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
	DropItem "TorchTree1" 255, 90
    DropItem "ForgottenMaiden01" 255, 3
	DropItem "ForgottenMaiden02" 255, 3
	DropItem "ForgottenMaiden03" 255, 3
	DropItem "Rarestatuespawner" 225, 1
}

ACTOR Rarestatuespawner : RandomSpawner
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
	DropItem "TorchTree1" 255, 10
	DropItem "ForgottenMaiden06" 255, 1
}

ACTOR TorchTree1 : "TorchTree"
{
  Radius 16
  Height 56
  ProjectilePassHeight -16
  +SOLID
  States
  {
  Spawn:
    TRE1 A -1
    Stop
  }
}

ACTOR ForgottenMaiden01 ////Vines, arms closed ///
{
	Health 300
	Radius 31
	Height 64
	Speed 1
	PainChance 256
	Mass 2000
	Tag "Forgotten Maiden"
	+SOLID
	+SHOOTABLE
	+DONTBLAST
	+DONTMORPH
	+DONTRIP
	+NOICEDEATH
	+NOBLOOD
	+FULLVOLACTIVE
	+NEVERTARGET
	+NOINFIGHTING
	-COUNTKILL
	DamageFactor "FireMagic", 0
	DamageFactor "Fire", 0
	DamageFactor "Ice", 0
	DamageFactor "PlayerVoid", 0
	SeeSound "stonemaiden/cry"
	PainSound "stonemaiden/pain"
	DeathSound "stonemaiden/free"
	ActiveSound "stonemaiden/cry"
	Obituary "How did the Stone maiden manage to kill you?"
	HitObituary "How did the Stone maiden manage to kill you?"
	States
	{
  Spawn: 
	TNT1 A 0
    GAR8 X 1
  Goto Stone
  Stone: 
    GAR8 A 500 
	GAR8 A 1 A_Jump (64, 1)
	Loop
	GAR8 B 20
	GAR8 C 7
	GAR8 D 4
	GAR8 E 4 A_PlaySound ("stonemaiden/drip")
	Loop
  Death:
	GAR8 F 1 Bright A_NoBlocking
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAA 0 A_SpawnItemEx ("Rrock04",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("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 1 A_SpawnItemEx("ForgottenMaiden",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION )
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	GAR8 F -1
    Stop
  NoextraForgottenMaiden:
	TNT1 A 0
  	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx ("TorchTree1")
	Stop
	}
}

ACTOR ForgottenMaiden02 /// Vines, Arms open
{
	Health 400
	Radius 31
	Height 64
	Speed 1
	PainChance 256
	Mass 2000
	Tag "Forgotten Maiden"
	+SOLID
	+SHOOTABLE
	+DONTBLAST
	+DONTMORPH
	+DONTRIP
	+NOICEDEATH
	+NOBLOOD
	+FULLVOLACTIVE
	+NEVERTARGET
	+NOINFIGHTING
	-COUNTKILL
	DamageFactor "FireMagic", 0
	DamageFactor "Fire", 0
	DamageFactor "Ice", 0
	DamageFactor "PlayerVoid", 0
	SeeSound "stonemaiden/cry"
	PainSound "stonemaiden/pain"
	DeathSound "stonemaiden/free"
	ActiveSound "stonemaiden/cry"
	Obituary "How did the Stone maiden manage to kill you?"
	HitObituary "How did the Stone maiden manage to kill you?"
	States
	{
	Spawn: 
	TNT1 A 0
    GAR9 A 1
  Goto Stone
  Stone: 
    GAR9 A 300 
	GAR9 A 1 A_Jump (16, 1)
	Loop
	GAR9 B 20
	GAR9 C 7
	GAR9 D 4
	GAR9 E 4 A_PlaySound ("stonemaiden/drip")
	Loop
  Death:
	GAR9 F 1 Bright A_NoBlocking
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAA 0 A_SpawnItemEx ("Rrock04",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("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 1 A_SpawnItemEx("ForgottenMaiden",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION )
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	GAR9 F -1
    Stop
  NoextraForgottenMaiden:
	TNT1 A 0
  	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx ("TorchTree1")
	Stop
	}
}

ACTOR ForgottenMaiden03 /// Swamp
{
	Health 500
	Radius 31
	Height 64
	Speed 1
	PainChance 256
	Mass 2000
	Tag "Forgotten Maiden"
	+SOLID
	+SHOOTABLE
	+DONTBLAST
	+DONTMORPH
	+DONTRIP
	+NOICEDEATH
	+NOBLOOD
	+FULLVOLACTIVE
	+NEVERTARGET
	+NOINFIGHTING
	-COUNTKILL
	DamageFactor "FireMagic", 0
	DamageFactor "Fire", 0
	DamageFactor "Ice", 0
	DamageFactor "PlayerVoid", 0
	SeeSound "stonemaiden/cry"
	PainSound "stonemaiden/pain"
	DeathSound "stonemaiden/free"
	ActiveSound "stonemaiden/cry"
	Obituary "How did the Stone maiden manage to kill you?"
	HitObituary "How did the Stone maiden manage to kill you?"
	States
	{
  Spawn:
  	TNT1 A 0
    STT4 A 1
  Goto Stone
  Stone: 
    STT4 A 1000 
	STT4 A 1 A_Jump (128, 1)
	Loop
	STT4 B 20
	STT4 C 7
	STT4 D 4
	STT4 E 4
	STT4 F 4
	STT4 G 4
	STT4 H 4 A_PlaySound ("stonemaiden/drip")
	Loop
  Death:
	STT4 I 1 Bright A_NoBlocking
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAA 0 A_SpawnItemEx ("Rrock04",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("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 1 A_SpawnItemEx("ForgottenMaiden",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION )
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	STT4 I -1
    Stop
  NoextraForgottenMaiden:
	TNT1 A 0
  	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx ("TorchTree1")
	Stop
	}
}

ACTOR ForgottenMaiden04 /// Ice
{
	Health 500
	Radius 31
	Height 64
	Speed 1
	PainChance 256
	Mass 2000
	Tag "Forgotten Maiden"
	+SOLID
	+SHOOTABLE
	+DONTBLAST
	+DONTMORPH
	+DONTRIP
	+NOICEDEATH
	+NOBLOOD
	+FULLVOLACTIVE
	+NEVERTARGET
	+NOINFIGHTING
	-COUNTKILL
	DamageFactor "FireMagic", 0
	DamageFactor "Fire", 0
	DamageFactor "Ice", 0
	DamageFactor "PlayerVoid", 0
	SeeSound "stonemaiden/cry"
	PainSound "stonemaiden/pain"
	DeathSound "stonemaiden/free"
	ActiveSound "stonemaiden/cry"
	Obituary "How did the Stone maiden manage to kill you?"
	HitObituary "How did the Stone maiden manage to kill you?"
	States
	{
  Spawn: 
  	TNT1 A 0
    STT5 A 1
  Goto Stone
  Stone: 
    STT5 A 100 
	Loop
  Death:
	STT5 B 1 Bright A_NoBlocking
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAA 0 A_SpawnItemEx ("Rrock04",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("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 1 A_SpawnItemEx("ForgottenMaiden",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION )
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	STT5 B -1
    Stop
  NoextraForgottenMaiden:
	TNT1 A 0
  	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx ("TorchTree1")
	Stop
	}
}

ACTOR ForgottenMaiden05 /// Fire
{
	Health 500
	Radius 31
	Height 64
	Speed 1
	PainChance 256
	Mass 2000
	Tag "Forgotten Maiden"
	+SOLID
	+SHOOTABLE
	+DONTBLAST
	+DONTMORPH
	+DONTRIP
	+NOICEDEATH
	+NOBLOOD
	+FULLVOLACTIVE
	+NEVERTARGET
	+NOINFIGHTING
	-COUNTKILL
	DamageFactor "FireMagic", 0
	DamageFactor "Fire", 0
	DamageFactor "Ice", 0
	DamageFactor "PlayerVoid", 0
	SeeSound "stonemaiden/cry"
	PainSound "stonemaiden/pain"
	DeathSound "stonemaiden/free"
	ActiveSound "stonemaiden/cry"
	Obituary "How did the Stone maiden manage to kill you?"
	HitObituary "How did the Stone maiden manage to kill you?"
	States
	{
  Spawn: 
  	TNT1 A 0
    GAR7 A 1
  Goto Stone
  Stone: 
    GAR7 A 500 
	GAR7 A 1 A_Jump (64, 1)
	Loop
	GAR7 B 20
	GAR7 C 7
	GAR7 D 4
	GAR7 E 4
	GAR7 F 4 A_PlaySound ("stonemaiden/drip")
	Loop
  Death:
	GAR7 G 1 Bright A_NoBlocking
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAA 0 A_SpawnItemEx ("Rrock04",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("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 1 A_SpawnItemEx("ForgottenMaiden",10,0,0, 0, 0,0,0, SXF_NOCHECKPOSITION )
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	GAR7 G -1
    Stop
  NoextraForgottenMaiden:
	TNT1 A 0
  	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx ("TorchTree1")
	Stop
	}
}

ACTOR ForgottenMaiden06 /// Golden
{
	Health 5000
	Radius 31
	Height 64
	Speed 1
	PainChance 256
	Mass 10000
	Tag "Ten-million dollar maiden"
	+SOLID
	+SHOOTABLE
	+DONTBLAST
	+DONTMORPH
	+DONTRIP
	+NOICEDEATH
	+NOBLOOD
	+FULLVOLACTIVE
	+NEVERTARGET
	+NOINFIGHTING
	-COUNTKILL
	DamageFactor "FireMagic", 0
	DamageFactor "Fire", 0
	DamageFactor "Ice", 0
	DamageFactor "PlayerVoid", 0
	SeeSound "stonemaiden/cry"
	PainSound "stonemaiden/pain"
	DeathSound "stonemaiden/free"
	ActiveSound "stonemaiden/cry"
	Obituary "How did the Stone maiden manage to kill you?"
	HitObituary "How did the Stone maiden manage to kill you?"
	Dropitem "GoldenGoose" 256
	States
	{
  Spawn: 
  	TNT1 A 0
    GST5 A 1
  Goto Stone
  Stone: 
    GST5 A 100 
	Loop
  Death:
	GST5 B 1 Bright A_NoBlocking
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock06",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx ("Rrock04",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAAA 0 A_SpawnItemEx("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Rrock01",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAA 0 A_SpawnItemEx ("Rrock04",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("Rrock05",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAA 0 A_SpawnItemEx("Rrock06",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("Rrock01",random(-20,20),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
	TNT1 AAAA 0 A_SpawnItemEx("Rrock02",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 AAA 0 A_SpawnItemEx("Rrock03",0,0,32,random(-10,10),random(-10,10),random(5,10))
	TNT1 A 0 A_PlaySound ("stonemaiden/free")
	GST5 B -1
    Stop
  NoextraForgottenMaiden:
	TNT1 A 0
  	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx ("TorchTree1")
	Stop
	}
}

ACTOR SstatueSet02 : RandomSpawner replaces "HeadOnAStick"
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
  -COUNTKILL
	DropItem "HeadOnAStick01" 255, 5
    DropItem "ForgottenMaiden01" 255, 1
	DropItem "ForgottenMaiden02" 255, 1
	DropItem "ForgottenMaiden03" 255, 1
}

ACTOR HeadOnAStick01
{
  Radius 16
  Height 56
  ProjectilePassHeight -16
  +SOLID
  States
  {
  Spawn:
    POL4 A -1
    Stop
  }
}

ACTOR GoldenGoose 
{
  Health 2500
  Radius 9
  Height 22
  Mass 40
  Speed 4
  PainChance 200
  Monster
  Tag "Golden Goose"
  Damagetype "GoldenGooseDamage"
  -COUNTKILL
  +FLOAT
  +NOGRAVITY
  +WINDTHRUST
  +DONTMORPH
  +FLOORCLIP
  +FRIENDLY
  +BOSS
  SeeSound "chicken/pain"
  AttackSound "chicken/attack"
  PainSound "chicken/pain"
  DeathSound "chicken/death"
  ActiveSound "chicken/active"
  Obituary "%o met the Golden Goose"
  States
  {
  Spawn:
    K8CK AB 10 A_Look
    Loop
  See:
    K8CK AB 3 A_Chase
    Loop
  Pain:
    K8CK D 5 
    K8CK C 5 A_Pain
    Goto See
  Melee:
    K8CK A 8 A_FaceTarget
    K8CK C 10 A_CustomMeleeAttack(1000, "chicken/attack", "chicken/attack", "GoldenGooseDamage")
    Goto See
  Death:
    K8CK E 6 A_Scream
    K8CK F 6 A_Feathers
    K8CK G 6
    K8CK H 6 A_NoBlocking
    K8CK IJK 6
    K8CK L -1
    Stop
  }
  
}

ACTOR Barrelspawnner : RandomSpawner replaces ExplosiveBarrel
{
  +NOBLOCKMAP
  +NOSECTOR
  +NOGRAVITY
  +THRUACTORS
	DropItem "NormalExplosivebarrel" 255, 99
    DropItem "AngelicBarrel" 255, 1
}

ACTOR NormalExplosivebarrel
{
  Health 20
  Radius 10
  Height 42
  +SOLID
  +SHOOTABLE
  +NOBLOOD
  +ACTIVATEMCROSS
  +DONTGIB
  +NOICEDEATH
  +OLDRADIUSDMG
  -COUNTKILL
  DeathSound "world/barrelx"
  Obituary "$OB_BARREL" // "%o went boom."
  States
  {
  Spawn:
    BAR1 AB 6
    Loop
  Death:
    BEXP A 5 Bright
    BEXP B 5 Bright A_Scream
    BEXP C 5 Bright
    BEXP D 5 Bright A_Explode
    BEXP E 10 Bright
    TNT1 A 1050 Bright A_BarrelDestroy
    TNT1 A 5 A_Respawn
    Wait
  }

}
	
ACTOR AngelicBarrel
{
  Health 20
  Radius 10
  Height 42
  Mass 30
  Speed 14
  PainChance 120
  Species "Angelic Barrel"
  +FLOAT
  +NOGRAVITY
  +SPAWNFLOAT
  +SOLID
  +SHOOTABLE
  +NOBLOOD
  +ACTIVATEMCROSS
  +DONTGIB
  +NOICEDEATH
  +OLDRADIUSDMG
  +AVOIDMELEE
  -COUNTKILL
  Obituary "%o didn't know. All barrels go to heaven."
 
  	var int user_haloactive;
  
  States
  {
    Spawn:
	AB8L 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 ("CherubHalo", 0,0,28, 0,0,0, 0, SXF_NOCHECKPOSITION | SXF_SETMASTER)
	Goto SpawnLoop
  SpawnLoop:
	AB8L ABC 4 A_Wander
	TNT1 A 0 A_PlaySound("bird/flap")
	AB8L D 4 A_Wander
	Loop
  See:
    AB8L AABBCCD 10 A_Wander
    Loop
  Death:
	TNT1 A 0 A_SetUserVar (user_haloactive, 0)
    AB8L E 10 Bright
	AB8L F 10 Bright A_Scream
	TNT1 A 0 A_PlaySound ("seraph/attack4")
    AB8L F 5 Bright A_Explode(200,256)
    AB8L G 20 Bright
    TNT1 A 1050 Bright A_BarrelDestroy
    TNT1 A 5 A_Respawn
    Wait
  }
}