//Arachnotron

Actor NewArachnotron : Arachnotron replaces Arachnotron
{
	PainChance "Convert", 255
	States
	{
	Spawn:
		BSPI A 0
		BSPI A 0 ACS_ExecuteAlways(913,0,500,20,0)//increase health on higher difficulties
		BSPI AB 10 A_Look
		Loop
	Idle:
		BSPI AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,80),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,55)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Death:
		BSPI A 0 ACS_ExecuteAlways(914,0,55)
		BSPI J 0 A_Scream
		BSPI J 0 A_SpawnItemEx("GIB1",0,0,32,0,0,random(3,6), 48, 128)
		BSPI J 5 A_SpawnItemEx("GIB2SPLAT",0,0,30,0,0,random(3,6), 48, 128)
		BSPI J 5 A_SpawnItemEx("GIB3",0,0,34,0,0,random(3,6), 48, 128)
		BSPI J 5 A_SpawnItemEx("GIB5SPLAT",0,0,30,0,0,random(3,6), 48, 128)
		BSPI J 5 A_SpawnItemEx("GIB4", 0,0,25,0,0,random(3,6), 48, 128)
		BSPI K 7 A_NoBlocking
		BSPI LMNO 7
		BSPI P -1 A_BossDeath
		Stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,55)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor NewArachnotronPlasma : ArachnotronPlasma replaces ArachnotronPlasma
{
	Damage ((random(1,8)*5)+(ACS_ExecuteWithResult(912,2,0,0)))
}

ACTOR NewStealthArachnotron : NewArachnotron replaces StealthArachnotron
{
  Game Doom
  SpawnID 117
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHBABY"
}

//Arch-Vile

