
ACTOR dukebloodbolt1
{
	Game Doom
	Radius 10
	Height 10
	Speed 10
	Damage 0
	Projectile
	+noblockmap
	+noteleport
	GRAVITY 0.3
	-randomize
	- NOGRAVITY
	MASS  1
	scale 0.75
	  decal "dukebloodsplat"
	Obituary "how did blood kill someone!?"
	DONTHURTSHOOTER
	States
	{
	Spawn:
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2 
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2  
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2 
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2 
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2  
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2 
	goto death
	death:	
  	TNT1 A 2 A_PlaySound("bloodsplat")
	stop
}
}

ACTOR dukebloodbolt2
{
	Game Doom
	Radius 10
	Height 10
	Speed 10
	Damage 0
	Projectile
	+noblockmap
	+noteleport
	GRAVITY 0
	-randomize
	-NOGRAVITY
	MASS  1
	scale 0.75
	  decal "dukebloodsplat"
	Obituary "how did blood kill someone!?"
	DONTHURTSHOOTER
	States
	{
	Spawn:
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2 
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2  
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2 
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2 
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2  
		guts a 2 A_SpawnDebris("NashGore_FlyingBlood",1)
		guts bcd 2 
	goto death+1
	death:	
	tnt1 a 0  A_spawnitem("wallgutz",0,0,0,0)
  	TNT1 A 2 A_PlaySound("bloodsplat")
	stop
}
}

actor dukebloodbolt : RandomSpawner 
{
dropitem dukebloodbolt1
dropitem dukebloodbolt2
}

actor wallgutz : RandomSpawner 
{
dropitem wallgutz1
dropitem wallgutz1b
dropitem wallgutz2
dropitem wallgutz2b
}

actor wallgutz1
{
 game Doom
 radius 12
 height 2
 mass 1
+corpse
 +NOTELEPORT
 +NOBLOCKMAP
+floorclip
renderstyle normal
+noGRAVITY
scale 0.5
 states
 {
 Spawn:
gutz h 30
gutz h 4 A_SetScale(.5, .5)
gutz h 4 A_SetScale(.5, .6)
gutz h 4 A_SetScale(.5, .7)
gutz h 4 A_SetScale(.5, .8)
gutz h 4 A_SetScale(.5, .9)
gutz h 4 A_SetScale(.5, 1)
tnt1 a 0 A_spawnitem("wallgutz1gib",0,0,0,0)
gutz h 1 A_SetScale(.5, .9)
gutz h 1 A_SetScale(.5, .7)
gutz h 1 A_SetScale(.5, .5)
gutz h 40
gutz h 4 A_SetScale(.5, .5)
gutz h 4 A_SetScale(.5, .6)
gutz h 4 A_SetScale(.5, .7)
gutz h 4 A_SetScale(.5, .8)
gutz h 4 A_SetScale(.5, .9)
gutz h 4 A_SetScale(.5, 1)
tnt1 a 0 A_spawnitem("wallgutz1gib",0,0,0,0)
stop
crash:
	 tnt1 a 0 a_spawnitem("NashGore_BloodSpot",0,0,0,0)
	 stop
 }
}

actor wallgutz1b
{
 game Doom
 radius 12
 height 2
 mass 1
+corpse
 +NOTELEPORT
 +NOBLOCKMAP
+floorclip
renderstyle normal
+noGRAVITY
scale 0.5
 states
 {
 Spawn:
gutz h 20
gutz h 4 A_SetScale(.5, .5)
gutz h 4 A_SetScale(.5, .6)
gutz h 4 A_SetScale(.5, .7)
gutz h 4 A_SetScale(.5, .8)
gutz h 4 A_SetScale(.5, .9)
gutz h 4 A_SetScale(.5, 1)
tnt1 a 0 A_spawnitem("wallgutz1gib",0,0,0,0)
gutz h 1 A_SetScale(.5, .9)
gutz h 1 A_SetScale(.5, .7)
gutz h 1 A_SetScale(.5, .5)
gutz h 30
gutz h 4 A_SetScale(.5, .5)
gutz h 4 A_SetScale(.5, .6)
gutz h 4 A_SetScale(.5, .7)
gutz h 4 A_SetScale(.5, .8)
gutz h 4 A_SetScale(.5, .9)
gutz h 4 A_SetScale(.5, 1)
tnt1 a 0 A_spawnitem("wallgutz1gib",0,0,0,0)
gutz h 1 A_SetScale(.5, .9)
gutz h 1 A_SetScale(.5, .7)
gutz h 1 A_SetScale(.5, .5)
gutz h 40
gutz h 4 A_SetScale(.5, .5)
gutz h 4 A_SetScale(.5, .6)
gutz h 4 A_SetScale(.5, .7)
gutz h 4 A_SetScale(.5, .8)
gutz h 4 A_SetScale(.5, .9)
gutz h 4 A_SetScale(.5, 1)
tnt1 a 0 A_spawnitem("wallgutz1gib",0,0,0,0)
stop
crash:
	 tnt1 a 0 a_spawnitem("NashGore_BloodSpot",0,0,0,0)
	 stop
 }
}

actor wallgutz1gib
{
health 1
radius 8
height 8
mass 1
scale 0.5
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	gutz h  1 A_SetScale(.5, 1)
	gutz h  1 A_SetScale(.5,.9)
	gutz h  1 A_SetScale(.5, .8)
	gutz h  1 A_SetScale(.5, .9)
	 loop
	Crash:
	 tnt1 a 0 a_spawnitem("NashGore_BloodSpot",0,0,0,0)
	 stop
	}
}

actor wallgutz2
{
 game Doom
 radius 12
 height 2
 mass 1
+corpse
 +NOTELEPORT
 +NOBLOCKMAP
+floorclip
renderstyle normal
+noGRAVITY
scale 0.5
 states
 {
 Spawn:
gutz g 50
gutz g 4 A_SetScale(.5, .5)
gutz g 4 A_SetScale(.5, .6)
gutz g 4 A_SetScale(.5, .7)
gutz g 4 A_SetScale(.5, .8)
gutz g 4 A_SetScale(.5, .9)
gutz g 4 A_SetScale(.5, 1)
tnt1 a 0 A_spawnitem("wallgutz2gib",0,0,0,0)
gutz h 1 A_SetScale(.5, .9)
gutz h 1 A_SetScale(.5, .7)
gutz h 1 A_SetScale(.5, .5)
gutz g 30
gutz g 4 A_SetScale(.5, .5)
gutz g 4 A_SetScale(.5, .6)
gutz g 4 A_SetScale(.5, .7)
gutz g 4 A_SetScale(.5, .8)
gutz g 4 A_SetScale(.5, .9)
gutz g 4 A_SetScale(.5, 1)
tnt1 a 0 A_spawnitem("wallgutz2gib",0,0,0,0)
stop
crash:
	 tnt1 a 0 a_spawnitem("NashGore_BloodSpot",0,0,0,0)
	 stop
 }
}

actor wallgutz2b
{
 game Doom
 radius 12
 height 2
 mass 1
+corpse
 +NOTELEPORT
 +NOBLOCKMAP
+floorclip
renderstyle normal
+noGRAVITY
scale 0.5
 states
 {
 Spawn:
gutz g 100
gutz g 4 A_SetScale(.5, .5)
gutz g 4 A_SetScale(.5, .6)
gutz g 4 A_SetScale(.5, .7)
gutz g 4 A_SetScale(.5, .8)
gutz g 4 A_SetScale(.5, .9)
gutz g 4 A_SetScale(.5, 1)
tnt1 a 0 A_spawnitem("wallgutz2gib",0,0,0,0)
stop
crash:
	 tnt1 a 0 a_spawnitem("NashGore_BloodSpot",0,0,0,0)
	 stop
 }
}

actor wallgutz2gib
{
health 1
radius 8
height 8
mass 1
scale 0.5
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	gutz g  1 A_SetScale(.5, 1)
	gutz g  1 A_SetScale(.5,.9)
	gutz g  1 A_SetScale(.5, .8)
	gutz g  1 A_SetScale(.5, .9)
	 loop
	Crash:
	 tnt1 a 0 a_spawnitem("NashGore_BloodSpot",0,0,0,0)
	 stop
	}
}

// Gib 1
actor NashGore_Gib1
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB1 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB1 A -1
	 stop
	}
}

// Gib 2
actor NashGore_Gib2
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB2 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB2 A -1
	 stop
	}
}

// Gib 3
actor NashGore_Gib3
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB3 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB3 A -1
	 stop
	}
}

// Gib 4
actor NashGore_Gib4
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB4 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB4 A -1
	 stop
	}
}

// Gib 5
actor NashGore_Gib5
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB5 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB5 A -1
	 stop
	}
}

// Gib 6
actor NashGore_Gib6
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB6 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB6 A -1
	 stop
	}
}

// Gib 7
actor NashGore_Gib7
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB7 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB7 A -1
	 stop
	}
}

// Gib 8
actor NashGore_Gib8
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB8 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB8 A -1
	 stop
	}
}

// Gib 9 (hand)
actor NashGore_Gib9
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB9 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB9 A -1
	 stop
	}
}

// Gib 10 (arm)
actor NashGore_Gib10
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIB0 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIB0 A -1
	 stop
	}
}

// Gib 11 (eyeball)
actor NashGore_Gib11
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+floorclip
states
	{
	Spawn:
	 GIBI A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 GIBI A -1
	 stop
	}
}

actor NashGore_BloodSpot
{
 game Doom
 radius 12
 height 2
 mass 1
 +NOTELEPORT
 -NOBLOCKMAP
+floorclip
renderstyle normal
 states
 {
 Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("blood/drip")
rib1 abcdef 2
Bpud A 2 A_SetScale(0.1, 0.03)
Bpud A 2 A_SetScale(0.2, 0.04)
Bpud A 2 A_SetScale(0.3, 0.05)
  TNT1 A 0 A_SetScale(0.4, 0.06)
 tnt1 a 0 A_SetTranslucent(0.8, 0)
  TNT1 A 0 A_Jump(64,4)
  TNT1 A 0 A_Jump(128,4)
  TNT1 A 0 A_Jump(192,4)
  TNT1 A 0 A_Jump(255,4)
  // make the blood spots stay on the ground. 1500 is the default duration.
  Bpud A 500
  goto goaway
  Bpud B 500
  goto goaway
  Bpud C 500
  goto goaway
  Bpud D 500
  goto goaway
goaway:
bpud A 2 A_SetScale(0.3, 0.05)
Bpud A 2 A_SetScale(0.2, 0.04)
Bpud A 2 A_SetScale(0.1, 0.03)
stop
 }
}

actor NashGore_Bloodpool
{
 game Doom
 radius 12
 height 2
 mass 1
 +NOTELEPORT
 -NOBLOCKMAP
+floorclip
renderstyle normal
 states
 {
 Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("blood/pour")
rib1 abcdef 2
 tnt1 a 0 A_SetTranslucent(0.8, 0)
Bpud A 2 A_SetScale(0.1, 0.03)
Bpud A 2 A_SetScale(0.2, 0.04)
Bpud A 2 A_SetScale(0.3, 0.05)
Bpud A 2 A_SetScale(0.4, 0.06)
Bpud A 6 A_SetScale(0.5, 0.06)
Bpud A 6 A_SetScale(0.6, 0.06)
Bpud A 6 A_SetScale(0.7, 0.07)
Bpud A 6 A_SetScale(0.8, 0.07)
Bpud A 6 A_SetScale(0.9, 0.08)
Bpud A 6 A_SetScale(1, 0.08)
bpud A 8 A_SetScale(1.1, 0.09)
bpud A 8 A_SetScale(1.2, 0.09)
bpud A 8 A_SetScale(1.3, 0.1)
bpud A 8 A_SetScale(1.4, 0.1)
bpud A 8 A_SetScale(1.5, 0.11)
bpud A 8 A_SetScale(1.6, 0.11)
bpud A 10 A_SetScale(1.8, 0.12)
bpud A 10 A_SetScale(1.9, 0.12)
bpud A 10 A_SetScale(2, 0.13)
bpud A 500
bpud A 2 A_SetScale(1.9, 0.12)
bpud A 2 A_SetScale(1.6, 0.11)
bpud A 2 A_SetScale(1.4, 0.1)
bpud A 2 A_SetScale(1.2, 0.09)
Bpud A 2 A_SetScale(0.9, 0.08)
Bpud A 2 A_SetScale(0.7, 0.07)
Bpud A 2 A_SetScale(0.5, 0.06)
Bpud A 2 A_SetScale(0.3, 0.05)
Bpud A 2 A_SetScale(0.1, 0.03)
stop
 }
}

actor NashGore_BloodpoolGreen : NashGore_Bloodpool
{
translation "16:47=112:127","168:191=112:127"
}

actor NashGore_BloodpoolBlue : NashGore_Bloodpool
{
translation "16:47=192:207","168:191=192:207"
}

actor Trite 2995
{
	Game Doom
	OBITUARY "%o was bruised by a Trite."
	HITOBITUARY "%o was ripped open by a Trite."
	Health 120
	Radius 24
	Height 26
        meleeDamage 3 
	Speed 11
	PainChance 75
        MaxDropOffHeight 96
        meleeSound "trite/attack" 
	SEESOUND "trite/sight"
        MELEESOUND "trite/melee"
	PAINSOUND "trite/pain"
	DEATHSOUND "trite/death"
	ACTIVESOUND "trite/active"
	MONSTER
	+FloorClip
        +LOOKALLAROUND
        +DROPOFF
        +NOTELEFRAG
DamageFactor "slime", 0
	+DONTHURTSPECIES
	BloodColor "77FF6F"
	states
	{
	Spawn:
		LMST AB 10 A_Look
		Loop
	See:
		LMST AABBCCDD 2 A_Chase
		Loop
        Melee:
                LMST J 7 A_FaceTarget
                LMST K 6 A_MeleeAttack
                LMST L 5
                Goto See
   Missile: 
      LMST A 0 A_Jumpifcloser(224, 2)
      Goto See
      LMST J 4 A_FaceTarget
      LMST J 0 A_playsound("trite/melee")
      LMST J 10 A_SkullAttack 
      LMST J 5 A_Gravity
      Goto See 
	Pain.Holotracer:
	Goto See
	Pain:
		TNT1 A 0 A_RadiusGive ("GotgreenBloodOnSaw",128,RGF_PLAYERS,1)
		LMST I 1
		LMST I 2 A_Pain 
		Goto See
	Death:
		tnt1 A 0 A_PlaySound("blood/head")
		LMST M 7 A_Scream
		LMST O 6 A_SpawnDebris("GreenSplatter",0)
		LMST Q 5 A_SpawnDebris("GreenSlime",0)
		LMST S 5
		LMST U 5 A_NoBlocking
		Stop
	}
}

actor GreenSlime
{
  health 5
  radius 10
  DEATHSOUND "trite/gib"
  +DROPOFF
  +CORPSE
  +NOTELEPORT
  states
  {
  Spawn:
    LMSG ABCDEFGHI 5
    LMSG J -1
    stop
  Crash:
    LMSG KL 3 A_Scream
    LMSG M 6
    stop
  }
}

actor GreenSplatter
{
  health 5
  radius 10
  DEATHSOUND "trite/gib"
  +DROPOFF
  +CORPSE
  +NOTELEPORT
  states
  {
  Spawn:
    BLDG ABC 5
    stop
  Crash:
    BLDG C 0
    stop
  }
}

actor osjc_ss : WolfensteinSS replaces WolfensteinSS 
{
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
states
	{
    Pain.stun:
		SSWV H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SSWV H 6 A_Pain
		SSWV H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SSWV H 6 A_Pain
		SSWV H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SSWV H 6 A_Pain
		SSWV H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SSWV H 6 A_Pain
		SSWV H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SSWV H 6 A_Pain
		SSWV H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SSWV H 6 A_Pain
	  Goto See
	XDeath:
	 	SSWV N 0 A_SpawnDebris("NashGore_Gib9",0)
		SSWV N 0 A_SpawnDebris("NashGore_Gib10",0)
		SSWV N 0 A_SpawnDebris("NashGore_Gib11",0)
 		SSWV N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	SSWV N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		SSWV N 5 
		SSWV O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
		SSWV O 5 A_XScream
		SSWV P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		SSWV P 5 A_NoBlocking
		SSWV Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		SSWV QRSTU 5
		SSWV V -1
		Stop
	Pain.Holotracer:
	Goto See
	Death.shred:
	   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("wolfss/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright 
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
	Ice:
		sswv w 5 A_FreezeDeath
		sswv w 1 A_FreezeDeathChunks
		Wait
	 	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop
	}
} 

actor osjc_av : Archvile replaces Archvile
{
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
states
	{
    Pain.stun:
		VILE Q 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		VILE Q 6 A_Pain
		VILE Q 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		VILE Q 6 A_Pain
		VILE Q 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		VILE Q 6 A_Pain
		VILE Q 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		VILE Q 6 A_Pain
		VILE Q 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		VILE Q 6 A_Pain
		VILE Q 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		VILE Q 6 A_Pain
	goto see
	Pain.Holotracer:
	Goto See
	xdeath:
	        VILE R 5 
		tnt1 A 0 A_PlaySound("blood/head")
		XVIL B 5 A_XScream
	 	XVIL C 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		XVIL C 0 A_SpawnDebris("HEADBlood",0)
		XVIL C 5 A_NoBlocking
	 	XVIL C 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		XVIL C 0 A_SpawnDebris("HEADBlood",0)
		XVIL D 5
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	XVIL D 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		XVIL D 0 A_SpawnDebris("HEADBlood",0)
		XVIL E 5
	 	XVIL E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		XVIL E 0 A_SpawnDebris("HEADBlood",0)
		XVIL F -1 
	 stop
	Death.shred:
		goto xdeath
	Ice:
		XVIL g 5 A_FreezeDeath
		XVIL g 1 A_FreezeDeathChunks
		Wait
	}
} 


//===========================================================================
//
// Spider boss
//
//===========================================================================

actor SPID_Gib
{
health 1
radius 8
height 8
mass 1
+CORPSE
+NOTELEPORT
SCALE 0.6
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 SGIB ABCDE 3 
	 loop
	Crash:
	 SGIB F 900
	 stop
	}
}

