actor GIBBER
{
  radius 20
  height 20
  +NOINTERACTION
  +CLIENTSIDEONLY
  +NOTELEPORT
    states
  {
  Spawn:
		TNT1 AAA 0
        TNT1 A 0 A_Gravity
        TNT1 A 0 A_CheckSight("Cheap")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
		TNT1 A 0 A_PlaySound("gibbage/xsplat")
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB5", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
       Stop
       Cheap:
        TNT1 A 0 A_PlaySound("gibbage/xsplat")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), random(2,6), random(2,6), 0, random(0,360), SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        Stop
    }
}

ACTOR BOSSGIBBER
{
  Radius 20
  Height 20
  +NOINTERACTION
  +CLIENTSIDEONLY
  +NOTELEPORT
    states
  {
  Spawn:
		TNT1 AAA 0
        TNT1 A 0 A_Gravity
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
		TNT1 A 0 A_PlaySound("gibbage/xsplat")
        TNT1 A 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB5", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB4", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB5", 0, 0, random(0,42), random(2,6), 0, random(0,360), 160)
       Stop
    }
}

actor BLUEDOOMGIBBER : GIBBER
{
	 Translation "168:191=194:207",
	"16:47=194:207",
	"208:235=194:207",
	"160:167=194:207",
	"48:79=194:207"
}

actor GREENDOOMGIBBER : GIBBER
{
	 Translation "168:191=112:127",
	"16:47=112:127",
	"208:235=112:127",
	"160:167=112:127",
	"48:79=112:127"
}

actor GIBBERLANTERN : GIBBER
{
	 Translation "168:191=208:223",
	"16:47=208:223",
	"208:235=208:223",
	"160:167=208:223",
	"48:79=208:223"
}

actor GIBBERORANGE : GIBBER
{
	 Translation "164:185=203:210"
}

actor GREENGIBBERS : GIBBER
{
	 Translation "164:185=193:202"
}

actor SMALLGIBBER
{
  radius 20
  height 20
  +NOINTERACTION
    states
  {
  Spawn:
		TNT1 AAA 0
		TNT1 A 0 A_Gravity
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
		TNT1 A 0 A_PlaySound("gibbage/xsplat")
        TNT1 A 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,18), random(2,6), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,18), random(2,6), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB2", 0, 0, random(0,18), random(2,6), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,18), random(2,6), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,18), random(2,6), random(2,6), 0, random(0,360), 160)
        TNT1 A 1 A_SpawnItemEx ("GIB3", 0, 0, random(0,18), random(2,6), random(2,6), 0, random(0,360), 160)
        Stop
        }
}

Actor NashGore_SplatterBlood : BloodSplatter replaces BloodSplatter
{
	+NOBLOCKMAP
 +CLIENTSIDEONLY
 +NOTELEPORT
 +FLOORCLIP
 Mass 5
 states
 {
  Spawn:
  BLUD CCC 0
  BLUD C 1 A_JumpIf(waterlevel > 1, 4)
  BLUD C 7
  BLUD B 8 A_SpawnDebris("NashGore_FlyingBlood",1)
  BLUD A 7
  BLUD A 1
  stop
 }
}

actor NashGore_Blood : Blood replaces Blood
{
 +NOBLOCKMAP
 +CLIENTSIDEONLY
 +NOTELEPORT
 +FLOORCLIP
 Mass 5
 states
 {
  Spawn:
  Spray:
  BLUD CCC 0
  BLUD C 1 A_JumpIf(waterlevel > 1, 4)
  BLUD C 7
  BLUD B 8 A_SpawnDebris("NashGore_FlyingBlood",1)
  BLUD A 7
  BLUD A 1
  stop
 }
}

actor BlueBlood : NashGore_Blood
{
	Translation "168:191=194:207",
	"16:47=194:207",
	"208:235=194:207",
	"160:167=194:207",
	"48:79=194:207"
}