Actor NewArchvile : Archvile Replaces Archvile
{
	States
	{
	Spawn:
		VILE A 0
		VILE A 0 ACS_ExecuteAlways(913,0,700,25,0)//increase health on higher difficulties
		VILE AB 10 A_Look
		Loop
	Idle:
		VILE AB 10 A_Look
		Loop
	See:
		VILE G 0 A_UnSetInvulnerable
		VILE AABBCCDDEEFF 2 A_VileChase
		Loop
	Pain:
		VILE Q 5   
		VILE Q 5 A_Pain
		Goto See
	Missile:
		VILE G 0 Bright A_Jump(128, "Doom3Flame", "Teleportation")
		VILE G 0 Bright A_VileStart
		VILE G 10 Bright A_FaceTarget
		VILE H 8 Bright A_VileTarget
		VILE IJKLMN 8 Bright A_FaceTarget
		VILE O 0 Bright A_JumpIfTargetInLos(2,360)
		VILE O 0 Bright A_Jump(256,2)
		VILE O 0 Bright A_VileTarget("NewArchvileFire")
		VILE O 8 Bright A_VileAttack
		VILE P 20 Bright
		Goto See
	Teleportation:
		VILE G 0 A_SetInvulnerable
		VILE G 0 A_SpawnItemEx("ArchvileTeleportFireReverse")
		VILE GHIJKL 3 BRIGHT A_FaceTarget
		VILE M 5 Bright
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 A 2
		VILE M 0 A_FaceTarget
		VILE M 5 Bright A_SpawnItemEx("ArchvileTeleportFire")
		VILE LKJIHG 3 A_FaceTarget
		//VILE MLKJIHG 5 Bright
		VILE G 0 A_UnSetInvulnerable
		Goto See
	Doom3Flame:
		VILE JKLMNO 4 BRIGHT A_FaceTarget
		VILE A 0 A_PlaySound("archvile/firewall")
		VILE A 0 A_CustomMissile("Doom3ArchvileFlame",0,0,0)
		VILF A 24 BRIGHT
		Goto see
	Death:
		VILE A 0 ACS_ExecuteAlways(914,0,110)
		VILE QQ 1 A_SpawnItemEx("GIB2",0,0,32,0,0,random(3,6), 48, 128)
		VILE Q 1 A_SpawnItemEx("GIB2SPLAT",0,0,30,0,0,random(3,6), 48, 128)
		VILE Q 1 A_SpawnItemEx("GIB3",0,0,25,0,0,random(3,6), 48, 128)
		VILE Q 1 A_Scream
		VILE R 1 A_SpawnItemEx("GIB3SPLAT",0,0,36,0,0,random(3,6), 48, 128)
		VILE R 1 A_SpawnItemEx("GIB1",0,0,24,0,0,random(3,6), 48, 128)
		VILE R 1 A_SpawnItemEx("GIB1SPLAT",0,0,38,0,0,random(3,6), 48, 128)
		VILE RR 1 A_SpawnItemEx("GIB3",0,0,32,0,0,random(3,6), 48, 128)
		VILE SS 1 A_SpawnItemEx("GIB4",0,0,32,0,0,random(3,6), 48, 128)
		VILE S 1 A_SpawnItemEx("GIB4SPLAT",0,0,40,0,0,random(3,6), 48, 128)
		VILE S 1 A_SpawnItemEx("GIB5SPLAT",0,0,32,0,0,random(3,6), 48, 128)
		VILE S 1 A_NoBlocking
		VILE TT 1 A_SpawnItemEx("GIB2",0,0,32,0,0,random(3,6), 48, 128)
		VILE T 1 A_SpawnItemEx("GIB3",0,0,30,0,0,random(3,6), 48, 128)
		VILE T 2
		VILE UVWXYXY 5
		VILE Z -1 
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,110)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor NewArchvileFire : ArchvileFire
{
	Damagetype "Fire"
	States
	{
	Spawn:
	TNT1 AA 0 Bright A_Fire
	TNT1 A 0 Bright A_Explode((ACS_ExecuteWithResult(912,4,0,0)),70,0)
    Stop
	}
}

ACTOR ArchvileTeleportFire
{
  +NOBLOCKMAP
  +NOGRAVITY
  RenderStyle Add
  Alpha 1
  States
  {
  Spawn:
    FIRE A 1 Bright A_PlaySound("vile/firestrt")
    FIRE BAB 1 Bright
    FIRE C 1 Bright A_FireCrackle
    FIRE BCBCDCDCDEDED 1 Bright
    FIRE E 1 Bright A_FireCrackle
    FIRE FEFEFGHGHGH 1 Bright
    Stop
  }
}

ACTOR ArchvileTeleportFireReverse
{
  +NOBLOCKMAP
  +NOGRAVITY
  RenderStyle Add
  Alpha 1
  States
  {
  Spawn:
    FIRE H 1 Bright A_PlaySound("vile/firestrt")
    FIRE GHG 1 Bright
    FIRE H 1 Bright A_FireCrackle
    FIRE GFEFEFEDEDEDC 1 Bright
    FIRE D 1 Bright A_FireCrackle
    FIRE CDCBCBCBABA 1 Bright
    Stop
  }
}

ACTOR Doom3ArchvileFlame
{
	Radius 2
	Height 2
	Speed 20
	Damage 0
	RenderStyle Add
	Alpha 0.5
	PROJECTILE
	+FLOORHUGGER
	+RIPPER
	+BLOODLESSIMPACT
	Damagetype "Fire"
	States
	{
	Spawn:
		TNT1 A 1 bright A_CustomMissile("Doom3ArchvileFlameTrail",0,0,0)
		TNT1 A 0 bright A_Explode(35+ACS_ExecuteWithResult(912,3,0,0),70,0)
		Loop 
	Death:
		TNT1 A 17
		Stop
	}
}

ACTOR Doom3ArchvileFlameTrail
{
	Radius 2
	Height 2
	RenderStyle Add
	Alpha 0.7
	+NOCLIP
	+CLIENTSIDEONLY
	+NOINTERACTION
	States
	{
	Spawn:
		FIRE ABCBCDEFGH 2 bright
		Stop	
	Death:
		TNT1 A 0
		Stop	
	}
}

ACTOR NewStealthArchvile : NewArchvile replaces StealthArchvile
{
  Game Doom
  SpawnID 118
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHVILE"
}

// Baron Of Hell/Hellknight
Actor NewBaronOfHell : BaronOfHell Replaces BaronOfHell
{
	BloodColor "0 78 0"
	Meleerange 78
	PainChance "Convert", 255
	States
	{
	Spawn:
		BOSS A 0
		BOSS A 0 ACS_ExecuteAlways(913,0,1000,40,0)//increase health on higher difficulties
		BOSS AB 10 A_Look
		Loop
	Idle:
		BOSS AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,90),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,90)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
		//BOSS EF 8 A_FaceTarget
		//BOSS G 8 A_CustomComboAttack("BaronBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		//Goto See
	Missile:
		BOSS E 0 A_Jump(64, "ComboAttack")
		BOSS EF 8 A_FaceTarget
		BOSS G 8 A_CustomComboAttack("BaronBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		Goto See
	ComboAttack:
		BOSS EF 6 A_FaceTarget
		BOSS G 8 A_CustomComboAttack("BaronBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		BOSS XY 6 A_FaceTarget
		BOSS Z 8 A_CustomComboAttack("BaronBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		BOSS PQ 8 A_FaceTarget
		BOSS R 0 A_JumpIfCloser(102, 5)
		BOSS R 0 A_CustomMissile("BaronBall", 32, 0, 3)
		BOSS R 0 A_CustomMissile("BaronBall", 32, 0, -3)
		BOSS R 0 A_CustomMissile("BaronBall", 32, 0, -9)
		BOSS R 8 A_CustomMissile("BaronBall", 32, 0, 9)
		Goto See
		BOSS R 0 A_CustomMeleeAttack((10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		BOSS R 8 A_CustomMeleeAttack((10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		Goto See
	Death:
		BOSS A 0 ACS_ExecuteAlways(914,0,90)
		BOSS I 8
		BOSS J 8 A_Scream
		BOSS K 8 A_SpawnItem("GREENDOOMGIBBER")
		BOSS L 8 A_NoBlocking
		BOSS M 8
		BOSS N 8
		BOSS O -1 A_BossDeath
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,90)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR NewStealthBaron : NewBaronOfHell replaces StealthBaron
{
  Game Doom
  SpawnID 100
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHBARON"
}

Actor NewHellknight : Hellknight Replaces Hellknight
{
	BloodColor "0 78 0"
	Meleerange 72
	PainChance "Convert", 255
	States
	{
	Spawn:
		BOS2 A 0
		BOS2 A 0 ACS_ExecuteAlways(913,0,500,20,0)//increase health on higher difficulties
		BOS2 AB 10 A_Look
		Loop
	Idle:
		BOS2 AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,75),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,70)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
	Missile:
		BOS2 EF 8 A_FaceTarget
		BOS2 G 8 A_CustomComboAttack("BaronBall", 32, (10 * random(1, 8)) + (ACS_ExecuteWithResult(912,4,0,0)), "baron/melee")
		Goto See
	Death:
		BOS2 A 0 ACS_ExecuteAlways(914,0,70)
		BOS2 I 8
		BOS2 J 8 A_Scream
		BOS2 K 0 A_SpawnItem("GREENDOOMGIBBER")
		BOS2 K 8
		BOS2 L 8 A_NoBlocking
		BOS2 M 8
		BOS2 N 8
		BOS2 O -1
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,70)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR NewStealthHellknight : NewHellknight replaces StealthHellknight
{
  Game Doom
  SpawnID 101
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHKNIGHT"
}

Actor NewBaronBall : BaronBall replaces BaronBall
{
	Damage ((random(1,8)*8)+(ACS_ExecuteWithResult(912,3,0,0)))
}

//Cacodemon

Actor NewCacodemon : Cacodemon Replaces Cacodemon
{
	BloodColor "Blue"
	Meleerange 84
	PainChance "Convert", 255
	States
	{
	Spawn:
		HEAD A 0
		HEAD A 0 ACS_ExecuteAlways(913,0,400,15,0)//increase health on higher difficulties
		HEAD A 10 A_Look
		Loop
	Idle:
		HEAD A 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,70),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,7),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,40)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
	Missile:
		HEAD BC 5 A_FaceTarget
		HEAD D 5 A_CustomComboAttack("CacodemonBall", 32, (10 * random(1, 6)) + (ACS_ExecuteWithResult(912,1,0,0)))
		Goto See
	Death:
		HEAD A 0 ACS_ExecuteAlways(914,0,40)
		HEAD G 8 A_Scream
		HEAD H 6
		HEAD H 0 A_SpawnItem("BLUEDOOMGIBBER")
		HEAD H 2
		HEAD I 5
		//HEAD I 0 A_SpawnItem("BLUEDOOMGIBBER")
		HEAD J 4 A_NoBlocking
		HEAD K 4
		HEAD L -1 A_SetFloorClip
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,40)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR NewStealthCacodemon : NewCacodemon replaces StealthCacodemon
{
  Game Doom
  SpawnID 119
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHCACO"
  HitObituary "$OB_STEALTHCACO"
}

Actor NewCacodemonBall : CacodemonBall replaces CacodemonBall
{
	Damage ((random(1,8)*5)+(ACS_ExecuteWithResult(912,2,0,0)))
}

//Cyberdemon
Actor NewCyberdemon2 : Cyberdemon replaces Cyberdemon
{
	DamageFactor "DeathBlow", 0
	Painchance 0
	States
	{
	Spawn:
		CYBR A 0
		CYBR A 0 ACS_ExecuteAlways(913,0,4000,150,0)//increase health on higher difficulties
		CYBR AB 10 A_Look
		Loop
	Idle:
		CYBR AB 10 A_Look
		Loop
	Missile:
		CYBR E 6 A_FaceTarget
		CYBR F 12 A_CustomMissile("CyberRocket")
		CYBR E 12 A_FaceTarget
		CYBR F 12 A_CustomMissile("CyberRocket")
		CYBR E 12 A_FaceTarget
		CYBR F 12 A_CustomMissile("CyberRocket")
		Goto See
	Death:
		CYBR A 0 ACS_ExecuteAlways(914,0,600)
		CYBR H 60 A_Scream 
		CYBR HHHHHHHHHH 1 A_SpawnItemEx("Kaboom", 0, 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR H 1 A_SpawnItem("BOSSGIBBER")
		CYBR HH 1 A_SpawnItemEx("Kaboom", 0, 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR JJJJJJJJJJJJJJJ 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR J 1 A_SpawnItem("BOSSGIBBER")
		CYBR JJJJJJJJJJJJ 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR K 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR K 1 A_SpawnItem("BOSSGIBBER")
		CYBR KKKKKKKKK 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR K 1 A_SpawnItem("BOSSGIBBER")
		CYBR KKKKKKKKKKK 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR LLLLLLL 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR L 1 A_SpawnItem("BOSSGIBBER")
		CYBR LLLLLLLLLLLL 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR L 1 A_SpawnItem("BOSSGIBBER")
		CYBR LLLLLLLL 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		CYBR NO 5
		CYBR P 30
		CYBR P 0 A_BossDeath
		CYBR P -1 A_NoBlocking
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,600)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor CyberRocket : Rocket
{
	Damage ((random(1,8)*20)+(ACS_ExecuteWithResult(912,10,0,0)))
	States
	{
	Death:
		MISL B 8 Bright A_Explode(128+(ACS_ExecuteWithResult(912,4,0,0)),128,0)
		MISL C 6 Bright
		MISL D 4 Bright
		Stop
	}
}

//Demon

Actor NewDemon : Demon replaces Demon
{
	Meleerange 72
	PainChance "Convert", 255
	States
	{
	Spawn:
		SARG A 0
		SARG A 0 ACS_ExecuteAlways(913,0,150,11,0)//increase health on higher difficulties
		SARG AB 10 A_Look
		Loop
	Idle:
		SARG AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,60),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,4),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,40)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
		SARG EF 8 A_FaceTarget
		SARG G 8 A_CustomMeleeAttack((4 * random(1, 10)) + (ACS_ExecuteWithResult(912,2,0,0)))
		Goto See
	Death:
		SARG A 0 ACS_ExecuteAlways(914,0,40)
		Goto Super::Death
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,40)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR PINKYHEAD
{
    PROJECTILE
    +DOOMBOUNCE
    -NOBLOCKMAP
	+CLIENTSIDEONLY
    -NOTELEPORT
	-NOGRAVITY
    -SOLID
    Radius 3
    Damage 0
    Decal BloodSplat
    bouncefactor 0.5
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      PHED A 0 
      PHED A 0 ThrustThingZ (0, 45, 0, 1)
      goto See 
    See:
      PHED A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      PHED B 5 ThrustThingZ(0,6,1,1)
      PHED C 5 
      PHED ABC 5 
      loop
    Death:
      PHED C 0 A_Jump (128,3)
	  PHED C 0 A_Jump (128,3)
	  PHED C 0 A_Jump (128,3)
      PHED A 350 
      Stop
      PHED B 350 
      Stop
      PHED C 350 
      Stop               
    }
}

ACTOR PINKYARM 
{
	PROJECTILE
	-NOBLOCKMAP
    +DOOMBOUNCE
	+CLIENTSIDEONLY
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      SG2A A 0 
      SG2A A 0 ThrustThingZ (0, 45, 0, 1)
      goto See 
    See:
      SG2A A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      SG2A B 5 ThrustThingZ(0,6,1,1)
      SG2A CD 5 
      loop
    Death:
      SG2A E 0 A_Jump (128,3)
	  SG2A E 0 A_Jump (128,3)
	  SG2A E 0 A_Jump (128,3)
      SG2A E 350 
      Stop
      SG2A F 350 
      Stop  
      SG2A G 350
      Stop               
    }
}

ACTOR PINKYLEG
{
	PROJECTILE
	-NOBLOCKMAP
	+CLIENTSIDEONLY
    +DOOMBOUNCE
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      PLIM A 0 
      PLIM A 0 ThrustThingZ (0, 45, 0, 1)
      goto See 
    See:
      PLIM A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      PLIM B 5 ThrustThingZ(0,6,1,1)
      PLIM AB 5 
      loop
    Death:
      PLIM B 0 A_Jump (128,2)
	  PLIM B 0 A_Jump (128,2)
      PLIM A 350 
      Stop
      PLIM B 350 
      Stop               
    }
}

ACTOR NewStealthDemon : NewDemon replaces StealthDemon
{
  Game Doom
  SpawnID 121
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHDEMON"
  HitObituary "$OB_STEALTHDEMON"
}

ACTOR NewSpectre : NewDemon replaces Spectre
{
  Game Doom
  SpawnID 9
  +SHADOW
  RenderStyle OptFuzzy
  Alpha 0.5
  SeeSound "spectre/sight"
  AttackSound "spectre/melee"
  PainSound "spectre/pain"
  DeathSound "spectre/death"
  ActiveSound "spectre/active"
  HitObituary "$OB_SPECTREHIT" // "%o was eaten by a spectre."
}

ACTOR SPECTREHEAD
{
    PROJECTILE
    +DOOMBOUNCE
    -NOBLOCKMAP
	+CLIENTSIDEONLY
    -NOTELEPORT
	-NOGRAVITY
    -SOLID
	RenderStyle OptFuzzy
    Alpha 0.5
    Radius 3
    Damage 0
    Decal BloodSplat
    bouncefactor 0.5
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      PHED A 0 
      PHED A 0 ThrustThingZ (0, 45, 0, 1)
      goto See 
    See:
      PHED A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      PHED B 5 ThrustThingZ(0,6,1,1)
      PHED C 5 
      PHED ABC 5 
      loop
    Death:
      PHED C 0 A_Jump (128,3)
	  PHED C 0 A_Jump (128,3)
	  PHED C 0 A_Jump (128,3)
      PHED A 350 
      Stop
      PHED B 350 
      Stop
      PHED C 350 
      Stop               
    }
}

ACTOR SPECTREARM 
{
	PROJECTILE
	-NOBLOCKMAP
    +DOOMBOUNCE
	+CLIENTSIDEONLY
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
	RenderStyle OptFuzzy
	Alpha 0.5
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      SG2A A 0 
      SG2A A 0 ThrustThingZ (0, 45, 0, 1)
      goto See 
    See:
      SG2A A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      SG2A B 5 ThrustThingZ(0,6,1,1)
      SG2A CD 5 
      loop
    Death:
      SG2A E 0 A_Jump (128,3)
	  SG2A E 0 A_Jump (128,3)
	  SG2A E 0 A_Jump (128,3)
      SG2A E 350 
      Stop
      SG2A F 350 
      Stop  
      SG2A G 350
      Stop               
    }
}

