//=========================================================================
//=========================================================================
//
//                               Thamuz
//
//=========================================================================
//=========================================================================
//  DECORATE: DBT
//  Sprites: Jimmy91
//=========================================================================

Actor Thamuz : Cyberdemon //7228
{
  Health 4000
  Speed 16
  PainChance 35
  Mass 2000
  Scale 1.1
  Bloodcolor "00 AA 00"
  Monster
  +Boss
  +NoRadiusDMG
  +FloorClip
  SeeSound "cyber/sight"
  PainSound "brain/pain"
  DeathSound "cyber/death"
  /*SeeSound "Thamuz/Idlesight"
  PainSound "Thamuz/Pain"
  DeathSound "Thamuz/death"
  ActiveSound "Thamuz/Idlesight"*/
  Obituary "%o fell before a Tiberium-Enhanced Cyberdemon."
  /*DropItem CellPack
  DropItem RocketBox
  DropItem CellPack 128
  DropItem RocketBox 128*/
  States
  {
  Spawn:
    DCYB A 10 A_Look
    Loop
  See:
    DCYB A 3 A_Chase
    TNT1 A 0 A_SpawnItemEx("DarkCyberGhostA",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Hoof
    DCYB A 3 A_Chase
    TNT1 A 0 A_SpawnItemEx("DarkCyberGhostA",0,0,0,0,0,0,0,128)
    DCYB A 3 A_Chase
    TNT1 A 0 A_SpawnItemEx("DarkCyberGhostB",0,0,0,0,0,0,0,128)
    DCYB B 3 A_Chase
    TNT1 A 0 A_SpawnItemEx("DarkCyberGhostB",0,0,0,0,0,0,0,128)
    DCYB C 3 A_Chase
    TNT1 A 0 A_SpawnItemEx("DarkCyberGhostC",0,0,0,0,0,0,0,128)
    DCYB C 3 A_Chase
    TNT1 A 0 A_SpawnItemEx("DarkCyberGhostC",0,0,0,0,0,0,0,128)
    DCYB D 3 A_Chase
    TNT1 A 0 A_SpawnItemEx("DarkCyberGhostD",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Metal
    DCYB D 3 A_Chase
    TNT1 A 0 A_SpawnItemEx("DarkCyberGhostD",0,0,0,0,0,0,0,128)
    Loop
  Missile:
    TNT1 A 0 A_Jump(160,6)
    DCYB AE 5 A_FaceTarget
    DCYB E 5 A_FaceTarget
    DCYB F 10 A_CustomMissile("DCBMiss1",56,-25,0)
    DCYB E 15 A_FaceTarget
    Goto See
    TNT1 A 0 A_Jump(160,31)
    TNT1 A 0 A_SetInvulnerable
    DCYB G 20 A_PlaySound("Apocalypse/cast")
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,20)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,40)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,60)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,80)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,100)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,120)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,140)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,160)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,-20)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,-40)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,-60)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,-80)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,-100)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,-120)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,-140)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,-160)
    TNT1 A 0 A_CustomMissile("DCBMiss3",50,0,180)
    DCYB G 10 A_CustomMissile("DCBMiss3",50,0,0)
    DCYB GGGGGGGG 10
    TNT1 A 0 A_UnsetInvulnerable
    DCYB G 10
    Goto See
    DCYB AE 3 A_FaceTarget
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    DCYB E 4 A_FaceTarget
    DCYB F 4 A_CustomMissile("DCBMiss2",56,-25,0)
    Goto See
  Pain:
    DCYB G 2
    DCYB G 2 A_Pain
    Goto See
  Death:
    DCYB H 5
    DCYB I 5 A_Scream
    TNT1 A 0 A_SpawnItemEx("BDS",0,0,0,0,0,0,0,128)
    DCYB JK 5
	DCYB L 5 A_SpawnItemEx("Cardinal",0,0,30,0,0,3,0,0)
	DCYB MNO 5
    DCYB P -1 A_NoBlocking
    Stop

  }
}

Actor BDS
{   
  Radius 1
  Height 1
  Speed 1
  SeeSound "Thamuz/death2"
  Projectile
  States
  {
  Spawn:
    TNT1 A 1
  Stop
  }
}

Actor DarkCyberGhostA
{   
  Radius 2
  Height 2
  Speed 0
  Scale 1.1
  Projectile
  RenderStyle Translucent
  Alpha 0.6
  States
  {
  Spawn:
    TNT1 A 3
    DCYB A 3 A_FadeOut(0.10)
    Goto Spawn+1
  }
}

Actor DarkCyberGhostB : DarkCyberGhostA
{   
  States
  {
  Spawn:
    TNT1 A 3
    DCYB B 3 A_FadeOut(0.10)
    Goto Spawn+1
  }
}

Actor DarkCyberGhostC : DarkCyberGhostA
{   
  States
  {
  Spawn:
    TNT1 A 3
    DCYB C 3 A_FadeOut(0.10)
    Goto Spawn+1
  }
}

Actor DarkCyberGhostD : DarkCyberGhostA
{   
  States
  {
  Spawn:
    TNT1 A 3
    DCYB D 3 A_FadeOut(0.10)
    Goto Spawn+1
  }
}


Actor DCBMiss1
{
  Radius 12
  Height 12
  Speed 16
  Damage 30
  Projectile
  +SeekerMissile
  +ExtremeDeath
  Renderstyle Add
  SeeSound "q2weapon/bfgball"
  DeathSound "q2weapon/bfgballexplo"
  Decal BFGLightning
  States
  {
  Spawn:
    CBTS A 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS B 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS C 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS D 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS E 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS F 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS G 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS H 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS I 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    CBTS J 2 Bright A_SeekerMissile(1,90)
    TNT1 A 0 Bright A_SpawnItemEx("DCBM1Trail",0,0,0,0,0,0,0,128)
    Loop
  Death:
    CBTS K 2 Bright A_Explode(140,140)
    CBTS LMNOPQRSTUVW 2 Bright
    Stop
  }
}

Actor DCBM1Trail
{   
  Radius 1
  Height 1
  Speed 0
  Scale 0.8
  +Noclip
  Projectile
  RenderStyle Add
  Alpha 0.6
  States
  {
  Spawn:
    TNT1 A 4
    CBTS LMNOPQRSTUVW 2 A_FadeOut
    Stop
  }
}

Actor DCBMiss2
{
  Radius 12
  Height 8
  Health 5
  Speed 28
  Damage 15 
  RenderStyle Add
  Projectile
  Translation "160:167=120:127", "208:223=120:127"
  SeeSound "q2weapon/rocketlauncherfire"
  DeathSound "q2weapon/rocketexplo"
  Decal RevenantScorch
  States
  {
  Spawn:
    THZ4 A 2 Bright 
    Loop
  Death:
    FSFX DEFGHIJKLM 2 Bright
    Stop
  }
}

Actor DCBMiss3
{
  Radius 1
  Height 1
  Health 5
  Speed 8
  Damage 0
  Scale 2
  RenderStyle Add
  +BloodLessImpact
  +Ripper
  +DontSplash
  Projectile
  SeeSound "h2necromancer/magiccast"
  States
  {
  Spawn:
    TNT1 A 2 A_Gravity
    Loop
  Death:
    FSFX NOPQRSTNOPQRST 3
    FSFX Z 0 A_CustomMissile("DCBMiss3M",0,0,180)
    Stop
  }
}


Actor DCBMiss3M
{
  Radius 10
  Height 10
  Speed 28
  Damage 20
  Scale 1.3
  +FloorHugger
  RenderStyle Add
  Projectile
  DeathSound "comet/explosion"
  Decal RevenantScorch
  States
  {
  Spawn:
    FSFX NOPQRSTNOPQRST 3 A_SpawnItemEx("DCBMiss3MG",0,0,0,0,0,0,0,128)
    Loop
  Death:
    TNT1 A 0 A_Explode(64,64)
    FSFX UVW 3
    Stop
  }
}


Actor DCBMiss3MG
{   
  Radius 1
  Height 1
  Speed 0
  Scale 0.8
  +Noclip
  Projectile
  RenderStyle Add
  Alpha 0.6
  States
  {
  Spawn:
    TNT1 A 4
    FSFX NOPQRST 3
    Stop
  }
}
//=========================================================================
//=========================================================================
//
//                               CARDINAL
//
//=========================================================================
//=========================================================================
//DECORATE: zrrion the insect
//Sprites: Jimmy91, Nanami (edits by zrrion the insect) 
//=========================================================================

ACTOR Cardinal : Thamuz//3120
{ 
   Health 2000
   Speed 6
   Radius 24
   Height 112
   PainChance 50
   Mass 700
   Meleedamage 10 
   SeeSound "cyber/sight"
   PainSound "brain/pain"
   DeathSound "cyber/death"
   Missiletype "Cardinal_Rocket"
   MissileHeight 72
   MONSTER
   +NORADIUSDMG
   +NOGRAVITY
   +FLOATBOB
   +FLOAT
   bloodcolor green
   Obituary "%o was destroyed by a LVL 2 Tiberium-Enhanced Cyberdemon."  
   States 
   { 
   Spawn:
	  CARD X 0 NoDelay A_FaceTarget
      CARD AB 4 Bright A_Look
      Loop
   See:
      CARD AABBAABBAABB 2 Bright A_Chase 
      loop
   Missile:
      CARD A 0 A_jump(10,6)
      CARD A 0 A_jump(100,7)
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("Cardinal_Rocket", 72, -30, 0)
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("Cardinal_Rocket", 72, -30, 0)
      Goto See
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("Cardinal_Rocket", 72, -30, 0)
      Goto See
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
      CARD C 4 Bright A_FaceTarget
      CARD D 5 Bright A_CustomMissile("CardinalPlasma", 72, -30, 0)
      Goto See
   Pain: 
      CARD A 4 Bright
      CARD A 0 Bright A_custommissile("DeathBall",72,0,0,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,20,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,40,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,60,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,80,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,100,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,120,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,140,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,160,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,180,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,200,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,220,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,240,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,260,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,280,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,300,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,320,2,0)
      CARD A 0 Bright A_custommissile("DeathBall",72,0,340,2,0)
      Goto See
   Death: 
      CARD E 5 Bright
      CARD F 5 Bright A_Scream
      CARD G 5 Bright A_NoBlocking
      CARD H 5 Bright
      CARD I 5 Bright A_Explode
      CARD J 5 Bright
      CARD K 5 Bright
      CARD L 5 Bright A_BossDeath
      Stop 
   } 
}
//====================
ACTOR Cardinal_Rocket
{
	Game Doom
	//SpawnID 127
	Radius 11
	Height 8
	Speed 20
	Damage 24
	Projectile
	+RANDOMIZE
	+DEHEXPLOSION
	+ROCKETTRAIL
	SeeSound "weapons/rocklf"
	DeathSound "weapons/rocklx"
	States
	{
	Spawn:
		CROC AB 4 Bright
		Loop
	Death:
		CROC C 8 Bright A_Explode
		CROC D 6 Bright
		CROC E 4 Bright
		Stop
	}
}

//====================
ACTOR faintGhost1
{
	Radius 1
	Height 1
	Speed 0
	Damage 0
	Mass 100
	translation "168 : 191 = 112 : 127"
	RenderStyle Translucent
	Alpha 0.9
	PROJECTILE
	scale .25
	States
	{
	Spawn:
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 Thing_ChangeTid(0,390)
	HEAD A 2 A_fadeout(0.05)
	loop
	}
}
//====================
ACTOR faintGhost2 : faintGhost1
{
	scale 1
	States
	{
	Spawn:
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 Thing_ChangeTid(0,390)
	HEAD A 2 A_fadeout(0.05)
	loop
	}
}
//====================
ACTOR faintGhost3 : faintGhost1
{
	scale 1
	States
	{
	Spawn:
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 Thing_ChangeTid(0,390)
	CARD AB 2 A_fadeout(0.05)
	loop
	}
}
//====================
ACTOR painball : BaronBall
{
translation "112 : 127 = 192 : 207"
	States
	{
	Spawn:
		BAL7 AB 4 BRIGHT
		Loop
	Death:
		BAL7 CDE 6 BRIGHT
		Stop
	}
}
//====================
actor DeathBall : BaronBall
{
  Damage 1
  +SEEKERMISSILE 
  scale .8
  States
  {
  Spawn:
    BAL7 A 4 BRIGHT A_Tracer
    BAL7 A 0 BRIGHT A_SpawnItem("BallTail", 0, 0)
    BAL7 B 4 BRIGHT A_Tracer
    BAL7 A 0 BRIGHT A_SpawnItem("BallTail", 0, 0)
    Loop
  Death:
    BAL7 CDE 6 BRIGHT
    Stop
  }
}
//====================
ACTOR BallTail : faintGhost1
{
	scale .6
	States
	{
	Spawn:
	 TNT1 A 0 A_FaceTarget
	 TNT1 A 0 Thing_ChangeTid(0,390)
	 BAL7 AB 2 A_fadeout(0.05)
	loop
	}
}
//====================
ACTOR CardinalPlasma  
{
	Radius 11
	Height 8
	Speed 20
	Damage 16
	Projectile
	+FLOATBOB
	SeeSound "imp/attack"
	DeathSound ""
	scale 1.0
	States
	{
	Spawn:
	 CRTA J 1 Bright A_SpawnItem("plasmaTail", 0, 0)
	 Loop
	Death:
	 TNT1 A 0 A_FaceTarget
	 TNT1 A 0 Thing_ChangeTid(0,390)
	 CRTA J 2 A_fadeout(0.05)
		Stop
	}
}
//====================
ACTOR plasmaTail
{
	Radius 1
	Height 1
	Speed 0
	Damage 0
	Mass 100
	+FLOATBOB
	PROJECTILE
	scale .25
	scale 1.0
	States
	{
	Spawn:
	 TNT1 A 0 A_FaceTarget
	 TNT1 A 0 Thing_ChangeTid(0,390)
	 CRTA IHGFEDCBABCDEFGHIJ 2 BRIGHT A_fadeout(0.05)
	loop
	}
}
//=========================================================================
//=========================================================================
//
//                              Annihilator
//
//=========================================================================
//=========================================================================
//  DECORATE: Eriance
//  Sprites: Id Software, Raven Software, Wolfendoom
//=========================================================================