// Blood sprite that flies outwards and leaves trails behind
actor NashGore_FlyingBlood
{
 game Doom
 scale 0.75
 health 1
 radius 8
 height 1
 mass 1
 -SOLID
 +CANNOTPUSH
 //+NOCLIP
 +CORPSE
 +NOTELEPORT
 +NOBLOCKMAP
 +CLIENTSIDEONLY
 +FLOORCLIP
 states
 {
 Spawn:
  TNT1 AAA 0
  TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
  Stop
  TNT1 A 0 A_CheckSight("Cheap")
  FBLD A 1 A_SpawnItemEx("NashGore_FlyingBloodTrail",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
  FBLD A 1 A_JumpIf(waterlevel > 1, "Remove")
  loop
 Cheap:
  FBLD A 8 A_SpawnItemEx("NashGore_FlyingBloodTrail",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
  FBLD A 1 A_JumpIf(waterlevel > 1, "Remove")
  loop
 Crash:
  TNT1 A 1 A_SpawnItemEx("NashGore_BloodSpot",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
  stop
   Remove: // Anti-Lag - Removes blood in water.
      TNT1 A 0
        stop
 }
}

actor NashGore_BloodSpot
{
 radius 12
 height 2
 mass 1
 -SOLID
 +CANNOTPUSH
 +NOTELEPORT
 //+NOBLOCKMAP
 //+NOCLIP
 +CLIENTSIDEONLY
 +FLOORCLIP
 states
 {
 Spawn:
  TNT1 AAA 0
  TNT1 A 0 A_PlaySound("gibbage/blood")
  TNT1 A 0 A_Jump(64,4)
  TNT1 A 0 A_Jump(128,5)
  TNT1 A 0 A_Jump(193,6)
  TNT1 A 0 A_Jump(255,7)
  // make the blood spots stay on the ground. 1500 is the default duration.
  BSPT A 350 A_JumpIf(waterlevel > 1, "Remove")
  BSPT A 1 A_FadeOut
  wait
  BSPT B 350 A_JumpIf(waterlevel > 1, "Remove")
  BSPT B 1 A_FadeOut
  wait
  BSPT C 350 A_JumpIf(waterlevel > 1, "Remove")
  BSPT C 1 A_FadeOut
  wait
  BSPT D 350 A_JumpIf(waterlevel > 1, "Remove")
  BSPT D 1 A_FadeOut
  wait
   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
 -SOLID
 +LOWGRAVITY
 +CANNOTPUSH
 //+NOCLIP
 +NOTELEPORT
 +NOBLOCKMAP
 +CLIENTSIDEONLY
 +FLOORCLIP
 states
 {
  Spawn:
  BTRL AAA 0
  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 GIB1
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    +CANNOTPUSH
    -SOLID
    -NOBLOCKMAP
    +CLIENTSIDEONLY
	+NOTELEPORT
	+FLOORCLIP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
	Mass 5
    States
    {
    Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
        GIB1 A 0 A_Jump(64,"Alt")
        GIB1 A 0 ThrustThingZ (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_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE, 0)
    	Stop
    See:
		GIB1 A 1 A_JumpIf(waterlevel > 1, "Death")
        GIB1 A 4 A_SpawnItemEx("Blood", 0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        GIB1 B 5 ThrustThingZ(0,6,1,1)
        GIB1 AB 5
        loop
    Death:
        GIB1 A 0 A_Jump (64,2)
        GIB1 A 0 A_Jump (128,3)
        GIB1 A 350
		GIB1 A 1 A_FadeOut
        Wait
        GIB1 B 350
		GIB1 B 1 A_FadeOut
        Wait
    }
}

actor GIB2
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    +CANNOTPUSH
    -SOLID
    -NOBLOCKMAP
    +NOTELEPORT
    +CLIENTSIDEONLY
	+FLOORCLIP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
	Mass 5
    States
    {
    Spawn:
        GIB2 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
        GIB2 A 0 A_Jump(64,"Alt")
        GIB2 A 0 ThrustThingZ (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_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE, 0)
    	Stop
    See:
		GIB2 A 1 A_JumpIf(waterlevel > 1, "Death")
        GIB2 A 4 A_SpawnItemEx("Blood", 0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        GIB2 B 5 ThrustThingZ(0,6,1,1)
        GIB2 C 5
        GIB2 ABC 5
        loop
    Death:
        GIB2 A 0 A_Jump (32,3)
        GIB2 A 0 A_Jump (64,4)
        GIB2 A 0 A_Jump (128,5)
        GIB2 A 350
		GIB2 A 1 A_FadeOut
        Wait
        GIB2 B 350
        GIB2 B 1 A_FadeOut
        Wait
        GIB2 C 350
        GIB2 C 1 A_FadeOut
        Wait
    }
}

actor GIB3
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -SOLID
    +CANNOTPUSH
    -NOBLOCKMAP
    +NOTELEPORT
    +CLIENTSIDEONLY
	+FLOORCLIP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
	Mass 5
    States
    {
    Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
        GIB1 A 0 A_Jump(64,"Alt")
        GIB1 A 0 ThrustThingZ (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_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE, 0)
    	Stop
    See:
		GIB3 A 1 A_JumpIf(waterlevel > 1, "Death")
        GIB3 A 4 A_SpawnItemEx("Blood", 0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        GIB3 C 5 ThrustThingZ(0,6,1,1)
        GIB3 BC 5
        loop
    Death:
        GIB3 B 0 A_Jump (64,2)
        GIB3 B 0 A_Jump (128,3)
        GIB3 B 350
		GIB3 B 1 A_FadeOut
        Wait
        GIB3 C 350
        GIB3 C 1 A_FadeOut
        Wait
    }
}

actor GIB4
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    -SOLID
    -NOBLOCKMAP
    +CANNOTPUSH
    +NOTELEPORT
    +CLIENTSIDEONLY
	+FLOORCLIP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
	Mass 5
    States
    {
    Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
        GIB1 A 0 A_Jump(64,"Alt")
        GIB1 A 0 ThrustThingZ (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_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE, 0)
    	Stop
    See:
		GIB4 A 1 A_JumpIf(waterlevel > 1, "Death")
        GIB4 A 4 A_SpawnItemEx("Blood", 0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        GIB4 B 5 ThrustThingZ(0,6,1,1)
        GIB4 C 5
        GIB4 ABC 5
        loop
    Death:
        GIB4 A 0 A_Jump (32,3)
        GIB4 A 0 A_Jump (64,4)
        GIB4 A 0 A_Jump (128,5)
        GIB4 A 350
		GIB4 A 1 A_FadeOut
        Wait
        GIB4 B 350
        GIB4 B 1 A_FadeOut
        Wait
        GIB4 C 350
        GIB4 C 1 A_FadeOut
        Wait
    }
}

actor GIB5
{
    +DOOMBOUNCE
    PROJECTILE
    -NOGRAVITY
    +CANNOTPUSH
    -SOLID
    -NOBLOCKMAP
    +NOTELEPORT
    +CLIENTSIDEONLY
	+FLOORCLIP
    Radius 2
    Damage 0
    Decal BloodSplat
    bouncefactor 0.4
    SeeSound "gibbage/xgib"
    Speed 5
	Mass 5
    States
    {
    Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
        GIB1 A 0 A_Jump(64,"Alt")
        GIB1 A 0 ThrustThingZ (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_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE, 0)
    	Stop
    See:
		GIB5 A 1 A_JumpIf(waterlevel > 1, "Death")
        GIB5 A 4 A_SpawnItemEx("Blood", 0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        GIB5 B 5 ThrustThingZ(0,6,1,1)
        GIB5 C 5
        GIB5 ABC 5
        loop
    Death:
        GIB5 A 0 A_Jump (32,3)
        GIB5 A 0 A_Jump (64,4)
        GIB5 A 0 A_Jump (128,5)
        GIB5 A 350
		GIB5 A 1 A_FadeOut
        Wait
        GIB5 B 350
        GIB5 B 1 A_FadeOut
        Wait
        GIB5 C 350
        GIB5 C 1 A_FadeOut
        Wait
    }
}

actor BLUEGIB1 : GIB1
{
	 Translation "168:191=194:207",
	"16:47=194:207",
	"208:235=194:207",
	"160:167=194:207",
	"48:79=194:207"
}

actor BLUEGIB2 : GIB2
{
	 Translation "168:191=194:207",
	"16:47=194:207",
	"208:235=194:207",
	"160:167=194:207",
	"48:79=194:207"
}

actor BLUEGIB3 : GIB3
{
	 Translation "168:191=194:207",
	"16:47=194:207",
	"208:235=194:207",
	"160:167=194:207",
	"48:79=194:207"
}

actor BLUEGIB4 : GIB4
{
	 Translation "168:191=194:207",
	"16:47=194:207",
	"208:235=194:207",
	"160:167=194:207",
	"48:79=194:207"
}

actor BLUEGIB5 : GIB5
{
	 Translation "168:191=194:207",
	"16:47=194:207",
	"208:235=194:207",
	"160:167=194:207",
	"48:79=194:207"
}

actor FIMPGIB1 : GIB1
{
	 Translation "168:191=[0,0,0]:[164,164,184]",
	"16:47=[0,0,0]:[164,164,184]",
	"208:235=[0,0,0]:[164,164,184]",
	"160:167=[0,0,0]:[164,164,184]",
	"48:79=[0,0,0]:[164,164,184]"
}

actor FIMPGIB2 : GIB2
{
	 Translation "168:191=[0,0,0]:[164,164,184]",
	"16:47=[0,0,0]:[164,164,184]",
	"208:235=[0,0,0]:[164,164,184]",
	"160:167=[0,0,0]:[164,164,184]",
	"48:79=[0,0,0]:[164,164,184]"
}

actor FIMPGIB3 : GIB3
{
	 Translation "168:191=[0,0,0]:[164,164,184]",
	"16:47=[0,0,0]:[164,164,184]",
	"208:235=[0,0,0]:[164,164,184]",
	"160:167=[0,0,0]:[164,164,184]",
	"48:79=[0,0,0]:[164,164,184]"
}

actor FIMPGIB4 : GIB4
{
	 Translation "168:191=[0,0,0]:[164,164,184]",
	"16:47=[0,0,0]:[164,164,184]",
	"208:235=[0,0,0]:[164,164,184]",
	"160:167=[0,0,0]:[164,164,184]",
	"48:79=[0,0,0]:[164,164,184]"
}

actor FIMPGIB5 : GIB5
{
	 Translation "168:191=[0,0,0]:[164,164,184]",
	"16:47=[0,0,0]:[164,164,184]",
	"208:235=[0,0,0]:[164,164,184]",
	"160:167=[0,0,0]:[164,164,184]",
	"48:79=[0,0,0]:[164,164,184]"
}

// Gibs that go SPLAT instead of bounce.

actor GIB1SPLAT : GIB1
{
	-DOOMBOUNCE
    States
    {
    Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
		GIB1 A 0
        goto See
    Death:
		GIB1 A 0 A_JumpIf(waterlevel > 1, 8)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 350
		SPLT D 1 A_FadeOut
        Wait
    }
}

actor GIB2SPLAT : GIB2
{
	-DOOMBOUNCE
    States
    {
       Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
		GIB1 A 0
        goto See
    Death:
		GIB1 A 0 A_JumpIf(waterlevel > 1, 8)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 350
        SPLT D 1 A_FadeOut
        Wait
    }
}

actor GIB3SPLAT : GIB3
{
	-DOOMBOUNCE
    States
    {
    Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
		GIB1 A 0
        goto See
    Death:
		GIB1 A 0 A_JumpIf(waterlevel > 1, 8)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 350
        SPLT D 1 A_FadeOut
        Wait
    }
}

actor GIB4SPLAT : GIB4
{
	-DOOMBOUNCE
    States
    {
	Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
		GIB1 A 0
        goto See
    Death:
		GIB1 A 0 A_JumpIf(waterlevel > 1, 8)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 350
        SPLT D 1 A_FadeOut
        Wait
    }
}

actor GIB5SPLAT : GIB5
{
	-DOOMBOUNCE
    States
    {
    Spawn:
        GIB1 AAA 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,1)
		Stop
		GIB1 A 0
        goto See
    Death:
		GIB1 A 0 A_JumpIf(waterlevel > 1, 8)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 0 A_SpawnItemEx("Blood",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
        SPLT A 4 A_PlaySound("gibbage/xgibst")
        SPLT BCD 4
        SPLT D 350
        SPLT D 1 A_FadeOut
        Wait
    }
}

ACTOR Kaboom
{
   Radius 10
   Height 10
   Speed 5
   PROJECTILE
   +CLIENTSIDEONLY
   +NOCLIP
   +NOINTERACTION
   Renderstyle "Add"
   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 KaGas
{
   Radius 10
   Height 10
   Speed 5
   PROJECTILE
   +CLIENTSIDEONLY
   +NOCLIP
   +NOINTERACTION
   Renderstyle "Add"
   States
   {
   Spawn:
    D2FX GH 2 BRIGHT
    D2FX I 4 BRIGHT
    D2FX J 6 BRIGHT A_PlaySound ("weapons/gasx")
    D2FX K 4 BRIGHT
	D2FX L 2 BRIGHT
    Stop
   }
}


ACTOR KaZap
{
   Radius 10
   Height 10
   Speed 5
   PROJECTILE
   +CLIENTSIDEONLY
   +NOCLIP
   +NOINTERACTION
   Renderstyle Add
   States
   {
   Spawn:
    FX17 EF 2
    FX17 G 4
    FX17 H 6 BRIGHT A_PlaySound ("weapons/zapx")
    FX17 I 6 BRIGHT
	FX17 J 4
	FX17 KL 2
    Stop
   }
}

Actor EtherealBloodPurple
{
	+NoClip
	+NoBlockMap
	+NoGravity
	+Missile
	+ClientSideOnly
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,3)
		TNT1 A 0 A_SpawnItemEx("EtherealBloodPurpleParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
		TNT1 AAAA 0 A_SpawnItemEx("EtherealBloodPurpleParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
	}
}

Actor EtherealBloodPurpleParticle
{
  Height 0
  Radius 0
  Mass 0
  +Missile
  +NoBlockMap
  +DontSplash
  +ClientSideOnly
  RenderStyle Add
  Scale 0.045
  Gravity 0.25
  States
  {
  Spawn:
    EBLD A 1 Bright A_FadeOut(0.02)
    Loop
  }
}

Actor EtherealBloodGreen : EtherealBloodPurple
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,3)
		TNT1 A 0 A_SpawnItemEx("EtherealBloodGreenParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
		TNT1 AAAA 0 A_SpawnItemEx("EtherealBloodGreenParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
	}
}

Actor EtherealBloodGreenParticle : EtherealBloodPurpleParticle
{
	States
	{
	Spawn:
		EBLD B 1 Bright A_FadeOut(0.02)
		Loop
	}
}

Actor EtherealBloodBlue : EtherealBloodPurple
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,3)
		TNT1 A 0 A_SpawnItemEx("EtherealBloodBlueParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
		TNT1 AAAA 0 A_SpawnItemEx("EtherealBloodBlueParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
	}
}

Actor EtherealBloodBlueParticle : EtherealBloodPurpleParticle
{
	States
	{
	Spawn:
		EBLD C 1 Bright A_FadeOut(0.02)
		Loop
	}
}

Actor EtherealBloodYellow : EtherealBloodPurple
{
	States
	{
	Spawn:
	    TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,3)
		TNT1 A 0 A_SpawnItemEx("EtherealBloodYellowParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
		TNT1 AAAA 0 A_SpawnItemEx("EtherealBloodYellowParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
	}
}

Actor EtherealBloodYellowParticle : EtherealBloodPurpleParticle
{
	States
	{
	Spawn:
		EBLD D 1 Bright A_FadeOut(0.02)
		Loop
	}
}

Actor EtherealBloodSkull : EtherealBloodPurple
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,3)
		TNT1 A 0 A_SpawnItemEx("EtherealBloodSkullParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
		TNT1 AAAA 0 A_SpawnItemEx("EtherealBloodSkullParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
	}
}

Actor EtherealBloodSkullParticle : EtherealBloodPurpleParticle
{
	States
	{
	Spawn:
		EBLD E 1 Bright A_FadeOut(0.02)
		Loop
	}
}

Actor EtherealBloodWhite : EtherealBloodPurple
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(WOC_CLIENTCVAR,WOC_GORELEVEL)==1,3)
		TNT1 A 0 A_SpawnItemEx("EtherealBloodWhiteParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
		TNT1 AAAA 0 A_SpawnItemEx("EtherealBloodWhiteParticle", 0, 0, 0, Random(1, 5), 0, Random(0, 3), Random(0, 360), 0)
		TNT1 A 1
		Stop
	}
}

Actor EtherealBloodWhiteParticle : EtherealBloodPurpleParticle
{
	States
	{
	Spawn:
		EBLD F 1 Bright A_FadeOut(0.02)
		Loop
	}
}