ACTOR SPECTRELEG
{
	PROJECTILE
	-NOBLOCKMAP
	+CLIENTSIDEONLY
    +DOOMBOUNCE
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
	RenderStyle OptFuzzy
	Alpha 0.5
    Radius 3
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      PLIM A 0 
      PLIM A 0 ThrustThingZ (0, 45, 0, 1)
      goto See 
    See:
      PLIM A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      PLIM B 5 ThrustThingZ(0,6,1,1)
      PLIM AB 5 
      loop
    Death:
      PLIM B 0 A_Jump (128,2)
	  PLIM B 0 A_Jump (128,2)
      PLIM A 350 
      Stop
      PLIM B 350 
      Stop               
    }
}

//Chaingun Guy

Actor NewChaingunGuy : ChaingunGuy replaces ChaingunGuy
{
	DropItem ""
	PainChance "Convert", 255
	States
	{
	Spawn:
		CPOS A 0
		CPOS A 0 ACS_ExecuteAlways(913,0,70,7,0)//increase health on higher difficulties
		CPOS AB 10 A_Look
		Loop
	Idle:
		CPOS AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,60),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,3),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,25)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Missile:
		CPOS E 10 A_FaceTarget
		CPOS F 0 bright A_PlaySound("chainguy/attack", CHAN_WEAPON)
		CPOS F 4 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		CPOS F 0 bright A_PlaySound("chainguy/attack", CHAN_WEAPON)
		CPOS E 4 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		CPOS F 1 A_CPosRefire
		Goto Missile+1
	Pain:
		CPOS G 3
		CPOS G 3 A_Pain
		Goto See	   
	Death:
		CPOS A 0 ACS_ExecuteAlways(914,0,25)
		CPOS H 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,42), 0, 0, random(2,6), random(0,360), 128)
		CPOS HHHH 1 A_SpawnItemEx("Blood", 0,0,0, 0,0,random(2,6), random(0,360), 128)
		CPOS H 1
		CPOS II 1 A_SpawnItemEx("Blood", 0,0,0, 0,0,random(2,6), random(0,360), 128)
		CPOS I 3 A_Scream
		CPOS J 5 A_NoBlocking
		CPOS KLM 5
		CPOS N 1
		CPOS N -1
		stop
	Burn:
		CPOS A 0 ACS_ExecuteAlways(914,0,25)
		BURN A 3 Bright A_PlaySound("monster/burndeath")
		BURN B 3 Bright A_Wander
		BURN C 3 Bright A_Pain
		BURN D 3 Bright A_NoBlocking
		BURN E 5 Bright A_Pain
		BURN FGH 5 Bright A_Wander
		BURN I 5 Bright A_Pain
		BURN JKL 5 Bright A_Wander
		BURN M 5 Bright A_Pain
		BURN NOP 5 Bright
		BURN Q 5 Bright A_Pain
		BURN PQ 5 Bright
		BURN R 7 Bright A_Scream
		BURN STU 7 Bright
		BURN V -1
		Stop
	XDeath:
		CPOS A 0 ACS_ExecuteAlways(914,0,25)
		CPOS A 0 A_NoBlocking
		TNT1 A 0 A_PlaySound("gibbage/xsplat")
		TNT1 A 1 A_SpawnItemEx ("CHAINGUNNERHEAD", 0, 0, 50, random(4,6), random(4,6), random(4,6), random(0,360), 128)
		TNT1 A 1 A_SpawnItem("GIBBER")
		Stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,25)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR CHAINGUNNERHEAD
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    Decal BloodSplat
    bouncefactor 0.6
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      CHED A 0 
      CHED A 0 ThrustThingZ (0, 45, 0, 1)
      goto See 
    See:
      CHED A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      CHED B 5 ThrustThingZ(0,6,1,1)
      CHED AB 5 
      loop
    Death:
      CHED B 0 A_Jump (128,2)
      CHED B 0 A_Jump (128,2)
      CHED A 350 
      Stop
      CHED B 350 
      Stop                
    }
}

