// Nash blood, thanks to guess who: Nash!

actor NashGore_Blood : Blood replaces Blood
{
 -TELESTOMP
 states
 {
  Spawn:
  BLUD C 0
  BLUD C 8 A_SpawnItemEx("NashGore_FlyingBlood", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
  BLUD B 8 
  BLUD A 300 
  stop
 }
}


actor NashGore_FlyingBlood
{
 game Doom
 scale 0.75
 health 1
 radius 8
 height 1
 mass 1
 renderstyle translucent
 alpha 1.0
 +CORPSE
 +NOTELEPORT
 +NOBLOCKMAP
 -TELESTOMP
 states
 {
 Spawn:
  TNT1 A 0 A_CheckSight("Cheap")
  FBLD A 1 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD A 1 A_JumpIf(waterlevel > 1, "Remove")
//  FBLD A 0 A_Fadeout(0.1)
  loop
 Cheap:
  FBLD A 8 A_SpawnItem("NashGore_FlyingBloodTrail",0,0,0,1)
  FBLD A 1 A_JumpIf(waterlevel > 1, "Remove")
//  FBLD A 0 A_Fadeout(0.1)
  loop
 Crash:
  TNT1 A 1 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
  stop
   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
 }
}

actor NashGore_BloodSpot
{
 game Doom
 radius 12
 height 2
 mass 1
 
  renderstyle translucent
 alpha 1.0
 +NOTELEPORT
 -NOBLOCKMAP
 -TELESTOMP
 states
 {
 Spawn:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("gibbage/blood")
  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.
  BSPT A 200 A_JumpIf(waterlevel > 1, "Remove")
  stop
  BSPT B 200 A_JumpIf(waterlevel > 1, "Remove")
  stop
  BSPT C 200 A_JumpIf(waterlevel > 1, "Remove")
  stop
  BSPT D 200 A_JumpIf(waterlevel > 1, "Remove")
  stop
   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
 }
}

// Blood trails spawned by FlyingBlood
actor NashGore_FlyingBloodTrail
{
 game Doom
 scale 0.70
 mass 1
 +LOWGRAVITY
 +NOTELEPORT
 +NOBLOCKMAP
 -TELESTOMP
 states
 {
  Spawn:
  BTRL A 4 A_JumpIf(waterlevel > 1, "Remove")
  BTRL B 4 A_JumpIf(waterlevel > 1, "Remove")
  BTRL C 4 A_JumpIf(waterlevel > 1, "Remove")
  BTRL D 4 A_JumpIf(waterlevel > 1, "Remove")
  stop
   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
 }
}

actor GIBBER
{
	Height 1
	Radius 1
	+NOGRAVITY
	+NOCLIP
	-TELESTOMP
	States
	{
	Spawn:
        TNT1 A 0
        TNT1 A 0 A_PlaySound("gibbage/xsplat")
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        Stop
    }
}

actor JitterChipper : GIBBER
{
	States
	{
	Spawn:
        TNT1 A 0
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("jitterchip", 1, 1, random(8,32), random(-8,8), random(-8,8), random(8,18), random(0,360), 160, 0)
        Stop
    }
}

// Individual Bits and Pieces
actor GIB1
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
	renderstyle translucent
	alpha 1.0
    States
    {
    Spawn:
        GIB1 A 0
        GIB1 A 0 A_Jump(64,"Alt") 
        GIB1 A 0 ThrustThingZ (0, random(0,45), 0, 1)
        goto See
    Alt:
    	GIB1 A 0 A_SpawnItemEx ("GIB1SPLAT", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 128, 0)
    	Stop 
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        GIB1 A 5 A_Custommissile("Blood", -5,0,0)
        GIB1 B 5 //A_Fadeout(0.1)
        GIB1 AB 5
        loop
    Death:
        GIB1 A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        GIB1 A 0 A_Jump (64,2)
        GIB1 A 0 A_Jump (128,2)
        GIB1 A 200
        Stop
        GIB1 B 200
        Stop
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

actor GIB2
{
	 renderstyle translucent
	alpha 1.0
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
    States
    {
    Spawn:
        GIB2 A 0
        GIB2 A 0 A_Jump(64,"Alt") 
        GIB2 A 0 ThrustThingZ (0, random(0,45), 0, 1)
        goto See
    Alt:
    	GIB2 A 0 A_SpawnItemEx ("GIB2SPLAT", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 128, 0)
    	Stop
    See:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        GIB2 A 5 A_Custommissile("Blood", -5,0,0)
        GIB2 B 5 ThrustThingZ(0,6,1,1)
        GIB2 C 5
        GIB2 ABC 5 //A_Fadeout(0.1)
        loop
    Death:
        GIB2 A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        GIB2 A 0 A_Jump (32,3)
        GIB2 A 0 A_Jump (64,3)
        GIB2 A 0 A_Jump (128,3)
        GIB2 A 200
        Stop
        GIB2 B 200
        Stop
        GIB2 C 200
        Stop
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

actor GIB3
{
	 renderstyle translucent
	alpha 1.0
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
    States
    {
    Spawn:
        GIB1 A 0
        GIB1 A 0 A_Jump(64,"Alt") 
        GIB1 A 0 ThrustThingZ (0, random(0,45), 0, 1)
        goto See
    Alt:
    	GIB1 A 0 A_SpawnItemEx ("GIB3SPLAT", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 128, 0)
    	Stop 
    See:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        GIB3 B 5 A_Custommissile("Blood", -5,0,0)
        GIB3 C 5 ThrustThingZ(0,6,1,1) 
        GIB3 BC 5 //A_Fadeout(0.1)
        loop
    Death:    
        GIB3 B 0 A_ChangeFlag(NOBLOCKMAP, 0)
        GIB3 B 0 A_Jump (64,2)
        GIB3 B 0 A_Jump (128,2)
        GIB3 B 200
        Stop
        GIB3 C 200
        Stop
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

actor GIB4
{
	 renderstyle translucent
	alpha 1.0
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
    States
    {
    Spawn:
        GIB1 A 0
        GIB1 A 0 A_Jump(64,"Alt") 
        GIB1 A 0 ThrustThingZ (0, random(0,45), 0, 1)
        goto See
    Alt:
    	GIB1 A 0 A_SpawnItemEx ("GIB4SPLAT", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 128, 0)
    	Stop 
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        GIB4 A 5 A_Custommissile("Blood", -5,0,0)
        GIB4 B 5 ThrustThingZ(0,6,1,1)
        GIB4 C 5 
        GIB4 ABC 5 //A_Fadeout(0.1)
        loop
    Death:
        GIB4 A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        GIB4 A 0 A_Jump (32,3)
        GIB4 A 0 A_Jump (64,3)
        GIB4 A 0 A_Jump (128,3)
        GIB4 A 200
        Stop
        GIB4 B 200
        Stop
        GIB4 C 200
        Stop
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

actor GIB5
{
	 renderstyle translucent
	alpha 1.0
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
    States
    {
    Spawn:
        GIB1 A 0
        GIB1 A 0 A_Jump(64,"Alt") 
        GIB1 A 0 ThrustThingZ (0, random(0,45), 0, 1)
        goto See
    Alt:
    	GIB1 A 0 A_SpawnItemEx ("GIB5SPLAT", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 128, 0)
    	Stop 
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        GIB5 A 5 A_Custommissile("Blood", -5,0,0)
        GIB5 B 5 ThrustThingZ(0,6,1,1)
        GIB5 C 5 
        GIB5 ABC 5 //A_Fadeout(0.1)
        loop
    Death:
        GIB5 A 0 A_ChangeFlag(NOBLOCKMAP, 0) 
        GIB5 A 0 A_Jump (32,3)
        GIB5 A 0 A_Jump (64,3)
        GIB5 A 0 A_Jump (128,3)
        GIB5 A 200
        Stop 
        GIB5 B 200
        Stop 
        GIB5 C 200 
        Stop
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

//Actor-specific Carnage

actor ZOMBIEMANLEG
{
	 renderstyle translucent
	alpha 1.0
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 3
    Damage 0
    bouncefactor 0.4
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        PLEG A 5 A_Custommissile("Blood", -5,0,0)
        PLEG B 5 ThrustThingZ(0,6,1,1)
        PLEG C 5 
        PLEG ABC 5 //A_Fadeout(0.1)
        loop
    Death:
        PLEG C 0 A_Jump (32,3)
        PLEG C 0 A_Jump (64,3)
        PLEG C 0 A_Jump (128,3)
        PLEG A -1
        Stop 
        PLEG B -1  
        Stop
        PLEG C -1 
        Stop
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

actor SHOTGUYARM
{
	 renderstyle translucent
	alpha 1.0
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 3
    Damage 0
    bouncefactor 0.4
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
        SARM A 0 
        SARM A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        SARM A 5 A_Custommissile("Blood", -5,0,0)
        SARM B 5 ThrustThingZ(0,6,1,1)
        SARM C 5 
        SARM ABC 5 //A_Fadeout(0.1)
        loop
    Death:
        SARM C 0 A_Jump (128,3)
        SARM C 0 A_Jump (128,3)
        SARM C 0 A_Jump (128,3)
        SARM A -1 
        Stop
        SARM B -1 
        Stop
        SARM C -1 
        Stop    
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

actor MARINEHEAD
{
	 renderstyle translucent
	alpha 1.0
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 3
    Damage 0
    Decal BloodSplat
    bouncefactor 0.6
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
        PLHD A 0 
        PLHD A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        PLHD A 5 A_Custommissile("Blood", -5,0,0)
        PLHD B 5 ThrustThingZ(0,6,1,1)
        PLHD CD 5 
        PLHD ABCD 5 //A_Fadeout(0.1)
        loop
    Death:
        PLHD C 0 A_Jump (16,4)
        PLHD C 0 A_Jump (32,4)
        PLHD C 0 A_Jump (64,4)
        PLHD C 0 A_Jump (128,4)
        PLHD A -1
        Stop
        PLHD B -1
        Stop
        PLHD C -1
        Stop
        PLHD D -1
        Stop
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

actor PLAYERBOOT
{
	 renderstyle translucent
	alpha 1.0
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	-TELESTOMP
    Radius 3
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
        PLG1 A 0 
        PLG1 A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        PLG1 A 5 A_Custommissile("Blood", -5,0,0)
        PLG1 B 5 ThrustThingZ(0,6,1,1)
        PLG1 C 5 
        PLG1 ABC 5 A_Fadeout(0.1)
        loop
    Death:
        PLG1 C 0 A_Jump (128,3)
        PLG1 C 0 A_Jump (128,3)
        PLG1 C 0 A_Jump (128,3)
        PLG1 A -1 
        Stop
        PLG1 B -1 
        Stop
        PLG1 C -1 
        Stop   
		   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

// Gibs that go SPLAT instead of bounce.

actor GIB1SPLAT : GIB1
{
	-DOOMBOUNCE
	-TELESTOMP
    States
    {
    Spawn:
        GIB1 A 0
        goto See
    Death:
        GIB1 A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 2000
        Stop        
    }
}

actor GIB2SPLAT : GIB2
{
	-DOOMBOUNCE
	-TELESTOMP
    States
    {
        Spawn:
        GIB1 A 0
        goto See
    Death:
        GIB1 A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 2000
        Stop        
    }
}

actor GIB3SPLAT : GIB3
{
	-DOOMBOUNCE
	-TELESTOMP
    States
    {
        Spawn:
        GIB1 A 0
        goto See
    Death:
        GIB1 A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 2000
        Stop        
    }
}

actor GIB4SPLAT : GIB4
{
	-DOOMBOUNCE
	-TELESTOMP
    States
    {
        Spawn:
        GIB1 A 0
        goto See
    Death:
        GIB1 A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 2000
        Stop        
    }
}

actor GIB5SPLAT : GIB5
{
	-DOOMBOUNCE
	-TELESTOMP
    States
    {
        Spawn:
        GIB1 A 0
        goto See
    Death:
        GIB1 A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 0 A_SpawnItem("Blood")
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 2000
        Stop        
    }
}


ACTOR Custom_BloodySkull : PlayerChunk
{
	Radius 4
	Height 4
	+DOOMBOUNCE
	+NOBLOCKMAP
	+DROPOFF
	PROJECTILE
	+CANNOTPUSH
	+SKYEXPLODE
	-TELESTOMP
	+NOBLOCKMONST
	+NOSKIN
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -EXPLODEONWATER
    +CANBOUNCEWATER 
    +DONTTRANSLATE // Enough flags?
    SeeSound "gibbage/xpart"
	States
	{
    Spawn:
        PLHD A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
       See:
        PLHD A 5 A_Custommissile("Blood", -5,0,0)
        PLHD BCD 5 
        PLHD ABCD 5 
        loop
       Death:
	PLHD C 0 A_Jump (16,4)
        PLHD C 0 A_Jump (32,4)
        PLHD C 0 A_Jump (64,4)
        PLHD C 0 A_Jump (128,4)
        PLHD A -1 A_CheckPlayerDone
        Wait
        PLHD B -1 A_CheckPlayerDone
        Wait
        PLHD C -1 A_CheckPlayerDone
        Wait
        PLHD D -1 A_CheckPlayerDone
		Wait
	}
}

ACTOR Custom_BloodySkull2 : Custom_BloodySkull
{
	States
	{
    Spawn:
        HUNT Z 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
       See:
        HUNT Z 5 A_Custommissile("Blood", -5,0,0)
        HUNT ZZZ 5 
        HUNT ZZZZ 5 
        loop
       Death:
	HUNT Z 0 A_Jump (16,4)
        HUNT Z 0 A_Jump (32,4)
        HUNT Z 0 A_Jump (64,4)
        HUNT Z 0 A_Jump (128,4)
        HUNT Z -1 A_CheckPlayerDone
        Wait
        HUNT Z -1 A_CheckPlayerDone
        Wait
        HUNT Z -1 A_CheckPlayerDone
        Wait
        HUNT Z -1 A_CheckPlayerDone
		Wait
	}
}

Actor Custom_BloodySkullPW : Custom_BloodySkull
{
	States
	{
    Spawn:
        TNT1 A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
       See:
        ZHRH A 5 A_Custommissile("Blood", -5,0,0)
        ZHRH AAA 35
        loop
       Death:
		TNT1 A 0 A_Jump (16,4)
        TNT1 A 0 A_Jump (32,4)
        TNT1 A 0 A_Jump (64,4)
        TNT1 A 0 A_Jump (128,4)
        ZHRH A -1 A_CheckPlayerDone
        Wait
        ZHRH A -1 A_CheckPlayerDone
        Wait
        ZHRH A -1 A_CheckPlayerDone
        Wait
        ZHRH A -1 A_CheckPlayerDone
		Wait
	}
}

Actor CYBJUNK1
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -TELESTOMP
    -NOTELEPORT
    -SOLID
    Radius 2
    Damage 0
    Decal None
    bouncefactor 0.4
    SeeSound "gibbage/cyborg"
    Speed 5
	renderstyle translucent
	alpha 1.0
    States
    {
    Spawn:
        JUNK A 0
        JUNK A 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        JUNK A 5
        JUNK A 5 ThrustThingZ(0,6,1,1) 
        JUNK A 5 //A_FadeOut(0.05)
        loop
    Death:
        JUNK A 0 A_ChangeFlag(NOBLOCKMAP, 0)
        JUNK A 200
        Stop
				   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

Actor CYBJUNK2 : CYBJUNK1
{
    States
    {
    Spawn:
        JUNK B 0
        JUNK B 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        JUNK B 5
        JUNK B 5 ThrustThingZ(0,6,1,1) 
        JUNK B 5 //A_FadeOut(0.05)
        loop
    Death:
        JUNK B 0 A_ChangeFlag(NOBLOCKMAP, 0)
        JUNK B 200
        Stop
				   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

Actor CYBJUNK3 : CYBJUNK1
{
    States
    {
    Spawn:
        JUNK C 0
        JUNK C 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        JUNK C 5
        JUNK C 5 ThrustThingZ(0,6,1,1) 
        JUNK C 5 //A_FadeOut(0.05)
        loop
    Death:
        JUNK C 0 A_ChangeFlag(NOBLOCKMAP, 0)
        JUNK C 200
        Stop
				   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

Actor CYBJUNK4 : CYBJUNK1
{
    States
    {
    Spawn:
        JUNK D 0
        JUNK D 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        JUNK D 5
        JUNK D 5 ThrustThingZ(0,6,1,1) 
        JUNK D 5 //A_FadeOut(0.05)
        loop
    Death:
        JUNK D 0 A_ChangeFlag(NOBLOCKMAP, 0)
        JUNK D 200
        Stop
				   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

Actor CYBJUNK5 : CYBJUNK1
{
    States
    {
    Spawn:
        JUNK E 0
        JUNK E 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Remove")
        JUNK E 5
        JUNK E 5 ThrustThingZ(0,6,1,1) 
        JUNK E 5 //A_FadeOut(0.05)
        loop
    Death:
        JUNK E 0 A_ChangeFlag(NOBLOCKMAP, 0)
        JUNK E 200
        Stop
				   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0 
        stop
    }
}

actor CYBGIBBER
{
  radius 20
  height 56
  +NOCLIP
  -TELESTOMP
  States
  {
  Spawn:
        TNT1 A 0
        TNT1 A 0 A_PlaySound("gibbage/cyborg")
        TNT1 A 1 A_SpawnItemEx ("GIB1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 0 A_SpawnItemEx ("GIB5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 160, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        TNT1 A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), 161, 0)
        Stop
    }
}

ACTOR Custom_BloodySkull3 : Custom_BloodySkull
{
	States
	{
    Spawn:
        ROB1 Z 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
       See:
        ROB1 Z 5 A_Custommissile("Blood", -5,0,0)
        ROB1 ZZZ 5 
        ROB1 ZZZZ 5 
        loop
       Death:
		ROB1 Z 0 A_Jump (16,4)
        ROB1 Z 0 A_Jump (32,4)
        ROB1 Z 0 A_Jump (64,4)
        ROB1 Z 0 A_Jump (128,4)
        ROB1 Z -1 A_CheckPlayerDone
        Wait
        ROB1 Z -1 A_CheckPlayerDone
        Wait
        ROB1 Z -1 A_CheckPlayerDone
        Wait
        ROB1 Z -1 A_CheckPlayerDone
		Wait
	}
}

ACTOR Custom_BloodySkullPRT : Custom_BloodySkull
{
	States
	{
    Spawn:
        TNT1 A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
       See:
        PROH A 5 A_Custommissile("Blood", -5,0,0)
        PROH AAA 5 
        PROH AAAA 5 
        loop
       Death:
		ROB1 Z 0 A_Jump (16,4)
        ROB1 Z 0 A_Jump (32,4)
        ROB1 Z 0 A_Jump (64,4)
        ROB1 Z 0 A_Jump (128,4)
        PROH A -1 A_CheckPlayerDone
        Wait
        PROH A -1 A_CheckPlayerDone
        Wait
        PROH A -1 A_CheckPlayerDone
        Wait
        PROH A -1 A_CheckPlayerDone
		Wait
	}
}

ACTOR Custom_BloodySkullWH : Custom_BloodySkull
{
	States
	{
    Spawn:
		TNT1 A 0
        ROB1 Z 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
       See:
        WHHE Z 5 A_Custommissile("Blood", -5,0,0)
        WHHE ABC 6 
        WHHE DE 6 
        loop
       Death:
        WHHE F -1 
        Stop
	}
}

actor jitterchip
{
  +NOBLOCKMAP
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  -TELESTOMP
  +CLIENTSIDEONLY
  RenderStyle Translucent
  Alpha 0.5
  renderstyle none
  VSpeed 1
  Mass 5
  States
  {
  Spawn:
  PUFF A 0
  PUFF A 0 A_PlaySoundEx("jitpain", "Body")
  PUFF A 0 A_SpawnItemEx("jitterchip2",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION,0)
    PUFF A 4 bright
    PUFF B 4
    // Intentional fall-through
  Melee:
    PUFF CD 4
    stop
  }
}

actor jitterchip2
{
	 renderstyle translucent
	alpha 1.0
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
	+RIPPER
	scale 0.4
	+DOOMBOUNCE
	+BOUNCEONACTORS
	+BLOODLESSIMPACT
	bouncefactor 0.1
    -SOLID
	-TELESTOMP
	reactiontime 35
	+CLIENTSIDEONLY
    Radius 3
    Damage 0
    bouncefactor 0.4
    SeeSound "skullchips"
    States
    {
    Spawn:
        JCHP A 0 
        JCHP A 0 ThrustThingZ (0, 45, 0, 1)
        goto See 
    See:
		TNT1 A 0 ThrustThing(random(0,255), 6, 0, 0)
		TNT1 A 0 A_Jump(128, 6)
		TNT1 A 0 A_Jump(128, 4)
		TNT1 A 0 A_Jump(128, 5)
        JCHP A 4 A_JumpIf(waterlevel > 1, "Remove")
        JCHP B 4 ThrustThingZ(0,random(3,9),1,1)
		JCHP CDE 4 A_Countdown
		Goto See+2
    Death:
        JCHP C 0 A_Jump (128,4)
        JCHP C 0 A_Jump (128,6)
        JCHP A 20
		JCHP A 3 A_FadeOut(0.01)
        Goto Death+3
        JCHP B 20
		JCHP B 3 A_FadeOut(0.01)
        Goto Death+5
        JCHP C 20
		JCHP C 3 A_FadeOut(0.01)
        Goto Death+7
	Remove: // Anti-Lag - Removes blood in water.
		TNT1 A 1 
        stop
    }
}

Actor RandomCyborgChunk
{
	Radius 1
	Height 1
    Radius 2
    Damage 0
    Decal None
    BounceFactor 0.4
    SeeSound "gibbage/cyborg"
    Speed 5
	Renderstyle Translucent
	Alpha 1.0
	+DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -TELESTOMP
    -NOTELEPORT
    -SOLID
	States
	{	
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256, 1, 2, 3, 4, 5)
		TNT1 A 0 A_SpawnItemEx("CYBJUNK1", 0, 0, 0, random(-5,5), random(-5,5), random(-5,5))
		Goto Death 
		TNT1 A 0 A_SpawnItemEx("CYBJUNK2", 0, 0, 0, random(-5,5), random(-5,5), random(-5,5))
		Goto Death
		TNT1 A 0 A_SpawnItemEx("CYBJUNK3", 0, 0, 0, random(-5,5), random(-5,5), random(-5,5))
		Goto Death
		TNT1 A 0 A_SpawnItemEx("CYBJUNK4", 0, 0, 0, random(-5,5), random(-5,5), random(-5,5))
		Goto Death
		TNT1 A 0 A_SpawnItemEx("CYBJUNK5", 0, 0, 0, random(-5,5), random(-5,5), random(-5,5))
		Goto Death
	Death:
		TNT1 A 0
		Stop
	}
}

Actor CyborgExplosion
{
	Radius 8
	Height 8
	Scale 0.8
	PROJECTILE
	+NOCLIP
	+CLIENTSIDEONLY
	States
	{
	Spawn:
        MISL B 2
        MISL B 2 Bright A_PlaySound("weapons/rocklx")
        MISL B 4 Bright
        MISL C 6
        MISL D 4
		Stop
	}
}

Actor ImmolationEffect
{
	Scale 1.0
	Alpha 0.8
	Renderstyle Add
	+NOINTERACTION
	+CLIENTSIDEONLY
	
	States
	{
		Spawn:
			TNT1 AA 0 A_Playsound("Engulfed")
			X007 ABC 3 Bright
			X007 DEFG 2 Bright
			X007 HI 2 Bright
		SpawnLoop:
			X007 J 2 Bright A_FadeOut(0.1)
		Loop
	}
}

Actor ImmolationEffectSmall : ImmolationEffect
{
	Scale 0.75
}