ACTOR Annihilator : Cyberdemon//30111 
{
Obituary "The Cyber Annihilator blew %o away with its rockets."
Health 7000 
Radius 40 
Height 110 
Mass 1000 
Speed 16 
PainChance 10 
MONSTER
+NOTARGET 
+FLOORCLIP 
+NORADIUSDMG 
+BOSS 
+MISSILEEVENMORE 
SeeSound "monster/annsit" 
PainSound "cyber/pain" 
DeathSound "monster/anndth" 
ActiveSound "cyber/active" 
States 
   {    
   Spawn: 
       ANNI AB 10 A_Look 
       Loop 
   See: 
       ANNI A 3 A_Playsound ("monster/anhoof")
       ANNI ABBCC 3 A_Chase 
       ANNI D 3 A_Playsound ("monster/anhoof") 
       ANNI D 3 A_Chase 
       Loop 
   Missile:
       ANNI E 0 A_Jump (128,11)
       ANNI E 6 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("Rocket2",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("Rocket2",40,-27,0)
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("Rocket2",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("Rocket2",40,-27,0) 
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("Rocket2",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("Rocket2",40,-27,0)
       ANNI E 0 A_Jump (128,1)
       Goto See
       ANNI E 6 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("HomRocket1",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("HomRocket1",40,-27,0)
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("HomRocket1",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("HomRocket1",40,-27,0) 
       ANNI E 12 A_FaceTarget 
       ANNI F 0 Bright A_CustomMissile ("HomRocket1",40,27,0)
       ANNI F 12 Bright A_CustomMissile ("HomRocket1",40,-27,0)  
       Goto See 
   Pain: 
       ANNI G 10 A_Pain 
       Goto See 
   Death: 
       ANNI H 5 Bright
       ANNI I 5 Bright A_Scream 
       ANNI JKL 5 Bright
       ANNI M 5 Bright A_NoBlocking 
       ANNI NO 5 Bright
       ANNI P 5 
       ANNI P -1 A_BossDeath 
   } 
}

actor Rocket2
{
  obituary "%o rode %k's rocket."
  radius 11
  height 8
  speed 20
  damage 20
  seesound "weapons/rocklf"
  deathsound "weapons/rocklx"
  PROJECTILE  
  +RANDOMIZE
  +ROCKETTRAIL
  +THRUGHOST
  Decal Scorch
  states
  {
  Spawn:
    MISL A 1 bright
    loop
  Death:
    MISL B 0 bright A_SetTranslucent (0.67,1)
    MISL B 8 bright A_Explode
    MISL C 6 bright
    MISL D 4 bright
    stop
  }
}

ACTOR HomRocket1
{
   Radius 8
   Height 11
   Speed 30
   Damage 10
   PROJECTILE
   DeathSound "weapons/hrlexp"
   ExplosionDamage 64
   ExplosionRadius 96
   +SeekerMissile
   +Rockettrail
   +THRUGHOST
   SeeSound "weapons/hrlfir"
   Decal Scorch
   States
   {
   Spawn:
      HMIS A 4 Bright A_SeekerMissile (25,35)
      HMIS A 4 Bright
      HMIS A 2 Bright A_SeekerMissile (10,25)
      HMIS A 2 Bright
      goto Spawn+2
   Death:
      BAL3 C 0 Bright A_SetTranslucent (0.67,1)
      BAL3 C 8 Bright A_Explode
      BAL3 DE 5 Bright
      stop
   }
}

//=========================================================================
//=========================================================================
//
//                            Hades Elemental
//
//=========================================================================
//=========================================================================
//  Decorate: Eriance, Blue Shadow, MagicWazard
//  Sprites: Eriance, Raven Software
//=========================================================================
Actor Helemental : PainElemental//30130
{
  //$Title "Hades Elemental"
  //$Category Monsters
  Obituary "%o was electrocuted by a Hades-Elemental."
  HitObituary "%o got chomped by a Hades-Elemental."
  Health 1600
  Radius 34
  Height 64
  Mass 800
  Speed 10
  PainChance 32
  MeleeDamage 10
  DamageType normal
  SeeSound "monster/helsit"
  PainSound "monster/helpai"
  DeathSound "monster/heldth"
  ActiveSound "monster/helact"
  MeleeSound "caco/melee"
  Monster
  +Float
  +NoGravity
  +Boss
  +MissileMore
  +Notarget
  +DontHarmClass
  +NoRadiusDmg
  States
  {
  Spawn:
    HELE A 10 A_Look
    Loop
  See:
    HELE A 0 A_SetShootable
    HELE AAAAAAAAAAAA 3 A_Chase
    HELE A 0 A_Jump(72,1)
    Goto See+1
    HELE A 0 A_UnSetshootable
    HELE A 1 A_PlaySound("monster/heltel")
    HELE A 1 A_SetTranslucent(0.90)
    HELE A 1 A_SetTranslucent(0.80)
    HELE A 1 A_SetTranslucent(0.70)
    HELE A 1 A_SetTranslucent(0.60)
    HELE A 1 A_SetTranslucent(0.50)
    HELE A 1 A_SetTranslucent(0.40)
    HELE A 1 A_SetTranslucent(0.30)
    HELE A 1 A_SetTranslucent(0.20)
    HELE A 1 A_SetTranslucent(0.10)
    TNT1 A 0 A_Jump(128,25)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 A 0 A_Jump(128,25)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_ExtChase(0,0,1,1)
    HELE A 1 A_PlaySound("monster/heltel")
    HELE A 1 A_SetTranslucent(0.10)
    HELE A 1 A_SetTranslucent(0.20)
    HELE A 1 A_SetTranslucent(0.30)
    HELE A 1 A_SetTranslucent(0.40)
    HELE A 1 A_SetTranslucent(0.50)
    HELE A 1 A_SetTranslucent(0.60)
    HELE A 1 A_SetTranslucent(0.70)
    HELE A 1 A_SetTranslucent(0.80)
    HELE A 1 A_SetTranslucent(0.90)
    HELE A 1 A_SetTranslucent(1.0)
    HELE A 0 A_SetShootable
    Goto See
  Missile:
    HELE A 0 A_Jump(80,1)
    Goto Missile1
    HELE A 0 A_Jump(128,1)
    Goto Missile2
    HELE A 0
    Goto Missile3
  Missile1:
    HELE EF 5 Bright A_Facetarget
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-10,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,-5,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,0,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBall",24,0,5,0,0)
    HELE G 5 Bright A_CustomMissile("HadesBall",24,0,10,0,0)
    Goto See+1
  Missile2:
    HELE EF 5 Bright A_Facetarget
    HELE G 0 Bright A_CustomMissile("HadesBolt",32,0,-16,0,0)
    HELE G 0 Bright A_CustomMissile("HadesBolt",32,0,0,0,0)
    HELE G 5 Bright A_CustomMissile("HadesBolt",32,0,16,0,0)
    Goto See+1
  Missile3:
    HELE BC 5 Bright A_Facetarget
    HELE D 5 Bright A_DualPainAttack("HS")
    Goto See+1
  Melee:
    HELE ABD 5 Bright A_Facetarget
    HELE C 5 Bright A_MeleeAttack
    Goto See+1
  Pain:
    HELE H 3
    HELE H 3 A_Pain
    HELE H 6
    Goto See
  Death:
    HELE I 5 Bright A_Scream
    HELE JKL 5 Bright
    HELE M 5 Bright A_NoBlocking
    HELE M 0 Bright A_SpawnItemEx("HS",36,36)
    HELE M 0 Bright A_SpawnItemEx("HS",-36,36)
    HELE M 0 Bright A_SpawnItemEx("HS",-36,-36)
    HELE M 0 Bright A_SpawnItemEx("HS",36,-36)
    HELE NOP 5 Bright
    HELE QRSTU 5
    HELE V -1 A_SetFloorClip
    Stop
  }
}

Actor HadesBall : CacodemonBall
{
  Damage 8
  Speed 15
  Alpha 0.80
  DamageType lightning
  +ThruGhost
  +ForceXYBillboard
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  Decal "CacoScorch"
  States
  {
  Spawn:
    HEFX AB 4 Bright
    Loop
  Death:
    HEFX CDEEFGH 3 bright
    Stop
  }
}

Actor HadesBolt : CacodemonBall
{
  Damage 5
  Speed 5
  Radius 8
  Height 8
  Damagetype lightning
  SeeSound "weapons/none"
  DeathSound "weapons/gntidl"
  YScale 4.0
  XScale 2.0
  ReactionTime 35
  +FloorHugger
  +HexenBounce
  +Ripper
  -NoGravity
  -StrifeDamage
  States
  {
  Spawn:
    LFX2 F 1 Bright A_Explode(16,64,0)
    LFX2 F 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
    LFX2 F 0 ThrustThing(random(0,255),1,0,0)
    LFX2 G 1 Bright A_Explode(16,64,0)
    LFX2 G 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
    LFX2 H 1 Bright A_Explode(16,64,0)
    LFX2 H 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
    LFX2 I 1 Bright A_Explode(16,64,0)
    LFX2 I 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
    LFX2 J 1 Bright A_Explode(16,64,0)
    LFX2 J 0 Bright A_CustomMissile("HadesBolt2",0,0,0,6,90)
    LFX2 J 0 Bright A_CountDown
    Loop
  Death:
    LFX2 FGHIJ 2 Bright A_Explode(32,64,0)
    Stop
  }
}

Actor HadesBolt2 : CacodemonBall
{
  Damage 0
  Speed 184
  RenderStyle None
  DamageType Lightning
  +ThruGhost
  +Ripper
  SeeSound "Monster/hadtel"
  DeathSound "Monster/hadsit"
  States
  {
  Spawn:
    TNT1 A 1 Bright A_Explode(16,64,0)
    Loop
  Death:
    TNT1 A 1 Bright
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                                Overlord
//
//=========================================================================
//=========================================================================
//  Decorate: Eriance, Blue Shadow, MagicWazard
//  Sprites: Eriance, Raven Software
//=========================================================================

actor OverLord : Painelemental//30134
{
//$Category Monsters
Health 4000
Radius 43
Height 90
Mass 1000
Speed 13
PainChance 20
DamageType normal
//DropItem "UnmakerHeart" 256
MONSTER
DamageFactor lightning, 0.0
Obituary "%o was smitten by the Overlord."
HitObituary "The Overlord ate %o for lunch."
+FLOORCLIP
+NORADIUSDMG
+BOSS
+NOTARGET
+MISSILEEVENMORE
+FLOAT
+NOGRAVITY
+DONTFALL
MeleeDamage 20
MeleeRange 68
SeeSound "monster/ovlsit"
PainSound "monster/ovlpai"
DeathSound "monster/ovldth"
ActiveSound "monster/ovlact"
MeleeSound "caco/melee"
  states
  {
  Spawn:
    OVER A 10 A_Look
    loop
  See:
    OVER A 0 A_UnSetInvulnerable
    OVER AABBAACC 3 A_Chase
    OVER A 0 A_Jump(32,"Teleport")
    goto See+1
  Missile:
    OVER D 0 A_FaceTarget
    OVER D 0 A_Jump(256,"Missile1","Missile2","Missile3")
    stop
  Missile1:
    OVER DE 8 A_FaceTarget
    OVER FFFFF 4 bright A_PainAttack("HS")
    goto See
  Missile2:
    OVER GH 8 Bright A_FaceTarget
    OVER H 0 Bright A_JumpIfHealthLower(1500,3)
    OVER H 1 Bright A_PlaySound("weapons/shock")
    OVER H 7 Bright A_CustomMissile("StormShot1",43,0,0,0,0)
    goto See
    OVER H 1 Bright A_PlaySound("weapons/shock")
    OVER H 7 Bright A_CustomMissile("StormShot2",43,0,0,0,0)
    goto See
  Missile3:
    OVER JJJJJJJJ 1 A_FaceTarget
    OVER K 0 Bright A_CustomMissile("HadesBall",92,-40,random(-3,3),0,random(-3,3))
    OVER K 0 Bright A_CustomMissile("HadesBall",8,-40,random(-3,3),0,random(-3,3))
    OVER K 0 Bright A_CustomMissile("HadesBall",92,40,random(-3,3),0,random(-3,3))
    OVER K 0 Bright A_CustomMissile("HadesBall",8,40,random(-3,3),0,random(-3,3))
    OVER K 0 Bright A_CustomMissile("OverBall",54,-50,random(-3,3),0,random(-3,3))
    OVER K 4 Bright A_CustomMissile("OverBall",54,50,random(-3,3),0,random(-3,3))
    OVER J 4 A_SpidRefire
    OVER J 0 A_Jump(32,"See")
    goto Missile3+8
  Melee:
    OVER ADF 5 A_FaceTarget
    OVER E 5 A_MeleeAttack
    goto See
  Pain:
    OVER L 6
    OVER L 6 A_Pain
    OVER L 0 A_Jump(40,"Teleport")
    goto See
  Teleport:
    OVER F 0 A_SetInvulnerable
    OVER F 1 A_PlaySound("monster/heltel")
    OVER F 1 A_SetTranslucent(0.90)
    OVER F 1 A_SetTranslucent(0.80)
    OVER F 1 A_SetTranslucent(0.70)
    OVER F 1 A_SetTranslucent(0.60)
    OVER F 1 A_SetTranslucent(0.50)
    OVER F 1 A_SetTranslucent(0.40)
    OVER F 1 A_SetTranslucent(0.30)
    OVER F 1 A_SetTranslucent(0.20)
    OVER F 1 A_SetTranslucent(0.10)
    OVER F 0 A_Jump(128,25)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_ExtChase(0,0,1,1)
    TNT1 A 0 A_Jump(128,25)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_ExtChase(0,0,1,1)
    OVER F 1 A_PlaySound("monster/heltel")
    OVER F 1 A_SetTranslucent(0.10)
    OVER F 1 A_SetTranslucent(0.20)
    OVER F 1 A_SetTranslucent(0.30)
    OVER F 1 A_SetTranslucent(0.40)
    OVER F 1 A_SetTranslucent(0.50)
    OVER F 1 A_SetTranslucent(0.60)
    OVER F 1 A_SetTranslucent(0.70)
    OVER F 1 A_SetTranslucent(0.80)
    OVER F 1 A_SetTranslucent(0.90)
    OVER F 1 A_SetTranslucent(1.0)
    OVER F 0 A_UnSetInvulnerable
    goto See
  Death:
    OVER M 0 bright A_Facetarget
    OVER M 8 bright A_Scream
    OVER NO 8 bright
    OVER PPPPP 0 bright A_CustomMissile("OverFlesh1",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
    OVER PPPPP 0 bright A_CustomMissile("OverFlesh2",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
    OVER PPPPPPPPPP 0 A_CustomMissile("OverFlesh3",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
    OVER PPPPPPPPPP 0 A_CustomMissile("OverFlesh4",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
    OVER PPPPPPPPPP 0 A_CustomMissile("OverFlesh5",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
    OVER PPPPPPPPPP 0 A_CustomMissile("OverFlesh6",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
    OVER P 0 bright A_CustomMissile("OverBigArm1",40,-40,-90,2,random(-1,1))
    OVER P 0 bright A_CustomMissile("OverBigArm2",40,40,90,2,random(-1,1))
    OVER P 0 bright A_CustomMissile("OverSmallArm1",100,-30,-90,2,random(-15,15))
    OVER P 0 bright A_CustomMissile("OverSmallArm1",100,30,90,2,random(-15,15))
    OVER P 0 bright A_CustomMissile("OverSmallArm2",100,-30,-90,2,random(-15,15))
    OVER P 0 bright A_CustomMissile("OverSmallArm2",100,30,90,2,random(-15,15))
    OVER P 0 bright A_CustomMissile("OverHorn1",110,-16,-90,2,random(-15,15))
    OVER P 0 bright A_CustomMissile("OverHorn2",110,16,90,2,random(-15,15))
    OVER PQRSTUV 8 bright
    stop
  }
}

ACTOR OverFlesh1
{
   Speed 8
   Mass 100
   Radius 1
   Height 1
   PROJECTILE
   +THRUGHOST
   +LOWGRAVITY
   -NOGRAVITY
   States
   {
   Spawn:
      OVF1 ACEGIKM 5
      loop
   Death:
      OVF1 O 3
      OVF1 Q -1
      stop
   }
}

ACTOR OverFlesh2 : OverFlesh1
{
   States
   {
   Spawn:
      OVF1 BDFHJLN 5
      loop
   Death:
      OVF1 P 3
      OVF1 R -1
      stop
   }
}

ACTOR OverFlesh3 : OverFlesh1
{
   States
   {
   Spawn:
      OVF2 ACEG 5
      loop
   Death:
      OVF2 I -1
      loop
   }
}

ACTOR OverFlesh4 : OverFlesh1
{
   States
   {
   Spawn:
      OVF2 BDFH 5
      loop
   Death:
      OVF2 J -1
      loop
   }
}

ACTOR OverFlesh5 : OverFlesh1
{
   States
   {
   Spawn:
      OVF3 ACEGI 5
      loop
   Death:
      OVF3 K -1
      loop
   }
}

ACTOR OverFlesh6 : OverFlesh1
{
   States
   {
   Spawn:
      OVF3 BDFHJ 5
      loop
   Death:
      OVF3 L -1
      loop
   }
}

ACTOR OverBigArm1 : OverFlesh1
{
   States
   {
   Spawn:
      OVF4 ACEGI 5
      loop
   Death:
      OVF4 K 3
      OVF4 M -1
      stop
   }
}

ACTOR OverBigArm2 : OverFlesh1
{
   States
   {
   Spawn:
      OVF4 BDFHJ 5
      loop
   Death:
      OVF4 L 3
      OVF4 N -1
      stop
   }
}

ACTOR OverSmallArm1 : OverFlesh1
{
   States
   {
   Spawn:
      OVF5 ACEG 5
      loop
   Death:
      OVF5 I -1
      stop
   }
}

ACTOR OverSmallArm2 : OverFlesh1
{
   States
   {
   Spawn:
      OVF5 BDFH 5
      loop
   Death:
      OVF5 J -1
      stop
   }
}

ACTOR OverHorn1 : OverFlesh1
{
   States
   {
   Spawn:
      OVF6 ACEGI 5
      loop
   Death:
      OVF6 K -1
      stop
   }
}

ACTOR OverHorn2 : OverFlesh1
{
   States
   {
   Spawn:
      OVF6 BDFHJ 5
      loop
   Death:
      OVF6 L -1
      stop
   }
}

// [MagicWazard] Exploding projectile similar to the HadesBall
ACTOR OverBall
{
   Radius 10
   Height 20
   Speed 15
   Damage 8
   DamageType lightning
   ExplosionDamage 32
   ExplosionRadius 32
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.75
   Translation "192:207=168:191"
   +THRUGHOST
   +FORCEXYBILLBOARD
   DeathSound "weapons/devzap"
   Decal "CacoScorch"
   States
   {
   Spawn:
      AFX1 ABC 1 Bright
      loop
   Death:
      AFX1 DE 4 Bright A_Explode
      AFX1 FGHI 4 bright
      stop
   }
}

// [MagicWazard] Giant ball that spawns smaller projectiles ("StormLite1") from sides
ACTOR StormShot1
{
   Radius 12
   Height 6
   Speed 30
   Damage 50
   PROJECTILE
   RENDERSTYLE ADD
   Alpha 0.80
   Damagetype lightning
   +THRUGHOST
   +NODAMAGETHRUST
   +FORCEXYBILLBOARD
   DeathSound "weapons/devexp"
   States
   {
   Spawn:
      LFX1 STUVW 1 Bright
      LFX1 W 0 Bright A_CustomMissile("StormLite1",0,0,90,6)
      LFX1 W 0 Bright A_CustomMissile("StormLite1",0,0,270,6)
      loop
   Death:
      LFX1 STUVWSTUVWSTUVWSTUVWSTUVWSTUVWSTUVWSTUVWSTUVWSTUVWSTUVWSTUVW 1 Bright A_Explode(16,32,0)
      stop
   }
}

// [MagicWazard] More powerful version of StormShot
ACTOR StormShot2 : StormShot1
{
   Damage 100
   States
   {
   Spawn:
      TNT1 A 2
      LFX2 KLMNO 1 Bright
      LFX2 O 0 Bright A_CustomMissile("StormLite2",0,0,90,6)
      LFX2 O 0 Bright A_CustomMissile("StormLite2",0,0,270,6)
      Goto Spawn+1
   Death:
      LFX2 KLMNO 1 Bright A_Explode(32,64,0)
      LFX2 KKKKKK 0 Bright A_SpawnItemEx("StormBolt",0,0,0,4,0,0,random(0,359),0,0)
      LFX2 LMNO 1 Bright A_Explode(32,64,0)
      stop
   }
}

// [MagicWazard] Note: this actor is unused, though it acts as a parent for the
// "StormBolt" vertical lightning column its sprites do not appear to be used
// anywhere else in the actor...
ACTOR StormStrike1
{
   Radius 16
   Height 1
   Speed 90
   Damage 2
   PROJECTILE
   Damagetype lightning
   RENDERSTYLE ADD
   Alpha 0.75
   +THRUGHOST
   +RIPPER
   +NODAMAGETHRUST
   +STRIFEDAMAGE
   DeathSound "weapons/devzap"
   States
   {
   Spawn:
      LFX1 IJKLM 1 Bright A_Explode(64,64,0)
      loop
   Death:
      LFX1 NOPQR 2 Bright
      stop
   }
}

// [MagicWazard] Vertical lightning column spawned by StormShot2
ACTOR StormBolt : StormStrike1
{
   Speed 4
   Radius 8
   Height 16
   Damage 1
   Damagetype lightning
   SeeSound "weapons/none"
   DeathSound "weapons/gntidl"
   YScale 4.0
   XScale 2.0
   ReactionTime 35
   +FLOORHUGGER
   +HEXENBOUNCE
   -NOGRAVITY
   States
   {
   Spawn:
      LFX2 F 1 Bright A_Explode(16,64,0)
      LFX2 F 0 Bright A_CustomMissile("StormBolt2",16,0,0,6,90)
      LFX2 F 0 ThrustThing(random(0,255),1,0,0)
      LFX2 G 1 Bright A_Explode(16,64,0)
      LFX2 G 0 Bright A_CustomMissile("StormBolt2",16,0,0,6,90)
      LFX2 H 1 Bright A_Explode(16,64,0)
      LFX2 H 0 Bright A_CustomMissile("StormBolt2",16,0,0,6,90)
      LFX2 I 1 Bright A_Explode(16,64,0)
      LFX2 I 0 Bright A_CustomMissile("StormBolt2",16,0,0,6,90)
      LFX2 J 1 Bright A_Explode(16,64,0)
      LFX2 J 0 Bright A_CustomMissile("StormBolt2",16,0,0,6,90)
      LFX2 J 0 Bright A_CountDown
      loop
   Death:
      LFX2 FGHIJ 2 Bright A_Explode(16,64,0)
      stop
   }
}

// [MagicWazard] Invisible sub-projectiles spawned by the lightning column in
// a vertical upwards path
ACTOR StormBolt2 : StormStrike1
{
   Speed 184
   Damage 1
   Height 15
   Radius 8
   Damagetype lightning
   SeeSound "Monster/hadtel"
   DeathSound "Monster/hadsit"
   +RIPPER
   +NOGRAVITY
   States
   {
   Spawn:
      TNT1 A 1 Bright A_Explode(16,64,0)
      loop
   Death:
      TNT1 A 1 Bright
      stop
   }
}

// [MagicWazard] Projectiles spawned from the sides of the large StormShot projectile
ACTOR StormLite1
{
   Radius 6
   Height 12
   Speed 32
   Damage 5
   PROJECTILE
   RENDERSTYLE ADD
   Alpha 0.80
   Damagetype lightning
   DeathSound "weapons/devzap"
   +THRUGHOST
   +RIPPER
   +FORCEXYBILLBOARD
   States
   {
   Spawn:
      DLIT ABC 1 Bright
      Loop
   Death:
      DLIT DEFGHIJKLMNO 1 Bright
      Stop
   }
}

// [MagicWazard] More powerful version of StormLite1
ACTOR StormLite2 : StormLite1
{
   Speed 64
   Damage 10
   States
   {
   Spawn:
      LFX1 XYZ 1 Bright
      Loop
   Death:
      LFX1 STUVW 3 Bright
      Stop
   }
}

//=========================================================================
//=========================================================================
//
//                          Cheshire Cacodemon
//
//=========================================================================
//=========================================================================
//  DECORATE: Zrrion The Insect
//  Sprites: Id Software (edits by Zrrion The Insect)
//=========================================================================

ACTOR Cheshire
{
Health 800
Radius 31
Height 56
Mass 400
Speed 15
PainChance 64
Species "Cacodemon"
Monster
+FLOAT
+NOGRAVITY
//+DONTRIP
//+NOTIMEFREEZE
+NOICEDEATH
+DONTMORPH
+DONTFALL
renderstyle Translucent
alpha 0.6
Bloodcolor "56 00 91"
SeeSound "caco/sight"
PainSound "caco/pain"
DeathSound "caco/death"
ActiveSound "ches/act"
Obituary "You're in Wonderland now, buddy!"
States
{
Spawn:
SHSR A 10 A_Look
Loop
See:
NULL A 0 A_JumpIfInventory("SeeCheck",5,"SeeCheck")
//NULL A 0 A_Print("Welcome to Wonderland")
NULL A 0 A_GiveInventory("SeeCheck",1)
Goto SeeCheck
SeeCheck:
NULL A 0 A_JumpIfInventory("Dissipate",5,"Fade")
NULL A 0 A_JumpIfInventory("CheshireI",1,"ChesSee")
NULL A 0 A_JumpIfCloser(128,"Flame")
NULL A 0 A_Jump(32,"Scoot")
SHSR AA 3 A_Chase
Loop
Scoot:
//NULL A 0 A_Jump(16,"Slow")
SHSR A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur")
Goto See
Slow:
NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 3 A_Chase
NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 3 A_Chase
NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 3 A_Chase
NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 3 A_Chase
NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur")
SHSR A 3 A_Chase
Goto See
Missile:
NULL A 0 A_JumpIfInventory("Dissipate",5,"Fade")
NULL A 0 A_JumpIfInventory("CheshireI",1,"ChesMissile")
NULL A 0 A_JumpIfCloser(128,"Flame")
NULL A 0 A_Jump(32, "Missile2","Fake","Teleport")
SHSR B 5 A_FaceTarget
SHSR C 5 A_FaceTarget
NULL A 0 A_SpawnItem("Ring",0,0,56)
SHSR D 5 BRIGHT A_CustomMissile("ChesBallA")
Goto See
Missile2:
//NULL A 0 A_GiveInventory("ChesSlow",1)
SHSR B 5 A_FaceTarget
//NULL A 0 A_GiveInventory("ChesSlow",1)
SHSR C 5 A_FaceTarget
//NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItem("Ring",0,0,56)
SHSR D 5 BRIGHT A_CustomMissile("ChesBallA")
Goto See
Fake:
SHSR B 5 A_FaceTarget
SHSR C 5 A_FaceTarget
SHSR DD 3 BRIGHT A_PainAttack("FakeWait")
Goto See
Flame:
SHSR B 5 A_FaceTarget
SHSR C 5 A_FaceTarget
SHSR DDDDD 1 BRIGHT A_CustomMissile("ChshireFlame")
NULL A 0 A_JumpIfCloser(128,"FlameClose")
Goto See
FlameClose:
SHSR DDDDD 1 BRIGHT A_CustomMissile("ChshireFlame")
NULL A 0 A_JumpIfCloser(86,"FlameClose")
NULL A 0 A_JumpIfCloser(128,"Flame")
Goto See
Pain:
NULL A 0 A_GiveInventory("Dissipate",1)
NULL A 0 A_Jump(16, 4)
SHSR E 6 A_Pain
SHSR F 6
Goto See
//NULL A 0 A_GiveInventory("ChesFreeze",1)
SHSR A 0 A_PainAttack("ChesFake")
SHSR E 3
SHSR E 3 A_Pain
SHSR F 6
Goto See
Teleport:
SHSR E 0 A_SetInvulnerable
SHSR E 1 A_SetTranslucent(0.90)
SHSR E 1 A_SetTranslucent(0.80)
SHSR E 1 A_SetTranslucent(0.70)
SHSR E 1 A_SetTranslucent(0.60)
SHSR F 1 A_SetTranslucent(0.50)
SHSR F 1 A_SetTranslucent(0.40)
SHSR F 1 A_SetTranslucent(0.30)
SHSR F 1 A_SetTranslucent(0.20)
SHSR F 1 A_SetTranslucent(0.10)
SHSR F 0 A_Jump(128,25)
NULL AAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase("","")
NULL A 0 A_Jump(128,25)
NULL A 0 A_SpawnItemEX("FakeWait")
NULL AAAAAAAAAAAAAAAAAAAAAAAA 0 A_Chase("","")
SHSR F 1 A_SetTranslucent(0.10)
SHSR F 1 A_SetTranslucent(0.20)
SHSR F 1 A_SetTranslucent(0.30)
SHSR F 1 A_SetTranslucent(0.40)
SHSR F 1 A_SetTranslucent(0.50)
SHSR F 1 A_SetTranslucent(0.60)
SHSR F 1 A_SetTranslucent(0.70)
SHSR F 1 A_SetTranslucent(0.80)
SHSR F 1 A_SetTranslucent(0.90)
SHSR F 1 A_SetTranslucent(1.0)
SHSR F 0 A_UnSetInvulnerable
goto See
Death:
SHSR F 1 A_Scream
//WARP A 3 A_SpawnItemEX("FakeWait")
WARP BCD 3 A_Fadeout(0.01)
WARP EFG 3 A_Fadeout
TNT1 A 0 A_NoBlocking
TNT1 A 0 A_KillChildren
Stop
Fade:
NULL A 0 A_TakeInventory("Dissipate",20)
NULL A 0 A_GiveInventory("CheshireI",1)
//NULL A 0 A_SetReflectiveInvulnerable
SHSR A 1 A_SetTranslucent(0.60)
SHSR A 1 A_SetTranslucent(0.50)
SHSR A 1 A_SetTranslucent(0.40)
SHSR A 1 A_SetTranslucent(0.30)
SHSR A 1 A_SetTranslucent(0.20)
SHSR A 1 A_SetTranslucent(0.10)
NULL AAAAAAAA 1 A_Chase("","")
//NULL A 0 A_GiveInventory("ChesDeepFreeze",1)
SLPS A 1 A_SetTranslucent(0.10)
SLPS A 1 A_SetTranslucent(0.20)
SLPS A 1 A_SetTranslucent(0.30)
SLPS A 1 A_SetTranslucent(0.40)
SLPS A 1 A_SetTranslucent(0.50)
SLPS A 1 A_SetTranslucent(0.60)
Goto ChesSee
ChesSee:
//NULL A 0 A_Jump(8, "ChesScoot","ChesSlow")
SLPS AA 3 A_Chase
Loop
ChesScoot:
SLPS A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur2")
SLPS A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur2")
SLPS A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur2")
SLPS A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur2")
SLPS A 4 A_FastChase
NULL A 0 A_SpawnItemEX("Blur2")
Goto ChesSee
ChesSlow:
SLPS A 4 A_Chase
//NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur2")
SLPS A 4 A_Chase
//NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur2")
SLPS A 4 A_Chase
//NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur2")
SLPS A 4 A_Chase
//NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur2")
SLPS A 4 A_Chase
//NULL A 0 A_GiveInventory("ChesSlow",1)
NULL A 0 A_SpawnItemEX("Blur2")
Goto ChesSee
ChesMissile:
NULL A 0 A_JumpIfInventory("CheshireUnmake",5,"UnFade")
NULL A 0 A_GiveInventory("CheshireUnmake",1)
SLPS B 5 A_FaceTarget
SLPS C 5 A_FaceTarget
NULL A 0 A_SpawnItem("Ring",0,0,56)
SLPS D 5 BRIGHT A_CustomMissile("ChesBallA")
Goto ChesSee
UnFade:
NULL A 0 A_TakeInventory("CheshireUnmake",20)
NULL A 0 A_TakeInventory("CheshireI",1)
SLPS A 1 A_SetTranslucent(0.60)
SLPS A 1 A_SetTranslucent(0.50)
SLPS A 1 A_SetTranslucent(0.40)
SLPS A 1 A_SetTranslucent(0.30)
SLPS A 1 A_SetTranslucent(0.20)
SLPS A 1 A_SetTranslucent(0.10)
NULL AAAAAAAA 1 A_Chase("","")
SHSR A 1 A_SetTranslucent(0.10)
SHSR A 1 A_SetTranslucent(0.20)
SHSR A 1 A_SetTranslucent(0.30)
SHSR A 1 A_SetTranslucent(0.40)
SHSR A 1 A_SetTranslucent(0.50)
SHSR A 1 A_SetTranslucent(0.60)
//NULL A 0 A_UnSetReflectiveInvulnerable
Goto See
}
}

ACTOR ChshireFlame
{
Radius 4
Height 6
Speed 28
Damage 1
PROJECTILE
+STRIFEDAMAGE
+NOTIMEFREEZE
+BLOODLESSIMPACT
+RIPPER
RENDERSTYLE ADD
ALPHA 0.8
SeeSound "ChesFlame"
States
{
Spawn:
CHFR ABCDEFGHIJKLMOP 1 Bright
Stop
Death:
CHFR HIJKLMOP 1 Bright
Stop
}
}

ACTOR ChesBallA
{
Radius 6
Height 8
Speed 15
FastSpeed 10
Damage 5
Projectile 
+RANDOMIZE
+RIPPER
+NOTIMEFREEZE
RenderStyle Add
Alpha 1
SeeSound "ChesFire"
DeathSound "ChesHit"
Decal "ChesScorch"
States
{
Spawn:
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-4,4),random(-4,4),random(-4,4),random(1,360))
SHST A 2 BRIGHT
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-4,4),random(-4,4),random(-4,4),random(1,360))
SHST B 2 BRIGHT
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-4,4),random(-4,4),random(-4,4),random(1,360))
SHST C 2 BRIGHT
Loop
Death:
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-6,6),random(-6,6),random(-6,6),random(1,360))
SHST G 3 BRIGHT
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-5,5),random(-5,5),random(-5,5),random(1,360))
SHST H 3 BRIGHT
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-4,4),random(-4,4),random(-4,4),random(1,360))
SHST I 3 BRIGHT
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-3,3),random(-3,3),random(-3,3),random(1,360))
SHST J 3 BRIGHT
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-2,2),random(-2,2),random(-2,2),random(1,360))
SHST K 3 BRIGHT
NULL AA 0 A_SpawnItemEx("Sparky",0,0,0,random(-1,1),random(-1,1),random(-1,1),random(1,360))
SHST L 3 BRIGHT
Stop
}
}