ACTOR SpiderMastermind 7
{
	Game Doom
	SpawnID 7
	Health 3000
	Radius 100
	Height 100
	Mass 1000
	Speed 12
	PainChance 40
	Monster
	MinMissileChance 160
	+BOSS
	+MISSILEMORE
	+FLOORCLIP
	+NORADIUSDMG
	+DONTMORPH
	+BOSSDEATH
	SeeSound "spider/sight"
	AttackSound "spider/attack"
	PainSound "spider/pain"
	DeathSound "spider/death"
	ActiveSound "spider/active"
	Obituary "$OB_SPIDER"
DamageFactor "slime", 0
DamageFactor "laser", 0.8
dropitem demonrune 60
	States
	{
	Spawn:
		SPID AB 10 A_Look
		Loop
	See:
		SPID A 3 A_Metal
		SPID ABB 3 A_Chase
		SPID C 3 A_Metal
		SPID CDD 3 A_Chase
		SPID E 3 A_Metal
		SPID EFF 3 A_Chase
		Loop
	Missile:
		SPID A 20 BRIGHT A_FaceTarget  
		SPID G 4 BRIGHT A_SPosAttackUseAtkSound
		SPID H 4 BRIGHT A_SposAttackUseAtkSound
		SPID H 1 BRIGHT A_SpidRefire
		Goto Missile+1
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		SPID I 0 A_Jump(128,"pain2")
		SPID I 3
		SPID I 3 A_Pain
		Goto See
	Pain2:
		SPID I 0 A_SpawnDebris("SPID_GIB",0)
		SPID I 3
		SPID I 3 A_Pain
		Goto See
	Death:
		SPID J 10 A_Scream
		SPID J 10 A_NoBlocking
		SPID K 5 
TNT1 A 0 A_SpawnDebris("firework",0)
		SPID K 5 
TNT1 A 0 A_SpawnDebris("firework",0)
		SPID L 5
TNT1 A 0 A_SpawnDebris("firework",0)
		SPID L 5
SPID M 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
SPID M 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
SPID N 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
SPID N 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
SPID O 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
SPID O 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
SPID P 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
SPID P 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
SPID Q 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
SPID Q 5 A_SpawnItem("BITZGenerator2",0,0,0,0)
		SPID R 10
		SPID S 30
		SPID S -1 A_BossDeath 
	stop   
	Ice:
		SPID t 5 A_FreezeDeath
		tnt1 a 0 A_BossDeath
		SPID t 1 A_FreezeDeathChunks
		Wait
Crush:
	 TNT1 A 1 A_SpawnItem("NashGore_CrushedLarge",0,0,0,0)
	 stop
  }
}


