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

actor NashGore_Blood : Blood replaces Blood
{
	+CLIENTSIDEONLY
 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), SXF_NOCHECKPOSITION, 0)
  BLUD B 8 
  BLUD A 8 
  stop
 }
}


actor NashGore_FlyingBlood
{
 game Doom
 scale 0.75
 health 1
 radius 8
 height 1
 mass 1
 renderstyle translucent
 alpha 1.0
 +CORPSE
 +CLIENTSIDEONLY
 +NOTELEPORT
 +NOBLOCKMAP
 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.
      NULL A 0 
        stop
 }
}

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

// Blood trails spawned by FlyingBlood
actor NashGore_FlyingBloodTrail
{
 game Doom
 scale 0.70
 mass 1
 +LOWGRAVITY
 +NOTELEPORT
 +NOBLOCKMAP
 +CLIENTSIDEONLY
 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.
      NULL A 0 
        stop
 }
}

// Individual Bits and Pieces
actor GIB1
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    //-NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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), SXF_NOCHECKPOSITION, 0)
    	Stop 
    See:
	NULL 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.
      NULL A 0 
        stop
    }
}

actor GIB2
{
	 renderstyle translucent
 alpha 1.0
    +DOOMBOUNCE
	
    PROJECTILE
    -NOGRAVITY
    //-NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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), SXF_NOCHECKPOSITION, 0)
    	Stop
    See:
	    NULL 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.
      NULL A 0 
        stop
    }
}

actor GIB3
{
	 renderstyle translucent
 alpha 1.0
    +DOOMBOUNCE
	
    PROJECTILE
    -NOGRAVITY
    //-NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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), SXF_NOCHECKPOSITION, 0)
    	Stop 
    See:
	    NULL 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.
      NULL A 0 
        stop
    }
}

actor GIB4
{
	 renderstyle translucent
 alpha 1.0
    +DOOMBOUNCE
	
    PROJECTILE
    -NOGRAVITY
    //-NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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), SXF_NOCHECKPOSITION, 0)
    	Stop 
    See:
	NULL 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.
      NULL A 0 
        stop
    }
}

actor GIB5
{
	 renderstyle translucent
 alpha 1.0
    +DOOMBOUNCE
	
    PROJECTILE
    -NOGRAVITY
    //-NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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), SXF_NOCHECKPOSITION, 0)
    	Stop 
    See:
	NULL 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.
      NULL A 0 
        stop
    }
}

//Actor-specific Carnage

actor ZOMBIEMANLEG
{
	 renderstyle translucent
 alpha 1.0
    +DOOMBOUNCE
	
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    Radius 3
    Damage 0
    bouncefactor 0.4
    Decal BloodSplat
    SeeSound "gibbage/xpart"
    Speed 5
    States
    {
    Spawn:
	NULL 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.
      NULL A 0 
        stop
    }
}

actor SHOTGUYARM
{
	 renderstyle translucent
 alpha 1.0
    +DOOMBOUNCE
	
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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:
	NULL 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.
      NULL A 0 
        stop
    }
}

actor MARINEHEAD
{
	 renderstyle translucent
 alpha 1.0
 
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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:
	NULL 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.
      NULL A 0 
        stop
    }
}

actor PLAYERBOOT
{
	 renderstyle translucent
 alpha 1.0
    +DOOMBOUNCE
	
    PROJECTILE
    -NOGRAVITY
    -NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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:
	NULL 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.
      NULL A 0 
        stop
    }
}

// Gibs that go SPLAT instead of bounce.

actor GIB1SPLAT : GIB1
{
	-DOOMBOUNCE
	+CLIENTSIDEONLY
    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 200
        Stop        
    }
}

actor GIB2SPLAT : GIB2
{
	-DOOMBOUNCE
	+CLIENTSIDEONLY
    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 200
        Stop        
    }
}

actor GIB3SPLAT : GIB3
{
	-DOOMBOUNCE
	+CLIENTSIDEONLY
    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 200
        Stop        
    }
}

actor GIB4SPLAT : GIB4
{
	-DOOMBOUNCE
	+CLIENTSIDEONLY
    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 200
        Stop        
    }
}

actor GIB5SPLAT : GIB5
{
	-DOOMBOUNCE
	+CLIENTSIDEONLY
    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 200
        Stop        
    }
}

Actor CYBJUNK1
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    //-NOBLOCKMAP
    -NOTELEPORT
    -SOLID
	+CLIENTSIDEONLY
    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:
	NULL 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.
      NULL A 0 
        stop
    }
}

Actor CYBJUNK2 : CYBJUNK1
{
    States
    {
    Spawn:
        JUNK B 0
        JUNK B 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	NULL 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.
      NULL A 0 
        stop
    }
}

Actor CYBJUNK3 : CYBJUNK1
{
    States
    {
    Spawn:
        JUNK C 0
        JUNK C 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	NULL 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.
      NULL A 0 
        stop
    }
}

Actor CYBJUNK4 : CYBJUNK1
{
    States
    {
    Spawn:
        JUNK D 0
        JUNK D 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	NULL 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.
      NULL A 0 
        stop
    }
}

Actor CYBJUNK5 : CYBJUNK1
{
    States
    {
    Spawn:
        JUNK E 0
        JUNK E 0 ThrustThingZ (0, 5, 0, 1)
        goto See
    See:
	NULL 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.
      NULL A 0 
        stop
    }
}

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

Actor ROBGIBBER : CYBGIBBER
{
  states
  {
  Spawn:
        NULL A 0
        NULL A 0 A_PlaySound("gibbage/cyborg")
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
	    NULL A 1 A_SpawnItemEx ("CYBJUNK1", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK2", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK3", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK4", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        NULL A 0 A_SpawnItemEx ("CYBJUNK5", 1, 1, random(8,32), random(0,5), random(0,5), random(8,18), random(0,360), SXF_NOCHECKPOSITION, 0)
        Stop
    }
}

actor jitterchip
{
  +NOBLOCKMAP
  +NOGRAVITY
  +ALLOWPARTICLES
  +RANDOMIZE
  +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,1,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
	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:
	NULL A 0 ThrustThing(random(0,255), 4, 0, 0)
	NULL A 0 A_Jump(128, 6)
	NULL A 0 A_Jump(128, 4)
	NULL A 0 A_Jump(128, 5)
        JCHP A 4 A_JumpIf(waterlevel > 1, "Remove")
        JCHP B 4 ThrustThingZ(0,random(1,6),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.
      NULL A 0 
        stop
    }
}