ACTOR CBT
{
+NOCLIP
+NOINTERACTION
+NOGRAVITY
renderstyle ADD
alpha 0.3
scale 1.1
States
{
Spawn:
NULL A 2
OBTT ABCDEF 2 BRIGHT
OBTT GHIJ 1 BRIGHT A_fadeout
Stop
}
}

Actor Sparky
{
+NOCLIP
+NOGRAVITY
+NOINTERACTION
+NOTIMEFREEZE
renderstyle ADD
alpha 0.9
states
{
Spawn:
NULL A 2
FALL ABCDEFG 1
Fade:
FALL HIJKLMNOPABCDEFG 1 BRIGHT A_Fadeout
Loop
}
}

Actor Ring
{
+NOCLIP
+NOGRAVITY
+NOINTERACTION
+NOTIMEFREEZE
renderstyle ADD
alpha 0.5
states
{
Spawn:
RING ABCDEFGHI 2  BRIGHT
RING JKLMNOP 2 BRIGHT A_Fadeout
Stop
}
}

Actor ChesFake
{
Health 50
Radius 31
Height 56
Mass 9999999
Speed 15
Monster
+FLOAT +NOGRAVITY +NOTIMEFREEZE +NOICEDEATH
+DONTMORPH +LOOKALLAROUND +DONTFALL +MISSILEMORE +Ghost
-COUNTKILL -SOLID
renderstyle Translucent
alpha 0.6
Bloodcolor "56 00 91"
SeeSound "caco/sight"
DeathSound "caco/death"
Obituary "you're in wonderland now buddy!"
States
{
Spawn:
SHSR A 10 A_Look
Loop
See:
SHSR A 10 A_Stop
NULL A 0 A_FaceTarget
SHSR A 3 A_Chase
Goto See+1
Missile:
SHSR B 5 A_FaceTarget
SHSR C 5 A_FaceTarget
NULL A 0 A_SpawnItem("Ring",0,0,56)
SHSR D 5 BRIGHT A_CustomMissile("ChesBall2")
Goto See+1
Death:
NULL A 0 A_Jump(8,"More")
SHSR F 1 A_Scream
WARP A 3
WARP BCD 3 A_Fadeout(0.01)
WARP EFG 3 A_Fadeout
TNT1 A 0 A_KillChildren
Stop
More:
SHSR F 1 A_Scream
WARP A 3 A_SpawnItemEX("FakeWait")
WARP BCD 3 A_Fadeout(0.01)
WARP EFG 3 A_Fadeout
Stop
}
}

Actor FakeWait
{
Radius 31
Height 56
+NOGRAVITY
+NOINTERACTION
+NOTIMEFREEZE
renderstyle NONE
Speed 16
states
{
Spawn:
NULL AAAAAAAAAAAAAAAA 1 A_Wander
NULL A 1 A_SpawnItemEX("ChesFake",0,0,0,0,0,0,0,48)
NULL AAAAAAAAAAAAAAAA 1 A_Wander
NULL A 1 A_SpawnItemEX("ChesFake",0,0,0,0,0,0,0,48)
NULL AAAAAAAAAAAAAAAA 1 A_Wander
NULL A 1 A_SpawnItemEX("ChesFake",0,0,0,0,0,0,0,48)
NULL A 35
Wait
Death:
TNT1 A 0 A_KillChildren
}
}

ACTOR ChesBall2 : ChesBallA
{
Damage 1
-RIPPER
+BLOODLESSIMPACT
}

Actor Blur
{
+NOCLIP
+NOGRAVITY
+NOINTERACTION
+NOTIMEFREEZE
renderstyle Translucent
alpha 0.5
states
{
Spawn:
SHSR A 2 A_Fadeout
Loop
}
}