ACTOR NewStealthChaingunGuy : NewChaingunGuy replaces StealthChaingunGuy
{
  Game Doom
  SpawnID 120
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHCHAINGUY"
}

ACTOR ZombieBulletTracer : FastProjectile
{
   Damage ((Random(1, 5)*3) + (ACS_ExecuteWithResult(912,1,0,0))/2)
   Radius 1
   Height 1
   Speed 250
   PROJECTILE
   +BLOODSPLATTER
   Renderstyle Normal
   Alpha 1.0
   decal BulletChip
   States
   {
   Spawn:
      TNT1 A 3
      loop
   Death:
      TNT1 A 1 //A_SpawnItem("bulletpuff")
      stop
   Crash:
      TNT1 A 1 A_SpawnItem("bulletpuff")
      stop
   }
}

//Imp

Actor NewDoomImp : DoomImp replaces DoomImp
{
	Meleerange 48
	PainChance "Convert", 255
	States
	{
	Spawn:
		TROO A 0
		TROO A 0 ACS_ExecuteAlways(913,0,60,6,0)//increase health on higher difficulties
		TROO AB 10 A_Look
		Loop
	Idle:
		TROO AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,60),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,20)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
		TROO EF 8 A_FaceTarget
		TROO G 6 A_CustomComboAttack("DoomImpBall", 32, (3 * random(1, 8)) + (ACS_ExecuteWithResult(912,1,0,0)), "imp/melee")
		Goto See
	Missile:
		TROO E 0 A_Jump(128, 2)
		TROO E 0 A_JumpIfCloser(200,"Charge")
		TROO EF 8 A_FaceTarget
		TROO G 6 A_CustomComboAttack("DoomImpBall", 32, (3 * random(1, 8)) + (ACS_ExecuteWithResult(912,1,0,0)), "imp/melee")
		Goto See
	Charge:
		TROO E 4 A_FaceTarget
		TROO E 0 ThrustThingZ(0,30,0,1)
        TROO E 0 A_FaceTarget
        TROO E 0 A_Recoil (-15)
		TROO FFFFFFFFGGGGGGGG 1 A_JumpIfCloser(64, "MeleeStrike")
		Goto See
	MeleeStrike:
		TROO G 0 A_FaceTarget
		TROO G 6 A_CustomMeleeAttack((3 * random(1, 8)) + (ACS_ExecuteWithResult(912,1,0,0)), "imp/melee")
		Goto See
	Death:
		TROO A 0 ACS_ExecuteAlways(914,0,15)
		Goto Super::Death
	Burn:
		TROO A 0 ACS_ExecuteAlways(914,0,15)
		BURN A 3 Bright A_PlaySound("monster/burndeath")
		BURN B 3 Bright A_Wander
		BURN C 3 Bright A_Pain
		BURN D 3 Bright A_NoBlocking
		BURN E 5 Bright A_Pain
		BURN FGH 5 Bright A_Wander
		BURN I 5 Bright A_Pain
		BURN JKL 5 Bright A_Wander
		BURN M 5 Bright A_Pain
		BURN NOP 5 Bright
		BURN Q 5 Bright A_Pain
		BURN PQ 5 Bright
		BURN R 7 Bright A_Scream
		BURN STU 7 Bright
		BURN V -1
		Stop
	XDeath:
		TROO A 0 ACS_ExecuteAlways(914,0,15)
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_PlaySound("gibbage/xsplat")
		TNT1 A 1 A_SpawnItemEx("ZIMPHEAD",0, 0, 50, random(4,6), random(4,6), random(4,6), random(0,360), 128)
		TNT1 A 1 A_SpawnItem("GIBBER")
		TNT1 AA 1 A_SpawnItemEx("IMPCLAW",0, 0, 50, random(4,6), random(4,6), random(4,6), random(0,360), 128)
		Stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,20)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

