ACTOR PhaseGhoul : Revenant 27902
{
  Health 1250
  PainChance 96
  SeeSound "PhaseGhoul/Sight"
  PainSound "PhaseGhoul/Pain"
  ActiveSound "PhaseGhoul/Active"
  DeathSound "PhaseGhoul/Death"
  Species "Skeletons"
  +MISSILEMORE
  +QUICKTORETALIATE
  +SHADOW
  +NOFEAR
  +NOICEDEATH
  +DONTHURTSPECIES
  +BOSS
  BloodColor "51 07 94"
  Speed 24
  DamageFactor 0.666
  DamageFactor "PlayerDTRG", 0.5
  DamageFactor "Legendary", 0.25
  DamageFactor "LegendaryPlayer", 0.25
  DamageFactor "LegendaryGuru", 0.25
  DamageFactor "LegendaryGuruPlayer", 0.25
  DamageFactor "Ice", 0.333
  DamageFactor "FreezerBurn", 0.333
  DamageFactor "CadaverRocket", 0
  Obituary "A phase ghoul seeked and destroyed %o."
  HitObituary "%o got tko'd by a phase ghoul."
  Tag "\ctPhase Ghoul\c-"
  MeleeRange 100
  var int user_missile;
  var int user_fakedeath;
  States
  {
  Spawn:
	PGHL A 0
	PGHL A 1 A_SpawnItemEx("PhaseGhoulASpawner")
	PGHL A 0 A_Look
	Loop
  See:
	PGHL AA 1 A_SpawnItemEx("PhaseGhoulASpawner")
	PGHL A 0 A_Chase
	PGHL BB 1 A_SpawnItemEx("PhaseGhoulBSpawner")
	PGHL B 0 A_Chase
	PGHL CC 1 A_SpawnItemEx("PhaseGhoulCSpawner")
	PGHL C 0 A_Chase
	PGHL DD 1 A_SpawnItemEx("PhaseGhoulDSpawner")
	PGHL D 0 A_Chase
	PGHL EE 1 A_SpawnItemEx("PhaseGhoulESpawner")
	PGHL E 0 A_Chase
	PGHL FF 1 A_SpawnItemEx("PhaseGhoulFSpawner")
	PGHL F 0 A_Chase
	PGHL M 0 A_ChangeFlag("NOPAIN",1)
	Loop
  Melee:
	PGHL J 0 A_SkelWhoosh
	PGHL JJJ 1 A_SpawnItemEx("PhaseGhoulJspawner")
	PGHL A 0 A_RadiusGive("PhaseMindfuck",128,RGF_PLAYERS,1)
	PGHL KKK 1 A_SpawnItemEx("PhaseGhoulKspawner")
	PGHL A 0 A_RadiusGive("PhaseMindfuck",128,RGF_PLAYERS,1)
	PGHL L 0 A_CustomMeleeAttack(random(6, 9)*7, "skeleton/melee")
	PGHL LLL 1 A_SpawnItemEx("PhaseGhoulLspawner")
	PGHL A 0 A_RadiusGive("PhaseMindfuck",128,RGF_PLAYERS,1)
	PGHL L 0 A_Recoil(random(35, 45))
	PGHL L 0 ThrustThingZ(0, random(30, 40), 1, 1)
	Goto See
  Missile:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_JumpIfCloser(192,"melee")
	TNT1 A 0 A_Jump(128,"Railgun","FamineBalls","BFG15K","Floorshits")
	TNT1 A 0 A_Jump(40,"Clones")
	Goto Normal
  Normal:
	TNT1 A 0 A_FaceTarget
	PGHL GGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_SetUserVar("user_missile",0)
  NormalLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 8,"MissileEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
	PGHL GGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_CustomMissile("PhaseGhoulMissile",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	Loop
  MissileEnd:
	TNT1 A 0 A_Jump(128,6)
	TNT1 A 0 ThrustThingZ(0, random(30, 45), 0, 1)
	TNT1 A 0 ThrustThing(random(0, 359), random(20, 30), 1, 0)
	PGHL IIIIIIIII 1 A_SpawnItemEx("PhaseGhoulISpawner")
	TNT1 A 0 A_Jump(128,"Normal","Railgun","FamineBalls","BFG15K","Floorshits")
	Goto See
  Railgun:
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoulRail",60,-16)
	PGHL HHHHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoulRail",60,-16)
	PGHL HHHHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoulRail",60,-16)
	PGHL HHHHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	Goto MissileEnd
  FamineBalls:
	TNT1 A 0 A_FaceTarget
	PGHL GGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_SetUserVar("user_missile",0)
  FamineBallsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 10,"MissileEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
	PGHL GGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_CustomMissile("PhaseGhoulFamineBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	Loop
  BFG15k:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoul15KBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoul15KBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoul15KBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoul15KBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoul15KBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	Goto MissileEnd
  Floorshits:
	TNT1 A 0 A_FaceTarget
	PGHL JJJJJJ 1 A_SpawnItemEx("PhaseGhoulJspawner")
	TNT1 A 0 A_FaceTarget
	PGHL KKKKKK 1 A_SpawnItemEx("PhaseGhoulKspawner")
	TNT1 A 0 A_CustomMissile("PhaseGhoulFireSpawner",0,0,0)
	TNT1 A 0 A_CustomMissile("PhaseGhoulFireSpawner",0,0,-5)
	TNT1 A 0 A_CustomMissile("PhaseGhoulFireSpawner",0,0,5)
	TNT1 A 0 A_CustomMissile("PhaseGhoulFireSpawner",0,0,-10)
	TNT1 A 0 A_CustomMissile("PhaseGhoulFireSpawner",0,0,10)
	TNT1 A 0 A_FaceTarget
	PGHL LLLLLL 1 A_SpawnItemEx("PhaseGhoulLspawner")
	Goto MissileEnd
  Clones:
	PGHL M 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_PlaySound("PhaseGhoul/Attack")
	PGHL MMMMMMMMMMMMMMMMMMMM 1 A_SpawnItemEx("PhaseGhoulMspawnersubtract")
	TNT1 AAA 0 A_SpawnItemEx("FakePhaseGhoul",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS)
	PGHL AA 1 A_SpawnItemEx("PhaseGhoulASpawner")
	PGHL A 0 A_Wander
	PGHL BB 1 A_SpawnItemEx("PhaseGhoulBSpawner")
	PGHL B 0 A_Wander
	PGHL CC 1 A_SpawnItemEx("PhaseGhoulCSpawner")
	PGHL C 0 A_Wander
	PGHL DD 1 A_SpawnItemEx("PhaseGhoulDSpawner")
	PGHL D 0 A_Wander
	PGHL EE 1 A_SpawnItemEx("PhaseGhoulESpawner")
	PGHL E 0 A_Wander
	PGHL FF 1 A_SpawnItemEx("PhaseGhoulFSpawner")
	PGHL F 0 A_Wander
	Goto See
  Pain:
	PGHL M 0 A_ChangeFlag("NOPAIN",1)
	PGHL M 0 A_RadiusGive("PhaseMindfuck",256,RGF_PLAYERS)	
	PGHL M 0 ThrustThingZ(0, random(30, 45), 0, 1)
	PGHL M 0 A_Pain
	PGHL MMMM 1 A_SpawnItemEx("PhaseGhoulMspawnersubtract")
	PGHL M 0 ThrustThing(random(0, 359), random(20, 30), 1, 0)
	PGHL M 0 A_Jump(128, "missile")
	Goto See
  Pain.Legendary:
  Pain.LegendaryGuruPlayer:
  Pain.PlayerDTRG:
	PGHL M 0 A_Pain
	PGHL M 0 ThrustThingZ(0, random(30, 45), 0, 1)
	PGHL M 0 A_RadiusGive("PhaseMindfuck",2048,RGF_PLAYERS)	
	PGHL M 0 A_Jump(128, "pain2")
	PGHL M 0 ThrustThing(angle/256*360+64, random(40, 50), 1, 0)
	Goto Pain3
  Pain2:
	PGHL M 0 ThrustThing(angle/256*360+192, random(40, 50), 1, 0)
  Pain3:
	PGHL MMMM 1 A_SpawnItemEx("PhaseGhoulMspawnersubtract")
	PGHL M 0 A_Jump(192, "missile")
	Goto See
  Death:
	PGHL MMMMMM 1 A_SpawnItemEx("PhaseGhoulMspawnersubtract")
	TNT1 A 0 A_JumpIf(user_fakedeath == 1,2)	 
	TNT1 A 0 A_Jump(64,"FakeDeath")
	TNT1 A 0 A_Scream
	TNT1 A 0 A_SpawnItemEx("DemonAmmo",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("DemonAmmoBox",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION,128)
	TNT1 A 0 A_SpawnItemEx("Demon Tech Rifle",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION,128)
	TNT1 A 0 A_SpawnItemEx("BossLifeEssence",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("BossArmorBonusMax",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("PhaseSphere",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION,128)
	TNT1 A 0 A_SpawnItemEx("UltraSphere",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION,128)
	PGHL NOPQR 6
	PGHL S 50
	TNT1 A 0 A_PlaySound("PhaseGhoul/BodyFade")
  DeathLoop:
	PHGL SS 4 A_SpawnItemEx("PhaseGhoulDeath",0,0,0,0,0,2)
	TNT1 A 0 A_FadeOut(0.1,1)
	Loop
  FakeDeath:
	TNT1 A 0 A_SetUserVar("user_fakedeath",1)
	TNT1 A 0 A_Scream
	PGHL NOPQR 6
	PGHL S 100
	PGHL SSSSS 30 A_Jump(40,"RevivePls")
	Goto RevivePls
  RevivePls:
	TNT1 A 0 A_PlaySound("PhaseGhoul/NotSoDeath",7,1.0,0,ATTN_NONE)
	TNT1 A -1 Thing_Raise(0)
	Goto Raise
  Raise:
	PGHL RQPONM 6
	Goto See
  }
}

ACTOR PhaseGhoulMissile : PhaseCyberHomer
{
  Damagetype "CadaverRocket"
  States
  {
  Death:
	TNT1 A 0
	TNT1 A 0 A_radiusgive("PhaseMindfuck",80,RGF_PLAYERS)
	TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
    TNT1 AAA 0 A_CustomMissile("PurpleKaboom4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
    PHRK B 6 Bright A_Explode
    PHRK CDEF 4 Bright A_SetTranslucent(0.75,1)
    Stop
	}
}

ACTOR PhaseGhoulRail : PhaseCyberRail
{
  DamageType "CadaverRocket"
}

ACTOR PhaseGhoulFamineBall : PhaseArchonTracer
{
  DamageType "CadaverRocket"
}

ACTOR PhaseGhoul15KBall : PhaseCyber15KBall
{
  DamageType "CadaverRocket"
  States
  {
  Death:
	TNT1 A 0
	TNT1 A 0 A_radiusgive("PhaseMindfuck",110,RGF_PLAYERS)
    TNT1 A 0 A_SpawnItemEx("PurpleBFGShockwave", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("PurpleKaboom13", 0, 0, random(0,360), 2, random(0,360))      
    PFE1 A 4 Bright A_Explode	
    PFE1 BCDEF 4 Bright
    Stop
    }
}

ACTOR PhaseGhoulFireSpawner : PhaseAFireSpawner
{
  DamageType "CadaverRocket"
  Species "Skeletons"
  Obituary "A phase ghoul seeked and destroyed %o."
  MissileType PhaseGhoulFire
}

ACTOR PhaseGhoulFire : PhaseArchonFire2
{
  DamageType "CadaverRocket"
  Obituary "A phase ghoul seeked and destroyed %o."
}

Actor FakePhaseGhoul : PhaseGhoul
{
+NOTARGET
-COUNTKILL
-SHOOTABLE
-SOLID
-BOSS
States
  {
  Spawn:
	PGHL AA 1 A_SpawnItemEx("PhaseGhoulASpawner")
	PGHL A 0 A_Wander
	PGHL BB 1 A_SpawnItemEx("PhaseGhoulBSpawner")
	PGHL B 0 A_Wander
	PGHL CC 1 A_SpawnItemEx("PhaseGhoulCSpawner")
	PGHL C 0 A_Wander
	PGHL DD 1 A_SpawnItemEx("PhaseGhoulDSpawner")
	PGHL D 0 A_Wander
	PGHL EE 1 A_SpawnItemEx("PhaseGhoulESpawner")
	PGHL E 0 A_Wander
	PGHL FF 1 A_SpawnItemEx("PhaseGhoulFSpawner")
	PGHL F 0 A_Wander
  SpawnLoop:
	PGHL AA 1 A_SpawnItemEx("PhaseGhoulASpawner")
	PGHL A 0 A_Chase
	PGHL BB 1 A_SpawnItemEx("PhaseGhoulBSpawner")
	PGHL B 0 A_Chase
	PGHL CC 1 A_SpawnItemEx("PhaseGhoulCSpawner")
	PGHL C 0 A_Chase
	PGHL DD 1 A_SpawnItemEx("PhaseGhoulDSpawner")
	PGHL D 0 A_Chase
	PGHL EE 1 A_SpawnItemEx("PhaseGhoulESpawner")
	PGHL E 0 A_Chase
	PGHL FF 1 A_SpawnItemEx("PhaseGhoulFSpawner")
	PGHL F 0 A_Chase
	Loop
  Melee:
  Missile:
	TNT1 A 0 A_Jump(128,"FamineBalls","BFG15K","Floorshits")
	Goto Normal
  Normal:
	TNT1 A 0 A_FaceTarget
	PGHL GGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_SetUserVar("user_missile",0)
  NormalLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 4,"MissileEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
	PGHL GGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_CustomMissile("PhaseGhoulMissile",60,-16)
	PGHL HHHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	Loop
  FamineBalls:
	TNT1 A 0 A_FaceTarget
	PGHL GGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_SetUserVar("user_missile",0)
  FamineBallsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 6,"MissileEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
	PGHL GGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_CustomMissile("PhaseGhoulFamineBall",60,-16)
	PGHL HHHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	Loop
  BFG15k:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoul15KBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoul15KBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	PGHL GGGGGG 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("PhaseGhoul15KBall",60,-16)
	PGHL HHH 1 A_SpawnItemEx("PhaseGhoulGSpawner")
	Goto MissileEnd
  Floorshits:
	TNT1 A 0 A_FaceTarget
	PGHL JJJJJJ 1 A_SpawnItemEx("PhaseGhoulJspawner")
	TNT1 A 0 A_FaceTarget
	PGHL KKKKKK 1 A_SpawnItemEx("PhaseGhoulKspawner")
	TNT1 A 0 A_CustomMissile("PhaseGhoulFireSpawner",0,0,0)
	TNT1 A 0 A_CustomMissile("PhaseGhoulFireSpawner",0,0,-8)
	TNT1 A 0 A_CustomMissile("PhaseGhoulFireSpawner",0,0,8)
	TNT1 A 0 A_FaceTarget
	PGHL LLLLLL 1 A_SpawnItemEx("PhaseGhoulLspawner")
	Goto MissileEnd
  MissileEnd:
	PGHL IIIIIIIII 1 A_SpawnItemEx("PhaseGhoulISpawner")
	TNT1 A 0 A_Die
	Goto Death
  Death:
	TNT1 AA 0 A_SpawnItemEx("PhaseGhoulMspawnersubtract")
	PGHL M 1 A_FadeOut
	Loop
	}
}
	
ACTOR PhaseGhoulAspawner : phasenightmareAspawner
{
  Scale 1.0
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulA", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulBspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulB", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulCspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulC", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulDspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulD", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulEspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulE", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulFspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulF", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulGspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulG", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulIspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulI", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulJspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulJ", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulKspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulK", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulLspawner : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulL", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulMspawnersubtract : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("PhaseGhoulMsubtract", 0, 0, -20, random(3, -3)*0.5, random(3, -3)*0.5, random(6, 13)*0.5)
	stop
  }
}

ACTOR PhaseGhoulA : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL A 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulB : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL B 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulC : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL C 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulD : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL D 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulE : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL E 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulF : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL F 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulG : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL G 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulI: PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL I 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulJ : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL J 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulK : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL K 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulL : PhaseGhoulAspawner
{
  States
  {
  Spawn:
	TNT1 A 8
	PGHL L 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulMsubtract : PhaseGhoulAspawner
{
  renderstyle subtract
  States
  {
  Spawn:
	TNT1 A 8
	PGHL M 1 a_fadeout(0.1)
	goto spawn+1
  }
}

ACTOR PhaseGhoulDeath
{
  +NOINTERACTION
  +CLIENTSIDEONLY
  Renderstyle Add
  Alpha 0.9
  states
  {
  Spawn:
	PGHL S 5 A_FadeOut
	Loop
	}
}