Actor Blur2 : Blur
{
states
{
Spawn:
SLPS A 2 A_Fadeout
Loop
}
}

actor Dissipate : Inventory
{
Inventory.MaxAmount 5
}

actor CheshireI : Inventory
{
Inventory.MaxAmount 1
}

actor CheshireUnMake : Inventory
{
Inventory.MaxAmount 10
}

actor SeeCheck : Inventory
{
Inventory.MaxAmount 10
}

actor ChesFreeze : PowerupGiver
{
inventory.maxamount 0
powerup.type "TimeFreezer"
powerup.duration 10
+AUTOACTIVATE
states
{
Spawn:
NULL A 0
stop
}
}

Actor ChesDeepFreeze : ChesFreeze
{
powerup.duration 15
}

Actor ChesSlow : ChesFreeze
{
powerup.duration -2
}

//=========================================================================
//=========================================================================
//
//                          Enhanced Cacodemon
//
//=========================================================================
//=========================================================================
//  DECORATE: Tormentor667
//  Sprites: Id Software (edits by Tormentor667)
//=========================================================================

ACTOR EnhancedCacodemon: Cacodemon //3118
{ 
	//$Category "ZDoom Monster pack"
   Health 300
   Speed 15
   Radius 31
   Height 56
   PainChance 128
   Mass 400
   Meleedamage 6 
   REACTIONTIME 8 
   MONSTER
   +NOGRAVITY
   +FLOAT
   +MISSILEMORE
   +MISSILEEVENMORE
   SeeSound "caco/sight"
   PainSound "caco/pain"
   DeathSound "caco/death"
   ActiveSound "caco/active"
   HitObituary "%o was mowed down by an enhanced cacodemon." 
   Obituary "%o was made into a snack by the enhanced cacodemon." 
   States 
   { 
   Spawn: 
      ENCD A 10 A_Look 
      Loop 
   See: 
      ENCD A 3 A_FastChase 
      Loop 
   Missile: 
      ENCD BC 5 A_FaceTarget 
      ENCD B 0 bright A_CustomMissile("CacodemonBall", 24, 0, 0, 1)
      ENCD B 0 bright A_CustomMissile("CacodemonBall", 24, 0, -8, 1)
      ENCD B 5 bright A_CustomMissile("CacodemonBall", 24, 0, 8, 1)
      Goto See 
   Pain: 
      ENCD D 4 
      ENCD D 4 A_Pain 
      ENCD D 5 
      Goto See 
   Death: 
      ENCD E 8 
      ENCD F 8 A_Scream 
      ENCD GH 8 
      ENCD I 8 A_NoBlocking 
      ENCD J -1 A_SetFloorClip
      Stop 
   Raise: 
      ENCD J 8 A_UnsetFloorClip
      ENCD IHGFE 8 
      Goto See 
   } 
}

//=========================================================================
//=========================================================================
//
//                              Hellion
//
//=========================================================================
//=========================================================================
//  DECORATE: Eriance
//  Sprites: Id Software (edits by Eriance)
//=========================================================================

Actor Hellion : Archvile//30132
{
  Obituary "A Hellion burned %o to a crisp."
  Health 70
  Radius 20
  Height 56
  Mass 120
  Speed 15
  PainChance 24
  SeeSound "monster/hlnsit"
  PainSound "monster/hlnpai"
  DeathSound "monster/hlndth"
  ActiveSound "monster/hlnact"
  Monster
  +FloorClip
  +MISSILEMORE
  //+MISSILEEVENMORE //[DoomKrakken]: I wanted to make them aggressive, but this makes them too aggressive.  It's not a problem of dodging... no, it's that I want them to get closer to you, so that they're not stopping every second just to shoot at you.  They deserve to be looked at, since they're such awesome creatures.  Like a cross between an Imp and an Archvile.
  States
  {
  Spawn:
    HELN AB 10 A_Look
    Loop
  See:
    HELN AABBCCDDEEFF 2 A_Chase
    Loop
  Missile:
    HELN G 0 A_VileStart
    HELN GHIJK 6 Bright A_FaceTarget
    HELN L 6 Bright A_CustomMissile("HellionBall",32,0,0,0,0)
    HELN L 2
    Goto See
  Pain:
    HELN M 2
    HELN M 2 A_Pain
    Goto See
  Death:
    HELN N 6
    HELN O 6 A_Scream
    HELN PQR 6
    HELN S 6 A_NoBlocking
    HELN T -1
    Stop
  XDeath:
    HELN U 5
    HELN V 5 A_XScream
    HELN W 5
    HELN X 5 A_NoBlocking
    HELN YZ 5
    HEL2 "AB" 5
    HEL2 C -1
    Stop
  Raise:
    HELN TSRQPON 6
    Goto See
  }
}

Actor HellionBall : CacodemonBall
{
  Damage 10
  Speed 15
  Alpha 0.80
  DamageType Fire
  +ThruGhost
  +ForceXYBillboard
  SeeSound "Monster/hlnatk"
  DeathSound "Monster/hlnexp"
  Decal DoomImpScorch
  states
  {
  Spawn:
    HLBL AB 3 Bright A_SpawnItemEx("HellionPuff",0,0,0,0,0,0,0,128)
    Loop
  Death:
    HLBL JKLMN 3 Bright
    Stop
  }
}

Actor HellionPuff
{   
  Radius 3
  Height 3
  RenderStyle Add
  Alpha 0.67
  +NoGravity
  +NoBlockMap
  +DontSplash
  +ForceXYBillboard
  States
  {
  Spawn:
    TNT1 A 3 Bright
    HLBL CDEFGHI 3 Bright
    Stop 
  }
}

//=========================================================================
//=========================================================================
//
//                           Archon Of Hell
//
//=========================================================================
//=========================================================================
//  DECORATE: Eriance
//  Sprites: Id Software, Midway (edits by Eriance)
//=========================================================================