actor ZIMPHEAD
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    bouncefactor 0.6
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
        IMPH A 0 
        IMPH A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
    See:
        IMPH A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
        IMPH B 5 ThrustThingZ(0,6,1,1)
        IMPH C 5 
        IMPH ABC 5 
        loop
    Death:
        IMPH C 0 A_Jump (32,3)
        IMPH C 0 A_Jump (64,3)
        IMPH C 0 A_Jump (128,3)
        IMPH A 350 
        Stop
        IMPH B 350 
        Stop
        IMPH C 350
        Stop        
    }
}

ACTOR NewStealthDoomImp : NewDoomImp replaces StealthDoomImp
{
  Game Doom
  SpawnID 122
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHIMP"
  HitObituary "$OB_STEALTHIMP"
}

actor IMPCLAW
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    bouncefactor 0.4
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
        IMPC A 0 
        IMPC A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
    See:
        IMPC A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
        IMPC B 5 ThrustThingZ(0,6,1,1)
        IMPC C 5 
        IMPC ABC 5 
        loop
    Death:
        IMPC C 0 A_Jump (128,3)
        IMPC C 0 A_Jump (128,3)
        IMPC C 0 A_Jump (128,3)
        IMPC A 350
        Stop
        IMPC B 350 
        Stop
        IMPC C 350 
        Stop                
    }
}