actor Cyberdemon 16
{
  spawnid 114
  obituary "%o was splattered by a cyberdemon."
  health 4000
  radius 40
  height 110
  mass 1000
  speed 16
  painchance 20
  seesound "cyber/sight"
  painsound "cyber/pain"
  deathsound "cyber/death"
  activesound "cyber/active"
  MONSTER
  +BOSS
  +FLOORCLIP
  +NORADIUSDMG
  +DONTMORPH
  +MISSILEMORE
  meleerange 60
dropitem demonrune 120
DamageFactor "slime", 0
DamageFactor "laser", 0.8
  states
  {
  Spawn:
    CYBR AB 10 A_Look
    loop
  see:
	CYBT DEFGH 8
	CYBT HGFED 4
	goto See2
  See2:
    CYBR A 3 A_Hoof
    CYBR ABBCC 3 A_Chase
    CYBR D 3 A_Metal
    CYBR D 3
    Loop
  Missile:
    TNT1 A 0 A_JumpIfCloser(100, "Melee")
    CYBR F 7 A_FaceTarget
    CYBR E 13 A_CustomMissile (Rocket,45,-28,0)
    CYBR F 13 A_FaceTarget
    CYBR E 13 A_CustomMissile (Rocket,45,-28,0)
    CYBR F 13 A_FaceTarget
    CYBR E 13 A_CustomMissile (Rocket,45,-28,0)
    goto See2
  Melee:
    TNT1 A 0 A_Jump(128, "Missile2")
	CYMA A 8 A_FaceTarget
	CYMA B 1 A_CustomMeleeAttack (250, "monster/cystomp")
	CYMA B 15 A_quake(1,12,0,300,"NO/SOUND")
	goto See2
	Pain.Holotracer:
	Goto See2
  Missile2:
    CYBR F 7 A_FaceTarget
    CYBR E 13 A_CustomMissile (Rocket,45,-28,0)
    CYBR F 13 A_FaceTarget
    CYBR E 13 A_CustomMissile (Rocket,45,-28,0)
    CYBR F 13 A_FaceTarget
    CYBR E 13 A_CustomMissile (Rocket,45,-28,0)
    goto See2
  Pain:
    TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
    CYBR G 10 A_Pain
    goto See2
  Death:
    CYBR H 10
    CYBR I 10 A_Scream
    CYBR J 4 A_NoBlocking
TNT1 A 0 A_SpawnDebris("firework",0)
CYBR J 2 A_SpawnItem("BITZGenerator2",0,0,0,0)
CYBR J 2 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
CYBR J 2 A_SpawnItem("BITZGenerator",0,0,0,0)
CYBR J 0 A_SpawnItem("BITZGenerator",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
    CYBR K 4 
		tnt1 A 0 A_PlaySound("blood/head")
TNT1 A 0 A_SpawnDebris("firework",0)
CYBR K 2 A_SpawnItem("BITZGenerator",0,0,0,0)
CYBR K 2 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
CYBR K 2 A_SpawnItem("BITZGenerator",0,0,0,0)
CYBR K 0 A_SpawnItem("BITZGenerator",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
    CYBR L 4 
TNT1 A 0 A_SpawnDebris("firework",0)
CYBR L 2 A_SpawnItem("BITZGenerator2",0,0,0,0)
CYBR L 2 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
CYBR L 2 A_SpawnItem("BITZGenerator",0,0,0,0)
CYBR L 0 A_SpawnItem("BITZGenerator",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
    CYBR M 4 
CYBR M 2 A_SpawnItem("BITZGenerator2",0,0,0,0)
CYBR M 2 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
CYBR M 2 A_SpawnItem("BITZGenerator",0,0,0,0)
CYBR M 0 A_SpawnItem("BITZGenerator",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
    CYBR N 4 
CYBR N 2 A_SpawnItem("BITZGenerator",0,0,0,0)
CYBR N 2 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
CYBR N 2 A_SpawnItem("BITZGenerator",0,0,0,0)
CYBR N 0 A_SpawnItem("BITZGenerator",0,0,0,0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
tnt1 a 0  A_SpawnDebris("HEADBlood",0)
    CYBR O 10 
    CYBR P 30
    CYBR P -1 A_BossDeath
stop
	Ice:
		CYBR q 5 A_FreezeDeath
		tnt1 a 0 A_BossDeath
		CYBR q 1 A_FreezeDeathChunks
		Wait
Crush:
	 TNT1 A 1 A_SpawnItem("NashGore_CrushedLarge",0,0,0,0)
	 stop
  }
}

actor RevSpawner : RandomSpawner replaces Revenant
{
dropitem skelly
}

//===========================================================================
//
// Revenant
//
//===========================================================================
ACTOR skelly
{
	Game Doom
	Health 300
	Radius 20
	Height 56
	Mass 500
	Speed 10
	PainChance 100
	Monster
	MeleeThreshold 196
	+MISSILEMORE 
	+FLOORCLIP
	SeeSound "skeleton/sight"
	PainSound "skeleton/pain"
	DeathSound "skeleton/death"
	ActiveSound "skeleton/active"
	MeleeSound "skeleton/melee"
	HitObituary "$OB_UNDEADHIT"
	Obituary "$OB_UNDEAD"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		SKEL AB 10 A_Look
		Loop
	See:
		SKEL AABBCCDDEEFF 2 A_Chase
		Loop
	Melee:
		SKEL G 1 A_FaceTarget
		SKEL G 6 A_SkelWhoosh
		SKEL H 6 A_FaceTarget
		SKEL I 6 A_SkelFist
		Goto See
	Missile:
		SKEL J 0 A_Jump(128,"missile2")
		SKEL J 1 BRIGHT A_FaceTarget 
		SKEL J 9 BRIGHT A_FaceTarget
		SKEL K 1 A_CustomMissile("RevenantTracer2B",50,20,0,0)
		SKEL K 1 A_CustomMissile("RevenantTracer2B",50,-20,0,0)
		SKEL K 18 A_FaceTarget
		SKEL K 10 A_FaceTarget
		Goto See
	Missile2:
		SKEL J 10 BRIGHT A_FaceTarget		
		SKEL K 1 BRIGHT A_customRailgun( 0, 10, "none", "red", RGF_SILENT, 1, 0,"lazersightpuff", 0, 0, 0, 30, 0.1, 0)
		SKEL K 1 A_CustomMissile("RevenantTracer1B",50,20,0,0)
		SKEL K 1 A_CustomMissile("RevenantTracer1B",50,-20,0,0)
		SKEL K 16 A_FaceTarget
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		SKEL L 5
		SKEL L 5 A_Pain
		Goto See
    Pain.stun:
		SKEL L 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKEL L 6 A_Pain
		SKEL L 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKEL L 6 A_Pain
		SKEL L 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKEL L 6 A_Pain
		SKEL L 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKEL L 6 A_Pain
		SKEL L 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKEL L 6 A_Pain
		SKEL L 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKEL L 6 A_Pain
	goto see
	Death:
		SKEL LM 7
		SKEL N 7 A_Scream
		SKEL O 7 
		SKEL P 7
		SKEL Q -1 A_NoBlocking
		Stop
	Death.shred:
		goto xdeath
	xdeath:
		tnt1 A 0 A_PlaySound("blood/head")
		SKEL R 5 A_XScream 
		SKEL R 0 A_NoBlocking
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		SKEL S 5 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		SKEL T 5 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		SKEL U 5 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		SKEL V 0 A_SpawnDebris("HEADBlood",0)
		SKEL W -1
	Ice:
		SKEL x 5 A_FreezeDeath
		SKEL x 1 A_FreezeDeathChunks
		Wait
   	Crush:
		TNT1 A 1 A_SpawnItem("NashGore_CrushedMedium",0,0,0,0)
		stop

	Raise:
		SKEL Q 5
		SKEL PONML 5
		Goto See
	}
}

//===========================================================================
//
// Revenant Tracer
//
//===========================================================================

actor RevRockSpawner : RandomSpawner replaces RevenantTracer
{
dropitem RevenantTracer1
dropitem RevenantTracer1
dropitem RevenantTracer2
}

ACTOR RevenantTracer1
{
	Game Doom
	SpawnID 53
	Radius 11
	Height 8
	Speed 10
	Damage 10
	Projectile 
	+SEEKERMISSILE 
	+RANDOMIZE
	-rockettrail
	SeeSound "skeleton/attack"
	DeathSound "skeleton/tracex"
	RenderStyle Add
	Decal RevenantScorch
	States
	{
	Spawn:
		tnt1 a 0 A_SpawnItem("rocketsmoker2",0,0,0,0)
		FATB A 2 BRIGHT A_SeekerMissile(90, 90, 2)
		tnt1 a 0 A_SpawnItem("rocketsmoker",0,0,0,0)
		FATB B 2 BRIGHT A_SeekerMissile(90, 90, 2)
		tnt1 a 0 A_SpawnItem("rocketsmoker",0,0,0,0)
		Loop
	Death:
		FBXP A 8 BRIGHT
		FBXP A 0 A_quake(1,12,0,300,"NO/SOUND")
		FBXP A 0 A_SpawnItem("dustcloud",0,0,0,0)
		FBXP B 6 BRIGHT
		FBXP C 4 BRIGHT
		Stop
	}
}

ACTOR RevenantTracer2
{
	Game Doom
	SpawnID 53
	Radius 11
	Height 8
	Speed 10
	Damage 10
	Projectile 
	+SEEKERMISSILE 
	+RANDOMIZE
	-grenadetrail
	SeeSound "skeleton/attack"
	DeathSound "skeleton/tracex"
	RenderStyle Add
	Decal RevenantScorch
	States
	{
	Spawn:
		FATB A 2 BRIGHT A_SpawnItem("rocketsmoker2",0,0,0,0)
		tnt1 a 0 A_SpawnItem("rocketsmoker",0,0,0,0)
		FATB B 2 BRIGHT A_SpawnItem("rocketsmoker2",0,0,0,0)
		tnt1 a 0 A_SpawnItem("rocketsmoker",0,0,0,0)
		Loop
	Death:
		FBXP A 8 BRIGHT
		FBXP A 0 A_quake(1,12,0,300,"NO/SOUND")
		FBXP A 0 A_SpawnItem("dustcloud",0,0,0,0)
		FBXP B 6 BRIGHT
		FBXP C 4 BRIGHT
		Stop
	}
}

ACTOR RevenantTracer1B
{
	Game Doom
	Radius 11
	Height 8
	Speed 10
	Damage 5
	Projectile 
	+SEEKERMISSILE 
	+RANDOMIZE
	-rockettrail
	SeeSound "skeleton/attack"
	DeathSound "skeleton/tracex"
	RenderStyle Add
	Decal RevenantScorch
	States
	{
	Spawn:
		tnt1 a 0 A_SpawnItem("rocketsmoker2",0,0,0,0)
		FATB A 2 BRIGHT A_tracer2
		tnt1 a 0 A_SpawnItem("rocketsmoker",0,0,0,0)
		tnt1 a 0 A_SpawnItem("rocketsmoker2",0,0,0,0)
		FATB B 2 BRIGHT A_tracer2
		tnt1 a 0 A_SpawnItem("rocketsmoker",0,0,0,0)
		Loop
	Death:
		FBXP A 8 BRIGHT
		FBXP A 0 A_quake(1,12,0,300,"NO/SOUND")
		FBXP A 0 A_SpawnItem("dustcloud",0,0,0,0)
		FBXP B 6 BRIGHT
		FBXP C 4 BRIGHT
		Stop
	}
}

ACTOR RevenantTracer2B
{
	Game Doom
	Radius 11
	Height 8
	Speed 10
	Damage 5
	Projectile 
	+SEEKERMISSILE 
	+RANDOMIZE
	-grenadetrail
	SeeSound "skeleton/attack"
	DeathSound "skeleton/tracex"
	RenderStyle Add
	Decal RevenantScorch
	States
	{
	Spawn:
		FATB A 2 BRIGHT  A_SpawnItem("rocketsmoker2",0,0,0,0)
		tnt1 a 0 A_SpawnItem("rocketsmoker",0,0,0,0)
		FATB B 2 BRIGHT A_SpawnItem("rocketsmoker2",0,0,0,0)
		tnt1 a 0 A_SpawnItem("rocketsmoker",0,0,0,0)
		Loop
	Death:
		FBXP A 8 BRIGHT
		FBXP A 0 A_quake(1,12,0,300,"NO/SOUND")
		FBXP A 0 A_SpawnItem("dustcloud",0,0,0,0)
		FBXP B 6 BRIGHT
		FBXP C 4 BRIGHT
		Stop
	}
}

ACTOR lazersightpuff
{
   Radius 1
   Height 1
   PROJECTILE
   +NOGRAVITY
   -ALLOWPARTICLES
   +NOCLIP
   Scale 2
   Speed 0
   vspeed 0
   RENDERSTYLE TRANSLUCENT
   ALPHA 0.1
   +puffonactors
   +dontsplash
   +BLOODLESSIMPACT
   States
   {
   Spawn:
      tnt1 a 1 BRIGHT
      Stop
   }
}

//////BRUISERblood AND GIBS///////

ACTOR bruiserbloodbolt
{
	Game Doom
	Radius 10
	Height 10
	Speed 10
	Damage 0
	Projectile
	+noblockmap
	+noteleport
	GRAVITY 0.3
	-randomize
	- NOGRAVITY
	MASS  1
	scale 0.75
translation "16:47=112:127","168:191=112:127"
	  decal "bruiserbloodsplat"
	Obituary "how did blood kill someone!?"
	DONTHURTSHOOTER
	States
	{
	Spawn:
		GIB3 Aaaaaaaaaaaaaaaaaaaaaaaa 2 
 	goto death
	death:	
  	TNT1 A 2 A_PlaySound("bloodsplat")
	stop
}
}

actor BRUISER_FlyingBlood
{
 game Doom
 scale 0.75
 health 1
 radius 8
 height 1
 mass 1
 GRAVITY 0.5
 +CORPSE
 +NOTELEPORT
 +NOBLOCKMAP
translation "16:47=112:127","168:191=112:127"
 states
 {
 Spawn:
  TNT1 A 0
  FBLD A 1 A_SpawnItem("BRUISER_FlyingBloodTrail",0,0,0,1)
  FBLD A 1 
  FBLD A 1 A_SpawnItem("BRUISER_FlyingBloodTrail",0,0,0,1)
  FBLD A 1
  FBLD B 1 A_SpawnItem("BRUISER_FlyingBloodTrail",0,0,0,1)
  FBLD B 1
  FBLD B 1 A_SpawnItem("BRUISER_FlyingBloodTrail",0,0,0,1)
  FBLD B 1
  FBLD C 1 A_SpawnItem("BRUISER_FlyingBloodTrail",0,0,0,1)
  FBLD C 1
  FBLD C 1 A_SpawnItem("BRUISER_FlyingBloodTrail",0,0,0,1)
  FBLD C 1
  FBLD D 1 A_SpawnItem("BRUISER_FlyingBloodTrail",0,0,0,1)
  FBLD D 1
  FBLD D 1 A_SpawnItem("BRUISER_FlyingBloodTrail",0,0,0,1)
  FBLD D 1
  loop
 Crash:
  TNT1 A 1 A_SpawnItem("BRUISER_BloodSpot",0,0,0,1)
  stop
 }
}

actor BRUISER_BloodSpot
{
 game Doom
 radius 12
 height 2
 mass 1
 +NOTELEPORT
 -NOBLOCKMAP
translation "16:47=112:127","168:191=112:127"
 states
 {
 Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("bloodsplat")
	rib1 abcdef 2
Bpud A 2 A_SetScale(0.1, 0.03)
Bpud A 2 A_SetScale(0.2, 0.04)
Bpud A 2 A_SetScale(0.3, 0.05)
  TNT1 A 0 A_SetScale(0.4, 0.06)
 tnt1 a 0 A_SetTranslucent(0.8, 0)
  TNT1 A 0 A_Jump(64,4)
  TNT1 A 0 A_Jump(128,4)
  TNT1 A 0 A_Jump(192,4)
  TNT1 A 0 A_Jump(255,4)
  // make the blood spots stay on the ground. 1500 is the default duration.
  Bpud A 500
  goto goaway
  Bpud B 500
  goto goaway
  Bpud C 500
  goto goaway
  Bpud D 500
  goto goaway
goaway:
bpud A 2 A_SetScale(0.3, 0.05)
Bpud A 2 A_SetScale(0.2, 0.04)
Bpud A 2 A_SetScale(0.1, 0.03)
stop
 }
}

actor BRUISER_FlyingBloodTrail
{
 game Doom
 scale 0.70
 mass 1
 +LOWGRAVITY
 +NOTELEPORT
 +NOBLOCKMAP
translation "16:47=112:127","168:191=112:127"
 states
 {
  Spawn:
  BTRL A 4
  BTRL B 4
  BTRL C 4
  BTRL D 4
  stop
 }
}

actor BRUIS_Gib1 : NashGore_Gib1
{
translation "16:47=112:127","168:191=112:127"
 states
 {
	Spawn:
	 GIB1 A 8 A_SpawnDebris("BRUISER_FlyingBlood",1)
	 loop
}
}
actor BRUIS_Gib2 : NashGore_Gib2
{
translation "16:47=112:127","168:191=112:127"
 states
 {
	Spawn:
	 GIB1 A 8 A_SpawnDebris("BRUISER_FlyingBlood",1)
	 loop
}
}

actor BRUIS_Gib3 : NashGore_Gib3
{
translation "16:47=112:127","168:191=112:127"
 states
 {
	Spawn:
	 GIB1 A 8 A_SpawnDebris("BRUISER_FlyingBlood",1)
	 loop
}
}

actor BRUIS_Gib4 : NashGore_Gib4
{
translation "16:47=112:127","168:191=112:127"
 states
 {
	Spawn:
	 GIB1 A 8 A_SpawnDebris("BRUISER_FlyingBlood",1)
	 loop
}
}


//===========================================================================
//
// Baron of Hell
//
//===========================================================================
ACTOR BaronOfHell 3003
{
	Game Doom
	SpawnID 3
	Health 1000
	Radius 24
	Height 64
	Mass 1000
	Speed 8
	PainChance 50
	Monster
	+FLOORCLIP
	+BOSSDEATH
	SeeSound "baron/sight"
	PainSound "baron/pain"
	DeathSound "baron/death"
	ActiveSound "baron/active"
	Obituary "$OB_BARON"
	HitObituary "$OB_BARONHIT"
	bloodcolor "0 C8 0"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpoolgreen" 70
	States
	{
	Spawn:
		BOSS AB 10 A_Look 
		Loop
	See:
		BOSS AABBCCDD 3 A_Chase
		Loop
	Melee:
		BOSS EF 8 A_FaceTarget
		BOSS G 8 A_BruisAttack
		Goto See
	Missile:
		BOSS E 0 A_Jump(128,"Altmissile")
		BOSS EF 8 A_FaceTarget
		BOSS G 8 A_BruisAttack
		Goto See
	AltMissile:
		BOSS PQ 8 A_FaceTarget
		BOSS R 0 A_CustomMissile("BaronBall2",30,15,0,0)
		BOSS R 0 A_CustomMissile("BaronBall2",30,-15,0,0) 
		BOSS R 8
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotgreenBloodOnSaw",128,RGF_PLAYERS,1)
		BOSS H  2
		BOSS H  2 A_Pain
		Goto See

    Pain.stun:
		BOSS H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOSS H 6 A_Pain
		BOSS H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOSS H 6 A_Pain
		BOSS H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOSS H 6 A_Pain
		BOSS H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOSS H 6 A_Pain
		BOSS H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOSS H 6 A_Pain
		BOSS H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOSS H 6 A_Pain
	goto see
	Death:
		BOSS H  0 A_Jump(128,"AltDeath","AltDeath2")
		BOSS I  8
		BOSS J  8 A_Scream
		BOSS K  8
		BOSS L  8 A_NoBlocking
		BOSS MN 8
		BOSS O -1 A_BossDeath   
		Stop
	AltDeath:
		ZOSS I  8 
		ZOSS J  8 A_Scream
		ZOSS K  8
		ZOSS L  8 A_NoBlocking
		ZOSS MN 8
		ZOSS O -1 A_BossDeath 
		Stop
	AltDeath2:
		BOS3 P  8 
		BOS3 Q  8 A_Scream
		BOS3 R  8
		BOS3 S  8 A_NoBlocking
		BOS3 T 8
		BOS3 U -1 A_BossDeath 
		Stop
	XDeath:
   TNT1 A 0 A_CustomMissile("bruiserbloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("bruiserbloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("bruiserbloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("bruiserbloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("bruiserbloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("bruiserbloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	BOS4 P 5
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 A 0 A_PlaySound("blood/head")
		BOS4 Q 5 A_XScream
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		BOS4 R 2 A_NoBlocking
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		BOS4 R 2 A_SpawnDebris("BRUIS_Gib1",0)
		BOS4 R 1 A_SpawnDebris("BRUIS_Gib2",0)
		BOS4 R 5 A_SpawnDebris("BRUIS_Gib3",0)
		BOS4 S 5 A_SpawnDebris("BRUIS_Gib4",0)
		BOS4 TUVW 5 A_SpawnDebris("Bruiser_FlyingBlood",0)
		BOS4 X -1 A_BossDeath
         	stop
	Death.shred:
		goto xdeath
	Death.blasted:
		tnt1 A 0 A_Jump(128,"XDeath")
		goto death
	Ice:
		BOS2 y 5 A_FreezeDeath
		BOS2 y 1 A_FreezeDeathChunks
		tnt1 a 0 A_BossDeath
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedMediumGreen",0,0,0,0)
		stop
	Raise:
		BOSS O 8
		BOSS NMLKJI  8
		Goto See
	}
}

//===========================================================================
//
// Hell Knight
//
//===========================================================================
ACTOR HellKnight : BaronOfHell 69
{
	Game Doom
	SpawnID 113
	Health 500
	-BOSSDEATH
	SeeSound "knight/sight"
	ActiveSound "knight/active"
	PainSound "knight/pain"
	DeathSound "knight/death"
	HitObituary "$OB_KNIGHTHIT"
	Obituary "$OB_KNIGHT"
	bloodcolor "0 C8 0"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpoolgreen" 70
	States
	{
	Spawn:
		BOS2 AB 10 A_Look 
		Loop
	See:
		BOS2 AABBCCDD 3 A_Chase
		Loop
	Melee:
	Missile:
		BOS2 EF 8 A_FaceTarget
		BOS2 G 8 A_BruisAttack
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotgreenBloodOnSaw",128,RGF_PLAYERS,1)
		BOS2 H  2
		BOS2 H  2 A_Pain
		Goto See

    Pain.stun:
		BOS2 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOS2 H 6 A_Pain
		BOS2 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOS2 H 6 A_Pain
		BOS2 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOS2 H 6 A_Pain
		BOS2 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOS2 H 6 A_Pain
		BOS2 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOS2 H 6 A_Pain
		BOS2 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BOS2 H 6 A_Pain
	goto see
	Death:
                BOS2 H  0 A_Jump(128,"AltDeath","AltDeath2")
		BOS2 I  8
		BOS2 J  8 A_Scream
		BOS2 K  8 
		BOS2 L  8 A_NoBlocking
		BOS2 MN 8
		BOS2 O -1
		Stop
	AltDeath:
		ZOS2 I  8 
		ZOS2 J  8 A_Scream
		ZOS2 K  8
		ZOS2 L  8 A_NoBlocking
		ZOS2 MN 8
		ZOS2 O -1
		Stop
	AltDeath2:
		BOS6 P  8 
		BOS6 Q  8 A_Scream
		BOS6 R  8
		BOS6 S  8 A_NoBlocking
		BOS6 T 8
		BOS6 U -1
		Stop
	XDeath:
   TNT1 A 0 A_CustomMissile("bruiserbloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("bruiserbloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("bruiserbloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("bruiserbloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("bruiserbloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("bruiserbloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	BOS2 P 5
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 A 0 A_PlaySound("blood/head")
		BOS2 Q 5 A_XScream
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		BOS2 R 2 A_NoBlocking
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("Bruiser_FlyingBlood",0)
		BOS2 R 2 A_SpawnDebris("BRUIS_Gib1",0)
		BOS2 R 1 A_SpawnDebris("BRUIS_Gib2",0)
		BOS2 R 5 A_SpawnDebris("BRUIS_Gib3",0)
		BOS2 S 5 A_SpawnDebris("BRUIS_Gib4",0)
		BOS2 TUVW 5 A_SpawnDebris("Bruiser_FlyingBlood",0)
		BOS2 X -1
         	stop
	Death.shred:
		goto xdeath
	Death.blasted:
		tnt1 A 0 A_Jump(128,"XDeath")
		goto death
	Ice:
		BOS2 y 5 A_FreezeDeath
		BOS2 y 1 A_FreezeDeathChunks
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedMediumGreen",0,0,0,0)
		stop

	Raise:
		BOS2 O 8
		BOS2 NMLKJI  8
		Goto See
	}
}

ACTOR BaronBall
{
	Game Doom
	SpawnID 154
	Radius 6
	Height 16
	Speed 15
	FastSpeed 20
	Damage 8
	Projectile 
	+RANDOMIZE
	RenderStyle Add
	Alpha 1
	SeeSound "baron/attack"
	DeathSound "baron/shotx"
	+grenadetrail
	+noextremedeath
	Decal "BaronScorch"
	States
	{
	Spawn:
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 A 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 A 1 BRIGHT
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 A 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 A 1 BRIGHT
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 B 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 B 1 BRIGHT
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 B 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 B 1 BRIGHT
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
		Loop
	Death:
		BAL7 CDE 6 BRIGHT
		Stop
	}
}

ACTOR BaronBall2
{
	Radius 6
	Height 16
	Speed 15
	FastSpeed 20
	Damage 4
	Projectile 
	+RANDOMIZE
	RenderStyle Add
	Alpha 1
	SeeSound "baron/attack"
	DeathSound "baron/shotx"
	+grenadetrail
	+noextremedeath
	Decal "BaronScorch"
	States
	{
	Spawn:
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 A 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 A 1 BRIGHT
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 A 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 A 1 BRIGHT
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 B 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 B 1 BRIGHT
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 B 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL7 B 1 BRIGHT
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
		Loop
	Death:
		BAL7 CDE 6 BRIGHT
		Stop
	}
}

actor Pinkyarm
{
health 1
radius 8
height 8
mass 1
+CORPSE
+NOTELEPORT
GRAVITY 1
+floorclip
states
	{
	Spawn:
	 PGIB A 1 
	 loop
	Crash:
	 PGIB C 900
	 stop
	}
}

actor Pinkyarm2
{
health 1
radius 8
height 8
mass 1
+CORPSE
+NOTELEPORT
GRAVITY 1
RenderStyle OptFuzzy
Alpha 0.3
+floorclip
states
	{
	Spawn:
	 PGIB A 1 
	 loop
	Crash:
	 PGIB C 900
	 stop
	}
}


//===========================================================================
//
// Pink Demon
//
//===========================================================================
ACTOR Demon 3002
{
	Game Doom
	SpawnID 8
	Health 150
	PainChance 180
	Speed 10
	Radius 30
	Height 56
	Mass 400
	Monster
	+FLOORCLIP +FASTER +FASTMELEE
	SeeSound "demon/sight"
	AttackSound "demon/melee"
	PainSound "demon/pain"
	DeathSound "demon/death"
	ActiveSound "demon/active"
	Obituary "$OB_DEMONHIT"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		SARG AB 10 A_Look
		Loop
	See:
		SARG AABBCCDD 2 A_Chase
		Loop
	Melee:
		SARG EF 8 A_FaceTarget
		SARG G 8 A_SargAttack
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		SARG H 2
		SARG H 2 A_Pain
		Goto See
     Pain.stun:
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
	goto see
Death.foot:
	tnt1 a 0 
goto Death+1
	Death:
		SARG H 0 A_Jump(128,"AltDeath")
		SARG I 8
		SARG J 8 A_Scream
		SARG K 4
		SARG L 4 A_NoBlocking
		SARG M 4
		SARG N -1
		Stop
		AltDeath:
		ZARG I 8
		ZARG J 0 A_SpawnDebris("pinkyarm",0)
		ZARG J 8 A_Scream
		ZARG K 4
		ZARG L 4 A_NoBlocking
		ZARG M 4
		ZARG N -1
		Stop
	Death.saw:
		TNT1 A 0 A_Jump(64,"AltDeath")
		pswd A 8
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0) 
		pswd c 4 A_Scream
		pswd d 4 A_NoBlocking
		pswd ef 4 
		pswd g -1 
		stop
Death.shred:
	tnt1 a 0 
goto Death.shred3
	Death.shred3:
		shrd l 8 A_NoBlocking
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		tnt1 A 0 A_PlaySound("blood/head")
		shrd h 1  A_SpawnDebris("HEADBlood",0) 
		shrd H 1  A_SpawnDebris("HEADBlood",0) 
		shrd H 1  A_SpawnDebris("HEADBlood",0) 
		shrd H 1  A_SpawnDebris("HEADBlood",0)
		shrd H 1  A_SpawnDebris("HEADBlood",0) 
		shrd h 1  A_SpawnDebris("HEADBlood",0)
		shrd h 1  A_SpawnDebris("HEADBlood",0)
		shrd h 1  A_SpawnDebris("HEADBlood",0) 
		shrd I 1 A_XScream
		shrd I 3 
		shrd J 4 
		shrd K -1 
		stop
	XDeath:
		XPNK A 0 A_Jump(128,"Xdeath2")
		SARR A 0 A_NoBlocking
    		SARR A 0 A_SpawnDebris("NashGore_Gib2",0)
  		SARR A 0 A_SpawnDebris("NashGore_Gib11",0)
    		SARR A 0 A_SpawnDebris("NashGore_Gib1",0)
    		SARR B 5
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
    		SARR C 0 A_SpawnDebris("NashGore_Gib8",0)
		tnt1 A 0 A_PlaySound("blood/head")
    		SARR C 5 A_XScream
    		SARR D 0 A_SpawnDebris("NashGore_Gib3",0)
		SARR D 5 
		SARR E 0 A_SpawnDebris("NashGore_Gib5",0)
		SARR E 5
		SARR F 0 A_SpawnDebris("NashGore_Gib7",0)
		SARR F 5
		SARR G 0 A_SpawnDebris("NashGore_Gib4",0)
    		SARR H 5 
    		SARR I -1
	XDeath2:
		XPNK A 0 A_NoBlocking
    		XPNK A 0 A_SpawnDebris("NashGore_Gib2",0)
  		XPNK A 0 A_SpawnDebris("NashGore_Gib11",0)
    		XPNK A 0 A_SpawnDebris("NashGore_Gib1",0)
    		XPNK B 5
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
    		XPNK C 0 A_SpawnDebris("NashGore_Gib8",0)
		tnt1 A 0 A_PlaySound("blood/head")
    		XPNK C 5 A_XScream
    		XPNK D 0 A_SpawnDebris("NashGore_Gib3",0)
		XPNK D 5 
		XPNK E 0 A_SpawnDebris("NashGore_Gib5",0)
		XPNK E 5
		XPNK F 0 A_SpawnDebris("NashGore_Gib7",0)
		XPNK F 5
		XPNK G 0 A_SpawnDebris("NashGore_Gib4",0)
    		XPNK HJ 5 
    		XPNK K -1
	Ice:
		SARR j 5 A_FreezeDeath
		SARR j 1 A_FreezeDeathChunks
		Wait
	Crush:
		 TNT1 A 1 A_SpawnItem("NashGore_CrushedMedium",0,0,0,0)
		 stop

	Raise:
		SARG N 5
		SARG MLKJI 5
		Goto See
	}
}

///Spectregibs///

ACTOR Spectregib1 : NashGore_Gib1
{
	RenderStyle OptFuzzy
	Alpha 0.3
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
states
	{
	Spawn:
	 Gib1 A 8 A_SpawnDebris("NashGore_FlyingBlood",1) 
	 loop
	Crash:
	 Gib1 A -1
	 stop
	}

}

ACTOR Spectregib2 : NashGore_Gib2
{
	RenderStyle OptFuzzy
	Alpha 0.3
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
states
	{
	Spawn:
	 Gib2 A 8 A_SpawnDebris("NashGore_FlyingBlood",1) 
	 loop
	Crash:
	 Gib2 A -1
	 stop
	}

}

ACTOR Spectregib3 : NashGore_Gib3
{
	RenderStyle OptFuzzy
	Alpha 0.3
health 1
radius 8
height 8
mass 1
+CORPSE
+NOTELEPORT
GRAVITY 0.6
states
	{
	Spawn:
	 Gib3 A 8 A_SpawnDebris("NashGore_FlyingBlood",1) 
	 loop
	Crash:
	 Gib3 A -1
	 stop
	}

}

ACTOR Spectregib4 : NashGore_Gib4
{
	RenderStyle OptFuzzy
	Alpha 0.3
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
states
	{
	Spawn:
	 Gib4 A 8 A_SpawnDebris("NashGore_FlyingBlood",1) 
	 loop
	Crash:
	 Gib4 A -1
	 stop
	}

}

ACTOR Spectregib5 : NashGore_Gib5
{
	RenderStyle OptFuzzy
	Alpha 0.3
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
states
	{
	Spawn:
	 Gib5 A 8 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 Gib5 A -1
	 stop
	}

}

ACTOR Spectregib7 : NashGore_Gib7
{
	RenderStyle OptFuzzy
	Alpha 0.3
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
states
	{
	Spawn:
	 Gib7 A 8 A_SpawnDebris("NashGore_FlyingBlood",1) 
	 loop
	Crash:
	 Gib7 A -1
	 stop
	}

}

ACTOR Spectregib8 : NashGore_Gib8
{
	RenderStyle OptFuzzy
	Alpha 0.3
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
states
	{
	Spawn:
	 Gib8 A 8 A_SpawnDebris("NashGore_FlyingBlood",1) 
	 loop
	Crash:
	 Gib8 A -1
	 stop
	}

}

ACTOR Spectregib11 : NashGore_Gib11
{
	RenderStyle OptFuzzy
	Alpha 0.3
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
states
	{
	Spawn:
	 Gibi A 8 A_SpawnDebris("NashGore_FlyingBlood",1) 
	 loop
	Crash:
	 Gibi A -1
	 stop
	}

}


actor SpectreSpawner : RandomSpawner replaces Spectre
{
dropitem Spectre2
}

ACTOR Spectre2
{
	Game Doom
	Health 150
	PainChance 180
	Speed 10
	Radius 30
	Height 56
	Mass 400
	Monster
	+FLOORCLIP +FASTER +FASTMELEE
	SeeSound "demon/sight"
	AttackSound "demon/melee"
	PainSound "demon/pain"
	DeathSound "demon/death"
	ActiveSound "demon/active"
	Obituary "$OB_DEMONHIT"
	RenderStyle OptFuzzy
	Alpha 0.3
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		SARG AB 10 A_Look
		Loop
	See:
		SARG AABBCCDD 2 A_Chase
		Loop
	Melee:
		SARG EF 8 A_FaceTarget
		SARG G 8 A_SargAttack
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		SARG H 2
		SARG H 2 A_Pain
		Goto See
     Pain.stun:
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
		SARG H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SARG H 6 A_Pain
	goto see
Death.foot:
	tnt1 a 0 
goto Death+1
	Death:
		SARG H 0 A_Jump(128,"AltDeath")
		SARG I 8
		SARG J 8 A_Scream
		SARG K 4
		SARG L 4 A_NoBlocking
		SARG M 4
		SARG N -1
		Stop
		AltDeath:
		ZARG I 8
		ZARG J 0 A_SpawnDebris("pinkyarm2",0)
		ZARG J 8 A_Scream
		ZARG K 4
		ZARG L 4 A_NoBlocking
		ZARG M 4
		ZARG N -1
		Stop
	Death.saw:
		TNT1 A 0 A_Jump(64,"AltDeath")
		pswd A 8
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0)
		pswd B 1 A_SpawnDebris("HEADBlood",0) 
		pswd c 4 A_Scream
		pswd d 4 A_NoBlocking
		pswd ef 4 
		pswd g -1 
		stop
	Death.shred:
		tnt1 a 0 
		goto Death.shred3
	Death.shred3:
		shrd l 8
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		tnt1 A 0 A_PlaySound("blood/head")
		shrd h 1  A_SpawnDebris("HEADBlood",0) 
		shrd H 1  A_SpawnDebris("HEADBlood",0) 
		shrd H 1  A_SpawnDebris("HEADBlood",0) 
		shrd H 1  A_SpawnDebris("HEADBlood",0)
		shrd H 1  A_SpawnDebris("HEADBlood",0) 
		shrd h 1  A_SpawnDebris("HEADBlood",0)
		shrd h 1  A_SpawnDebris("HEADBlood",0)
		shrd h 1  A_SpawnDebris("HEADBlood",0) 
		shrd I 1 A_XScream
		shrd I 3 A_NoBlocking
		shrd J 4 
		shrd K -1 
		stop
	XDeath:
		SARR A 0 A_NoBlocking
    		SARR A 0 A_SpawnDebris("SpectreGib2",0)
  		SARR A 0 A_SpawnDebris("SpectreGib11",0)
    		SARR A 0 A_SpawnDebris("SpectreGib1",0)
    		SARR B 5
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
    		SARR C 0 A_SpawnDebris("SpectreGib8",0)
		tnt1 A 0 A_PlaySound("blood/head")
    		SARR C 5 A_XScream
    		SARR D 0 A_SpawnDebris("SpectreGib3",0)
		SARR D 5 
		SARR E 0 A_SpawnDebris("SpectreGib5",0)
		SARR E 5
		SARR F 0 A_SpawnDebris("SpectreGib7",0)
		SARR F 5
		SARR G 0 A_SpawnDebris("SpectreGib4",0)
    		SARR H 5 
    		SARR I -1
	Ice:
		SARR j 0 A_SetTranslucent(1)
		SARR j 5 A_FreezeDeath
		SARR j 1 A_FreezeDeathChunks
		Wait
	Crush:
		 TNT1 A 1 A_SpawnItem("NashGore_CrushedMedium",0,0,0,0)
		 stop

	Raise:
		SARG N 5
		SARG MLKJI 5
		Goto See
	}
}

//===========================================================================
//
// Arachnotron
//
//===========================================================================

actor ArachnotronSpawner : RandomSpawner replaces Arachnotron
{
dropitem Arachnotron2
}

actor ARAC_Gib
{
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 AGIB ABCDE 3 
	 loop
	Crash:
	 AGIB F 900
	 stop
	}
}

ACTOR Arachnotron2
{
	Game Doom
	SpawnID 6
	Health 500
	Radius 64
	Height 64
	Mass 600
	Speed 12
	PainChance 128
	Monster
	+FLOORCLIP
	+BOSSDEATH
	SeeSound "baby/sight"
	PainSound "baby/pain"
	DeathSound "baby/death"
	ActiveSound "baby/active"
	Obituary "$OB_BABY"
	+dontharmspecies
	species nid
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
DamageFactor "laser", 0.8
	States
	{
	Spawn:
		BSPI AB 10 A_Look
		Loop
	See:
		BSPI A 20
		BSPI A 3 A_BabyMetal
		BSPI ABBCC 3 A_Chase
		BSPI D 3 A_BabyMetal
		BSPI DEEFF 3 A_Chase
		Goto See+1
	Missile:
		BSPI A 20 BRIGHT A_FaceTarget
		BSPI G 4 BRIGHT A_BspiAttack
		BSPI H 4 BRIGHT
		BSPI H 1 BRIGHT A_SpidRefire
		Goto Missile+1
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		BSPI I 0 A_Jump(128,"Pain2") 
		BSPI I 3
		BSPI I 3 A_Pain
		Goto See+1
	Pain2:
		BSPI I 0 A_SpawnDebris("ARAC_GIB",0)
		BSPI I 3
		BSPI I 3 A_Pain
		Goto See+1
    Pain.stun:
		BSPI I 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BSPI I 6 A_Pain
		BSPI I 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BSPI I 6 A_Pain
		BSPI I 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BSPI I 6 A_Pain
		BSPI I 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BSPI I 6 A_Pain
		BSPI I 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BSPI I 6 A_Pain
		BSPI I 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		BSPI I 6 A_Pain
	goto see+1
	Death:
		BSPI I 0 A_Jump(128,"AltDeath")
		BSPI J 20 A_Scream
		BSPI K 7 A_NoBlocking
		BSPI LMNO 7
		BSPI P -1 A_BossDeath
		Stop
	AltDeath:
 		BSPI Q 10 A_PlaySoundEx("Arachnotron/Death2", "Body", 0)
   	 	BSPI R 8 A_NoBlocking
	BSPI S 2 A_SpawnItem("BITZGenerator2",0,0,0,0)
	BSPI S 2 A_SpawnItem("BITZGenerator2",0,0,0,0)
	BSPI S 2 A_SpawnItem("BITZGenerator2",0,0,0,0)
    		BSPI TU 6 Bright
    		BSPI V 5 Bright
    		BSPI WX 4 Bright
    		BSPI Y -1 A_BossDeath
    		Stop
	Ice:
		BSPI z 5 A_FreezeDeath
		BSPI z 1 A_FreezeDeathChunks
		tnt1 a 0 A_BossDeath
		Wait
		Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedMedium",0,0,0,0)
	 	stop
    Raise:
		BSPI P 5
		BSPI ONMLKJ 5
		Goto See+1
	}
}


ACTOR ArachnotronPlasma
{
	Game Doom
	SpawnID 129
	Radius 13
	Height 8
	Speed 25
	Damage 5
	Projectile 
	+RANDOMIZE
	RenderStyle Add 
	Alpha 0.75
	SeeSound "baby/attack"
	DeathSound "baby/shotx"
	+noextremedeath
	Decal ArachnotronScorch
	damagetype "plasma"
	States
	{
	Spawn:
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		APLS A 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		APLS A 1 BRIGHT
     		 tnt1 a 0  A_Playsound("weapons/plasfly")
        TNT1 A 0 A_CustomMissile("greenplasParticle",  0, 0, random(-180, 180), 2, random(-180, 180)) 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		APLS C 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		APLS C 1 BRIGHT
     		 tnt1 a 0  A_Playsound("weapons/plasfly")
        TNT1 A 0 A_CustomMissile("greenplasParticle",  0, 0, random(-180, 180), 2, random(-180, 180))
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		APLS B 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		APLS B 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("weapons/plasfly")
        TNT1 A 0 A_CustomMissile("greenplasParticle",  0, 0, random(-180, 180), 2, random(-180, 180))
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		APLS D 1 BRIGHT
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		APLS D 1 BRIGHT
     		 tnt1 a 0  A_Playsound("weapons/plasfly")
        TNT1 A 0 A_CustomMissile("greenplasParticle",  0, 0, random(-180, 180), 2, random(-180, 180))
		Loop
	Death:
		APBX ABCDE 5 BRIGHT
		Stop
	}
}


ACTOR greenplasmasmoke
{
	Game Doom
	scale 0.5
	RenderStyle Translucent
	Alpha 0.75
	+ NOGRAVITY
	+DONTSPLASH
	States
	{
	Spawn:
		GSMK ABC 4 
	Stop
	}
}

ACTOR PLASMASPARK2
{
	Game Doom
	Alpha 0.75
	+DONTSPLASH
	States
	{
	Spawn:
		GSPK ABCDE 3 
	Stop
	}
}

//===========================================================================
//
// Mancubus
//
//===========================================================================
ACTOR Fatso 67
{
	Game Doom
	SpawnID 112
	Health 600
	Radius 48
	Height 64
	Mass 1000
	Speed 8
	PainChance 80
	Monster
	+FLOORCLIP
	+BOSSDEATH
	SeeSound "fatso/sight"
	PainSound "fatso/pain"
	DeathSound "fatso/death"
	ActiveSound "fatso/active"
	Obituary "$OB_FATSO"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		FATT AB 15 A_Look
		Loop
	See:
		FATT AABBCCDDEEFF 4 A_Chase
		Loop
	Missile:
		FATT G 20 A_FatRaise
		FATT H 10 BRIGHT A_FatAttack1
		FATT IG 5
		FATT H 10 BRIGHT A_FatAttack2
		FATT IG 5
		FATT H 10 BRIGHT A_FatAttack3
		FATT IG 5
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		FATT J 3
		FATT J 3 A_Pain
		Goto See
    Pain.stun:
		FATT J 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		FATT J 6 A_Pain
		FATT J 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		FATT J 6 A_Pain
		FATT J 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		FATT J 6 A_Pain
		FATT J 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		FATT J 6 A_Pain
		FATT J 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		FATT J 6 A_Pain
		FATT J 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		FATT J 6 A_Pain
	goto see
    Death:
		FATT J 0 A_Jump(128,"AltDeath") 
		FATT K 6
		FATT L 6 A_Scream
		FATT M 6 A_NoBlocking
		FATT NOPQRS 6
		FATT T -1 A_BossDeath    
	     Stop
    AltDeath:
		FAT2 A 6
		FAT2 B 6 A_Scream
		FAT2 C 6 A_NoBlocking
		FAT2 DEFGHI 6
		FAT2 J -1 A_BossDeath    
	     Stop
    XDeath:
		XFBT A 6
		tnt1 A 0 A_PlaySound("blood/head")
		XFBT B 5 A_XScream
	 	XFBT C 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		XFBT C 0 A_SpawnDebris("HEADBlood",0)
		XFBT C 5 A_NoBlocking
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	XFBT C 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		XFBT C 0 A_SpawnDebris("HEADBlood",0)
		XFBT D 5
	 	XFBT D 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		XFBT D 0 A_SpawnDebris("HEADBlood",0)
		XFBT E 5
	 	XFBT E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		XFBT E 0 A_SpawnDebris("HEADBlood",0)
		XFBT F -1 A_BossDeath 
	     Stop
	Death.bouncer:
		tnt1 A 0 A_Jump(128,"XDeath")
		goto death
	Death.blasted:
		tnt1 A 0 A_Jump(128,"XDeath")
		goto death
	Death.shred:
		goto xdeath
	Ice:
		fat2 k 5 A_FreezeDeath
		fat2 k 1 A_FreezeDeathChunks
		tnt1 a 0 A_BossDeath
		Wait
	Crush:
		 TNT1 A 1 A_SpawnItem("NashGore_CrushedMedium",0,0,0,0)
		 stop

	 Raise:
		FATT R 5
		FATT QPONMLK 5
		Goto See
	}
}

ACTOR FatShot
{
	Game Doom
	SpawnID 153
	Radius 6
	Height 8
	Speed 20
	Damage 8
	Projectile 
	+RANDOMIZE
	+DONTSPLASH
	+grenadetrail
	RenderStyle Add
	Alpha 1
	SeeSound "fatso/attack"
	DeathSound "fatso/shotx"
	+noextremedeath
	States
	{
	Spawn:
    tnt1 A 0 BRIGHT A_Spawnitem("BFGGlare",0,-30,0)
		MANF A 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("BFGGlare",0,-30,0,0)
		MANF A 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("BFGGlare",0,-30,0,0)
		MANF A 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("BFGGlare",0,-30,0,0)
		MANF A 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("BFGGlare",0,-30,0,0)
		MANF b 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("BFGGlare",0,-30,0,0)
		MANF b 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("BFGGlare",0,-30,0,0)
		MANF b 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("BFGGlare",0,-30,0,0)
		MANF b 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
		Loop
	Death:
		MISL B 0 BRIGHT A_SpawnItem("dustcloud",0,0,0,0)
		MISL B 0 A_SpawnItem("FIREBITGenerator",0,0,0,0) 
		MISL B 0 A_SpawnItem("FIREBITGenerator",0,0,0,0) 
		MISL B 0 A_SpawnItem("FIREBITGenerator",0,0,0,0) 
		MISL B 0 A_SpawnItem("FIREBITGenerator",0,0,0,0)    
		MISL B 8 BRIGHT
		MISL C 6 BRIGHT
		MISL D 4 BRIGHT
		Stop
	}
}

actor IMP : RandomSpawner replaces Doomimp
{
dropitem Doomimp
}


//===========================================================================
//
// Imp
//
//===========================================================================

actor NMIMPTORSO2
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 1.5
    RenderStyle OptFuzzy
    Alpha 0.5
states
	{
	Spawn:
	 IXD1 a 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 IXD1 B 4
	 IXD1 C 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 IXD1 a 0 A_PlaySound("gibs/gibpop")
	 IXD1 abc 2 A_SpawnDebris("HEADBlood",0) 
	 IXD1 D -1
	 stop
	}
}

actor IMPTORSO2
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 1.5
states
	{
	Spawn:
	 IXD1 a 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 IXD1 B 4
	 IXD1 C 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 IXD1 a 0 A_PlaySound("gibs/gibpop")
	 IXD1 abc 2 A_SpawnDebris("HEADBlood",0) 
	 IXD1 D -1
	 stop
	}
}

actor shredTORSO
{
health 1
radius 8
height 8
mass 1
+DROPOFF
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 2
states
	{
	Spawn:
	 shrd m 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 shrd M 4
	 loop
	Crash:
	 shrd m 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 shrd n 4
	 shrd o 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 shrd p 4 
	 shrd q 0 A_PlaySound("gibs/gibpop")
	 shrd q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 shrd q -1
	 stop
	}
}

actor shredhead
{
health 1
radius 8
height 8
mass 1
+DROPOFF
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 1
states
	{
	Spawn:
	 zhrd m 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 zhrd n 4
	 zhrd o 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 zhrd p 4
	 loop
	Crash:
	 zhrd q 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 zhrd q -1
	 stop
	}
}

actor shredrib
{
health 1
radius 8
height 8
mass 1
+DROPOFF
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 1
states
	{
	Spawn:
	 zhrd r 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 zhrd s 4
	 loop
	Crash:
	 zhrd t 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 rib1 abcdef 2
	 stop
	}
}

actor shredarm
{
health 1
radius 8
height 8
mass 1
+DROPOFF
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 1
states
	{
	Spawn:
	 zhrd u 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 zhrd v 4
	 loop
	Crash:
	 zhrd w 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 rib1 abcdef 2
	 stop
	}
}

Actor nightmareImp : DoomImp 3102
{
    Health 50
    Radius 20
    Height 56
    Speed 10
    PainChance 200
    MONSTER 
    +FLOORCLIP
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    Obituary "%o was burned by a nightmare imp."
    HitObituary "%o was slashed by a nightmare imp."
    RenderStyle OptFuzzy
    Alpha 0.5
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
    States
    {
    Spawn:
	  TRO3 AB 10 A_Look
	  Loop
    See:
	  TRO3 AABBCCDD 3 A_Chase
	  Loop
    Melee:
    Missile:
	  TRO3 EF 8 A_FaceTarget
	  TRO3 G 6 A_CustomComboAttack("DoomImpBall",32,2,"imp/melee")
	  Goto See
	Pain.Holotracer:
	Goto See
    Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
	  TRO3 H 2
	  TRO3 H 2 A_Pain
	  Goto See
    Pain.stun:
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
	goto see
    Death:
	  TRO3 H 0 A_Jump(128,"AltDeath","AltDeath2","Altdeath3")
	  TRO3 I 8
	  TRO3 J 8 A_Scream
	  TRO3 K 6
	  TRO3 L 6 A_Fall
	  TRO3 M -1
	  Stop
		AltDeath:
		ZROO N 6
		ZROO O 6 A_Scream
		ZROO P 5
		ZROO Q 5 A_NoBlocking
		ZROO RS 5 
		ZROO T -1 
		Stop
		AltDeath2:
		ZROO I 8
		ZROO J 8 A_Scream
		ZROO K 6
		ZROO L 6 A_NoBlocking
		ZROO M -1
		Stop
		AltDeath3:
		ZROO D 8
		ZROO E 8 A_Scream
		ZROO FEFE 6 A_SpawnDebris("HEADBlood",0)
		ZROO G 6 A_NoBlocking
		ZROO H -1
		Stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("imp/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	Death.saw:
		TNT1 A 0 A_Jump(64,"Death")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		iswd A 5 A_scream
		iswd b 1 A_SpawnDebris("HEADBlood",0)
		iswd b 1 A_SpawnDebris("HEADBlood",0) 
		iswd b 1 A_SpawnDebris("HEADBlood",0) 
		iswd b 1 A_SpawnDebris("HEADBlood",0)  
		iswd b 1 A_SpawnDebris("HEADBlood",0)  
		iswd C 1 A_SpawnDebris("HEADBlood",0)
		iswd C 1 A_SpawnDebris("HEADBlood",0) 
		iswd C 1 A_SpawnDebris("HEADBlood",0) 
		iswd C 1 A_SpawnDebris("HEADBlood",0)  
		iswd C 1 A_SpawnDebris("HEADBlood",0)  
		iswd D 5 A_NoBlocking
	 	TNT1 A 0 A_SpawnDebris("nmIMPTORSO2",0)
		iswd E 5 
		iswd FGH 5 
		iswd I -1
		stop
	Death.shred:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		TNT1 A 0 A_Jump(128,"death.shred3")
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	death.shred3:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		tnt1 A 0 A_PlaySound("blood/head")
		IXD4 A 4  A_XScream
	 	TNT1 A 0 A_SpawnDebris("SHREDhead",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
		IXD4 B 2  A_SpawnDebris("HEADBlood",0) 
		IXD4 B 2  A_SpawnDebris("HEADBlood",0)
		IXD4 C 4 A_NoBlocking
		IXD4 D -1
		stop

	XDeath:	
		TROO N 0 A_Jump(128,"XDeath2")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	TROO N 0 A_SpawnDebris("SpectreGib2",0)
	 	TROO N 0 A_SpawnDebris("SpectreGib11",0)
 	 	TROO N 0 A_SpawnDebris("SpectreGib1",0)
	 	TROO N 0 A_SpawnItem("SpectreGib8",0,0,0,0)
     		TROO N 5
	 	TROO O 0 A_SpawnItem("SpectreGib3",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    		TROO O 5 A_XScream
	 	TROO P 0 A_SpawnItem("SpectreGib5",0,0,0,0)
     		TROO P 5
	 	TROO Q 0 A_SpawnItem("SpectreGib7",0,0,0,0)
     		TROO Q 5 A_NoBlocking
     		TROO RST 5
     		TROO U -1
     		stop
	XDeath2:	
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	TROO N 0 A_SpawnDebris("SpectreGib2",0)
	 	TROO N 0 A_SpawnDebris("SpectreGib11",0)
 	 	TROO N 0 A_SpawnDebris("SpectreGib1",0)
 	 	TROO N 0 A_SpawnDebris("SpectreGib3",0)
		TNT1 A 0 A_NoBlocking
     		GBTI F 5 A_Scream
		TNT1 A 0 A_SpawnDebris("NMIMPTORSO",0)	 	
     		stop
	Death.UMDEATH:
	 	TROO N 0 A_SpawnDebris("NashGore_Gib9",0)
	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	TROO N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO N 5
	 	TROO O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    		TROO O 5 A_XScream
	 	TROO P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO P 5
	 	TROO Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO Q 5 A_NoBlocking
     		TROO RST 5
     		TROO U -1
     		stop
	Ice:
		troo v 0 A_SetTranslucent(1)
		troo v 5 A_FreezeDeath
		troo v 1 A_FreezeDeathChunks
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop
    Raise:
	  TRO3 ML 8
	  TRO3 KJI 6
	  Goto See
    }
}

Actor alternateImp : DoomImp 
{
    Health 50
    Radius 20
    Height 56
    Speed 10
    PainChance 200
    MONSTER 
    +FLOORCLIP
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    Obituary "%o was burned by a lesser imp."
    HitObituary "%o was slashed by lesser imp."
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
    States
    {
    Spawn:
	  TRO3 AB 10 A_Look
	  Loop
    See:
	  TRO3 AABBCCDD 3 A_Chase
	  Loop
    Melee:
    Missile:
	  TRO3 EF 8 A_FaceTarget
	  TRO3 G 6 A_CustomComboAttack("DoomImpBall",32,2,"imp/melee")
	  Goto See
	Pain.Holotracer:
	Goto See
    Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
	  TRO3 H 2
	  TRO3 H 2 A_Pain
	  Goto See
    Pain.stun:
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
		TRO3 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO3 H 6 A_Pain
	goto see
    Death:
	  TRO3 H 0 A_Jump(128,"AltDeath","AltDeath2","Altdeath3")
	  TRO3 I 8
	  TRO3 J 8 A_Scream
	  TRO3 K 6
	  TRO3 L 6 A_Fall
	  TRO3 M -1
	  Stop
		AltDeath:
		ZROO N 6
		ZROO O 6 A_Scream
		ZROO P 5
		ZROO Q 5 A_NoBlocking
		ZROO RS 5 
		ZROO T -1 
		Stop
		AltDeath2:
		ZROO I 8
		ZROO J 8 A_Scream
		ZROO K 6
		ZROO L 6 A_NoBlocking
		ZROO M -1
		Stop
		AltDeath3:
		ZROO D 8
		ZROO E 8 A_Scream
		ZROO FEFE 6 A_SpawnDebris("HEADBlood",0)
		ZROO G 6 A_NoBlocking
		ZROO H -1
		Stop
	Death.saw:
		TNT1 A 0 A_Jump(64,"Death")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		iswd A 5 A_scream
		iswd b 1 A_SpawnDebris("HEADBlood",0)
		iswd b 1 A_SpawnDebris("HEADBlood",0) 
		iswd b 1 A_SpawnDebris("HEADBlood",0) 
		iswd b 1 A_SpawnDebris("HEADBlood",0)  
		iswd b 1 A_SpawnDebris("HEADBlood",0)  
		iswd C 1 A_SpawnDebris("HEADBlood",0)
		iswd C 1 A_SpawnDebris("HEADBlood",0) 
		iswd C 1 A_SpawnDebris("HEADBlood",0) 
		iswd C 1 A_SpawnDebris("HEADBlood",0)  
		iswd C 1 A_SpawnDebris("HEADBlood",0)  
		iswd D 5 A_NoBlocking
	 	TNT1 A 0 A_SpawnDebris("IMPTORSO2",0)
		iswd E 5 
		iswd FGH 5 
		iswd I -1
		stop
	Death.shred:
		TNT1 A 0 A_Jump(128,"death.shred3")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	death.shred3:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		tnt1 A 0 A_PlaySound("blood/head")
		IXD4 A 4  A_XScream
	 	TNT1 A 0 A_SpawnDebris("SHREDhead",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
		IXD4 B 2  A_SpawnDebris("HEADBlood",0) 
		IXD4 B 2  A_SpawnDebris("HEADBlood",0)
		IXD4 C 4 A_NoBlocking
		IXD4 D -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("imp/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	XDeath:	
		TROO N 0 A_Jump(128,"XDeath2")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	TROO N 0 A_SpawnDebris("NashGore_Gib9",0)
	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	TROO N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO N 5
	 	TROO O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    		TROO O 5 A_XScream
	 	TROO P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO P 5
	 	TROO Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO Q 5 A_NoBlocking
     		TROO RST 5
     		TROO U -1
     		stop
	XDeath2:	
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	TROO N 0 A_SpawnDebris("NashGore_Gib9",0)
	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	TROO N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		TNT1 A 0 A_NoBlocking
     		GBTI F 5 A_Scream
		TNT1 A 0 A_SpawnDebris("IMPTORSO",0)	 	
     		stop
	Death.UMDEATH:
	 	TROO N 0 A_SpawnDebris("NashGore_Gib9",0)
	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	TROO N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO N 5
	 	TROO O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    		TROO O 5 A_XScream
	 	TROO P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO P 5
	 	TROO Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO Q 5 A_NoBlocking
     		TROO RST 5
     		TROO U -1
     		stop
	Ice:
		troo v 5 A_FreezeDeath
		troo v 1 A_FreezeDeathChunks
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop
    Raise:
	  TRO3 ML 8
	  TRO3 KJI 6
	  Goto See
    }
}

Actor AlphaImp : DoomImp 30123
{
    Health 120
    Radius 20
    Height 56
    Speed 7
    PainChance 200
    MONSTER 
    +FLOORCLIP
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    Obituary "%o was burned by an alpha-imp."
    HitObituary "%o was slashed by an alpha-imp."
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
    States
    {
    Spawn:
      TRO4 AB 10 A_Look
      Loop
    See:
      TRO4 AABBCCDD 3 A_Chase
      Loop
    Melee:
    Missile:
	  TRO4 EF 8 A_FaceTarget
      TNT1 A 0 A_Jump(128,2)
      TRO4 G 6 A_TroopAttack
      Goto See
      TRO4 G 6 A_CustomComboAttack("DoomImpBall",32,3,"imp/melee")
      Goto See
	Pain.Holotracer:
	Goto See
    Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
      TRO4 H 2
      TRO4 H 2 A_Pain
      Goto See
    Pain.stun:
		TRO4 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO4 H 6 A_Pain
		TRO4 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO4 H 6 A_Pain
		TRO4 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO4 H 6 A_Pain
		TRO4 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO4 H 6 A_Pain
		TRO4 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO4 H 6 A_Pain
		TRO4 H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TRO4 H 6 A_Pain
	goto see
    Death:
      TRO4 I 8
      TRO4 J 8 A_Scream
      TRO4 K 6
      TRO4 L 6 A_NoBlocking
      TRO4 M -1
      Stop
	Death.shred:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("imp/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	XDeath:	
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	TROO N 0 A_SpawnDebris("NashGore_Gib9",0)
	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	TROO N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO N 5
	 	TROO O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    		TROO O 5 A_XScream
	 	TROO P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO P 5
	 	TROO Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO Q 5 A_NoBlocking
     		TROO RST 5
     		TROO U -1
     		stop
	Ice:
		troo v 5 A_FreezeDeath
		troo v 1 A_FreezeDeathChunks
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop
    Raise:
      TRO4 ML 8
      TRO4 KJI 6
      Goto See
    }
} 

actor HEADBlood
{
 game Doom
 scale 0.75
 health 1
 radius 8
 height 1
 mass 1
 GRAVITY 0.5
+corpse
 +NOTELEPORT
 +NOblockmap
 states
 {
 Spawn:
  TNT1 A 0
  FBLD A 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD A 1 
  FBLD A 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD A 1
  FBLD B 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD B 1
  FBLD B 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD B 1
  FBLD C 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD C 1
  FBLD C 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD C 1
  FBLD D 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD D 1
  FBLD D 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD D 1
  loop
 crash:
  TNT1 A 1 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
  stop
 }
}

actor IMPTORSO
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 0.6
states
	{
	Spawn:
	 GBTI A 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 GBTI B 4
	 GBTI C 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 GBTI D 4 
	 loop
	Crash:
	 GBTI E 0 A_PlaySound("gibs/gibpop")
	 GBTI E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTI E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTI E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTI E -1
	 stop
	}
}

actor NMIMPTORSO
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
RenderStyle OptFuzzy
Alpha 0.5

GRAVITY 0.6
states
	{
	Spawn:
	 GBTI A 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 GBTI B 4
	 GBTI C 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 GBTI D 4 
	 loop
	Crash:
	 GBTI E 0 A_PlaySound("gibs/gibpop")
	 GBTI E 0 A_SpawnDebris("SpectreGib3",0)
	 GBTI E 0 A_SpawnDebris("SpectreGib5",0)
	 GBTI E 0 A_SpawnDebris("SpectreGib7",0)
	 GBTI E -1
	 stop
	}
}

ACTOR DoomImp2 : doomimp
{
	Game Doom
	SpawnID 5
	Health 60
	Radius 20
	Height 56
	Mass 100
	Speed 8
	PainChance 200
	Monster
	+FLOORCLIP
	SeeSound "imp/sight"
	PainSound "imp/pain"
	DeathSound "imp/death"
	ActiveSound "imp/active"
	HitObituary "$OB_IMPHIT"
	Obituary "$OB_IMP"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		TROO AB 10 A_Look
		Loop
	See:
		TROO AABBCCDD 3 A_Chase
		Loop
	Melee:
	Missile:
		TROO EF 8 A_FaceTarget
		TROO G 6 A_TroopAttack 
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		TROO H 2
		TROO H 2 A_Pain
		Goto See
    Pain.stun:
		TROO H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TROO H 6 A_Pain
		TROO H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TROO H 6 A_Pain
		TROO H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TROO H 6 A_Pain
		TROO H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TROO H 6 A_Pain
		TROO H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TROO H 6 A_Pain
		TROO H 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		TROO H 6 A_Pain
	goto see
	Death:
		TROO H 0 A_Jump(128,"AltDeath","AltDeath2","Altdeath3")
		TROO I 8
		TROO J 8 A_Scream
		TROO K 6
		TROO L 6 A_NoBlocking
		TROO M -1
		Stop
		AltDeath:
		ZROO N 6
		ZROO O 6 A_Scream
		ZROO P 5
		ZROO Q 5 A_NoBlocking
		ZROO RS 5 
		ZROO T -1 
		Stop
		AltDeath2:
		ZROO I 8
		ZROO J 8 A_Scream
		ZROO K 6
		ZROO L 6 A_NoBlocking
		ZROO M -1
		Stop
		AltDeath3:
		ZROO D 8
		ZROO E 8 A_Scream
		ZROO FEFE 6 A_SpawnDebris("HEADBlood",0)
		ZROO G 6 A_NoBlocking
		ZROO H -1
		Stop
	Death.saw:
		TNT1 A 0 A_Jump(64,"Death")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		iswd A 5 A_scream
		iswd b 1 A_SpawnDebris("HEADBlood",0)
		iswd b 1 A_SpawnDebris("HEADBlood",0) 
		iswd b 1 A_SpawnDebris("HEADBlood",0) 
		iswd b 1 A_SpawnDebris("HEADBlood",0)  
		iswd b 1 A_SpawnDebris("HEADBlood",0)  
		iswd C 1 A_SpawnDebris("HEADBlood",0)
		iswd C 1 A_SpawnDebris("HEADBlood",0) 
		iswd C 1 A_SpawnDebris("HEADBlood",0) 
		iswd C 1 A_SpawnDebris("HEADBlood",0)  
		iswd C 1 A_SpawnDebris("HEADBlood",0)  
		iswd D 5 A_NoBlocking
	 	TNT1 A 0 A_SpawnDebris("IMPTORSO2",0)
		iswd E 5 
		iswd FGH 5 
		iswd I -1
		stop
	Death.shred:
		TNT1 A 0 A_Jump(128,"death.shred3")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	death.shred3:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		tnt1 A 0 A_PlaySound("blood/head")
		IXD4 A 4  A_XScream
	 	TNT1 A 0 A_SpawnDebris("SHREDhead",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
		IXD4 B 2  A_SpawnDebris("HEADBlood",0) 
		IXD4 B 2  A_SpawnDebris("HEADBlood",0)
		IXD4 C 4 A_NoBlocking
		IXD4 D -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("imp/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	XDeath:	
		TROO N 0 A_Jump(128,"XDeath2")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	TROO N 0 A_SpawnDebris("NashGore_Gib9",0)
	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	TROO N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO N 5
	 	TROO O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    		TROO O 5 A_XScream
	 	TROO P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO P 5
	 	TROO Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO Q 5 A_NoBlocking
     		TROO RST 5
     		TROO U -1
     		stop
	XDeath2:	
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	TROO N 0 A_SpawnDebris("NashGore_Gib9",0)
	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	TROO N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		TNT1 A 0 A_NoBlocking
     		GBTI F 5 A_Scream
		TNT1 A 0 A_SpawnDebris("IMPTORSO",0)	 	
     		stop
	Death.UMDEATH:
	 	TROO N 0 A_SpawnDebris("NashGore_Gib9",0)
	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	TROO N 0 A_SpawnDebris("NashGore_Gib11",0)
	 	TROO N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO N 5
	 	TROO O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    		TROO O 5 A_XScream
	 	TROO P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO P 5
	 	TROO Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		TROO Q 5 A_NoBlocking
     		TROO RST 5
     		TROO U -1
     		stop
	Ice:
		troo v 5 A_FreezeDeath
		troo v 1 A_FreezeDeathChunks
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop
	Raise:
		TROO MLKJI 8
		Goto See
	}
}

ACTOR DoomImpBall
{
	Game Doom
	SpawnID 10
	Radius 6
	Height 8
	Speed 10
	FastSpeed 20
	Damage 3
	Projectile
	+RANDOMIZE
	RenderStyle Add
	Alpha 1
	+grenadetrail
	+DONTSPLASH
	+noextremedeath
	SeeSound "imp/attack"
	DeathSound "imp/shotx"
	States
	{
	Spawn:
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL1 A 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL1 A 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL1 A 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL1 A 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL1 B 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL1 B 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL1 B 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL1 B 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
		Loop
	Death:
		BAL1 CDE 6 BRIGHT
		Stop
	}
}

actor impSpawner : RandomSpawner replaces doomimp
{
dropitem doomimp2
dropitem doomimp2
dropitem alternateimp
dropitem alternateimp
dropitem alphaimp
}

//===========================================================================
//
// Sergeant / Shotgun guy
//
//===========================================================================

actor SGZOMBTORSO
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 0.6
states
	{
	Spawn:
	 GBTS A 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 GBTS B 4
	 GBTS C 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 GBTS D 4 
	 loop
	Crash:
	 GBTS E 0 A_PlaySound("gibs/gibpop")
	 GBTS E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTS E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTS E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTS E -1
	 stop
	}
}

actor SGZOMBTORSO2
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 1.5
states
	{
	Spawn:
	 sswd j 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 sswd k 4
	 sswd l 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 sswd j 0 A_PlaySound("gibs/gibpop")
	 sswd jklm 2 A_SpawnDebris("HEADBlood",0) 
	 sswd n -1
	 stop
	}
}


ACTOR ShotgunGuy 9
{
	Game Doom
	SpawnID 1
	Health 30
	Radius 20
	Height 56
	Mass 100
	Speed 8
	PainChance 170
	Monster
	+FLOORCLIP
	SeeSound "shotguy/sight"
	AttackSound "shotguy/attack"
	PainSound "shotguy/pain"
	DeathSound "shotguy/death"
	ActiveSound "shotguy/active"
	Obituary "$OB_SHOTGUY"
	DropItem "Shotguydrop"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		SPOS AB 10 A_Look
		Loop
	See:
		SPOS AABBCCDD 3 A_Chase
		Loop
	Missile:
		SPOS E 0 A_Jump(128,"Missile2")
		SPOS E 10 A_FaceTarget
		SPOS F 10 BRIGHT A_SposAttackUseAtkSound
		SPOS E 10
		Goto See
	Missile2:
		zpsg b 10 A_FaceTarget
		zpsg c 10 BRIGHT A_SposAttackUseAtkSound
		zpsg b 10
		zpsg b 0 A_Jump(64,"see") 
		zpsg b 10 A_CPosRefire
		Goto Missile2+1
	Pain.Holotracer:
	Goto See
	Pain.ice:
	Goto pain2
	Pain.bfgspray:
	Goto pain2
	Pain.laser:
	Goto pain2
	Pain.plasma:
	Goto pain2
	Pain.fire:
	Goto pain+2
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		SPOS G 0 A_Jump(128,"Pain2","Pain3")
		SPOS G 3
		SPOS G 3 A_Pain
		Goto See
	Pain2:
		SPOS G 3
		SPOS G 3 A_Pain
		Goto See
	Pain3:
		
		SPOS H 5 A_Pain
		SPOS H 0 A_unsetsolid
		SPOS H 0 A_SetInvulnerable
		SPOS H 0 A_unsetshootable
		SPOS IJK 5
		PSD2 I 200
		PSD2 I 0 A_PlaySound("grunt/sight")
		PSD2 J 0 A_UnsetInvulnerable
		PSD2 J 0 A_setsolid
		PSD2 J 0 A_setshootable
		PSD2 J 8
		Goto See
    Pain.stun:
		SPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SPOS G 6 A_Pain
		SPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SPOS G 6 A_Pain
		SPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SPOS G 6 A_Pain
		SPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SPOS G 6 A_Pain
		SPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SPOS G 6 A_Pain
		SPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SPOS G 6 A_Pain
	goto see
	Death:
		SPOS G 0 A_Jump(128,"AltDeath","AltDeath2","AltDeath3")
		SPOS H 5
		SPOS I 5 A_Scream
		SPOS J 5 A_NoBlocking
		SPOS K 5
		SPOS L -1
		Stop
		AltDeath:
		ZPOS H 5
		ZPOS I 5 A_Scream
		ZPOS J 5 A_NoBlocking
		ZPOS K 5
		ZPOS L -1
		Stop
		AltDeath2:
		PSD2 A 4
		PSD2 B 4 A_Scream
		PSD2 C 4 A_NoBlocking
		PSD2 DEF 4
		PSD2 G -1
		Stop
		AltDeath3:
		SPDH A 4
		SPDH B 4 A_PlayWeaponSound("blood/head")
		SPDH C 4 A_NoBlocking
		SPDH BCDEDE 4 A_SpawnDebris("HEADBlood",0)
		SPDH F 4
		SPDH G -1
		Stop
	Death.saw:
		TNT1 A 0 A_Jump(64,"Death")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		sswd A 4  A_Scream
		sswd B 1  A_SpawnDebris("HEADBlood",0) 
		sswd B 1  A_SpawnDebris("HEADBlood",0)
		sswd B 1  A_SpawnDebris("HEADBlood",0)
		sswd B 1  A_SpawnDebris("HEADBlood",0)
		sswd c 1  A_SpawnDebris("HEADBlood",0)
		sswd c 1  A_SpawnDebris("HEADBlood",0)
		sswd c 1  A_SpawnDebris("HEADBlood",0)
		sswd c 1  A_SpawnDebris("HEADBlood",0)
 	 	sswd c 0 A_SpawnDebris("NashGore_Gib11",0)
		sswd d 4 A_NoBlocking
	 	TNT1 A 0 A_SpawnDebris("SGZOMBTORSO2",0)
		sswd efgh 4 A_SpawnDebris("HEADBlood",0)
		sswd i -1
		stop
	Death.shred:
		TNT1 A 0 A_Jump(128,"death.shred3")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	death.shred3:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		sswd D 1  A_XScream
		tnt1 A 0 A_PlaySound("blood/head")
	 	TNT1 A 0 A_SpawnDebris("SHREDhead",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
		sswd D 2  A_SpawnDebris("HEADBlood",0) 
		sswd D 1  A_SpawnDebris("HEADBlood",0)
		sswd E 4 A_NoBlocking
		sswd fgh 4 A_SpawnDebris("HEADBlood",0)
		sswd i -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("grunt/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	XDeath:
		SPOS M 0 A_Jump(128,"XDeath2")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	SPOS M 0 A_SpawnDebris("NashGore_Gib9",0)
	 	SPOS M 0 A_SpawnDebris("NashGore_Gib10",0)
	 	SPOS M 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	SPOS M 0 A_SpawnDebris("NashGore_Gib11",0)
	 	SPOS M 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		SPOS M 5
	 	SPOS N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
     		SPOS N 5 A_XScream
	 	SPOS O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		SPOS O 5 A_NoBlocking
	 	SPOS P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     		SPOS PQRST 5
     		SPOS U -1
    		stop
	XDeath2:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	SPOS M 0 A_SpawnDebris("NashGore_Gib9",0)
		SPOS M 0 A_SpawnDebris("NashGore_Gib10",0)
		SPOS M 0 A_SpawnDebris("NashGore_Gib11",0)
 		SPOS M 0 A_SpawnDebris("NashGore_Gib11",0)
	 	SPOS M 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
      		GBTS A 5 A_NoBlocking
         	TNT1 A 0 A_Scream
	 	TNT1 A 0 A_SpawnDebris("SGZOMBTORSO",0)
         	stop
	 	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright 
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
	Ice:
		sPOS v 5 A_FreezeDeath
		sPOS v 1 A_FreezeDeathChunks
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop
	Raise:
		SPOS L 5
		SPOS KJIH 5
		Goto See
	}
}

actor Shotguydrop : RandomSpawner 
{
dropitem shell2
dropitem megashotgun
}

actor zombieSpawner : RandomSpawner replaces ZombieMan
{
dropitem zombspawner
}

actor zombSpawner : RandomSpawner
{
dropitem pistolzomb
dropitem pistolzomb
dropitem pistolzomb
dropitem pistolzomb
dropitem zomb
dropitem zomb
}

actor sciSpawner : RandomSpawner
{
dropitem zomsci
dropitem zomsci2
dropitem femsci
}

actor HOUNDTORSO
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 0.6
states
	{
	Spawn:
	 ROTD I 5 A_SpawnDebris("NashGore_FlyingBlood",1)
	 ROTD J 5
	 loop
	Crash:
	 ROTD L 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 ROTD L 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 ROTD L -1
	 stop
	}
}


actor Hound
{
  spawnid 8
  hitobituary "%o was mauled by a dog."
  health 20
  painchance 180
  speed 16
  radius 20
  height 48
  mass 75
  Meleedamage 3
  Meleerange 40
  seesound "dog/sight"
  attacksound "dog/attack"
  painsound "dog/pain"
  deathsound "dog/death"
  activesound "dog/active"
  Maxtargetrange 192
  Meleethreshold 96
  MONSTER
  +FLOORCLIP
  +FASTMELEE
  -CANUSEWALLS
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
  states
  {
  Spawn:
    ROTI A 10 A_Look
    loop
  See:
       ROTD AABBCCDD 2 A_Chase
       Loop
Missile:
    ROTD A 2 A_FaceTarget
    ROTD A 0 
    ROTD A 0 ThrustThingZ (0, 24, 0, 0)
    ROTD A 0 ThrustThing (angle*256/360, 12, 0, 0)
  JumpUp:
    ROTD B 8
  JumpDown:
    ROTD C 1 A_CheckFloor ("Land")
    loop
  Land:
    ROTD D 2 A_Stop
    goto See
  Melee:
    ROTD EF 4 A_FaceTarget
    ROTD G 4 A_MeleeAttack
    ROTD FE 4 A_FaceTarget
    Goto See
	Pain.Holotracer:
	Goto See
  Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
    ROTD A 2
    ROTD A 2 A_Pain
    Goto See
    Pain.stun:
		ROTD A 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		ROTD A 6 A_Pain
		ROTD A 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		ROTD A 6 A_Pain
		ROTD A 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		ROTD A 6 A_Pain
		ROTD A 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		ROTD A 6 A_Pain
		ROTD A 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		ROTD A 6 A_Pain
		ROTD A 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		ROTD A 6 A_Pain
	goto see
  Death:
    ROTD H 5 A_Scream
    ROTD I 5 A_NoBlocking
    ROTD J 5
    ROTD K -1
    Stop
   XDeath:
    DOGY O 0 A_Jump(128,"XDeath2")
    DOGY O 0 A_SpawnDebris("NashGore_Gib2",0)
    DOGY O 0 A_SpawnDebris("NashGore_Gib11",0)
    DOGY O 0 A_SpawnDebris("NashGore_Gib1",0)
    DOGY O 5
    DOGY P 0 A_SpawnDebris("NashGore_Gib8",0)
    DOGY P 5 A_XScream
    DOGY Q 0 A_SpawnDebris("NashGore_Gib3",0)
    DOGY Q 0 A_NoBlocking
    DOGY RSTUV 4 
    DOGY W -1
    stop
   XDeath2:	
	DOGY O 0 A_SpawnDebris("NashGore_Gib2",0)
	DOGY O 0 A_SpawnDebris("NashGore_Gib11",0)
 	DOGY O 0 A_SpawnDebris("NashGore_Gib1",0)
	TNT1 A 0 A_NoBlocking
     	DOGY H 5 A_Scream
	TNT1 A 0 A_SpawnDebris("HOUNDTORSO",0)	 	
     	stop
  Crush:
    TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
    stop
  Raise:
    ROTD KJIH 4
    Goto See
  }
}

ACTOR Zomsci
{
  Game Doom
  obituary "%o was axe-murdered by a zombie scientist."
  health 20
  mass 90
  speed 11
  Radius 20
  Height 52
  painchance 200
  seesound "grunt/sight"
  painsound "grunt/pain"
  deathsound "grunt/death"
  activesound "grunt/active"
  MONSTER
  +FLOORCLIP
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
  States
  {
   Spawn:
    SCZA AB 10 A_Look
    loop
  See:
    SCZA AABBCCDD 4 A_Chase
    loop
  Melee:
    SCZA E 8 A_FaceTarget
    SCZA F 16 A_CustomMeleeAttack (random (1, 5) *5, "KnifeHit", "weapons/wiff")
    SCZA E 4
    goto See
	Pain.Holotracer:
	Goto See
  Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
    SCZA G 3
    SCZA G 3 A_Pain
    goto See
    Pain.stun:
		SCZA G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZA G 6 A_Pain
		SCZA G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZA G 6 A_Pain
		SCZA G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZA G 6 A_Pain
		SCZA G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZA G 6 A_Pain
		SCZA G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZA G 6 A_Pain
		SCZA G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZA G 6 A_Pain
	goto see
  Death:
    SCZA H 0 A_Jump(128,"AltDeath","Death2","Death2")
    SCZA H 5
    SCZA I 5 A_Scream
    SCZA J 5 A_NoBlocking
    SCZA K 5
    SCZA L 5
    SCZA M 5
    SCZA N -1
    stop
  Death2:
    SCZA H 5
    SCZA I 5 A_Scream
    SCZA J 5 A_NoBlocking
    SCZA K 5
    SCZA L 5
    SCZA M 5
    SCZA N -1
    stop
AltDeath:
		SCIH A 4
		SCIH B 4 A_PlaySound("gibs/gibpop")
		SCIH C 4 A_NoBlocking
		SCIH BCDEDE 4 A_SpawnDebris("HEADBlood",0)
		SCIH F 4
		SCIH G -1
		Stop
	Death.shred:
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("grunt/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
  XDeath:
    SCZA O 0 A_SpawnDebris("NashGore_Gib9",0)
    SCZA O 0 A_SpawnDebris("NashGore_Gib10",0)
    SCZA O 0 A_SpawnDebris("NashGore_Gib11",0)
    SCZA O 0 A_SpawnDebris("NashGore_Gib11",0)
    SCZA O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    SCZA O 5
    SCZA P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    SCZA P 5 A_XScream
    SCZA Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    SCZA Q 5 A_NoBlocking
    SCZA R 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    SCZA RSTUV 5
    SCZA W -1
    stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
  Crush:
    TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
    stop
  Raise:
    SCZA MLKJIH 5
    goto See
  }
}

ACTOR ZomSci2
{
  Game Doom
  obituary "%o was prised open by a zombie scientist."
  health 20
  mass 90
  speed 11
  Radius 20
  Height 52
  painchance 200
  seesound "grunt/sight"
  painsound "grunt/pain"
  deathsound "grunt/death"
  activesound "grunt/active"
  MONSTER
  +FLOORCLIP
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
  States
  {
   Spawn:
    SCZC AB 10 A_Look
    loop
  See:
    SCZC AABBCCDD 4 A_Chase
    loop
  Melee:
    SCZC E 8 A_FaceTarget
    SCZC F 16 A_CustomMeleeAttack (random (1, 5) *5, "CrowbarHit", "weapons/wiff")
    SCZC E 4
    goto See
	Pain.Holotracer:
	Goto See
  Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
    SCZC G 3
    SCZC G 3 A_Pain
    goto See
    Pain.stun:
		SCZC G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZC G 6 A_Pain
		SCZC G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZC G 6 A_Pain
		SCZC G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZC G 6 A_Pain
		SCZC G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZC G 6 A_Pain
		SCZC G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZC G 6 A_Pain
		SCZC G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZC G 6 A_Pain
	goto see
  Death:
    SCZC H 0 A_Jump(128,"AltDeath","Death2","Death2")
    SCZC H 5
    SCZC I 5 A_Scream
    SCZC J 5 A_NoBlocking
    SCZC K 5
    SCZC L 5
    SCZC M 5
    SCZC N -1
    stop
  Death2:
    SCZC H 5
    SCZC I 5 A_Scream
    SCZC J 5 A_NoBlocking
    SCZC K 5
    SCZC L 5
    SCZC M 5
    SCZC N -1
    stop
AltDeath:
		SCIH A 4
		SCIH B 4 A_PlaySound("gibs/gibpop")
		SCIH C 4 A_NoBlocking
		SCIH BCDEDE 4 A_SpawnDebris("HEADBlood",0)
		SCIH F 4
		SCIH G -1
		Stop
	Death.shred:
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("grunt/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
  XDeath:
    SCZA O 0 A_SpawnDebris("NashGore_Gib9",0)
    SCZA O 0 A_SpawnDebris("NashGore_Gib10",0)
    SCZA O 0 A_SpawnDebris("NashGore_Gib11",0)
    SCZA O 0 A_SpawnDebris("NashGore_Gib11",0)
    SCZA O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    SCZA O 5
    SCZA P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    SCZA P 5 A_XScream
    SCZA Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    SCZA Q 5 A_NoBlocking
    SCZA R 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    SCZA RSTUV 5
    SCZA W -1
    stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright 
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
  Crush:
    TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
    stop
  Raise:
    SCZC MLKJIH 5
    goto See
  }
}


ACTOR Femsci
{
  Game Doom
  obituary "%o was bludgeoned to death by a zombie scientist."
  health 20
  mass 90
  speed 11
  Radius 19
  Height 52
  painchance 200
  seesound "fem/sight"
  painsound "fem/pain"
  deathsound "fem/death"
  activesound "grunt/active"
  MONSTER
  +FLOORCLIP
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
  States
  {
   Spawn:
    FSZW AB 10 A_Look
    loop
  See:
    FSZW AABBCCDD 4 A_Chase
    loop
  Melee:
    FSZW E 4 A_FaceTarget
    FSZW F 16 A_CustomMeleeAttack (random (1, 5) *5, "CrowbarHit", "weapons/wiff")
    FSZW D 4
    goto See
	Pain.Holotracer:
	Goto See
  Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
    FSZW G 3
    FSZW G 3 A_Pain
    goto See
    Pain.stun:
		SCZW G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZW G 6 A_Pain
		SCZW G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZW G 6 A_Pain
		SCZW G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZW G 6 A_Pain
		SCZW G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZW G 6 A_Pain
		SCZW G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZW G 6 A_Pain
		SCZW G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SCZW G 6 A_Pain
	goto see
  Death:
    FSZW H 5
    FSZW I 5 A_Scream
    FSZW J 5 A_NoBlocking
    FSZW K 5
    FSZW L 5
    FSZW M 5
    FSZW N -1
    stop
	Death.shred:
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("fem/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("fem/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("fem/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("fem/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("fem/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
  XDeath:
    FSZW O 0 A_SpawnDebris("NashGore_Gib9",0)
    FSZW O 0 A_SpawnDebris("NashGore_Gib10",0)
    FSZW O 0 A_SpawnDebris("NashGore_Gib11",0)
    FSZW O 0 A_SpawnDebris("NashGore_Gib11",0)
    FSZW O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    FSZW O 5
    FSZW P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
    FSZW P 5 A_XScream
    FSZW Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    FSZW Q 5 A_NoBlocking
    FSZW R 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
    FSZW RSTUV 5
    FSZW W -1
    stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright 
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
  Crush:
    TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
    stop
  Raise:
    FSZW MLKJIH 5
    goto See
  }
}

//===========================================================================
//
// Zombie man
//
//===========================================================================

actor zombdrop : RandomSpawner 
{
dropitem SMG
dropitem clip
dropitem clip
dropitem clip
dropitem clip
dropitem clip
dropitem clip
dropitem clip
}

actor pistolzombdrop : RandomSpawner 
{
dropitem Pistol2
dropitem clip
dropitem clip
dropitem clip
dropitem clip
dropitem clip
}


actor ZOMBTORSO
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 0.6
states
	{
	Spawn:
	 GBTZ A 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 GBTZ B 4
	 GBTZ C 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 GBTZ D 4 
	 loop
	Crash:
	 GBTZ E 0 A_PlaySound("gibs/gibpop")
	 GBTZ E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTZ E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTZ E 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
	 GBTZ E -1
	 stop
	}
}

actor ZOMBTORSO2
{
health 1
radius 8
height 8
mass 1
+FLOORCLIP
+CORPSE
+NOTELEPORT
GRAVITY 1.5
states
	{
	Spawn:
	 Zswd j 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 Zswd k 4
	 Zswd l 4 A_SpawnDebris("NashGore_FlyingBlood",1)
	 loop
	Crash:
	 Zswd j 0 A_PlaySound("gibs/gibpop")
	 Zswd jklm 2 A_SpawnDebris("HEADBlood",0) 
	 Zswd n -1
	 stop
	}
}

ACTOR zomb 
{
	Game Doom
	SpawnID 4
	Health 20
	Radius 20
	Height 56
	Speed 8
	PainChance 200
	Monster
	+FLOORCLIP
	SeeSound "grunt/sight"
	PainSound "grunt/pain"
	DeathSound "grunt/death"
	ActiveSound "grunt/active"
	Obituary "$OB_ZOMBIE"
	DropItem "clip"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		POSS AB 10 A_Look
		Loop
	See:
		POSS AABBCCDD 4 A_Chase
		Loop
	Missile:
		POSS E 0 A_Jump(128,"Missile2")
		POSS E 10 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 2 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 2 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 4
		Goto See
	Missile2:
		POSS E 0 A_Jump(128,"Missile3")
		POSS E 10 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 2 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 2 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 2 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 4
		Goto See
	Missile3:
		POSS E 10 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 2 A_FaceTarget
		POSS F 0 bright A_PlaySound("weapons/smgfire")
		POSS F 2 bright A_CustomBulletAttack(10,10,1,1.5,"BulletPuff")
		POSS E 4
		Goto See
	Pain.Holotracer:
	Goto See
	Pain.ice:
	Goto pain+2
	Pain.bfgspray:
	Goto pain+2
	Pain.laser:
	Goto pain+2
	Pain.plasma:
	Goto pain+2
	Pain.fire:
	Goto pain+2
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		POSS G 0 A_Jump(128,"Pain2")
		POSS G 3
		POSS G 3 A_Pain
		Goto See
	Pain2:
		
		POSS H 5 A_Pain
		POSS H 0 A_unsetsolid
		POSS H 0 A_SetInvulnerable
		POSS H 0 A_unsetshootable
		POSS IJK 5
		PSD1 I 200
		PSD1 I 0 A_PlaySound("grunt/sight")
		PSD1 J 0 A_UnsetInvulnerable
		PSD1 J 0 A_setsolid
		POSS J 0 A_setshootable
		PSD1 J 8
		Goto See
    Pain.stun:
		POSS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		POSS G 6 A_Pain
		POSS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		POSS G 6 A_Pain
		POSS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		POSS G 6 A_Pain
		POSS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		POSS G 6 A_Pain
		POSS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		POSS G 6 A_Pain
		POSS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		POSS G 6 A_Pain
	  Goto See
	Death:
		POSS G 0 A_Jump(128,"AltDeath","AltDeath2","AltDeath3")
		POSS H 5
		POSS I 5 A_Scream
		POSS J 5 A_NoBlocking
		POSS K 5
		POSS L -1
		Stop
		AltDeath:
		QOSS H 5
		QOSS I 5 A_Scream
		QOSS J 5 A_NoBlocking
		QOSS K 5
		QOSS L -1
		Stop
		AltDeath2:
		PSD1 A 4
		PSD1 B 4 A_Scream
		PSD1 C 4 A_NoBlocking
		PSD1 DEFG 4
		PSD1 H -1
		Stop
		AltDeath3:
		SPDH H 8
		SPDH I 4 A_Scream
		SPDH J 4 A_NoBlocking
		SPDH IJIJIL 6 A_SpawnDebris("HEADBlood",0)
		SPDH L 4
		SPDH M -1
		Stop
	Death.saw:
		TNT1 A 0 A_Jump(64,"Death")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		Zswd A 4  A_Scream
		Zswd B 1  A_SpawnDebris("HEADBlood",0) 
		Zswd B 1  A_SpawnDebris("HEADBlood",0)
		Zswd B 1  A_SpawnDebris("HEADBlood",0)
		Zswd B 1  A_SpawnDebris("HEADBlood",0)
		Zswd c 1  A_SpawnDebris("HEADBlood",0)
		Zswd c 1  A_SpawnDebris("HEADBlood",0)
		Zswd c 1  A_SpawnDebris("HEADBlood",0)
		Zswd c 1  A_SpawnDebris("HEADBlood",0)
 	 	Zswd c 0 A_SpawnDebris("NashGore_Gib11",0)
		Zswd d 4 A_NoBlocking
	 	TNT1 A 0 A_SpawnDebris("ZOMBTORSO2",0)
		Zswd efgh 4 A_SpawnDebris("HEADBlood",0)
		Zswd i -1
		stop
	Death.shred:
		shrd A 0 A_Jump(128,"death.shred3")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	death.shred3:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		zswd D 1  A_XScream
		tnt1 A 0 A_PlaySound("blood/head")
	 	TNT1 A 0 A_SpawnDebris("SHREDhead",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
		zswd D 2  A_SpawnDebris("HEADBlood",0)
		zswd D 1  A_SpawnDebris("HEADBlood",0)
		zswd E 4 A_NoBlocking
		zswd fgh 4 A_SpawnDebris("HEADBlood",0)
		zswd i -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("grunt/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	XDeath:
		POSS M 0 A_Jump(128,"XDeath2")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	POSS M 0 A_SpawnDebris("NashGore_Gib9",0)
		POSS M 0 A_SpawnDebris("NashGore_Gib10",0)
		POSS M 0 A_SpawnDebris("NashGore_Gib11",0)
 		POSS M 0 A_SpawnDebris("NashGore_Gib11",0)
	 	POSS M 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
      		POSS M 5
	 	POSS N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
         	POSS N 5 A_XScream
	 	POSS O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
         	POSS O 5 A_NoBlocking
	 	POSS P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
         	POSS PQRST 5
         	POSS U -1
         	stop
	XDeath2:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	POSS M 0 A_SpawnDebris("NashGore_Gib9",0)
		POSS M 0 A_SpawnDebris("NashGore_Gib10",0)
		POSS M 0 A_SpawnDebris("NashGore_Gib11",0)
 		POSS M 0 A_SpawnDebris("NashGore_Gib11",0)
	 	POSS M 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
      		GBTZ A 5 A_NoBlocking
         	TNT1 A 0 A_Scream
	 	TNT1 A 0 A_SpawnDebris("ZOMBTORSO",0)
         	stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright 
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
	Ice:
		POsS v 5 A_FreezeDeath
		POsS v 1 A_FreezeDeathChunks
		Wait
	 	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop

	Raise:
		POSS K 5
		POSS JIH 5
		Goto See
	}
}

ACTOR pistolzomb 
{
	Game Doom
	SpawnID 4
	Health 20
	Radius 20
	Height 56
	Speed 8
	PainChance 200
	Monster
	+FLOORCLIP
	SeeSound "grunt/sight"
	AttackSound "grunt/attack"
	PainSound "grunt/pain"
	DeathSound "grunt/death"
	ActiveSound "grunt/active"
	Obituary "$OB_ZOMBIE"
	DropItem "pistolzombdrop"
	dropitem "nashgore_bloodpool" 70
DamageFactor "slime", 0
	States
	{
	Spawn:
		PPOS AB 10 A_Look
		Loop
	See:
		PPOS AABBCCDD 4 A_Chase
		Loop
	Missile:
		PPOS E 10 A_FaceTarget
		PPOS F 8 A_PosAttack
		PPOS E 8
		Goto See
	Pain.Holotracer:
	Goto See
	Pain.ice:
	Goto pain+2
	Pain.bfgspray:
	Goto pain+2
	Pain.laser:
	Goto pain+2
	Pain.plasma:
	Goto pain+2
	Pain.fire:
	Goto pain+2
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		PPOS G 0 A_Jump(128,"Pain2")
		PPOS G 3
		PPOS G 3 A_Pain
		Goto See
	Pain2:
		
		PPOS H 5 A_Pain
		PPOS H 0 A_unsetsolid
		PPOS H 0 A_SetInvulnerable
		PPOS H 0 A_unsetshootable
		POSS IJK 5
		PSD1 K 200
		PSD1 K 0 A_PlaySound("grunt/sight")
		PSD1 L 0 A_UnsetInvulnerable
		PSD1 L 0 A_setsolid
		PSD1 L 0 A_setshootable
		PSD1 L 8
		Goto See
    Pain.stun:
		PPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PPOS G 6 A_Pain
		PPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PPOS G 6 A_Pain
		PPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PPOS G 6 A_Pain
		PPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PPOS G 6 A_Pain
		PPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PPOS G 6 A_Pain
		PPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PPOS G 6 A_Pain
	  Goto See
	Death:
		PPOS G 0 A_Jump(128,"AltDeath","AltDeath2","AltDeath3")
		PPOS H 5
		POSS I 5 A_Scream
		POSS J 5 
		POSS K 5
		POSS L -1 A_NoBlocking
		Stop
		AltDeath:
		QOSS M 5
		QOSS N 5 A_Scream
		QOSS O 5 
		QOSS K 5
		QOSS L -1 A_NoBlocking
		Stop
		AltDeath2:
		PSD1 A 4
		PSD1 B 4 A_Scream
		PSD1 C 4 
		PSD1 DEFG 4
		PSD1 H -1 A_NoBlocking
		Stop
		AltDeath3:
		SPDH H 8
		SPDH I 4 A_Scream
		SPDH J 4 
		SPDH IJIJIL 6 A_SpawnDebris("HEADBlood",0)
		SPDH L 4
		SPDH M -1 A_NoBlocking
		Stop
	Death.saw:
		TNT1 A 0 A_Jump(64,"Death")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		Zswd A 4  A_Scream
		Zswd B 1  A_SpawnDebris("HEADBlood",0) 
		Zswd B 1  A_SpawnDebris("HEADBlood",0)
		Zswd B 1  A_SpawnDebris("HEADBlood",0)
		Zswd B 1  A_SpawnDebris("HEADBlood",0)
		Zswd c 1  A_SpawnDebris("HEADBlood",0)
		Zswd c 1  A_SpawnDebris("HEADBlood",0)
		Zswd c 1  A_SpawnDebris("HEADBlood",0)
		Zswd c 1  A_SpawnDebris("HEADBlood",0)
 	 	Zswd c 0 A_SpawnDebris("NashGore_Gib11",0)
		Zswd d 4 A_NoBlocking
	 	TNT1 A 0 A_SpawnDebris("ZOMBTORSO2",0)
		Zswd efgh 4 A_SpawnDebris("HEADBlood",0)
		Zswd i -1
		stop
	Death.shred:
		shrd A 0 A_Jump(128,"death.shred3")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 
		shrd E 5 
		shrd F 5 
		shrd g -1 A_NoBlocking
		stop
	death.shred3:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		zswd D 1  A_XScream
		tnt1 A 0 A_PlaySound("blood/head")
	 	TNT1 A 0 A_SpawnDebris("SHREDhead",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDrib",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
	 	TNT1 A 0 A_SpawnDebris("SHREDarm",0)
		zswd D 2  A_SpawnDebris("HEADBlood",0)
		zswd D 1  A_SpawnDebris("HEADBlood",0)
		zswd E 4 
		zswd fgh 4 A_SpawnDebris("HEADBlood",0)
		zswd i -1 A_NoBlocking
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("grunt/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	XDeath:
		POSS M 0 A_Jump(128,"XDeath2")
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	POSS M 0 A_SpawnDebris("NashGore_Gib9",0)
		POSS M 0 A_SpawnDebris("NashGore_Gib10",0)
		POSS M 0 A_SpawnDebris("NashGore_Gib11",0)
 		POSS M 0 A_SpawnDebris("NashGore_Gib11",0)
	 	POSS M 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
      		POSS M 5
	 	POSS N 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
         	POSS N 5 A_XScream
	 	POSS O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
         	POSS O 5 A_NoBlocking
	 	POSS P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
         	POSS PQRST 5
         	POSS U -1
         	stop
	XDeath2:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	POSS M 0 A_SpawnDebris("NashGore_Gib9",0)
		POSS M 0 A_SpawnDebris("NashGore_Gib10",0)
		POSS M 0 A_SpawnDebris("NashGore_Gib11",0)
 		POSS M 0 A_SpawnDebris("NashGore_Gib11",0)
	 	POSS M 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
      		GBTZ A 5 A_NoBlocking
         	TNT1 A 0 A_Scream
	 	TNT1 A 0 A_SpawnDebris("ZOMBTORSO",0)
         	stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright 
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
	Ice:
		POsS W 5 A_FreezeDeath
		POsS W 1 A_FreezeDeathChunks
		Wait
	 	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	 	stop

	Raise:
		POSS K 5
		POSS JI 5
		PPOS H 5
		Goto See
	}
}

actor CACOGore_GibGenerator 
{ 
bloodcolor "12 2 F0"
states 
	{ 
	Spawn: 
     TNT1 A 0 
     TNT1 A 0 A_Jump(128, 8) 
     TNT1 A 0 A_Jump(128, 4) 
     TNT1 A 0 A_Jump(128, 2) 
     TNT1 A 1 A_SpawnDebris("CACO_Gib1") 
     stop 
     TNT1 A 1 A_SpawnDebris("CACO_Gib2") 
     stop 
     TNT1 A 0 A_Jump(128, 2) 
     TNT1 A 1 A_SpawnDebris("CACO_Gib1") 
     stop 
     TNT1 A 1 A_SpawnDebris("CACO_Gib3") 
     stop 
     TNT1 A 0 A_Jump(128, 4) 
     TNT1 A 0 A_Jump(128, 2) 
     TNT1 A 1 A_SpawnDebris("CACO_Gib2") 
     stop 
     TNT1 A 1 A_SpawnDebris("CACO_Gib2") 
     stop 
     TNT1 A 0 A_Jump(128, 2) 
     TNT1 A 1 A_SpawnDebris("CACO_Gib2") 
     stop 
     TNT1 A 1 A_SpawnDebris("CACO_Gib2") 
     stop 
   } 
} 

actor CACO_Gib1
{
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 CGIB FGHIJKL 3
	 loop
	Crash:
	 CGIB M 900
	 stop
	}
}

actor CACO_Gib2
{
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 CGIB NOPQ 3 
	 loop
	Crash:
	 CGIB R 900
	 stop
	}
}

actor CACO_Gib3
{
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 CGIB STUVW 3 
	 loop
	Crash:
	 CGIB X 900
	 stop
	}
}


actor cacoeye
{
health 1
radius 8
height 8
mass 1
+CORPSE
+NOTELEPORT
GRAVITY 0.4
scale 0.8
+floorclip
states
	{
	Spawn:
	 CGIB Abcd 1 
	 loop
	Crash:
	tnt1 A 0 A_SetScale(1, 1)
	 CGIB e 900
	 stop
	}
}

actor cacohorngib1
{
health 1
radius 8
height 8
mass 1
+CORPSE
+NOTELEPORT
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 XDT6 E 1 
	 loop
	Crash:
	 XDT6 E 900
	 stop
	}
}

actor cacohorngib2
{
health 1
radius 8
height 8
mass 1
+CORPSE
+NOTELEPORT
SCALE 0.75
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 XDT6 B 1 
	 loop
	Crash:
	 XDT6 B 900
	 stop
	}
}

//////cacoblood///////


ACTOR cacobloodbolt
{
	Game Doom
	Radius 10
	Height 10
	Speed 10
	Damage 0
	Projectile
	+noblockmap
	+noteleport
	GRAVITY 0.3
	-randomize
	- NOGRAVITY
	MASS  1
	scale 0.75

	  decal "cacobloodsplat"
	Obituary "how did blood kill someone!?"
	DONTHURTSHOOTER
	States
	{
	Spawn:
		CGIB f 2 
		cgib fgh 2 
		cgib i 2 
		cgib jkl 2  
		CGIB f 2 
		cgib fgh 2 
		cgib i 2 
		cgib jkl 2  
		CGIB f 2 
		cgib fgh 2 
		cgib i 2 
		cgib jkl 2  
	goto death
	death:	
  	TNT1 A 2 A_PlaySound("bloodsplat")
	stop
}
}

actor caco_FlyingBlood
{
 game Doom
 scale 0.75
 health 1
 radius 8
 height 1
 mass 1
 GRAVITY 0.5
 +CORPSE
 +NOTELEPORT
 +NOBLOCKMAP
translation "16:47=192:207","168:191=192:207"
 states
 {
 Spawn:
  TNT1 A 0
  FBLD A 1 A_SpawnItem("caco_FlyingBloodTrail",0,0,0,1)
  FBLD A 1 
  FBLD A 1 A_SpawnItem("caco_FlyingBloodTrail",0,0,0,1)
  FBLD A 1
  FBLD B 1 A_SpawnItem("caco_FlyingBloodTrail",0,0,0,1)
  FBLD B 1
  FBLD B 1 A_SpawnItem("caco_FlyingBloodTrail",0,0,0,1)
  FBLD B 1
  FBLD C 1 A_SpawnItem("caco_FlyingBloodTrail",0,0,0,1)
  FBLD C 1
  FBLD C 1 A_SpawnItem("caco_FlyingBloodTrail",0,0,0,1)
  FBLD C 1
  FBLD D 1 A_SpawnItem("caco_FlyingBloodTrail",0,0,0,1)
  FBLD D 1
  FBLD D 1 A_SpawnItem("caco_FlyingBloodTrail",0,0,0,1)
  FBLD D 1
  loop
 Crash:
  TNT1 A 1 A_SpawnItem("caco_BloodSpot",0,0,0,1)
  stop
 }
}

actor caco_BloodSpot
{
 game Doom
 radius 12
 height 2
 mass 1
 +NOTELEPORT
 -NOBLOCKMAP
translation "16:47=192:207","168:191=192:207"
 states
 {
 Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("bloodsplat")
	rib1 abcdef 2
Bpud A 2 A_SetScale(0.1, 0.03)
Bpud A 2 A_SetScale(0.2, 0.04)
Bpud A 2 A_SetScale(0.3, 0.05)
  TNT1 A 0 A_SetScale(0.4, 0.06)
 tnt1 a 0 A_SetTranslucent(0.8, 0)
  TNT1 A 0 A_Jump(64,4)
  TNT1 A 0 A_Jump(128,4)
  TNT1 A 0 A_Jump(192,4)
  TNT1 A 0 A_Jump(255,4)
  // make the blood spots stay on the ground. 1500 is the default duration.
  Bpud A 500
  goto goaway
  Bpud B 500
  goto goaway
  Bpud C 500
  goto goaway
  Bpud D 500
  goto goaway
goaway:
bpud A 2 A_SetScale(0.3, 0.05)
Bpud A 2 A_SetScale(0.2, 0.04)
Bpud A 2 A_SetScale(0.1, 0.03)
stop
 }
}

actor caco_FlyingBloodTrail
{
 game Doom
 scale 0.70
 mass 1
 +LOWGRAVITY
 +NOTELEPORT
 +NOBLOCKMAP
translation "16:47=192:207","168:191=192:207"
 states
 {
  Spawn:
  BTRL A 4
  BTRL B 4
  BTRL C 4
  BTRL D 4
  stop
 }
}


//===========================================================================
//
// Cacodemon
//
//===========================================================================
ACTOR Cacodemon 3005
{
	Game Doom
	SpawnID 19
	Health 400
	Radius 31
	Height 56
	Mass 400
	Speed 8
	PainChance 128
	Monster
	+FLOAT +NOGRAVITY
	SeeSound "caco/sight"
	PainSound "caco/pain"
	DeathSound "caco/death"
	ActiveSound "caco/active"
	Obituary "$OB_CACO"
	HitObituary "$OB_CACOHIT"
	bloodcolor "12 2 F0"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpoolblue" 70
	States
	{
	Spawn:
		HEAD A 10 A_Look
		Loop
	See:
		HEAD A 3 A_Chase
		Loop
	Missile:
		HEAD B 5 A_FaceTarget
		HEAD C 5 A_FaceTarget
		HEAD D 5 BRIGHT A_HeadAttack
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotBlueBloodOnSaw",128,RGF_PLAYERS,1)
		HEAD E 0 A_Jump(128,"pain2")
		HEAD E 3 
		HEAD E 3 A_Pain
		HEAD F 6
		Goto See
	Pain2:
		HEAD E 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		HEAD E 3 
		HEAD E 3 A_Pain
		HEAD F 6
		Goto See
    Pain.stun:
		HEAD E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		HEAD E 6 A_Pain
		HEAD E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		HEAD E 6 A_Pain
		HEAD E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		HEAD E 6 A_Pain
		HEAD E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		HEAD E 6 A_Pain
		HEAD E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		HEAD E 6 A_Pain
		HEAD E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		HEAD E 6 A_Pain
	  Goto See
	Death:
		HEAD F 0 A_Jump(128,"AltDeath")
		HEAD G 8
		HEAD H 8 A_Scream
		HEAD I 8
		HEAD J 8
		HEAD K 8 A_NoBlocking
		HEAD L -1 A_SetFloorClip
		Stop
Death.shred:
goto xdeath
	Death.shred_old:
  TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
		HEAD M 8
		HEAD N 8 A_Scream
		HEAD O 8
		HEAD PQ 8
		HEAD R 8 A_NoBlocking
		HEAD S -1 A_SetFloorClip
		Stop
	Death.saw:
  TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		HEAD g 8
		HEAD h 8 A_Scream
		scac a 2 A_SpawnDebris("caco_FlyingBlood",0)
		scac a 2 
		scac a 2 A_SpawnDebris("caco_FlyingBlood",0)
		scac a 2 
		scac b 2 A_SpawnDebris("caco_FlyingBlood",0)
		scac b 2 
		scac b 2 A_SpawnDebris("caco_FlyingBlood",0)
		scac b 2
		scac c 8 A_NoBlocking
		scac d -1 A_SetFloorClip
		Stop
	AltDeath:
		HEAD G 8
		ZEAD H 8 A_Scream
		ZEAD I 0 A_SpawnDebris("cacoeye",0)
		ZEAD I 8 
		ZEAD J 8
		ZEAD K 8 A_NoBlocking
		ZEAD L -1 A_SetFloorClip
		Stop
	XDeath2:
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		ZEAD W 6 A_XScream
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		ZEAD W 0 A_NoBlocking
		ZEAD R 2 A_SpawnDebris("cacohorngib1",0)
		ZEAD R 2 A_SpawnDebris("caco_FlyingBlood",0)
		ZEAD R 1 A_SpawnDebris("cacohorngib2",0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		ZEAD S 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		ZEAD S 2 A_SpawnDebris("caco_FlyingBlood",0)
		ZEAD S 1 A_SpawnDebris("cacoeye",0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		ZEAD T 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		ZEAD T 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		ZEAD T 1 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		ZEAD U 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		ZEAD U 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		ZEAD U 1 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		ZEAD v -1  
		Stop
	XDeath:
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("cacobloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("cacobloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
		tnt1 A 0 A_PlaySound("blood/head")
		cjib b 6 A_XScream
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		cjib a 0 A_NoBlocking
		cjib c 2 A_SpawnDebris("cacohorngib1",0)
		cjib c 2 A_SpawnDebris("caco_FlyingBlood",0)
		cjib c 1 A_SpawnDebris("cacohorngib2",0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		cjib d 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		cjib d 2 A_SpawnDebris("caco_FlyingBlood",0)
		cjib d 1 A_SpawnDebris("cacoeye",0)
     TNT1 A 0 A_SpawnDebris("CACO_Gib1") 
     TNT1 A 0 A_SpawnDebris("CACO_Gib1") 
     TNT1 A 0 A_SpawnDebris("CACO_Gib1") 
     TNT1 A 0 A_SpawnDebris("CACO_Gib1") 
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		cjib e 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		cjib e 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		cjib e 1 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		cjib f 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		cjib f 2 A_SpawnItem("CACOGore_GibGenerator",0,0,0,0)
		cjib f 1 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		tnt1 a 0 A_SpawnDebris("caco_FlyingBlood",0)
		cjib gh 5
		cjib i -1  
		Stop
	Death.bouncer:
		tnt1 A 0 A_Jump(200,"XDeath")
		goto death
	Death.blasted:
		tnt1 A 0 A_Jump(200,"XDeath")
		goto death
	Ice:
		head z 0 a_gravity
		head z 5 A_FreezeDeath
		head z 1 A_FreezeDeathChunks
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedMediumBlue",0,0,0,0)
	 	stop
	Raise:
		HEAD L 8 A_UnSetFloorClip
		HEAD KJIHG 8
		Goto See
	}
}

ACTOR CacodemonBall
{
	Game Doom
	SpawnID 126
	Radius 6
	Height 8
	Speed 10
	FastSpeed 20
	Damage 5
	Projectile 
	+RANDOMIZE
	+grenadetrail
	+noextremedeath
	RenderStyle Add
	Alpha 1
	SeeSound "caco/attack"
	DeathSound "caco/shotx"
	States
	{
	Spawn:
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL2 A 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL2 A 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL2 A 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL2 A 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL2 B 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL2 B 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL2 B 1 BRIGHT 
    tnt1 A 0 BRIGHT A_Spawnitem("PLASMAGlare",0,-15,0,0)
		BAL2 B 1 BRIGHT 
     		 tnt1 a 0  A_Playsound("monster/bal1fly")
		Loop
	Death:
		BAL2 CDE 6 BRIGHT
		Stop
	}
}

actor PESpawner : RandomSpawner replaces PainElemental
{
dropitem PainElemental2
}

actor PELEGore_GibGenerator 
{ 
states 
	{ 
	Spawn: 
     TNT1 A 0 
     TNT1 A 0 A_Jump(128, 8) 
     TNT1 A 0 A_Jump(128, 4) 
     TNT1 A 0 A_Jump(128, 2) 
     TNT1 A 1 A_SpawnDebris("PELE_Gib1") 
     stop 
     TNT1 A 1 A_SpawnDebris("PELE_Gib2") 
     stop 
     TNT1 A 0 A_Jump(128, 2) 
     TNT1 A 1 A_SpawnDebris("PELE_Gib1") 
     stop 
     TNT1 A 1 A_SpawnDebris("PELE_Gib2") 
     stop 
     TNT1 A 0 A_Jump(128, 4) 
     TNT1 A 0 A_Jump(128, 2) 
     TNT1 A 1 A_SpawnDebris("PELE_Gib1") 
     stop 
     TNT1 A 1 A_SpawnDebris("PELE_Gib2") 
     stop 
     TNT1 A 0 A_Jump(128, 2) 
     TNT1 A 1 A_SpawnDebris("PELE_Gib1") 
     stop 
     TNT1 A 1 A_SpawnDebris("PELE_Gib2") 
     stop 
   } 
} 

actor PELE_Gib1
{
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 EGIB ABCDEFG 3
	 loop
	Crash:
	 EGIB H 900
	 stop
	}
}

actor PELE_Gib2
{
health 1
radius 8
height 8
mass 1
scale 0.6
+CORPSE
+NOTELEPORT
GRAVITY 0.6
+floorclip
states
	{
	Spawn:
	 EGIB IJKL 3 
	 loop
	Crash:
	 EGIB M 900
	 stop
	}
}

//===========================================================================
//
// Pain Elemental
//
//===========================================================================
ACTOR PainElemental2
{
	Game Doom
	SpawnID 115
	Health 400
	Radius 31
	Height 56
	Mass 400
	Speed 8
	PainChance 128
	Monster
	+FLOAT 
	+NOGRAVITY
	SeeSound "pain/sight"
	PainSound "pain/pain"
	DeathSound "pain/death"
	ActiveSound "pain/active"
DamageFactor "slime", 0
	States
	{
	Spawn:
		PAIN A 10 A_Look
		Loop
	See:
		PAIN AABBCC 3 A_Chase
		Loop
	Missile:
		PAIN D 5 A_FaceTarget
		PAIN E 5 A_FaceTarget
		PAIN F 4 BRIGHT A_FaceTarget
		PAIN F 1 BRIGHT A_PainAttack
		Goto See
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		PAIN G 0 A_Jump(128,"pain2")
		PAIN G 6
		PAIN G 6 A_Pain
		Goto See
	Pain2:
		PAIN G 0 A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN G 6
		PAIN G 6 A_Pain
		Goto See
    Pain.stun:
		PAIN G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PAIN G 6 A_Pain
		PAIN G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PAIN G 6 A_Pain
		PAIN G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PAIN G 6 A_Pain
		PAIN G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PAIN G 6 A_Pain
		PAIN G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PAIN G 6 A_Pain		
		PAIN G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		PAIN G 6 A_Pain
	  Goto See
	Death:
		PAIN N 0 A_Jump(128,"XDeath")
		PAIN N 8 BRIGHT
		PAIN O 8 BRIGHT A_Scream
		PAIN PQ 8 BRIGHT
		PAIN R 0 BRIGHT A_SpawnItem("dustcloudbig",0,0,0,0)
		PAIN R 8 BRIGHT A_PainDie
		PAIN S -1
		Stop
	XDeath:
		PAIN H 8 BRIGHT
		PAIN I 8 BRIGHT A_Scream
		PAIN J 8 BRIGHT 
		PAIN K 0 BRIGHT A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN K 0 BRIGHT A_SpawnDebris("HEADBlood",0)
		PAIN K 1 BRIGHT A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN K 1 BRIGHT A_SpawnDebris("HEADBlood",0)
		PAIN K 0 BRIGHT A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN K 0 BRIGHT A_SpawnDebris("HEADBlood",0)
		PAIN K 1 BRIGHT A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN K 1 BRIGHT A_SpawnDebris("HEADBlood",0)
		PAIN K 0 BRIGHT A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN K 0 BRIGHT A_SpawnDebris("HEADBlood",0)
		PAIN K 1 BRIGHT A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN K 1 BRIGHT A_SpawnDebris("HEADBlood",0)
		PAIN K 0 BRIGHT A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN K 0 BRIGHT A_SpawnDebris("HEADBlood",0)
		PAIN K 1 BRIGHT A_SpawnItem("PELEGore_GibGenerator",0,0,0,0)
		PAIN K 1 BRIGHT A_SpawnDebris("HEADBlood",0)
		PAIN L 0 BRIGHT A_SpawnItem("dustcloudbig",0,0,0,0)
		PAIN L 8 BRIGHT A_PainDie
		PAIN M 8 BRIGHT
		Stop
	Ice:
		pain t 0 a_gravity
		pain t 5 A_FreezeDeath
		pain t 1 A_FreezeDeathChunks
		Wait
	Raise:
		PAIN SRQPON 8
		Goto See
	}
}

ACTOR dustcloudbig
{
	Game Doom
	RenderStyle Translucent
	Alpha 0.6
	+ NOGRAVITY
	+DONTSPLASH
	States
	{
	Spawn:
		MNSM ABCDEFGHIJKLMNOPQ 2
	Stop
	}
}

//===========================================================================
//
// Lost Soul
//
//===========================================================================
ACTOR LostSoul 3006
{
	Game Doom
	SpawnID 110
	Health 100
	Radius 16
	Height 56
	Mass 50
	Speed 8
	Damage 3
	PainChance 256
	Monster
	+FLOAT +NOGRAVITY +MISSILEMORE +DONTFALL +NOICEDEATH
	AttackSound "skull/melee"
	PainSound "skull/pain"
	DeathSound "skull/death"
	ActiveSound "skull/active"
	RenderStyle SoulTrans
	Obituary "$OB_SKULL"
DamageFactor "slime", 0
	States
	{
	Spawn:
		SKUL AB 10 BRIGHT A_Look
		Loop
	See:
		SKUL AB 6 BRIGHT A_Chase
		Loop
	Missile:
		SKUL C 10 BRIGHT A_FaceTarget
		skul d 2 bright a_skullattack
		tnt1 a 0  a_playsound("weapons/plasfly")
		SKUL D 2 BRIGHT 
		tnt1 a 0  a_playsound("weapons/plasfly")
		SKUL C 2 bright A_SpawnItem("skullpuff",0,0,0,0)
		tnt1 a 0  a_playsound("weapons/plasfly")
		SKUL c 2 bright 
		tnt1 a 0  a_playsound("weapons/plasfly")
		SKUL d 2 bright A_SpawnItem("skullpuff",0,0,0,0)
		tnt1 a 0  a_playsound("weapons/plasfly")
		SKUL d 2 bright 
		tnt1 a 0  a_playsound("weapons/plasfly")
		Goto Missile+2
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		SKUL E 3 BRIGHT
		SKUL E 3 BRIGHT A_Pain
		Goto See
    Pain.stun:
		SKUL E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKUL E 6 A_Pain
		SKUL E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKUL E 6 A_Pain
		SKUL E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKUL E 6 A_Pain
		SKUL E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKUL E 6 A_Pain
		SKUL E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKUL E 6 A_Pain
		SKUL E 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		SKUL E 6 A_Pain
	  Goto See
	Death:
		SKUL F 6 BRIGHT
		SKUL G 6 BRIGHT A_Scream
		SKUL G 0 BRIGHT A_NoBlocking
		SKUL H 0 BRIGHT A_SpawnItem("dustcloud",0,0,0,0)
		SKUL H 0 BRIGHT A_SpawnItem("FIREBITGenerator",0,0,0,0)
		SKUL H 0 BRIGHT A_SpawnItem("FIREBITGenerator",0,0,0,0)
		SKUL H 0 BRIGHT A_SpawnItem("FIREBITGenerator",0,0,0,0)
		SKUL H 6 BRIGHT
		SKUL I 6 BRIGHT 
		SKUL J 6
		SKUL K 6
		Stop
	Ice:
		SKUL l 0 a_gravity
		SKUL l 0 A_SetTranslucent(1)
		SKUL l 5 A_FreezeDeath
		SKUL l 1 A_FreezeDeathChunks
		Wait
	}
}

ACTOR skullpuff
{
   Radius 1
   Height 1
   PROJECTILE
   +NOCLIP
   Scale 1
   Speed 0
   vspeed 1
   RENDERSTYLE TRANSLUCENT
   ALPHA 0.3
   +puffonactors
   States
   {
   Spawn:
      RSMK ABCDE 4 
      Stop
   }
}

//===========================================================================
//
// Chaingunner
//
//===========================================================================


actor CGCSpawner : RandomSpawner replaces ChaingunGuy
{
dropitem Chaingunner
dropitem Chaingunner
dropitem Clyde
}

ACTOR Chaingunner
{
	Game Doom
	Health 70
	Radius 20
	Height 56
	Mass 100
	Speed 8
	PainChance 170
	Monster
	+FLOORCLIP
	SeeSound "chainguy/sight"
	PainSound "chainguy/pain"
	DeathSound "chainguy/death"
	ActiveSound "chainguy/active"
	AttackSound "chainguy/attack"
	Obituary "$OB_CHAINGUY"
	Dropitem "CGdrop"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		CPOS AB 10 A_Look
		Loop
	See:
		CPOS AABBCCDD 3 A_Chase
		Loop
	Missile:
		CPOS E 10 A_FaceTarget
		CPOS FE 4 BRIGHT A_CPosAttack
		CPOS F 1 A_CPosRefire
		Goto Missile+1
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		CPOS G 3
		CPOS G 3 A_Pain
		Goto See
    Pain.stun:
		CPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		CPOS G 6 A_Pain
		CPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		CPOS G 6 A_Pain
		CPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		CPOS G 6 A_Pain
		CPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		CPOS G 6 A_Pain
		CPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		CPOS G 6 A_Pain
		CPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		CPOS G 6 A_Pain
	  Goto See
	Death:
		CPOS G 0 A_Jump(128,"AltDeath","AltDeath2","AltDeath3")
		CPOS H 5
		CPOS I 5 A_Scream
		CPOS J 5 A_NoBlocking
		CPOS KLM 5
		CPOS N -1
		Stop
		AltDeath:
		GEEZ H 5
		GEEZ B 5 A_Scream
		GEEZ C 5 A_NoBlocking
		GEEZ D 2
		GEEZ E 3
		GEEZ F 3
		GEEZ G -1
		Stop
		AltDeath2:
		CPHM A 5
		CPHM B 5 A_Scream
		CPHM C 5 A_NoBlocking
		CPHM D 3
		CPHM E 3
		CPHM F -1
		Stop
		AltDeath3:
		CPHM G 5
		CPHM H 5 A_Scream
		CPHM I 5 A_NoBlocking
		CPHM J 3
		CPHM K 3
		CPHM L -1
		Stop
	Death.shred:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("grunt/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("grunt/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("grunt/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("grunt/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("grunt/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	XDeath:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 CPOS O 0 A_SpawnDebris("NashGore_Gib9",0)
	 CPOS O 0 A_SpawnDebris("NashGore_Gib10",0)
	 CPOS O 0 A_SpawnDebris("NashGore_Gib11",0)
 	 CPOS O 0 A_SpawnDebris("NashGore_Gib11",0)	
	 CPOS O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     	 CPOS O 5
	 CPOS P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
         CPOS P 5 A_XScream
	 CPOS Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
         CPOS Q 5 A_NoBlocking
	 CPOS R 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
         CPOS RS 5
         CPOS T -1
        stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright 
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
	Ice:
		CPOS u 5 A_FreezeDeath
		CPOS u 1 A_FreezeDeathChunks
		Wait
	Crush:
	 TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	      stop
	Raise:
		CPOS N 5
		CPOS MLKJIH 5
		Goto See
	}
}

actor CGdrop : RandomSpawner 
{
dropitem ammobelt
dropitem ammobelt
dropitem ammobelt
dropitem ammobelt
dropitem ammobelt
dropitem Superchaingun
}

actor Clydedrop : RandomSpawner 
{
dropitem ammobelt
dropitem ammobelt
dropitem ammobelt
dropitem ammobelt
dropitem clydearmor
dropitem Superchaingun
}

Actor chaingunnerarmor : BasicArmorBonus
{
	Game Doom
	Radius 20
	Height 16
	Inventory.Pickupmessage "got used armor."
	Inventory.Icon "hevaA0"
	Armor.Savepercent 33.335
	Armor.Saveamount 10
	Armor.Maxsaveamount 200
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
Inventory.PickupSound "items/armour"
	States
	{
	Spawn:
		heva A -1
		Stop
	}
}


Actor clydearmor : BasicArmorBonus
{
	Game Doom
	Radius 20
	Height 16
	Inventory.Pickupmessage "got used armor."
	Inventory.Icon "ARM5A0"
	Armor.Savepercent 33.335
	Armor.Saveamount 10
	Armor.Maxsaveamount 200
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
Inventory.PickupSound "items/armour"
	States
	{
	Spawn:
		ARM5 A -1
		Stop
	}
}

ACTOR Clyde
{
	Game Doom
	Health 120
	Radius 20
	Height 56
	Mass 100
	Speed 8
	PainChance 170
	Monster
	+FLOORCLIP
	SeeSound "clyde/sight"
	PainSound "clyde/pain"
	DeathSound "clyde/death"
	ActiveSound "chainguy/active"
	AttackSound "chainguy/attack"
	Obituary "%o was destroyed by an Enforcer."
	Dropitem "Clydedrop"
DamageFactor "slime", 0
	dropitem "nashgore_bloodpool" 70
	States
	{
	Spawn:
		QPOS AB 10 A_Look
		Loop
	See:
		QPOS AABBCCDD 3 A_Chase
		Loop
	Missile:
		QPOS E 10 A_FaceTarget
		QPOS FE 4 BRIGHT A_CPosAttack
		QPOS F 1 A_CPosRefire
		Goto Missile+1
	Pain.Holotracer:
	Goto See
	Pain:
  		TNT1 A 0 A_RadiusGive ("GotRedBloodOnSaw",128,RGF_PLAYERS,1)
		QPOS G 3
		QPOS G 3 A_Pain
		Goto See
    Pain.stun:
		QPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		QPOS G 6 A_Pain
		QPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		QPOS G 6 A_Pain
		QPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		QPOS G 6 A_Pain
		QPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		QPOS G 6 A_Pain
		QPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		QPOS G 6 A_Pain
		QPOS G 6 		
		tnt1 A 1 A_SpawnItem("shockwave5",0,40,0,0)
		QPOS G 6 A_Pain
	  Goto See
	Death:
		QPOS H 5
		QPOS I 5 A_Scream
		QPOS J 5 A_NoBlocking
		QPOS KLM 5
		QPOS N -1
		Stop
	Death.shred:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	shrd A 0 A_SpawnDebris("NashGore_Gib9",0)
	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	shrd A 0 A_SpawnDebris("NashGore_Gib11",0)
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd A 1  A_SpawnDebris("HEADBlood",0) 
		shrd B 5 A_XScream
		shrd C 5 
		shrd D 5 A_NoBlocking
		shrd E 5 
		shrd F 5 
		shrd g -1
		stop
	Death.fire:
		DBRN A 4 bright A_PLAYSOUND("clyde/pain")
		DBRN BCD 4 bright
		DBRN E 4 bright A_PLAYSOUND("clyde/pain")
		DBRN FGH 4 bright 
		DBRN I 4 bright A_PLAYSOUND("clyde/pain")
		DBRN JKL 4 bright
		DBRN M 4 bright A_PLAYSOUND("clyde/pain")
		DBRN NOP 4 bright
		DBRN Q 4 bright A_PLAYSOUND("clyde/death")
		DBRN RST 4 bright 
		DBRN U 4 bright A_NoBlocking
		DBRN v-1
		stop
	XDeath:
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
   TNT1 A 0 A_CustomMissile("dukebloodbolt",  0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180))
        TNT1 A 0 A_CustomMissile("dukebloodbolt", 0, 0, random(-180, 180), 2, random(-180, 180)) 
	 	QPOS O 0 A_SpawnDebris("NashGore_Gib9",0)
	 	QPOS O 0 A_SpawnDebris("NashGore_Gib10",0)
	 	QPOS O 0 A_SpawnDebris("NashGore_Gib11",0)
 	 	QPOS O 0 A_SpawnDebris("NashGore_Gib11",0)	
	 	QPOS O 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     	 	QPOS O 5 A_SpawnDebris("PLAYERHEAD",0)
	 	QPOS P 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
		tnt1 A 0 A_PlaySound("blood/head")
     	 	QPOS P 5 A_XScream
	 	QPOS Q 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     	 	QPOS Q 5 A_NoBlocking
	 	QPOS R 0 A_SpawnItem("NashGore_GibGenerator",0,0,0,0)
     	 	QPOS RS 5
     	 	QPOS T -1
     	 	stop
	Death.UMDEATH:
		UMDT A 5 bright A_NoBlocking
		UMDT B 5 bright 
		UMDT C 5 bright A_PlaySound("monster/bfgdie")
		UMDT DEFGHI 5
		stop
	Ice:
		CPOS v 5 A_FreezeDeath
		CPOS v 1 A_FreezeDeathChunks
		Wait
	Crush:
	 	TNT1 A 1 A_SpawnItem("NashGore_CrushedSmall",0,0,0,0)
	      	stop
	Raise:
		QPOS N 5
		QPOS MLKJIH 5
		Goto See
	}
}


/**** CRUSHED DEAD BODIES ****/

// small
actor NashGore_CrushedSmall
{
states
	{
	Spawn:
		GIBX A 4
		GIBX A 0 A_PlaySound("gibs/gibpop")
		GIBX B 5
		GIBX C 4
	 CRS1 A -1
	 loop
	}
}

// medium
actor NashGore_CrushedMedium
{
states
	{
	Spawn:
		GIBX A 4
		GIBX A 0 A_PlaySound("gibs/gibpop")
		GIBX B 5
		GIBX C 4
	 CRS2 A -1
	 loop
	}
}

// TRANSLATED CRUSHED BODIES
actor NashGore_CrushedMediumGreen : NashGore_CrushedMedium
{
translation "16:47=112:127","168:191=112:127"
}

actor NashGore_CrushedMediumBlue : NashGore_CrushedMedium
{
translation "16:47=192:207","168:191=192:207"
}


//===========================================================================
//
// Boss Brain
//
//===========================================================================

ACTOR BossBrain 88
{
	Game Doom
	Health 750
	Mass 10000000
	PainChance 255
	+SOLID +SHOOTABLE
	+NOICEDEATH
	+OLDRADIUSDMG
	PainSound "brain/pain"
	DeathSound "brain/death"
	States
	{
	BrainExplode:
		MISL BC 10 Bright
		MISL D 10 A_BrainExplode
		Stop
	Spawn:
		BBRN A -1
		Stop
	Pain.Holotracer:
	Goto See
	Pain:
		BBRN B 0 A_quake(6,50,0,9999,"NO/SOUND")
		BBRN B 36 A_BrainPain
		Goto Spawn
	Death:
		BBRN B 0 A_quake(6,700,0,9999,"NO/SOUND")
		BBRN A 100 A_BrainScream
		BBRN AA 10
		BBRN A -1 A_BrainDie
		Stop
	Ice:
		goto death
	}
}