Actor ArchonOfHell : BaronOfHell //30104
{ 
  Health 2000 
  Radius 24 
  Height 64 
  Mass 1000 
  Speed 8 
  PainChance 20 
  Monster
  MeleeDamage 10
  Obituary "%o was no match for the Archon Of Hell."
  HitObituary "%o was ripped apart by an Archon Of Hell."
  BloodColor "20 60 20"
  +NoTarget
  +FloorClip
  +MissileMore
  +NoRadiusDmg
  +Boss
  +DontHurtSpecies
  SeeSound "monster/ar2sit" 
  PainSound "baron/pain" 
  DeathSound "monster/ar2dth"
  MeleeSound "baron/melee"
  //SpawnID 174
  States 
  { 
  Spawn: 
    BOS4 AB 10 A_Look 
    Loop 
  See:
    BOS4 AABBCCDD 3 A_Chase 
    Loop 
  Missile:
    BOS4 B 0 A_Jump(128,15)
    BOS4 EF 8 Bright A_FaceTarget 
    BOS4 G 0 Bright A_CustomMissile("BaronBall",28,0,0,0)
    BOS4 G 0 Bright A_CustomMissile("BaronBall",28,0,-4,0)
    BOS4 G 3 Bright A_CustomMissile("BaronBall",28,0,4,0)
    BOS4 H 3 Bright
    BOS4 H 0 A_Jump(64,8)
    BOS4 IJ 8 Bright A_FaceTarget 
    BOS4 K 0 Bright A_CustomMissile("BaronBall",28,0,0,0)
    BOS4 K 0 Bright A_CustomMissile("BaronBall",28,0,-4,0)
    BOS4 K 3 Bright A_CustomMissile("BaronBall",28,0,4,0)
    BOS4 L 3 Bright
    BOS4 L 0 A_Jump(64,1)
    Goto See
    BOS4 MN 8 Bright A_FaceTarget
    BOS4 O 0 Bright A_Jump(128,3)
    BOS4 O 4 Bright A_CustomMissile("ArchonComet",28,0,0,0)
    BOS4 P 4 Bright
    Goto See
    BOS4 O 0 A_CustomMissile("BaronBall",28,0,-6,0)
    BOS4 O 0 A_CustomMissile("BaronBall",28,0,-4,0)
    BOS4 O 0 A_CustomMissile("BaronBall",28,0,-2,0)
    BOS4 O 0 A_CustomMissile("BaronBall",28,0,2,0)
    BOS4 O 0 A_CustomMissile("BaronBall",28,0,4,0)
    BOS4 O 3 Bright A_CustomMissile("BaronBall",28,0,6,0)
    BOS4 P 3 Bright
    Goto See
  Melee:
    BOS4 EF 8 Bright A_FaceTarget 
    BOS4 G 3 Bright A_MeleeAttack
    BOS4 H 3 Bright
    BOS4 H 0 A_Jump(128,1)
    Goto See
    BOS4 IJ 8 Bright A_FaceTarget 
    BOS4 K 3 Bright A_MeleeAttack
    BOS4 L 3 Bright
    BOS4 L 0 A_Jump(64,1)
    Goto See
    BOS4 MN 8 Bright A_FaceTarget
    BOS4 O 0 Bright A_MeleeAttack
    BOS4 O 3 Bright A_MeleeAttack
    BOS4 P 3 Bright
    Goto See
  Pain: 
    BOS4 Q 2 
    BOS4 Q 2 A_Pain 
    Goto See 
  Death: 
    BOS4 R 6 Bright 
    BOS4 S 6 Bright A_Scream 
    BOS4 T 6 Bright A_Mushroom("ArchonComet", 18, 0, 1, 1)
    BOS4 U 6 Bright A_NoBlocking 
    BOS4 VW 6 Bright 
    BOS4 X 6 Bright A_CustomMissile("ArchonSoul",86,0,0,2,90) 
	/*BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 0)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 20)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 40)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 60)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 80)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 100)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 120)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 140)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 160)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 180)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 200)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 220)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 240)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 260)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 280)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 300)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 320)
	BOS4 X 0 A_CustomMissile("ArchonComet", 4, 2, 340)*/
    BOS4 YZ 6 Bright 
    BOS4 [ 6 Bright A_Fall 
    Stop
  } 
}

Actor ArchonComet
{
  Radius 8
  Height 12
  Speed 25
  Damage 20
  Scale 1.0
  //SpawnID 251
  Projectile
  +ThruGhost
  SeeSound "weapons/firbfi"
  DeathSound "weapons/hellex"
  DontHurtShooter
  DamageType Fire
  States
  {
  Spawn: 
    ARCB AAAABBBBCCCC 1 Bright A_SpawnItemEx("ArchonCometTrail",0,0,0,0,0,0,0,128)
    Loop
  Death:
    ARCB J 0 Bright A_SetTranslucent (0.67,1)
    ARCB J 3 Bright
    ARCB K 3 Bright A_Explode(128,128,0)
    ARCB LMN 3 Bright
    Stop
  }
}

Actor ArchonSoul
{   
  Radius 1
  Height 1
  Speed 3
  Projectile
  RenderStyle Add
  Alpha 0.80
  States
  {
  Spawn:
    BFX1 ABCD 6 Bright
    Stop 
  }
}

Actor ArchonCometTrail
{   
  Radius 3
  Height 3
  Scale 0.75
  Speed 0
  Projectile
  RenderStyle Add
  Alpha 0.67
  States
  {
  Spawn:
    TNT1 A 3 Bright
    ARCB DEFGHI 3 Bright
    Stop 
  }
}

//=========================================================================
//=========================================================================
//
//                              Hell's Fury
//
//=========================================================================
//=========================================================================
//  DECORATE: Tormentor667
//  Sprites: Id Software (edits by Tormentor667 and Vader)
//=========================================================================

Actor HellsFury : HellKnight //3127
{
  //$Category Monsters
  Health 1000
  Radius 24
  Height 64
  Speed 8
  PainChance 50
  Mass 1000
  MONSTER
  +FLOORCLIP
  SeeSound "baron/sight"
  ActiveSound "baron/active"
  PainSound "baron/pain"
  DeathSound "baron/death"
  Obituary "%o felt the wrath of Hell's Fury"
  HitObituary "%o got ripped apart by Hell's Fury"
  MissileType HellsFuryBall
  MeleeDamage 11
  States
  {
  Spawn:
    HFRY AB 10 A_Look
    Loop
  See:
    HFRY AABBCCDD 4 A_Chase
    Loop
  Missile:
    HFRY E 0 A_Jump(96,4)
    HFRY EF 8 A_FaceTarget
    HFRY G 8 A_ComboAttack
    Goto See
    HFRY P 8 A_FaceTarget
    HFRY Q 0 A_CustomMissile("SoulHarvesterBall", 60, 0, -45)
    HFRY Q 0 A_CustomMissile("SoulHarvesterBall", 60, 0, 0)
    HFRY Q 8 A_CustomMissile("SoulHarvesterBall", 60, 0, 45)
    Goto See
    Melee:
    HFRY EF 8 A_FaceTarget
    HFRY G 8 A_ComboAttack
    Goto See
  Pain:
    HFRY H 2
    HFRY H 2 A_Pain
    Goto See
  Death:
    HFRY I 8 A_Scream
    HFRY J 0 A_FaceTarget
    HFRY J 0 A_Jump(51,5)
    HFRY J 0 A_Jump(51,5)
    HFRY J 0 A_Jump(51,5)
    HFRY J 0 A_Jump(51,5)
    HFRY J 0 A_SpawnItemEx("HellsFurySkull", 0, 0, 60, 5, 0, 0, 20, 128)
    Goto Death+11
    HFRY J 0 A_SpawnItemEx("HellsFurySkull", 0, 0, 60, 5, 0, 0, 10, 128)
    Goto Death+11
    HFRY J 0 A_SpawnItemEx("HellsFurySkull", 0, 0, 60, 5, 0, 0, 0, 128)
    Goto Death+11
    HFRY J 0 A_SpawnItemEx("HellsFurySkull", 0, 0, 60, 5, 0, 0, -10, 128)
    Goto Death+11
    HFRY J 0 A_SpawnItemEx("HellsFurySkull", 0, 0, 60, 5, 0, 0, -20, 128)
    Goto Death+11
    HFRY J 8 
    HFRY K 2 A_CustomMissile("SoulHarvesterBall", 60, 0, -60)
	HFRY K 1 A_CustomMissile("SoulHarvesterBall", 60, 0, -30)
	HFRY K 2 A_CustomMissile("SoulHarvesterBall", 60, 0, 0)
	HFRY K 1 A_CustomMissile("SoulHarvesterBall", 60, 0, 30)
	HFRY K 2 A_CustomMissile("SoulHarvesterBall", 60, 0, 60)
    HFRY L 8 A_Fall
    HFRY MN 8
    HFRY O -1
    Stop
  Raise:
    HFRY NMLKJI 8
    Goto See
   }
}

Actor HellsFuryBall 
{
  Radius 6
  Height 8
  Speed 14
  Damage 8
  Projectile
  RenderStyle Add
  Alpha 0.7
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  Decal BaronScorch
  States
  {
  Spawn:
    HFBB AB 5 Bright
    Loop
  Death:
    HFBB CDE 5 Bright
    Stop
  }
}

Actor HellsFurySkull
{
  Radius 5
  Height 5
  Speed 5
  Mass 5000
  +DropOff
  +DoomBounce
  +Missile
  States
  {
  Spawn:
    FSKL ABCDEFGHIJK 2
    Loop
  Death:
    TNT1 A 0 A_SpawnItem("Phantom")
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                           Hellstorm Archon
//
//=========================================================================
//=========================================================================
//  DECORATE: Eriance
//  Sprites: Id Software, Midway (edits by Eriance)
//=========================================================================

ACTOR HellstormArchon : BaronOfHell //30104
{ 
Health 2000 
Radius 24 
Height 64 
Mass 1000 
Speed 8 
PainChance 20 
MONSTER
MeleeDamage 10
Obituary "%o was destroyed by a Hellstorm Archon."
HitObituary "%o was torn asunder by a Hellstorm Archon."
BloodColor "20 60 20"
+NOTARGET
+FLOORCLIP 
+MISSILEMORE
+MISSILEEVENMORE
+NORADIUSDMG
+BOSS
+DONTHURTSPECIES
SeeSound "monster/arcsit" 
PainSound "baron/pain" 
DeathSound "monster/arcdth"
MeleeSound "baron/melee"
//SpawnID 174
States 
   { 
   Spawn: 
       BOS3 AB 10 A_Look 
       Loop 
   See:
       BOS3 AABBCCDD 3 A_Chase 
       Loop 
   Missile:
       BOS3 B 0 A_Jump(128,13)
       BOS3 EF 8 A_FaceTarget 
       BOS3 G 0 A_CustomMissile ("BaronBall",28,0,0,0)
       BOS3 G 0 A_CustomMissile ("BaronBall",28,0,-4,0)
       BOS3 G 6 A_CustomMissile ("BaronBall",28,0,4,0)
       BOS3 E 0 A_Jump(64,7)
       BOS3 ST 8 A_FaceTarget 
       BOS3 U 0 A_CustomMissile ("BaronBall",28,0,0,0)
       BOS3 U 0 A_CustomMissile ("BaronBall",28,0,-4,0)
       BOS3 U 6 A_CustomMissile ("BaronBall",28,0,4,0)
       BOS3 S 0 A_Jump(64,1)
       Goto See
       BOS3 HI 8 A_FaceTarget
       BOS3 S 0 A_Jump(128,2)
       BOS3 J 8 A_CustomMissile ("ArchonComet",28,0,0,0)
       Goto See
       BOS3 J 0 A_CustomMissile ("BaronBall",28,0,-6,0)
       BOS3 J 0 A_CustomMissile ("BaronBall",28,0,-4,0)
       BOS3 J 0 A_CustomMissile ("BaronBall",28,0,-2,0)
       BOS3 J 0 A_CustomMissile ("BaronBall",28,0,2,0)
       BOS3 J 0 A_CustomMissile ("BaronBall",28,0,4,0)
       BOS3 J 6 A_CustomMissile ("BaronBall",28,0,6,0)
       Goto See
   Melee:
       BOS3 EF 8 A_FaceTarget 
       BOS3 G 6 A_MeleeAttack
       BOS3 G 0 A_Jump (128,1)
       Goto See
       BOS3 ST 8 A_FaceTarget 
       BOS3 U 6 A_MeleeAttack
       BOS3 G 0 A_Jump (64,1)
       Goto See
       BOS3 HI 8 A_FaceTarget
       BOS3 J 0 A_MeleeAttack
       BOS3 J 6 A_MeleeAttack
       Goto See
   Pain: 
       BOS3 K 2 
       BOS3 K 2 A_Pain 
       Goto See 
   Death: 
       BOS3 L 8 
       BOS3 M 8 A_Scream 
       BOS3 N 8 
       BOS3 O 8 A_NoBlocking 
       BOS3 PQ 8 
       BOS3 R -1 A_Fall 
       Stop
   XDeath:
       XARC A 5
       XARC B 5 A_XScream
       XARC C 5 A_NoBlocking
       XARC DEFGH 5
       XARC I -1
       stop
   Raise: 
       BOS3 RQPONML 8 
       Goto See 
   } 
}

//=========================================================================
//=========================================================================
//
//                            Hell Warrior
//
//=========================================================================
//=========================================================================
//  DECORATE: Tormentor667, Vader
//  Sprites: Id Software (edits by Vader)
//=========================================================================
Actor HellWarrior : HellKnight
{
  //$Category Monsters
  Health 400
  Speed 8
  Radius 24
  Height 64
  PainChance 50
  Mass 1000
  Meleedamage 8
  SeeSound "Paladin/Sight" 
  PainSound "knight/pain"
  DeathSound "knight/death"
  ActiveSound "knight/active"
  MeleeSound "baron/melee"
  ReactionTime 8
  Monster
  +FloorClip
  Missiletype HellWarriorBall
  Obituary "%o was tagged by the hell warrior's fireball."
  HitObituary "%o was torn apart by a hell warrior."
  States
  {
  Spawn:
    HWAR AB 10 A_Look
    Loop
  See:
    HWAR AABBCCDD 3 A_Chase
    Loop
  Missile:
    HWAR E 0 A_Jump(128, 4)
    HWAR EF 8 A_FaceTarget
    HWAR G 8 A_ComboAttack
    Goto See
    HWAR H 0 A_Jump(128, 6)
    HWAR H 0 A_SetInvulnerable
	HWAR H 0 A_ChangeFlag(DONTRIP, TRUE)
    HWAR H 6 A_FaceTarget
    HWAR I 4 Bright A_Custommissile("HellWarriorBall2", 25, 0, 0)
    HWAR H 6 A_FaceTarget
    HWAR H 0 A_UnSetInvulnerable
	HWAR H 0 A_ChangeFlag(DONTRIP, FALSE)
    Goto See
    HWAR H 0 A_SetInvulnerable	
	HWAR H 0 A_ChangeFlag(DONTRIP, TRUE)
    HWAR H 6 A_FaceTarget
    HWAR I 4 Bright A_Custommissile("HellWarriorBall2", 25, 0, 0)
    HWAR H 16 A_SpidRefire
    HWAR I 4 Bright A_Custommissile("HellWarriorBall2", 25, 0, 0)
    HWAR H 6 A_FaceTarget
    HWAR H 0 A_UnSetInvulnerable
	HWAR H 0 A_ChangeFlag(DONTRIP, FALSE)
    Goto See  
  Melee: 
    HWAR EF 8 A_FaceTarget 
    HWAR G 8 A_ComboAttack 
    Goto See 
  Pain:
    HWAR J 6 A_Pain 
    HWAR H 0 A_SetInvulnerable
	HWAR H 0 A_ChangeFlag(DONTRIP, TRUE)
    HWAR HHHHHHH 6 A_FaceTarget 
	HWAR H 0 A_ChangeFlag(DONTRIP, FALSE)
    HWAR H 0 A_UnSetInvulnerable
    Goto See 
  Death: 
    HWAE K 0 A_FaceTarget
    HWAR K 5 A_SpawnItemEx("HellWarriorShield", 0, 0, 25, 6, 0, 0, 60, 128)
    HWAR L 5 A_Scream
    HWAR M 5
    HWAR N 5 A_NoBlocking 
    HWAR OPQRS 5  
    HWAR T -1 
    Stop 
  Raise: 
    HWAR QPONMLK 5 
    Goto See 
  } 
}

Actor HellWarriorBall
{
  Radius 6
  Height 8
  Speed 14
  Damage 8
  Projectile
  RenderStyle Add
  Alpha 0.7
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  Decal BaronScorch
  States
  {
  Spawn:
    HWFB AB 5 Bright
    Loop
  Death:
    HWFB CDE 5 Bright
    Stop
  }
}

Actor HellWarriorBall2
{
  Radius 6
  Height 8
  Speed 8
  Damage 2
  Projectile
  RenderStyle Add
  +Randomize
  +Ripper
  Alpha 0.8
  Scale 0.4
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
    GRBA ABCDEFGH 2 Bright
    Loop
  Death:
    GRBA AIJKLMN 3 Bright
    Stop
  }
}

Actor HellWarriorShield
{
  Radius 8
  Height 8
  Speed 6
  +DoomBounce
  +DropOff
  +Missile
  States
  {
  Spawn:
    HWSH ABCDEFGH 3
    Loop
  Death:
    HWSH I -1
    Loop
  }
}

//=========================================================================
//=========================================================================
//
//                            Pyrodemon
//
//=========================================================================
//=========================================================================
//  DECORATE: Maelstrom
//  Sprites: Id Software (edits by Eriance and Maelstrom)
//=========================================================================

Actor PyroDemon // 30105
{
  Health 2500
  Radius 24
  Height 64
  Mass 1000
  Speed 8
  PainChance 20
  Monster
  MeleeDamage 10
  Obituary "%o was burnt to a crisp by a pyro demon"
  HitObituary "%o was melted my a pyro demon"
  Bloodcolor "75 25 00"
  +NoTarget
  +FloorClip
  +MissileMore
  +NoRadiusDmg
  +Boss
  +DontHurtSpecies
  SeeSound "pyro/see"
  PainSound "pyro/pain"
  DeathSound "pyro/death"
  ActiveSound "pyro/idle"
  States
  {
  Spawn:
    PYRO AB 10 A_Look
    Loop
  See:
    PYRO AA 3 A_Chase
    PYRO A 0 A_SpawnItemEx("WalkFire",0,0,0,1,0,0,0,128)
    PYRO BB 3 A_Chase
    PYRO B 0 A_SpawnItemEx("WalkFire",0,0,0,1,0,0,0,128)
    PYRO CC 3 A_Chase
    PYRO C 0 A_SpawnItemEx("WalkFire",0,0,0,1,0,0,0,128)
    PYRO DD 3 A_Chase
    PYRO D 0 A_SpawnItemEx("WalkFire",0,0,0,1,0,0,0,128)
    Loop
  Missile:
    PYRO B 0 A_Jump(32,29)
    PYRO B 0 A_Jump(32,20)
    PYRO EF 8 Bright A_FaceTarget
    PYRO G 0 Bright A_CustomMissile ("FireShot",28,0,0,0)
    PYRO G 0 Bright A_CustomMissile ("FireShot",28,0,-4,0)
    PYRO G 3 Bright A_CustomMissile ("FireShot",28,0,4,0)
    PYRO H 3 Bright
    PYRO H 0 A_Jump(32,8)
    PYRO IJ 8 Bright A_FaceTarget 
    PYRO K 0 Bright A_CustomMissile ("FireShot",28,0,0,0)
    PYRO K 0 Bright A_CustomMissile ("FireShot",28,0,-4,0)
    PYRO K 3 Bright A_CustomMissile ("FireShot",28,0,4,0)
    PYRO L 3 Bright
    PYRO L 0 A_Jump(32,1)
    Goto See
    PYRO MN 8 Bright A_FaceTarget
    PYRO O 4 Bright A_CustomMissile ("PyroBlast",28,0,0,0)
    PYRO P 4 Bright
    Goto See
    PYRO MN 8 Bright A_FaceTarget
    PYRO O 4 Bright A_CustomMissile ("RainCometNull",28,0,0,0)
    PYRO O 4 Bright A_CustomMissile ("RainCometNull",28,0,90,0)
    PYRO O 4 Bright A_CustomMissile ("RainCometNull",28,0,180,0)
    PYRO O 4 Bright A_CustomMissile ("RainCometNull",28,0,270,0)
    PYRO P 4 Bright
    Goto See
	PYRO O 1 A_FaceTarget
    PYRO O 0 A_CustomMissile ("EscapeExplosion",28,10,0,0)
    PYRO O 0 A_Mushroom ("Pyroball",16)
    PYRO O 3
    PYRO P 3 Bright
    PYRO A 0 A_UnSetShootable
    PYRO A 1 A_PlaySound("pyro/tele")
    PYRO A 1 A_SetTranslucent(0.90)
    PYRO A 1 A_SetTranslucent(0.80)
    PYRO A 1 A_SetTranslucent(0.70)
    PYRO A 1 A_SetTranslucent(0.60)
    PYRO A 1 A_SetTranslucent(0.50)
    PYRO A 1 A_SetTranslucent(0.40)
    PYRO A 1 A_SetTranslucent(0.30)
    PYRO A 1 A_SetTranslucent(0.20)
    PYRO A 1 A_SetTranslucent(0.10)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 A 0 A_Jump(128,25)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_ExtChase(0,0,1,1)
    PYRO A 1 A_PlaySound("pyro/tele")
    PYRO A 1 A_SetTranslucent(0.10)
    PYRO A 1 A_SetTranslucent(0.20)
    PYRO A 1 A_SetTranslucent(0.30)
    PYRO A 1 A_SetTranslucent(0.40)
    PYRO A 1 A_SetTranslucent(0.50)
    PYRO A 1 A_SetTranslucent(0.60)
    PYRO A 1 A_SetTranslucent(0.70)
    PYRO A 1 A_SetTranslucent(0.80)
    PYRO A 1 A_SetTranslucent(0.90)
    PYRO A 1 A_SetTranslucent(1.0)
    PYRO A 0 A_CustomMissile ("EscapeExplosion",28,10,0,0)
    PYRO O 0 A_Mushroom ("Pyroball",16)
    PYRO A 0 A_SetShootable
    Goto See
  Pain:
    PYRO Q 2
    PYRO Q 2 A_Pain
    Goto See
  Death:
    PYRO R 0 A_Mushroom("FireShot", 20, 0, 1, 1)
    PYRO R 20 Bright A_Scream
    PYRO S 20 Bright
    PYRO T 20 Bright 
    PYRO U 20 Bright A_NoBlocking
    PYRO VW 6 Bright
    PYRO X 6 Bright
    PYRO Y 3 Bright
    PYRO Z -1 Bright
    Stop
  }
}

Actor FireShot
{
  Radius 3
  Height 3
  Speed 15
  Damage 3
  Projectile
  RenderStyle Add
  Alpha 0.67
  DamageType Fire
  SeeSound "pyro/flame"
  DeathSound "pyro/flamepoof"
  Decal RevenantScorch
  States
  {
  Spawn:
    FSHT A 1 Bright A_SpawnItemEx("FireTail",0,0,0,0,0,0,0,128)
    FSHT A 1 Bright A_SpawnItemEx("FireTail",0,0,0,0,0,0,0,128)
    FSHT A 1 Bright A_SpawnItemEx("FireTail",0,0,0,0,0,0,0,128)
    FSHT A 1 Bright A_SpawnItemEx("FireTail",0,0,0,0,0,0,0,128)
    FSHT A 1 Bright A_SpawnItemEx("FireTail",0,0,0,0,0,0,0,128)
    FSHT A 1 Bright A_SpawnItemEx("FireTail",0,0,0,0,0,0,0,128)
    Loop
  Death:
    FSHT A 0 Bright A_Explode
    FSHT B 0 Bright
    FSHT B 3 Bright
    FSHT C 3 Bright
    FSHT D 3 Bright
    FSHT E 3 Bright
    Stop
  }
}

Actor FireTail
{
  Projectile
  RenderStyle Add
  +NoClip
  Alpha 0.4
  States
  {
  Spawn:
    FRTB ABCDEFGHI 1 Bright
    Stop
  }
}

Actor EscapeExplosion 
{
  SeeSound "pyro/explosion"
  Radius 8
  Height 56
  Speed 0
  States
  {
  Spawn:
    NKXP B 3 Bright
    NKXP C 3 Bright
    NKXP D 3 Bright A_Explode(50, 192)
    NKXP EFGHIJKLMNOPQRSTUV 3 Bright
    Stop
  }
}

Actor PyroBall
{
  Radius 10
  Height 8
  Speed 15
  SeeSound "pyro/bomb"
  DeathSound "pyro/bombhit"
  Projectile  
  RenderStyle Add
  Alpha 0.7
  -NoGravity
  +DoomBounce
  +LowGravity
  +FireDamage
  +SeekerMissile
  Decal RevenantScorch
  States
  {
  Spawn:
    RBAL A 0 Bright
    RBAL A 0 Bright A_AlertMonsters
    RBAL AAAABBBB 1 Bright 
    Goto Spawn +2
  Death:
    RBAL DEFGHI 4 Bright 
    Stop
  }
}

Actor FirebombExplosion1
{
  Radius 11
  Height 8
  Speed 18
  Damage 6
  +NoBlockMap
  +DropOff
  +Missile
  +ActivateImpact
  +ActivatePCross
  Obituary "%o was killed by a firebomb explosion."
  States
  {
  Spawn:
     FRME A 1 Bright
     Loop
  Death:
     FRME A 0
     FRME A 0 A_PlaySound("pyro/blastexplosion")
     FRME A 3 Bright A_Explode(128, 144)
     FRME B 1 Bright A_Mushroom("Pyroball",8)
     FRME B 2 Bright A_CustomMissile("FirebombExplosion2",25,0,180)
     FRME CDEFGHIJKLMNOPQRS 3 Bright
     Stop
  }
}

Actor FirebombExplosion2 : FirebombExplosion1
{
  States
  {
  Death:
    FRME A 0
    FRME A 0 A_PlaySound("pyro/blastexplosion")
    FRME A 3 Bright A_Explode(128, 136)
    FRME B 1 Bright
    FRME B 2 Bright A_CustomMissile("FirebombExplosion3",20,0,180)
    FRME CDEFGHIJKLMNOPQRS 3 Bright
    Stop
  }
}

Actor FirebombExplosion3 : FirebombExplosion1
{
  Speed 14
  Damage 5
  States
  {
  Death:
    FRME A 0
    FRME A 0 A_PlaySound("pyro/blastexplosion")
    FRME A 3 Bright A_Explode(128, 128)
    FRME BCDEFGHIJKLMNOPQRS 3 Bright
    Stop
  }
}

Actor PyroBlast
{
  Projectile
  +SeekerMissile
  +NoGravity
  RenderStyle Add
  Alpha 0.4
  SeeSound "pyro/blast"
  DeathSound "pyro/flamepoof"
  Speed 17
  Height 10
  Radius 10
  Decal Scorch
  states
  {
  Spawn:
    SBAL ABCDEFGHIJ 1 Bright A_SpawnItemEx("FireTail",0,0,0,0,0,0,0,128)
    SBAL A 0 Bright A_SeekerMissile(0,2)
    Goto Spawn+1
  Death:
    SBAL K 0 A_CustomMissile("FirebombExplosion1",1,0,45)
    SBAL K 0 A_CustomMissile("FirebombExplosion1",1,0,135)
    SBAL K 0 A_CustomMissile("FirebombExplosion1",1,0,225)
    SBAL K 0 A_CustomMissile("FirebombExplosion1",1,0,315)
    SBAL LMNOPQRSTUVW 1 Bright
    Stop
  }
}

Actor WalkFire
{
  +NoClip
  +Missile
  +DropOff
  +Randomize
  Scale 1.5
  Speed 1
  RenderStyle Add
  Alpha 0.67
  States
  {
  Spawn:
    TNT1 A 8
    FRTF A 3 Bright
    FRTF A 0 
    FRTF B 3 Bright
    FRTF B 0 
    FRTF C 3 Bright
    FRTF C 0 
    FRTF C 0 
    FRTF C 0 A_Jump(191,4)
    FRTF C 0 A_CustomMissile("WalkFire", 0, 24, 0)
    FRTF C 0 A_CustomMissile("WalkFire", 0, 0, 0)
    FRTF C 0 A_CustomMissile("WalkFire", 0, -24, 0)
    FRTF DEFGHIJKLMNO 3 Bright
    Stop
  }
}

Actor RainCometNull
{
  Radius 0
  Height 0
  Speed 8
  Projectile
  +FloorClip
  +Ripper
  +DoomBounce
  +CeilingHugger
  +DontHurtSpecies
  States
  {
  Spawn:
    ZAP5 A 0 A_Jump(5,8)
    ZAP5 AAAAAA 1 A_Wander
    ZAP5 A 8 A_CustomMissile("FallingComet",-24,random(0,128),random(0,360),2,random(1,89))
    Loop
  Death:
    ZAP5 A 0
    Stop
  }
}

Actor FallingComet
{
  Radius 6
  Height 8
  Speed 5
  Damage 5
  ExplosionDamage 40
  ExplosionRadius 80
  Scale 0.55
  Projectile
  SeeSound "pyro/comet"
  DeathSound "pyro/cometdeath"
  -NoGravity
  -Float
  +FloorClip
  +DontHurtSpecies 
  +SpawnCeiling
  Decal RevenantScorch
  States
  {
  Spawn:
    COMT AAAABBBBCCCC 1 Bright A_SpawnItemEx("FireTail", 0, 0, 0, 0, 0, 0, 0, 128)
    Loop
  Death:
    COMT D 3 Bright A_SpawnItemEx("CometDeathGlow", 0, 0, 0, 0, 0, 0, 0, 128)
    COMT E 3 Bright A_Explode(20,128,0)
    COMT E 0 A_SpawnItemEx("CometDeath", 0, 0, 0, 0, 0, 0, 0, 128)
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                             Phase Imp
//
//=========================================================================
//=========================================================================
//  DECORATE: Daniel
//  Sprites: Id Software (edits by Tormentor667)
//=========================================================================

ACTOR PhaseImp : DoomImp//24105
{
    Health 150
    Radius 20
    Height 56
    Mass 120
    Speed 8
    PainChance 192
    MeleeDamage 4
    MONSTER
    +FLOORCLIP
    SeeSound "neodarkimp/sight"
    PainSound "neodarkimp/pain"
    DeathSound "neodarkimp/death"
    ActiveSound "neodarkimp/active"
    MeleeSound "neodarkimp/melee"
    Obituary "%o was incinerated by a Phase Imp."
    HitObituary "%o was scratched by a Phase Imp."
    MissileType DarkImpBall
    States
    {
    Spawn:
        DIMP AB 10 A_Look
        Loop
    See:
        DIMP AABBCCDD 3 A_Chase
        Loop
        DIMP AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_ExtChase(0,0)
        DIMP AABBCCDDAABBCCDD 1 A_Chase
        Goto See+40
    Melee:
        DIMP E 0 A_UnHideThing
        DIMP E 0 A_SetTranslucent(1)
        DIMP EF 8 A_FaceTarget
        DIMP G 6 A_ComboAttack
        Goto See
    Missile:
        DIMP E 0 A_Jump (64,6)
        DIMP E 0 A_UnHideThing
        DIMP E 0 A_SetTranslucent(1)
        DIMP EF 8 A_FaceTarget
        DIMP G 6 A_ComboAttack
        Goto See
        DIMP E 0
        DIMP E 0 A_PlaySound("neodarkimp/teleport")
        DIMP E 8 Bright A_FaceTarget
        DIMP E 0 A_FaceTarget
        DIMP E 1 Bright A_SetTranslucent(0.9)
        DIMP E 1 Bright A_SetTranslucent(0.8)
        DIMP E 1 Bright A_SetTranslucent(0.7)
        DIMP E 1 Bright A_SetTranslucent(0.6)
        DIMP E 1 Bright A_SetTranslucent(0.5)
        DIMP E 1 Bright A_SetTranslucent(0.4)
        DIMP E 1 Bright A_SetTranslucent(0.3)
        DIMP E 1 Bright A_SetTranslucent(0.2)
        DIMP E 1 Bright A_SetTranslucent(0.1)
        DIMP E 0 A_HideThing
        Goto See+8
    Pain:
        DIMP H 0 A_UnHideThing
        DIMP H 2 A_SetTranslucent(1)
        DIMP H 2 A_Pain
        Goto See
    Death:
        DIMP I 0 A_UnHideThing
        DIMP I 8 A_SetTranslucent(1)
        DIMP J 8 A_Scream
        DIMP K 6
        DIMP L 6 A_Fall
        DIMP M -1
        Stop
    XDeath:
        DIMP N 0 A_UnHideThing
        DIMP N 5 A_SetTranslucent(1)
        DIMP O 5 A_XScream
        DIMP P 5 A_Fall
        DIMP RST 5
        DIMP U -1
        Stop
    Raise:
        DIMP LK 8
        DIMP JI 6
        Goto See
    }
}

ACTOR DarkImpBall
{
    Radius 6
    Height 8
    Speed 10
    Damage 4
    PROJECTILE
    +SEEKERMISSILE
    SeeSound "neodarkimp/attack"
    DeathSound "neodarkimp/shotx"
    RenderStyle Add
    Alpha 0.75
    Decal DoomImpScorch
    States
    {
    Spawn:
        DIMB AB 4 Bright A_SeekerMissile (20,0)
        Loop
    Death:
        DIMB CDE 6 Bright
        Stop
    }
}

//=========================================================================
//=========================================================================
//
//                              Hectebus
//
//=========================================================================
//=========================================================================
//  DECORATE: AgentSpork, Carnevil, Ghastly_dragon
//  Sprites: Id Software, Midway (edits by Agent Spork)
//=========================================================================

Actor Hectebus : Fatso
{
  Health 1500
  Radius 56
  Height 80
  Scale 1.25
  Speed 12
  PainChance 100
  BloodColor "73 00 00"
  Mass 1500
  SeeSound "Hectebus/Sight"
  PainSound "Hectebus/Pain"
  DeathSound "Hectebus/Death"
  ActiveSound "Hectebus/Active"
  Monster
  +FloorClip
  +MissileMore
  Obituary "%o was cremated by a Hectebus."
  States
  {
  Spawn:
    HECT AAAAAAAAAABBBBBBBBBB 1 A_Look
    Loop
  See:
    HECT ABC 6 A_Chase
    HECT D 0 A_PlaySoundEx("Hectebus/Step", "SoundSlot7", 0)
    HECT DEF 6 A_Chase
    HECT A 0 A_PlaySoundEx("Hectebus/Step", "SoundSlot7", 0)
    Loop
  Missile:
    HECT G 0 A_PlaySoundEx("Hectebus/Attack", "SoundSlot6", 0)
    HECT GGGG 4 A_FaceTarget
    HECT G 0 A_Jump(64, "Missile2")
    HECT U 4 Bright A_CustomMissile("Hecteball", 35, 41, 0)
    HECT IGG 4 A_FaceTarget
    HECT K 0 A_SpidReFire
    HECT V 4 Bright A_CustomMissile("Hecteball", 35, -41, 0)
    HECT IGG 4 A_FaceTarget
    HECT K 0 A_Jump(96, 2)
    HECT K 0 A_SpidReFire
    Goto Missile+6
    HECT K 0
    Goto See
  Missile2:
    HECT H 0 Bright A_CustomMissile("Hecteball", 35, 41, Random(-4, 2))
    HECT H 4 Bright A_CustomMissile("Hecteball", 35, -41, Random(-2, 4))
    HECT IGG 4 A_FaceTarget
    HECT H 0 Bright A_CustomMissile("Hecteball", 35, 41, Random(-4, 2))
    HECT H 4 Bright A_CustomMissile("Hecteball", 35, -41, Random(-2, 4))
    HECT IGG 4 A_FaceTarget
    HECT H 0 Bright A_CustomMissile("Hecteball", 35, 41, Random(-4, 2))
    HECT H 4 Bright A_CustomMissile("Hecteball", 35, -41, Random(-2, 4))
    HECT IGG 4 A_FaceTarget
    HECT K 0 A_Jump(200, 2)
    HECT K 0 A_SpidReFire
    Goto Missile2
    HECT K 0
    Goto See
  Pain:
    HECT J 8 A_Pain
    Goto See
  Death:
    HECT K 6 A_Scream
    HECT L 6
    HECT M 6
    HECT N 6 A_Fall
    HECT O 6
    HECT P 6
    HECT Q 6
    HECT R 6
    HECT S 6
    HECT T -1
    Stop
  }
}

Actor Hecteball //Hectebus Fireball
{
  Radius 10
  Height 8
  Speed 20
  Damage 16
  Projectile
  RenderStyle Add
  Alpha 0.97
  SeeSound "Imp/Attack"
  DeathSound "Imp/ShotX"
  Decal Scorch
  States
  {
  Spawn:
    HECF AB 4 Bright
    Loop
  Death:
    HECF CDE 4 Bright
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                          Chaingun Arachnotron
//
//=========================================================================
//=========================================================================
//  DECORATE: Captain Toenail
//  Sprites: Id Software (edits by Captain Toenail)
//=========================================================================

actor CGunSpider : Arachnotron// 12456
{
  obituary "%o was pumped full of lead by a Chaingun Arachnotron."
  health 450
  radius 64
  height 64
  mass 600
  speed 12
  painchance 128
  attacksound "Chainguy/Attack"
  dropitem "ClipBox" 64
  decal "bulletchip"
  MONSTER
  +FLOORCLIP
  states
  {
  Spawn:
    CSPI AB 10 A_Look
    loop
  See:
    CSPI A 20
    CSPI A 3 A_BabyMetal
    CSPI ABBCC 3 A_Chase
    CSPI D 3 A_BabyMetal
    CSPI DEEFF 3 A_Chase
    goto See+1
  Missile:
    CSPI A 20 bright A_FaceTarget
    CSPI G 4 bright A_CPosAttack
    CSPI G 0 bright A_CPosAttack
    CSPI H 4 bright
    CSPI H 1 bright A_SpidRefire
    goto Missile+1
  Pain:
    CSPI I 3
    CSPI I 3 A_Pain
    goto See+1
  Death:
    CSPI J 20 A_Scream
    CSPI K 7 A_NoBlocking
    CSPI LMNO 7
    CSPI P -1 
    stop
  Raise:
    CSPI PONMLKJ 5
    goto See+1
  }
}

//=========================================================================
//=========================================================================
//
//                         Fusion Arachnotron
//
//=========================================================================
//=========================================================================
//  DECORATE: Tormentor667
//  Sprites: Id Software (edits by InsanityBringer and Tormentor667)
//=========================================================================

Actor FusionSpider : Arachnotron//20000
{
  Obituary "%o was vaporized by a fusion cannon Arachnotron"
  Health 600
  Radius 64
  Height 64
  Mass 600
  Speed 12
  PainChance 30   
  SeeSound "baby/sight"
  PainSound "baby/pain"
  DeathSound "baby/death"
  ActiveSound "baby/active"
  Monster
  +FloorClip
  +MissileMore
  +MissileEvenMore
  States
  {
  Spawn:
    FSPI AB 10 A_Look
    Loop
  See:
    FSPI A 20
    FSPI A 3 A_BabyMetal
    FSPI ABBCC 3 A_Chase
    FSPI D 3 A_BabyMetal
    FSPI DEEFF 3 A_Chase
    Goto See+1
  Missile:
    FSPI A 4 A_FaceTarget
    FSPI A 0 A_FaceTarget
    FSPI G 3 Bright A_CustomMissile("FusionShot",24,0,0)
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,15)
    FSPI G 0 A_FaceTarget
    FSPI G 3 Bright A_CustomMissile("FusionShot",24,0,-15)
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,10)
    FSPI G 0 A_FaceTarget
    FSPI G 3 Bright A_CustomMissile("FusionShot",24,0,-30)
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,30)
    FSPI G 0 A_FaceTarget
    FSPI G 3 Bright A_CustomMissile("FusionShot",24,0,-10)
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,25)
    FSPI G 0 A_FaceTarget
    FSPI G 3 Bright A_CustomMissile("FusionShot",24,0,5)
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,-5)
    FSPI G 0 A_FaceTarget
    FSPI G 3 Bright A_CustomMissile("FusionShot",24,0,0)
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,-45)  
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,40)
    FSPI G 0 A_FaceTarget
    FSPI G 3 Bright A_CustomMissile("FusionShot",24,0,-20)
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,10)
    FSPI G 0 A_FaceTarget
    FSPI G 3 Bright A_CustomMissile("FusionShot",24,0,-35)
    FSPI H 3 Bright A_CustomMissile("FusionShot",24,0,50)
    FSPI H 1 Bright
    Goto See+1
  Pain:
    FSPI I 3
    FSPI I 3 A_Pain
    Goto See+1
  Death:
    FSPI J 20 A_Scream
    FSPI K 7 A_NoBlocking
    FSPI LMNO 7
    FSPI P -1 A_BossDeath
    Stop
  Raise:
    FSPI PONMLKJ 5
    Goto See+1
  }
}