Actor NewDoomImpBall : DoomImpBall replaces DoomImpBall
{
	Damage ((3 * random(1, 8)) + ACS_ExecuteWithResult(912,1,0,0))
	Damagetype "Fire"
}

//Fatso

Actor NewFatso : Fatso replaces Fatso
{
	PainChance "Convert", 255
	States
	{
	Spawn:
		FATT A 0
		FATT A 0 ACS_ExecuteAlways(913,0,600,22,0)//increase health on higher difficulties
		FATT AB 15 A_Look
		Loop
	Idle:
		FATT AB 15 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,70),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,75)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Death:
		FATT A 0 ACS_ExecuteAlways(914,0,75)
		FATT KK 1 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		FATT K 4 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		FATT L 6 A_Scream
		FATT M 6 A_NoBlocking
		FATT N 6
		FATT O 6
		FATT PPPPPPP 1 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		FATT QQQQQQ 1 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		FATT RRRRRR 1 A_SpawnItemEx("Blood",0,0,0,0,0,random(3,6), 48, 128)
		FATT S 6
		FATT T -1 A_BossDeath
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,75)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR NewStealthFatso : NewFatso replaces StealthFatso
{
  Game Doom
  SpawnID 123
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHFATSO"
}

Actor NewFatShot : FatShot replaces FatShot
{
	Damage ((random(1,8)*8)+(ACS_ExecuteWithResult(912,3,0,0)))
	Damagetype "Fire"
}

//Lost Soul

Actor NewLostSoul : LostSoul replaces LostSoul
{
	Damage ((3 * random(1, 8)) + ACS_ExecuteWithResult(912,1,0,0))
	+NOBLOOD
	PainChance "Convert", 255
	States
	{
	Spawn:
		SKUL A 0
		SKUL A 0 ACS_ExecuteAlways(913,0,100,8,0)//increase health on higher difficulties
		SKUL AB 10 A_Look
		Loop
	Idle:
		SKUL AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,60),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,9),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,30)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Death:
		SKUL A 0 ACS_ExecuteAlways(914,0,30)
		Goto Super::Death
	}
}

//Pain Elemental

Actor NewPainElemental : PainElemental replaces PainElemental
{
	PainChance "Convert", 255
	States
	{
	Spawn:
		PAIN A 0
		PAIN A 0 ACS_ExecuteAlways(913,0,400,15,0)//increase health on higher difficulties
		PAIN A 10 A_Look
		Loop
	Idle:
		PAIN A 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,70),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,7),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,40)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Death:
		PAIN A 0 ACS_ExecuteAlways(914,0,40)
		Goto Super::Death
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,40)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

//Revenant

Actor NewRevenant : Revenant replaces Revenant
{
	Meleerange 72
	PainChance "Convert", 255
	States
	{
	Spawn:
		SKEL A 0
		SKEL A 0 ACS_ExecuteAlways(913,0,300,13,0)//increase health on higher difficulties
		SKEL AB 10 A_Look
		Loop
	Idle:
		SKEL AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,70),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,3),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,45)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Melee:
		SKEL G 1 A_FaceTarget
		SKEL G 6 A_SkelWhoosh
		SKEL H 6 A_FaceTarget
		SKEL I 6 A_CustomMeleeAttack(random(1,10)*6 + (ACS_ExecuteWithResult(912,1,0,0)),"skeleton/melee","none")
		Goto See
	Death:
		SKEL A 0 ACS_ExecuteAlways(914,0,45)
		Goto Super::Death
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,45)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR NewStealthRevenant : NewRevenant replaces StealthRevenant
{
  Game Doom
  SpawnID 124
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHUNDEAD"
  HitObituary "$OB_STEALTHUNDEAD"
}