Actor FusionShot
{
  Radius 13
  Height 8
  Speed 6
  Damage 5  
  Scale 1.0   
  RenderStyle Add
  SeeSound "fusionspid/see" 
  DeathSound "fusionspid/die"
  Projectile
  Decal PlasmaScorchLower
  states
  {
  Spawn:
    FS03 AB 10 Bright A_SpawnItemEx("FusionTrail", 0, 0, 0, 0, 0, 0, Random(-10, 10), 128)
    Loop
  Death:
    FS03 HIJG 3 Bright
    Stop
  }
}

Actor FusionTrail
{
  Radius 4
  Height 8
  Speed 0
  Damage 0
  Scale 1.0 
  RenderStyle Add 
  Projectile
  states
  {
  Spawn:
    TNT1 A 2
    FS03 FG 6 Bright A_FadeOut
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                         Fusion Arachnotron
//
//=========================================================================
//=========================================================================
//  DECORATE: Tormentor667, Captain Toenail
//  Sprites: Id Software (edits by Tormentor667 and Captain Toenail)
//=========================================================================

//Railgun Arachnotron
ACTOR RailArachnotron : Arachnotron //3125
{
	//$Category "ZDoom Monster pack"
	Health 500
	Radius 64
	Height 64
	Mass 600
	Speed 12
	PainChance 192
	Damage 30
	Monster
	+FLOORCLIP
	SeeSound "baby/sight"
	PainSound "baby/pain"
	DeathSound "baby/death"
	ActiveSound "baby/active"
	Obituary "%o was railed by a Rail Arachnotron."
	Decal RedRailScorch
	States
	{
	Spawn:
		RSPI AB 10 A_Look
		Loop
	See:
		RSPI A 20
		RSPI A 3 A_BabyMetal
		RSPI ABBCC 3 A_Chase
		RSPI D 3 A_BabyMetal
		RSPI DEEFF 3 A_Chase
		Goto See+1
	Missile:
		RSPI A 0 A_PlaySound ("baby/chargerailgun")
		RSPI A 16 A_FaceTarget
		RSPI G 16 A_FaceTarget
		RSPI H 4 A_CustomRailgun (30, 0, AA0000, FF0000, 0, 1)
		RSPI G 8
		Goto See+1
	Pain:
		RSPI I 3
		RSPI I 3 A_Pain
		Goto See+1
	Death:
		RSPI J 20 A_Scream
		RSPI K 7 A_Fall
		RSPI LMNO 7
		RSPI P -1
		Stop
    Raise:
		RSPI P 5
		RSPI ONMLKJ 5
		Goto See+1
	}
}

//=========================================================================
//=========================================================================
//
//                            Beam Revenant
//
//=========================================================================
//=========================================================================
//  DECORATE: Captain Ventris
//  Sprites: Id Software (edits by Spectator)
//=========================================================================

ACTOR BeamRevenant : Revenant //2112
{
  HitObituary "%o was punched by a Beam Revenant."
  Obituary "%o was sniped by a Beam Revenant."
  States
  {
  Spawn:
    RASK AB 10 A_Look
    Loop
  See:
    RASK AAABBBCCCDDDEEEFFF 2 A_Chase
    Loop
  Melee:
    RASK G 1 A_FaceTarget
    RASK G 6 A_SkelWhoosh
    RASK H 6 A_FaceTarget
    RASK I 6 A_SkelFist
    Goto See
  Missile:
    RASK J 1 Bright A_FaceTarget
    RASK J 9 Bright A_FaceTarget
    RASK K 10 A_CustomMissile("Revrailshot", 60, 0, random(-4,4),0)
    RASK K 10 A_FaceTarget
    Goto See
  Pain:
    RASK L 5
    RASK L 5 A_Pain
    Goto See
  Death:
    RASK LM 7
    RASK N 7 A_Scream
    RASK O 7 A_NoBlocking
    RASK P 7
    RASK Q -1
    Stop
  Raise:
    RASK Q 5
    RASK PONML 5
    Goto See
  }
}

ACTOR Revrailshot : FastProjectile
{
  radius 1
  height 1
  speed 100
  damage (30)
  renderstyle Add
  decal RailScorchLower
  seesound "weapons/railgf"
  deathsound "weapons/railgf"
  obituary "%o was shafted by a Beam Revenant."
  PROJECTILE
  +RANDOMIZE
  +BLOODSPLATTER
   +FOILINVUL
   +DONTREFLECT
  states
  {
  Spawn:
    TNT1 A 1 bright A_SpawnItemEx("railtrail", 0, 0, 0,0,0,0,0,128)
    loop
  Death:
    TNT1 A 2 bright A_SpawnItemEx("railpow", 0, 0, 0,0,0,0,0,128)
    stop
  }
}

ACTOR Railtrail
{
   Radius 2
   Height 2
   Speed 0
   scale 0.5
   PROJECTILE
   +CLIENTSIDEONLY
   +NOINTERACTION
   States
   {
   Spawn:
   APLS ABABAB 3 BRIGHT
   Stop
   }
}

ACTOR Railpow
{
   Radius 2
   Height 2
   Speed 0
   Scale 0.5
   PROJECTILE
   +NOINTERACTION
   +CLIENTSIDEONLY
   States
   {
   Spawn:
     APBX ABCDE 5 bright
     Stop
   }
}

//=========================================================================
//=========================================================================
//
//                         Autoshotgun Zombie
//
//=========================================================================
//=========================================================================
//  DECORATE: Scalliano, Popsoap
//  Sprites: Id Software, Ghastly_Dragon, Eriance, Xim (edits by Spectator)
//=========================================================================

ACTOR ASGGuy : ShotgunGuy
{
    Health 90
    Radius 20
    Height 56
    Speed 8
    PainChance 128
    MONSTER
    +FLOORCLIP
    SeeSound "grunt/sight"
    AttackSound "asgguy/asgfir"
    PainSound "grunt/pain"
    DeathSound "grunt/death"
    ActiveSound "grunt/active"
    Obituary "%o got emmental'd by an Autoshotgun guy."
    DropItem Shell
    States
    {
    Spawn:
        ASGZ AB 10 A_Look
        Loop
    See:
        ASGZ AABBCCDD 4 A_Chase
        Loop
    Missile:
    	TNT1 A 0 A_JumpIfInventory ("ASGZAmmo", 16, "Reload")
    	ASGZ E 4 A_FaceTarget
    	TNT1 A 0 A_GiveInventory ("ASGZAmmo", 1)
    	ASGZ F 5 Bright A_CustomBulletAttack (5, 4, 3, 4, "BulletPuff", 0)
    	ASGZ E 6
    	TNT1 A 0 A_JumpIfInventory ("ASGZAmmo", 16, "Reload")
    	TNT1 A 0 A_PlaySound("asgguy/asgld1")
    	ASGZ E 4 A_CPosRefire
    	TNT1 A 0 A_GiveInventory ("ASGZAmmo", 1)
    	ASGZ F 5 Bright A_CustomBulletAttack (5, 4, 3, 4, "BulletPuff", 0)
    	ASGZ E 6
    	TNT1 A 0 A_JumpIfInventory ("ASGZAmmo", 16, "Reload")
    	TNT1 A 0 A_PlaySound("asgguy/asgld1")
    	ASGZ E 4 A_CPosRefire
    	TNT1 A 0 A_GiveInventory ("ASGZAmmo", 1)
    	ASGZ F 5 Bright A_CustomBulletAttack (5, 4, 3, 4, "BulletPuff", 0)
    	ASGZ E 6
    	TNT1 A 0 A_JumpIfInventory ("ASGZAmmo", 16, "Reload")
    	TNT1 A 0 A_PlaySound("asgguy/asgld1")
    	ASGZ E 4 A_CPosRefire
    	TNT1 A 0 A_GiveInventory ("ASGZAmmo", 1)
    	ASGZ F 5 Bright A_CustomBulletAttack (5, 4, 3, 4, "BulletPuff", 0)
    	ASGZ E 6
    	TNT1 A 0 A_PlaySound("asgguy/asgld1")
		TNT1 A 0 A_JumpIfInventory ("ASGZAmmo", 16, "Reload")
        Goto See
    Reload:
    	TNT1 A 0 A_ChangeFlag("NoPain", 1)
    	TNT1 A 0 A_PlaySound("asgguy/asgout")
    	ASGZ E 48 A_TakeInventory ("ASGZAmmo", 16)
    	ASGZ E 8 A_PlaySound("asgguy/asgin")
    	TNT1 A 0 A_ChangeFlag("NoPain", 0)
    	Goto See
    Pain:
        ASGZ G 3
        ASGZ G 3 A_Pain
        Goto See
    Death:
        ASGZ H 5
        ASGZ I 5 A_Scream
        ASGZ J 5 A_Fall
        ASGZ KLM 5
        ASGZ N -1
        Stop
    XDeath:
        ASGZ O 5
        ASGZ P 5 A_XScream
        ASGZ Q 5 A_Fall
        ASGZ RSTUV 5
        ASGZ W -1
        Stop
    Raise:
        ASGZ NMLKJIH 5
        Goto See
    }
}

ACTOR ASGZAmmo: Ammo
{
     Inventory.MaxAmount 16
}

//=========================================================================
//=========================================================================
//
//                            BFG Zombie
//
//=========================================================================
//=========================================================================
//  DECORATE: Scalliano
//  Sprites: Id Software (edits by ItsNatureToDie and NeoWorm)
//=========================================================================

actor BFGGuy : Chaingunguy
{
  obituary "%o was vaporized by a zombie's BFG9000."
  health 200
  radius 20
  height 56
  mass 100
  speed 8
  painchance 170
  seesound "chainguy/sight"
  painsound "chainguy/pain"
  deathsound "chainguy/death"
  activesound "chainguy/active"
  dropitem "BFG9000"
  missiletype BFGBall
  MONSTER
  +FLOORCLIP
  states
  {
  Spawn:
    BFGZ AB 10 A_Look
    loop
  See:
    BFGZ AABBCCDD 3 A_Chase
    loop
  Missile:
    BFGZ E 0 A_FaceTarget
    BFGZ E 20 A_PlaySound ("weapons/bfgf")
    BFGZ F 10 Bright
    BFGZ F 10 Bright A_MissileAttack
    BFGZ E 20
    goto See
  Pain:
    BFGZ G 3
    BFGZ G 3 A_Pain
    goto See
  Death:
    BFGZ H 5
    BFGZ I 5 A_Scream
    BFGZ J 5 A_NoBlocking
    BFGZ KLM 5
    BFGZ N -1
    stop
  XDeath:
    BFGZ O 5
    BFGZ P 5 A_XScream
    BFGZ Q 5 A_NoBlocking
    BFGZ RS 5
    BFGZ T -1
    stop
  Raise:
    BFGZ NMLKJIH 5
    goto See
  }
}

//=========================================================================
//=========================================================================
//
//                          Double Chaingunner
//
//=========================================================================
//=========================================================================
//  DECORATE: Eriance
//  Sprites: Id Software (edits by Eriance)
//=========================================================================

Actor DoubleChaingunGuy : ChaingunGuy
{
  Obituary "%o was reduced to bloody ribbons by a double-chaingunner."
  Health 100
  Radius 20
  Height 56
  Mass 100
  Speed 8
  PainChance 150
  SeeSound "chainguy/sight"
  AttackSound "chainguy/attack"
  PainSound "chainguy/pain"
  DeathSound "chainguy/death"
  ActiveSound "chainguy/active"
  DropItem "Chaingun"
  DropItem "Chaingun"
  Monster
  +FloorClip
  States
  {
  Spawn:
    DPOS AB 10 A_Look
    Loop
  See:
    DPOS AABBCCDD 3 A_Chase
    Loop
  Missile:
    DPOS E 10 A_FaceTarget
    DPOS F 0 Bright A_CPosAttack
    DPOS F 4 Bright A_CPosAttack
    DPOS E 0 Bright A_CPosAttack
    DPOS E 4 Bright A_CPosAttack
    DPOS F 1 A_CPosRefire
    Goto Missile+1
  Pain:
    DPOS G 3
    DPOS G 3 A_Pain
    Goto See
  Death:
    DPOS H 5
    DPOS I 5 A_Scream
    DPOS J 5 A_NoBlocking
    DPOS KLM 5
    DPOS N -1
    Stop
  XDeath:
    DPOS O 5
    DPOS P 5 A_XScream
    DPOS Q 5 A_NoBlocking
    DPOS RS 5
    DPOS T -1
    Stop
  Raise:
    DPOS NMLKJIH 5
    Goto See
  }
}

//=========================================================================
//=========================================================================
//
//                             Dune Warrior
//
//=========================================================================
//=========================================================================
//  DECORATE: Tormentor667
//  Sprites: Id Software, Raven Software (edits by Tormentor667 and NeoWorm)
//=========================================================================

ACTOR DuneWarrior : ZombieMan //30040
{
  OBITUARY "%o was killed by a dune warrior."
  Health 120
  Radius 20
  Height 56
  Mass 100
  Speed 25
  PainChance 160
  SEESOUND "dune/sight"
  ATTACKSOUND "chainguy/attack"
  PAINSOUND "dune/pain"
  DEATHSOUND "dune/death"
  DropItem "Clip" 128
  DropItem "Shell" 128
  DropItem "RocketAmmo" 128
  MONSTER
  +FloorClip
  +MISSILEMORE
  +MISSILEEVENMORE
  Decal Bulletchip
  states
  {
  Spawn:
    ZHRT AB 10 A_Look
    Loop
  See:
    ZHRT AABBCCDD 4 A_FastChase
    Loop
  Missile:
    ZHRT E 0 A_Jump(80, 6)
    ZHRT E 0 A_Jump(80, 20)
    ZHRT E 0 A_Jump(80, 24)
    ZHRT E 10 A_FaceTarget
    ZHRT F 10 A_CustomMissile("DuneWarriorGrenade", 32, 0, random(16,-16), 0)
    ZHRT E 10
    Goto See
    ZHRT E 10 A_FaceTarget
    ZHRT FE 4 BRIGHT A_CPosAttack
    ZHRT F 1
    ZHRT FE 4 BRIGHT A_CPosAttack
    ZHRT F 1
    ZHRT FE 4 BRIGHT A_CPosAttack
    ZHRT F 1
    ZHRT FE 4 BRIGHT A_CPosAttack
    ZHRT F 1
    ZHRT FE 4 BRIGHT A_CPosAttack
    ZHRT F 1 
    Goto See
    ZHRT E 6 A_FaceTarget
    ZHRT F 12 A_CustomMissile("Rocket", 32, 0, random(16,-16), 0)
    ZHRT E 12 A_FaceTarget
    ZHRT F 12 A_CustomMissile("Rocket", 32, 0, random(16,-16), 0)
    Goto See
    /*ZHRT A 0 A_SetInvulnerable 
    ZHRT A 0 A_UnSetShootable 
    ZHRT A 0 A_UnSetSolid 
    ZHRT A 0 A_PlaySound("dune/active")
    ZHRT A 1 A_SetTranslucent(0.8, 0)
    ZHRT A 1 A_SetTranslucent(0.6, 0)
    ZHRT A 1 A_SetTranslucent(0.4, 0)
    ZHRT A 1 A_SetTranslucent(0.3, 0)
    ZHRT A 1 A_SetTranslucent(0.0, 0)
    ZHRT AABBCCDDAABBCCDDAABBCCDDAABBCCDD 4 A_ExtChase(0,0)
    ZHRT A 0 A_PlaySound("dune/active")
    ZHRT C 1 A_SetTranslucent(0.2, 0)
    ZHRT C 1 A_SetTranslucent(0.4, 0)
    ZHRT D 1 A_SetTranslucent(0.6, 0)
    ZHRT D 1 A_SetTranslucent(0.8, 0)
    ZHRT D 1 A_SetTranslucent(1.0, 0)   
    ZHRT A 0 A_UnsetInvulnerable
    ZHRT A 0 A_SetShootable
    ZHRT A 0 A_SetSolid
    Goto Missile+22*/
  Pain:
    ZHRT G 3
    ZHRT G 3 A_Pain
    ZHRT G 0 A_Jump(128,1)
    Goto Missile
    ZHRT G 0       
    Goto Missile+27
  Death:
    ZHRT H 5
    ZHRT I 5 A_Scream
    ZHRT J 5 A_NoBlocking
    ZHRT K 5
    ZHRT L -1
    Stop
  XDeath:
    ZHRT O 5
    ZHRT P 5 A_XScream
    ZHRT Q 5 A_NoBlocking
    ZHRT RTUV 5
    ZHRT W -1
    Stop
  Raise:
    ZHRT KJIH 5
    Goto See
  }
}

ACTOR DuneWarriorGrenade
{
  Radius 6
  Height 8
  Speed 20
  SEESOUND "dune/bounce"
  DEATHSOUND "catharsi/shotdth"
  PROJECTILE
  -Shootable
  +DoomBounce
  +Randomize
  -NoGravity
  +ForceXYBillboard
  states
  {
  Spawn:
    THR2 A 4 A_PlaySound("catharsi/thermtick")
    THR2 B 16 
    THR2 A 4 A_PlaySound("catharsi/thermtick")
    THR2 B 16
    THR2 A 4 A_PlaySound("catharsi/thermtick")
    THR2 B 16
    THR2 A 4 A_PlaySound("catharsi/thermtick")  
    THR2 B 16
    THR2 A 4 A_PlaySound("catharsi/thermtick")  
    THR2 B 16  
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 0)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 20)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 40)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 60)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 80)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 100)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 120)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 140)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 160)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 180)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 200)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 220)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 240)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 260)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 280)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 300)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 320)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 340)
    SDFB BCDE 6 BRIGHT A_Die
    Loop
  Death:
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 0)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 20)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 40)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 60)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 80)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 100)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 120)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 140)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 160)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 180)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 200)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 220)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 240)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 260)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 280)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 300)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 320)
    SDFB B 0 A_CustomMissile("CatharsiBall", 4, 2, 340)
    SDFB BCDE 6 BRIGHT A_Die
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                           Quad-Shotgun Zombie
//
//=========================================================================
//=========================================================================
//  DECORATE: Ghastly_Dragon
//  Sprites: Id Software, (edits by Logan MTM, Ghastly_Dragon, and Xim)
//=========================================================================
Actor QuadShotgunZombie : ShotgunGuy
{
  Health 140
  Radius 20
  Height 56
  Mass 100
  Speed 8
  PainChance 60
  Monster
  +FloorClip
  +MISSILEMORE
  +MISSILEEVENMORE
  SeeSound "ShotGuy/Sight"
  PainSound "ShotGuy/Pain"
  DeathSound "ShotGuy/Death"
  ActiveSound "ShotGuy/Active"
  Obituary "%o was smeared by a Quad-Shotgun Zombie"
  DropItem "Shell"
  States
  {
  Spawn:
    QSZM AAAAAAAAAABBBBBBBBBB 1 A_Look
    Loop
  See:
    QSZM AABBCCDD 3 A_Chase
    Loop
  Missile:
    QSZM E 0 A_JumpIfInventory("QuadShotgunZombieCounter", 1, "SingleShot")
    QSZM E 0 A_Jump(64, "QuadShot")
    Goto SingleShot
  SingleShot:
    QSZM EE 5 A_FaceTarget
    QSZM F 0 Bright A_PlayWeaponSound("QuadShotgunZombie/SingleFire")
    QSZM F 0 Bright A_GiveInventory("QuadShotgunZombieCounter", 1)
    QSZM F 4 Bright A_CustomBulletAttack(6, 6, 5, 3, "Bulletpuff")
    QSZM E 6 A_FaceTarget
    QSZM E 0 A_JumpIfInventory("QuadShotgunZombieCounter", 4, "Reload")
    QSZM E 0 A_Jump(96, "SingleShot")
    QSZM EE 6 A_FaceTarget
    Goto See
  QuadShot:
    QSZM E 0 A_JumpIfCloser(384, 1)
    Goto SingleShot
    QSZM EEE 5 A_FaceTarget
    QSZM F 0 Bright A_PlayWeaponSound("QuadShotgunZombie/QuadFire")
    QSZM F 0 Bright A_GiveInventory("QuadShotgunZombieCounter", 4)
    QSZM F 4 Bright A_CustomBulletAttack(11, 11, 20, 3, "Bulletpuff")
    QSZM EE 6 A_FaceTarget
    Goto Reload
  Reload:
    QSZM E 0 A_ChangeFlag("NoPain", 1)
    QSZM E 10 A_PlaySoundEx("QuadShotgunZombie/Reload1", "SoundSlot7", 0)
    QSZM E 0 A_TakeInventory("QuadShotgunZombieCounter", 1)
    QSZM E 10 A_PlaySoundEx("QuadShotgunZombie/Reload2", "SoundSlot6", 0)
    QSZM E 0 A_JumpIfInventory("QuadShotgunZombieCounter", 1, 1)
    Goto Reload+6
    QSZM E 0
    Goto Reload+2
    QSZM E 10 A_PlaySoundEx("QuadShotgunZombie/Reload3", "SoundSlot7", 0)
    QSZM E 0 A_ChangeFlag("NoPain", 0)
    Goto See
  Pain:
    QSZM G 3
    QSZM G 3 A_Pain
    Goto See
  Death:
    QSZM H 8
    QSZM I 8 A_Scream
    QSZM J 8 A_NoBlocking
    QSZM K 8
    QSZM L -1
    Stop
  XDeath:
    QSZM M 5
    QSZM N 5 A_XScream
    QSZM O 5 A_NoBlocking
    QSZM PQRST 5
    QSZM U -1
    Stop
  Raise:
    QSZM L 5
    QSZM KJIH 5
    Goto See
  }
}