Actor NewRevenantTracer : RevenantTracer replaces RevenantTracer
{
	Damage ((random(1,8)*10)+(ACS_ExecuteWithResult(912,4,0,0)))
}

//Shotgun Guy

Actor NewShotgunGuy : ShotgunGuy replaces ShotgunGuy
{
	DropItem ""
	PainChance "Convert", 255
	States
	{
	Spawn:
		SPOS A 0
		SPOS A 0 ACS_ExecuteAlways(913,0,30,4,0)//increase health on higher difficulties
		SPOS AB 10 A_Look
		Loop
	Idle:
		SPOS AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,60),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,3),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,20)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Pain:
		SPOS G 3
		SPOS G 3 A_Pain
		Goto See	   
	Missile:
		SPOS E 10 A_FaceTarget
		SPOS E 0 bright A_PlaySound("shotguy/attack", CHAN_WEAPON)
		SPOS FF 0 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		SPOS F 10 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		SPOS E 10
		Goto See
	Death:
		SPOS A 0 ACS_ExecuteAlways(914,0,20)
		Goto Super::Death
	Burn:
		SPOS A 0 ACS_ExecuteAlways(914,0,20)
		BURN A 3 Bright A_PlaySound("monster/burndeath")
		BURN B 3 Bright A_Wander
		BURN C 3 Bright A_Pain
		BURN D 3 Bright A_NoBlocking
		BURN E 5 Bright A_Pain
		BURN FGH 5 Bright A_Wander
		BURN I 5 Bright A_Pain
		BURN JKL 5 Bright A_Wander
		BURN M 5 Bright A_Pain
		BURN NOP 5 Bright
		BURN Q 5 Bright A_Pain
		BURN PQ 5 Bright
		BURN R 7 Bright A_Scream
		BURN STU 7 Bright
		BURN V -1
		Stop
	XDeath:
		SPOS A 0 ACS_ExecuteAlways(914,0,20)
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_PlaySound("gibbage/xsplat")
		TNT1 A 1 A_SpawnItemEx("ShotgunGuyHead", 0,0,0, random(4,6),random(4,6),random(4,6), random(0,360), 128)
		TNT1 AA 1 A_SpawnItemEx("ShotgunGuyArm", 0,0,0, random(4,6),random(4,6),random(4,6), random(0,360), 128)
		TNT1 A 0 A_SpawnItem("GIBBER")
		Stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,20)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

//Shotgunguy Head
ACTOR ShotgunguyHead
{
  +DOOMBOUNCE
  PROJECTILE
  -NOGRAVITY
  -NOBLOCKMAP
  +CLIENTSIDEONLY
  -NOTELEPORT
  -SOLID
  Radius 3
  Damage 0
  Bouncefactor 0.6
  Decal BloodSplat
  SeeSound "gibbage/xpart"
  Speed 5
  States
  {
  Spawn:
    SGHD A 0 
    SGHD A 0 ThrustThingZ (0, 45, 0, 1)
    goto See 
  See:
    SGHD A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
    SGHD B 5 ThrustThingZ(0,6,1,1)
    SGHD CABC 5
    loop
  Death:
    SGHD C 0 A_Jump (32,3)
    SGHD C 0 A_Jump (64,3)
    SGHD C 0 A_Jump (128,3)
    SGHD A 350
    Stop 
    SGHD B 350
    Stop 
    SGHD C 350
    Stop       
  }
}

//Shotgunguy Arm
ACTOR ShotgunguyArm
{
  +DOOMBOUNCE
  PROJECTILE
  -NOGRAVITY
  -NOBLOCKMAP
  +CLIENTSIDEONLY
  -NOTELEPORT
  -SOLID
  Radius 3
  Damage 0
  bouncefactor 0.4
  Decal BloodSplat
  SeeSound "gibbage/xpart"
  Speed 5
  States
  {
  Spawn:
    SARM A 0 
    SARM A 0 ThrustThingZ (0, 45, 0, 1)
    goto See 
  See:
    SARM A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
    SARM B 5 ThrustThingZ(0,6,1,1)
    SARM CABC 5 
    loop
  Death:
    SARM C 0 A_Jump (128,3)
    SARM C 0 A_Jump (128,3)
    SARM C 0 A_Jump (128,3)
    SARM A 350 
    Stop
    SARM B 350
    Stop
    SARM C 350 
    Stop      
  }
}

ACTOR NewStealthShotgunGuy : NewShotgunGuy replaces StealthShotgunGuy
{
  Game Doom
  SpawnID 103
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHSHOTGUNGUY"
}

//Spider Mastermind