Actor QuadShotgunZombieCounter : Inventory
{
  Inventory.MaxAmount 4
}

//=========================================================================
//=========================================================================
//
//                               Mauler
//
//=========================================================================
//=========================================================================
//  DECORATE: KDIZD Team
//  Sprites: Id Software (edits by Eriance)
//=========================================================================

ACTOR MaulerDemon : Demon //3123
{              
	//$Category Monsters
   Health 150 
   PainChance 180 
   Speed 10 
   Radius 30 
   Height 56 
   Mass 400 
   Damage 2 //Horns = pain. I say no more 
   Monster 
   +FLOORCLIP 
   SeeSound "demon/sight" 
   AttackSound "demon/melee" 
   PainSound "demon/pain" 
   DeathSound "demon/death" 
   ActiveSound "demon/active" 
   Obituary "%o was gored by a Mauler Demon."
   HitObituary "%o was mauled by a Mauler Demon"
   States 
   { 
   Spawn: 
      MAUD AB 10 A_Look 
      Loop 
   See: 
      MAUD AABBCCDD 2 A_Chase 
      Loop 
   Melee: 
      MAUD EF 8 A_FaceTarget 
      MAUD G 8 A_SargAttack 
      Goto See 
   Missile: 
      MAUD E 0 A_Jumpifcloser(224, 2)
      Goto See
      MAUD E 4 A_FaceTarget 
      MAUD F 10 A_SkullAttack 
      MAUD G 5 A_Gravity
      Goto See 
   Pain: 
      MAUD H 2 
      MAUD H 2 A_Pain 
      Goto See 
   Death: 
      MAUD I 8 
      MAUD J 8 A_Scream 
      MAUD K 4 
      MAUD L 4 A_Fall 
      MAUD M 4 
      MAUD N -1 
      Stop 
   Raise: 
      MAUD N 5 
      MAUD MLKJI 5 
      Goto See 
   } 
}