Actor NewSpiderMastermind : SpiderMastermind replaces SpiderMastermind
{
	DamageFactor "DeathBlow", 0
	PainChance 0
	States
	{
	Spawn:
		SPID A 0
		SPID A 0 ACS_ExecuteAlways(913,0,3000,100,0)//increase health on higher difficulties
		SPID AB 10 A_Look
		Loop
	Idle:
		SPID AB 10 A_Look
		Loop
	Missile:
		SPID A 20 Bright A_FaceTarget
		SPID G 0 bright A_PlaySound("shotguy/attack", CHAN_WEAPON)
		SPID GG 0 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		SPID G 4 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		SPID H 0 bright A_PlaySound("shotguy/attack", CHAN_WEAPON)
		SPID HH 0 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		SPID H 4 Bright A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		SPID H 1 Bright A_SpidRefire
		Goto Missile+1
	Death:
		SPOS A 0 ACS_ExecuteAlways(914,0,450)
		SPID J 20 A_Scream
		SPID K 10 A_NoBlocking
		SPID L 10
		SPID MMMMMMMM 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		SPID M 1 A_SpawnItem("BOSSGIBBER")
		SPID MMM 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		SPID NNNNNNNNNNNNNNN 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		SPID N 1 A_SpawnItem("BOSSGIBBER")
		SPID NNNNNNNNN 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		SPID O 1 A_SpawnItem("BOSSGIBBER")
		SPID O 1 A_SpawnItemEx("Kaboom", 0, 0,0,random(-9,9),random(-9,9),random(5,9), 48, 128)
		SPID P 5
		SPID QR 10
		SPID S -1 A_BossDeath
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,450)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

Actor NewZombieman : Zombieman replaces Zombieman
{
	DropItem ""
	PainChance "Convert", 255
	States
	{
	Spawn:
		POSS A 0
		POSS A 0 ACS_ExecuteAlways(913,0,20,3,0)//increase health on higher difficulties
		POSS AB 10 A_Look
		Loop
	Idle:
		POSS AB 10 A_Look
		Loop
	Pain.Morale:
		TNT1 A 0 A_JumpIfInTargetInventory("WarCry",Random(0,60),"Feared")
		Goto Pain
	Feared:
		TNT1 A 0 A_Changeflag("Frightened", 1)
		Goto Pain
	Pain.Convert:
		TNT1 A 0 A_JumpIfInTargetInventory("Visions",Random(0,3),"ConvertMe")
		goto Pain
	ConvertMe:
		TNT1 A 0 ACS_ExecuteAlways(914,0,10)
		TNT1 A 0 ACS_ExecuteAlways(560,0,0,0,0)
		goto See
	Missile:
		POSS E 10 A_FaceTarget
		POSS E 0 A_PlaySound ("grunt/attack")
		POSS F 8 A_CustomMissile("ZombieBulletTracer", 32, 0, random(-22,22))
		POSS E 8
		Goto See
	Pain:
		POSS G 3
		POSS G 3 A_Pain
		Goto See	   
	Death:
		POSS A 0 ACS_ExecuteAlways(914,0,10)
		Goto Super::Death
	Burn:
		BURN A 0 ACS_ExecuteAlways(914,0,10)
		BURN A 3 Bright A_PlaySound("monster/burndeath")
		BURN B 3 Bright A_Wander
		BURN C 3 Bright A_Pain
		BURN D 3 Bright A_NoBlocking
		BURN E 5 Bright A_Pain
		BURN FGH 5 Bright A_Wander
		BURN I 5 Bright A_Pain
		BURN JKL 5 Bright A_Wander
		BURN M 5 Bright A_Pain
		BURN NOP 5 Bright
		BURN Q 5 Bright A_Pain
		BURN PQ 5 Bright
		BURN R 7 Bright A_Scream
		BURN STU 7 Bright
		BURN V -1
		Stop
	XDeath:
		POSS A 0 ACS_ExecuteAlways(914,0,10)
		TNT1 A 0 A_PlaySound("gibbage/xsplat")
		TNT1 A 0 A_SpawnItem("GIBBER")
		TNT1 A 1 A_SpawnItemEx ("ZOMBIEMANHEAD", 0,0,50, random(4,6),random(4,6),random(4,6), random(0,360), 128)
		TNT1 AA 1 A_SpawnItemEx ("ZOMBIEMANLEG", 0,0,0, random(4,6),random(4,6),random(4,6), random(0,360), 128)
		stop
	Ice:
		"----" A 0 ACS_ExecuteAlways(914,0,10)
		"----" G 5 A_GenericFreezeDeath
		"----" G 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR NewStealthZombieMan : NewZombieMan replaces StealthZombieMan
{
  Game Doom
  SpawnID 102
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  Obituary "$OB_STEALTHZOMBIE"
}

ACTOR ZOMBIEMANHEAD
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
	+CLIENTSIDEONLY
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    bouncefactor 0.6
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      PSHD A 0 
      PSHD A 0 ThrustThingZ (0, 45, 0, 1)
      goto See 
    See:
      PSHD A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      PSHD B 5 ThrustThingZ(0,6,1,1)
      PSHD CD 5 
      PSHD ABCD 5
      loop
    Death:
      PSHD C 0 A_Jump (16,4)
      PSHD C 0 A_Jump (32,4)
      PSHD C 0 A_Jump (64,4)
      PSHD C 0 A_Jump (128,4)
      PSHD A 350
      Stop
      PSHD B 350
      Stop
      PSHD C 350
      Stop
      PSHD D 350
      Stop
    }
}

ACTOR ZOMBIEMANLEG
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
	+CLIENTSIDEONLY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
    Radius 3
    Damage 0
    bouncefactor 0.4
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
      PLEG A 5 A_SpawnItemEx("Blood", 0, 0, 0,0,0,0,0,128)
      PLEG B 5 ThrustThingZ(0,6,1,1)
      PLEG C 5 
      PLEG ABC 5
      loop
    Death:
      PLEG C 0 A_Jump (32,3)
      PLEG C 0 A_Jump (64,3)
      PLEG C 0 A_Jump (128,3)
      PLEG A 350
      Stop 
      PLEG B 350  
      Stop
      PLEG C 350 
      Stop
    }
}