//=========================================================================
//=========================================================================
//
//                             Cyber-Pinky
//
//=========================================================================
//=========================================================================
//  DECORATE: Carnevil
//  Sprites: Id Software (edits by NeoWorm, Vader)
//=========================================================================

ACTOR BloodDemonClone : Demon //3110
{ 
	//$Category Monsters
    Health 300 
    Speed 12 
    Height 56
    Radius 30
    Mass 400
    PainChance 180
    Meleedamage 5 
    REACTIONTIME 8 
    MONSTER
    +FLOORCLIP
    SeeSound "blooddemon/sight"
    PainSound "blooddemon/pain"
    DeathSound "blooddemon/death"
    ActiveSound "blooddemon/active"
    //MeleeSound "blooddemon/melee"
    HitObituary "A Cyber Pinky ate %o's heart out." 
    States 
    { 
    Spawn: 
       SRG2 AB 10 A_Look
       Loop 
    See: 
       SRG2 A 0 A_PlaySound("blooddemon/walk")
       SRG2 AABB 2 A_Chase
       SRG2 C 0 A_PlaySound("blooddemon/walk")
       SRG2 CCDD 2 A_Chase
       Loop 
    Melee: 
	   SRG2 E 0 A_PlaySound("blooddemon/melee")
       SRG2 EF 8 A_FaceTarget
       SRG2 G 8 A_MeleeAttack
       Goto See 
    Pain: 
       SRG2 H 2
       SRG2 H 2 A_Pain
       Goto See
    Death: 
       SRG2 I 8 
       SRG2 I 0 A_FaceTarget
       SRG2 J 0 A_SpawnItemEx("BloodDemonArm", 10, 0, 32, 0, 8, 0, 0, 128)
       SRG2 J 8 A_Scream
       SRG2 K 4 
       SRG2 L 4 A_NoBlocking
       SRG2 M 4 
       SRG2 N -1 
       Stop 
    Raise: 
       SRG2 NMLKJI 5 
       Goto See 
    } 
}

ACTOR BloodDemonArm
{
	Radius 8
	Height 8
	Speed 8
	+DOOMBOUNCE
	+DROPOFF
	+Missile
      States
	{
	Spawn:
         SG2A ABCDEFGH 2
         Loop
	Death:
	 SG2A I -1
	 Loop
	}
}

//=========================================================================
//=========================================================================
//
//                              Hellhound
//
//=========================================================================
//=========================================================================
//  DECORATE: Eriance
//  Sprites: Monolith, Eriance
//=========================================================================

Actor HotDog //30121
{
  Health 300
  PainChance 128
  Speed 16
  Radius 30
  Height 50
  Mass 500
  MeleeDamage 7
  MaxTargetRange 256
  DamageFactor "Fire", 0.5
  Monster
  +FloorClip
  +DontHurtSpecies
  Obituary "%o burned alive by a hellhound."
  HitObituary "A hellhound had %o for dinner."
  SeeSound "monster/dogsit"
  AttackSound "monster/dogatk"
  MeleeSound "monster/dogbit" 
  PainSound "monster/dogpai" 
  DeathSound "monster/dogdth" 
  ActiveSound "monster/dogact"
  //SpawnID 170
  States
  {
  Spawn:
    HDOG A 10 A_Look
    Loop
  See:
    HDOG AAAABBBBCCCCDDDDEEEEFFFF 1 A_Chase
    Loop
  Melee:
    HDOG GH 6 A_FaceTarget
    HDOG I 6 A_MeleeAttack
    Goto See
  Missile:
    HDOG G 10 A_FaceTarget
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG H 1 A_CustomMissile("DogFire",28,0,0,0,0)
    HDOG I 6
    Goto See
  Pain:
    HDOG J 2
    HDOG J 2 A_Pain
    Goto See
  Death:
    HDOG K 8
    HDOG L 8 A_Scream
    HDOG M 4
    HDOG N 4 A_NoBlocking
    HDOG OP 4
    HDOG Q -1
    Stop
  Raise:
    HDOG QPONMLK 5
    Goto See
  }
}

Actor DogFire
{
  Radius 2
  Height 4
  Speed 16
  Damage 1
  Projectile
  RenderStyle Add
  DamageType Fire
  Alpha 0.67
  Scale 0.67
  SeeSound "weapons/bigbrn"
  DeathSound "weapons/bigbrn"
  DontHurtShooter
  +ThruGhost
  States
  {
  Spawn:
    TNT1 A 2 Bright
    FRFX ABCD 2 Bright A_Explode(1,8)
    FRFX D 0 Bright A_Lowgravity
    FRFX EFG 2 Bright A_Explode(1,16)
    FRFX HIJ 2 Bright A_Explode(1,32)
    FRFX KLM 2 Bright A_Explode(1,64)
    FRFX NO 2 Bright
    Stop
  Death:
    FRFX HIJ 2 Bright A_Explode(1,32)
    FRFX KLM 2 Bright A_Explode(1,64)
    FRFX NO 2 Bright
    Stop
  }
}

Actor DogShot
{
  Radius 8
  Height 12
  Speed 16
  Damage 7
  Projectile
  RenderStyle Add
  DamageType Fire
  +ThruGhost
  SeeSound "monster/dogsht"
  DeathSound "monster/doghit"
  States
  {
  Spawn:
    TNT1 A 3
    HHFX AABBCC 1 Bright A_SpawnItemEx("DogTrail",0,0,0,0,0,0,0,128)
    goto Spawn+1
  Death:
    HHFX DFGH 4 Bright
    Stop
  }
}

Actor DogTrail : BulletPuff
{
  RenderStyle Add
  States
  {
  Spawn:
    TNT1 A 5
    HHFX DFGH 3 Bright
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                           Nightmare Pinky
//
//=========================================================================
//=========================================================================
//  DECORATE: AgentSpork
//  Sprites: Id Software (edits by AgentSpork)
//=========================================================================

Actor NightmareDemon : Spectre //10100
{
  //SpawnID 251
  Health 260
  Radius 30
  Height 56
  Speed 18
  Mass 200
  PainChance 200
  RenderStyle Translucent
  Alpha 0.3
  Monster
  +FloorClip
  +LongMeleeRange
  SeeSound "NightmareDemon/sight"
  AttackSound "NightmareDemon/melee"
  PainSound "NightmareDemon/pain"
  DeathSound "NightmareDemon/death"
  ActiveSound "NightmareDemon/active"
  Obituary "%o was spooked by a Nightmare Demon."
  States
  {
  Spawn:
    SAR3 AB 10 A_look
    Loop
  See:
    SAR3 AABBCCDD 2 A_Chase
    Loop
  Melee:
    SAR3 E 6 A_FaceTarget
    SAR3 F 6 A_FaceTarget
    SAR3 G 6 A_SargAttack
    Goto See
  Missile:
    SAR3 O 6 A_FaceTarget
    SAR3 P 8 A_CustomMissile("NDemonBall", 24, 0, 0)
    Goto See
  Pain:
    SAR3 H 3
    SAR3 H 3 A_Pain
    Goto See
  Death:
    SAR3 I 5
    SAR3 J 5 A_Scream
    SAR3 K 5
    SAR3 L 5 A_Fall
    SAR3 M 5
    SAR3 N -1
    Stop
  Raise:
    SAR3 MLKJI 5
    Goto See
  }
}

Actor NDemonBall //NIGHTMARE DEMON - Fireball
{
  Radius 8
  Height 6
  Speed 12
  Damage 4
  Projectile
  SeeSound "64ball/shoot"
  DeathSound "64ball/explode"
  Decal BaronScorch
  States
  {
  Spawn:
    DBAL AB 4 Bright
    Loop
  Death:
    DBAL CDEFGH 4 Bright
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                           Plasma Pinky
//
//=========================================================================
//=========================================================================
//  DECORATE: Dutch Devil
//  Sprites: Id Software (edits by Dutch Devil and Tormentor667)
//=========================================================================

ACTOR PlasmaDemon : Demon //3124
{
   Health 200
   Speed 12
   Height 56
   Radius 30
   Mass 400
   PainChance 100
   MeleeDamage 6
   REACTIONTIME 8
   MONSTER
   +FLOORCLIP
   SeeSound "Plasmademon/sight"
   PainSound "Plasmademon/pain"
   DeathSound "Plasmademon/death"
   ActiveSound "Plasmademon/active"
   MeleeSound "Plasmademon/melee"
   HitObituary "A Plasma Demon has something to eat tonight."
   Obituary "%o was fried by a Plasma Demon."
   MissileType BlueBall
   States
   {
   Spawn:
      PSAR AB 8 A_Look
      Loop
   See:
      PSAR AABBCCDD 2 A_Chase
      Loop
   Melee:
      PSAR EF 8 A_FaceTarget
      PSAR G 8 A_MeleeAttack
      Goto See
   Missile:
      PSAR P 10 A_FaceTarget
      PSAR Q 6 A_ComboAttack 
      Goto See   
   Pain:
      PSAR H 2
      PSAR H 2 A_Pain
      Goto See
   Death:
      PSAR I 6
      PSAR J 6 A_Scream
      PSAR K 4
      PSAR L 4 A_NoBlocking
      PSAR M 4
      PSAR N -1
      Stop
   Raise:
      PSAR NMLKJI 4
      Goto See
   }
}

//************************************************************************************************

ACTOR BlueBall
{
    Speed 20
    Radius 6
    Height 8
    Damage 8
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    PROJECTILE
    RENDERSTYLE ADD
    Decal RevenantScorch
    States
    {
    Spawn: 
        RELL ABCDEF 4 A_SpawnItemEx("BlueBallTrail", 0, 0, 0, 0, 0, 0, 0, 128)
        Loop
    Death:
        RELL GHI 4
        Stop
    }
}

//************************************************************************************************
 
ACTOR BlueBallTrail
{
        Speed 0
        Damage 0
        Height 8
        Radius 5
        SeeSound "NULL"
        DeathSound "NULL"
        PROJECTILE
        RENDERSTYLE ADD
        States
        {
        Spawn:
           BLUE ABCDE 4
           Stop
        }
}

//=========================================================================
//=========================================================================
//
//                           Supreme Fiend
//
//=========================================================================
//=========================================================================
//  DECORATE: Raz
//  Sprites: Id Software (edits by Raz)
//=========================================================================

actor SupremeFiend //3999
{
    //$Category monsters
    Health 3500
    Radius 40
    Height 95
    Speed 20
    PainChance 10
    Mass 1000
	Species "SpiderMastermind"
    MONSTER
    +BOSS
    +NOGRAVITY
    +FLOAT
    +FLOATBOB
    +NORADIUSDMG
    +DONTMORPH
    +MISSILEMORE
    SeeSound "fiend/see"
    DeathSound "spider/death"
    Obituary "%o was mangled by the Supreme Fiend."
    States
    {
    Spawn:
	SUPR A 4 A_Look
	Loop
    See:
	SUPR A 0 A_PlaySound("fiend/hover")
	SUPR AAAA 2 A_FastChase
	Loop
    Missile:
	SUPR B 0 A_Jump(96,"Missile2","Missile3")
	SUPR B 0 A_PlaySound("fiend/hover") //Plasma
	SUPR B 8 bright A_FaceTarget
	SUPR B 0 A_PlaySound("fiend/hover")
	SUPR B 8 bright A_FaceTarget
	SUPR F 2 bright A_CustomMissile (FiendPlasmaBall, 30, 0, 0)
	SUPR E 2 bright
	SUPR B 1 bright A_SpidRefire
	SUPR F 2 bright A_CustomMissile (FiendPlasmaBall, 30, 0, 0)
	SUPR E 2 bright
	SUPR B 1 bright A_SpidRefire
	SUPR F 2 bright A_CustomMissile (FiendPlasmaBall, 30, 0, 0)
	SUPR E 2 bright
	SUPR B 1 bright A_SpidRefire
	SUPR F 2 bright A_CustomMissile (FiendPlasmaBall, 30, 0, 0)
	SUPR E 2 bright
	SUPR B 1 bright A_SpidRefire
	SUPR F 2 bright A_CustomMissile (FiendPlasmaBall, 30, 0, 0)
	SUPR E 2 bright
	SUPR B 1 bright A_SpidRefire
	SUPR F 2 bright A_CustomMissile (FiendPlasmaBall, 30, 0, 0)
	goto Missile
	Missile2:
	SUPR B 0 A_PlaySound("fiend/hover") //BFG
	SUPR B 8 bright A_FaceTarget
	SUPR B 0 A_PlaySound("fiend/hover")
	SUPR B 5 bright A_FaceTarget
	SUPR B 10 bright A_PlayWeaponSound ("fiend/bfg")
	SUPR E 10 bright A_FaceTarget
	SUPR F 10 bright A_CustomMissile ("BFGBall", 30, 0, 0)
	goto See
	Missile3:
	SUPR B 0 A_ChangeFlag(NOPAIN,1)
	SUPR B 10 bright A_FaceTarget
	SUPR B 0 A_PlayWeaponSound("fiend/bomb")
	SUPR O 20 bright A_FaceTarget
	SUPR P 20 bright A_FaceTarget
	SUPR Q 20 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 10 bright A_FaceTarget
	SUPR Q 0 A_DualPainAttack ("RemoteBomb")
	SUPR Q 0 A_PlayWeaponSound("fiend/bomb")
	SUPR Q 20 bright A_FaceTarget
	SUPR P 20 bright A_FaceTarget
	SUPR O 20 bright A_FaceTarget
	SUPR O 0 A_ChangeFlag(NOPAIN,0)
	goto See
	Pain:
	Goto Missile3
    Death:
	SUPR G 0 A_ChangeFlag (FLOATBOB, 0)
	SUPR G 10 A_Scream
	SUPR H 10
	SUPR I 10 A_Fall
	SUPR JKLM 10
	SUPR N -1 A_BossDeath
	Stop
    }
}

actor RemoteBomb //22100
{
  //$Category monsters
  obituary "%o was destroyed by a remote bomb."
  health 5
  radius 20
  height 20
  mass 20
  speed 15
  painchance 20
  seesound "prox/fire"
  attacksound "prox/beep"
  deathsound "weapons/rocklx"
  Scale 0.75
  MONSTER
  +FLOAT
  +FLOATBOB
  +NOTARGETSWITCH
  +FORCEXYBILLBOARD
  +NOGRAVITY
  +LOOKALLAROUND
  +NOBLOOD
  -COUNTKILL
  states
  {
  Spawn:
    NADE ABCD 3 A_Look
    loop
  See:
    NADE ABCD 2 A_Chase
    NADE A 0 A_PlaySound("bomb/beep")
    loop
  Melee:
    TNT1 A 0 A_Die
  Pain:
    NADE A 3
    NADE A 3 A_Pain
    goto See
  Death:
    NADE A 10
    NADE E 3 bright A_Explode (50, 128)
	NADE F 3 bright A_PlaySound ("weapons/rocklx")
    NADE G 3 A_NoBlocking
    NADE HIJ 3
    stop
  }
}


actor FiendPlasmaBall : PlasmaBall
{
  Decal ArachnotronScorch
  States
  {
  Spawn:
    APLS AB 6 Bright
    Loop
  Death:
    APBX ABCDE 4 Bright
    Stop
  }
}

//=========================================================================
//=========================================================================
//
//                              Arachnophyte
//
//=========================================================================
//=========================================================================
//  DECORATE: Xaser, Quasar
//  Sprites: Id Software (edits by Xaser and Quasar)
//=========================================================================

ACTOR Arachnophyte //3104
{
    //$Category monsters
    Health 1000
    Radius 64
    Height 100
    Speed 15
    PainChance 15
    Mass 5000
	Species "Arachnotron"
    MONSTER 
    +NoGravity
    +FloatBob
    +Float
    +NoRadiusDMG
    +FireResist
    SEESOUND "arachnophyte/sight"
    PAINSOUND "arachnophyte/pain"
    DEATHSOUND "arachnophyte/death"
    ATTACKSOUND "spider/attack"
    OBITUARY "%o was perforated by an Arachnophyte."
    ExplosionDamage 128
    ExplosionRadius 255
    Decal Bulletchip
    states
    {
    Spawn:
        APYT A 0 A_PlaySound("arachnophyte/engine")
        APYT ABABAB 4 A_Look
        Loop
    See:
        APYT A 0 A_PlaySound("arachnophyte/engine")
        APYT AABBAABBAABB 2 A_Chase
        Loop
    Missile:
        APYT A 0 A_PlaySound("arachnophyte/engine")
        APYT BABAB 4 A_FaceTarget
        APYT A 0 A_PlaySound("arachnophyte/engine")
        APYT CD 4 A_SPosAttack
        APYT D 1 A_SpidRefire
        Goto Missile+6
    Pain:
        APYT A 1 A_Pain
        Goto See
    Death:
        APYT A 0 A_PlaySound("spider/death")
        APYT A 4 A_Scream
        APYT B 4 
        APYT E 8 
        APYT F 8
        APYT G 6 A_Explode
        APYT H 6 A_Fall
        APYT I 6
        APYT J 6
        Stop
    }
}