actor BigGibBase
{   Radius 10
    Height 10
	+CLIENTSIDEONLY
    +NOTELEPORT
    +MOVEWITHSECTOR
	+DONTSPLASH
	+NOBLOCKMONST
	-NOBLOCKMAP
	+GHOST
	+THRUACTORS
	+FLOORCLIP
	+SLIDESONWALLS
	+FORCEXYBILLBOARD
	DamageFactor "CauseObjectsToSplash", 0.0
	DamageFactor "GibRemoving", 0.5
	//+SOLID
	-SOLID
	+SHOOTABLE
	damagefactor "Crush", 50.0
	damagefactor "Shrapnel", 100.0
    damagefactor "Plasma", 20.0
	 damagefactor "TeleportRemover", 1000.0
	 painchance "Flames", 0
	 painchance "Fire", 0
	 painchance "Burn", 0
	 painchance "KillMe", 0
	 damagefactor "Kick", 3.0
	damagefactor "SuperKick", 3.0
	damagefactor "ExtremePunches", 2.0
    Mass 1000
    Health 100
    damagefactor "Blood", 0.0    damagefactor "GreenBlood", 0.0    damagefactor "BlueBlood", 0.0    damagefactor "Taunt", 0.0    damagefactor "KillMe", 0.0  damagefactor "Avoid", 0.0  damagefactor "Taunt", 0.0
    damagefactor "Trample", 5000.0
	painchance 255
States    {
    Spawn:
TNT1 A 1900 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
       Loop 
	   
	   
    Death:
  	    TNT1 AAA 0 A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (0, 160))
		Stop

    Death.Trample:
		TNT1 A 0 //A_GiveToTarget("BootsSmearedWithRedBlood", 6)
	Death.Crush:
	Death.Stomp:
	Death.SuperPunch:
	Death.ExtremePunches:
  	     TNT1 AAA 0 A_CustomMissile ("XDeath1", 5, 0, random (0, 360), 2, random (0, 30))
		 TNT1 AAAA 0 A_CustomMissile ("BloodMist", 5, 0, random (0, 360), 2, random (0, 30))
		 TNT1 A 0 A_SpawnItem("SplatteredSmall")
		 XME2 L 1
		 XME2 L -1
		 Stop
	Death.TeleportRemover:
	    TNT1 A 0
		TNT1 A 0 A_ChangeFlag("NOCLIP", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
		TNT1 A 0 A_NoBlocking
		Stop	 
	Death.GibRemoving:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag("NOCLIP", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
		TNT1 A 0 A_NoBlocking
		Stop
	
	Death.Desintegrate:
		 TNT1 A 0
		 TNT1 AAAA 0 A_CustomMissile ("Brutal_FlyingBloodFake", 0, 0, random (0, 360), 2, random (0, 90))
         TNT1 A 0 A_CustomMissile ("Brutal_FlyingBlood", 7, 0, random (0, 360), 2, random (30, 60))
		 TNT1 A 0 A_CustomMissile ("BloodMistSmall", 7, 0, random (0, 360), 2, random (30, 60))
		 Stop
		 }}

actor LimbBase: BigGibBase
{   Radius 6
    Height 10
    Mass 1000
    Painchance 256
    Health 35
    +FORCEXYBILLBOARD
	+DONTSPLASH
	+SHOOTABLE
	-CLIENTSIDEONLY
	+NOBLOCKMONST
	//+SOLID
	+THRUACTORS
	+FLOORCLIP
	damagefactor "Crush", 50.0
    DeathSound "misc/xdeath4"
    damagefactor "Blood", 0.0    damagefactor "GreenBlood", 0.0    damagefactor "BlueBlood", 0.0    damagefactor "Taunt", 0.0    damagefactor "KillMe", 0.0  damagefactor "Avoid", 0.0  damagefactor "Taunt", 0.0
    //damagefactor "Plasma", 99000.0
    damagefactor "Trample", 2.0
	damagefactor "Kick", 9.0
	damagefactor "Explosive", 0.1
	damagefactor "ExplosiveImpact", 9.1
	damagefactor "Shrapnel", 100.0
damagefactor "Melee", 9.0
damagefactor "SuperPunch", 9.0
damagefactor "Plasma", 20.0
painchance 255
States    {
    Spawn:
TNT1 A 1900 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
       Loop 
    Death:
  	    TNT1 AAAAAAA 0 A_CustomMissile ("Brutal_FlyingBloodTrail5", 0, 0, random (0, 180), 2, random (0, 180))
        TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
        XDT3 BCDEFGH 3
	Death.Crush:
  	     TNT1 A 1 A_CustomMissile ("XDeath1", 5, 5, random (0, 360), 2, random (0, 160))
		 TNT1 A 0 A_CustomMissile ("XDeath2", 5, 0, random (0, 360), 2, random (0, 160))
		 TNT1 A 0 A_CustomMissile ("XDeath3", 5, -5, random (0, 360), 2, random (0, 160))
		 
		 CRSB A 9009
		 Stop  
		Stop}}
		

ACTOR TinyGib
{
    Radius 2
    Height 8
	Speed 6
	Mass 1
    gravity 0.5
    Scale 0.8
	Decal BrutalBloodSplat
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +NOBLOCKMAP
    +NOTELEPORT
    +MISSILE
    +FORCEXYBILLBOARD
	+DONTSPLASH
	+NOBLOCKMONST
    seesound "bloood"
    deathsound "bloood"
    States
    {
    Spawn:
        TNT1 A 1
		Loop
    }
}



actor BloodTrails
{
Decal BrutalBloodSplat
 game Doom
	Alpha 0.4
+FORCEXYBILLBOARD
+GHOST
+NOBLOCKMAP
Gravity 0.05
+NOCLIP
  +DontSplash
-EXPLODEONWATER
-ALLOWPARTICLES 
+CLIENTSIDEONLY
-NOGRAVITY
Scale 1.2
 states
 {
  Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        //BLER GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 1 A_FadeOut(0.01)
        TNT1 AAAAAA 0 A_CustomMissile ("BloodTr255G", 0, 0, random (0, 360), 2, random (0, 180))
        //BLOD A 0 A_SpawnItem ("Big_Blood", 0, 10)
        stop
 }
}


// Blood trails spawned by FlyingBlood
actor Brutal_FlyingBloodTrail8
{
 game Doom
 scale 0.70
 mass 1
   Decal BrutalBloodSplat
 +LOWGRAVITY
 +NOTELEPORT
 +NOBLOCKMAP
+NOCLIP
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
-DONTSPLASH
+MISSILE
-NOGRAVITY
Speed 3
 states
 {
  Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  BTRL A 8
  BTRL B 8
  BTRL C 8
  BTRL D 8
  stop

	Splash:
        BLOD A 0
        stop

 }
}

Actor GreenBloodTrail
{
-NOGRAVITY
+NOCLIP
radius 16
height 16
gravity 0.5
Scale 1.5
 translation "168:191=112:127","16:47=120:127"
+FORCEXYBILLBOARD
 +NOBLOCKMAP
states
	{
	Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		TNT1 A 0
		TNT1 A 0 Thing_ChangeTid(0,386)
		BLOD ABCD 2
		stop
    Splash:
        TNT1 A 0
        Stop
	}
}


Actor BlueBloodTrail
{
-NOGRAVITY
+NOCLIP
radius 16
height 16
gravity 0.5
Scale 1.5
translation "168:191=192:207","16:47=240:247"
decal CacoBloodSplat
+FORCEXYBILLBOARD
states
	{
	Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		TNT1 A 0
		TNT1 A 0 Thing_ChangeTid(0,386)
		BLOD ABCD 2
		stop
    Splash:
        TNT1 A 0
        Stop
	}
}



ACTOR XDeath1
{
    Radius 8
    Height 8
    Speed 10
    Scale 1.2
	Mass 1
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +RIPPER
    +BLOODLESSIMPACT 
	-DONTSPLASH
	+THRUGHOST
	+THRUACTORS
	+FLOORCLIP
damagetype Blood
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath1"
	Decal BrutalBloodSuper
	Mass 1
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Underwater")
        BLOD A 4 A_CustomMissile ("XDeath1Trail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
        TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
        XDT1 EFGHIJKL 5
        Stop
        TNT1 A 1
     Underwater:
	 Splash:
	    BLUD C 0 ThrustThingZ (0,35,1,0)
        XDT1 AB 3 A_CustomMissile ("Brutal_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
		BLUD C 0 ThrustThingZ (0,35,1,0)
		XDT1 CD 3 A_CustomMissile ("Brutal_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    }
}

ACTOR XDeath2: XDeath1
{
    +CLIENTSIDEONLY
	+DONTSPLASH
    Speed 10
	Gravity 0.4
    DeathSound "misc/xdeath2"
	Decal BrutalBloodSuper
    Scale 1.1
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME1 ABCD 3 A_CustomMissile ("Brutal_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
        TNT1 AAAAAAA 0 A_CustomMissile ("Brutal_FlyingBloodTrail5", 0, 0, random (0, 180), 2, random (0, 180))
        
		
	    TNT1 A 0 A_CheckFloor("SpawnFloor")
		TNT1 A 0 A_SpawnItemEx ("DetectCeilBloodSimplerLarge",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("DetectCeilXDeath2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 1
		Stop
		
	SpawnFloor:
	    XME1 E 1
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		XME1 E 3
		TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
    Living:
	    XME1 E 600
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
		Loop
	Vanish:
	    TNT1 A 5
		Stop
    }
}


ACTOR XDeath2b: XDeath2
{
Speed 4
}

ACTOR XDeath3: XDeath2
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Decal BrutalBloodSuper
	Scale 1.1
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME2 ABCD 3 A_CustomMissile ("Brutal_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
        TNT1 AAAAAAA 0 A_CustomMissile ("Brutal_FlyingBloodTrail5", 0, 0, random (0, 180), 2, random (0, 180))
	    TNT1 A 0 A_CheckFloor("SpawnFloor")
		TNT1 A 0 A_SpawnItemEx ("DetectCeilBloodSimplerLarge",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("DetectCeilXDeath3",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 1
		Stop
		
	SpawnFloor:
	    XME2 E 1
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
		XME2 E 3
		TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
        Living:
	    XME2 E 600
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
		Loop
	Vanish:
	    TNT1 A 5
		Stop	
    }
}

ACTOR XDeath3b: XDeath3
{
Speed 4
}

ACTOR XDeath4: XDeath2
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Scale 1.1
	+DOOMBOUNCE
	BounceFactor 0.3
	wallbouncefactor 0.2
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME3 ABCDEFGH 3 A_CustomMissile ("Brutal_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
	TNT1 A 0
	TNT1 A 0 A_Jump(255, "Death1", "Death2")
	GOto Death1
	
	Death1:
	    TNT1 A 0
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
	    XME3 GH 3
	    XME3 A 1
		TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
	Living1:	
		XME3 A 600//duration
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        Loop
	Death2:
	    XME3 I 1
		TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
		XME3 I 1
    Living2:	
		XME3 I 600//duration
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        Loop
	Vanish:
	   TNT1 A 1
	   Stop
    }
}


ACTOR XDeath5: XDeath2
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Scale 1.1
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        GIB1 A 3 A_CustomMissile ("Brutal_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
        TNT1 AAAAAAA 0 A_CustomMissile ("Brutal_FlyingBloodTrail5", 0, 0, random (0, 180), 2, random (0, 180))
        TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
		TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
        GIB1 B 3
    Living:	
		GIB1 B 800//duration
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Vanish")
        Loop
	Vanish:
	    TNT1 A 1
	    Stop
		
    }
}


ACTOR XDeathOrgan1: XDeath2
{
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
	Scale 0.9
	Speed 4
    States
    {
    Spawn:
	    XME8 A 4 A_CustomMissile ("Brutal_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
        XME8 A 1
		XME8 A -1
        Stop
    }
}

ACTOR XDeathOrgan1b: XDeathOrgan1
{
	XScale -0.7
	YScale 0.5
}

ACTOR XDeathOrgan2: XDeathOrgan1
{
States
{
    Spawn:
	    XME8 B 4 A_CustomMissile ("Brutal_FlyingBloodTrail", 0, 0, random (0, 360), 2, random (0, 360))
        Loop
    Death:
        XME8 B 1
		XME8 B -1
        Stop
    }
}

ACTOR XDeathGuts: XDeath2
{
    Scale 1.1
    SeeSound "misc/xdeath4"
    DeathSound "misc/xdeath3"
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        XME4 AAAABBBBCCCCDDDD 2
        Loop
    Death:
        TNT1 AAAAAAA 0 A_CustomMissile ("Brutal_FlyingBloodTrail5", 0, 0, random (0, 180), 2, random (0, 180))
        //TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
        XME4 E 9009
        Stop
    }
}


ACTOR GoreSound: XDeath2
{
    SeeSound "misc/xdeath4"
    DeathSound "none"
    Decal "None"
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 A 2
        Loop
    Death:
        TNT1 BCDE 1
        Stop
        Splash:
        TNT1 A 1
        Stop
    }
}


ACTOR Instestin
{
    Radius 8
    Height 12
    Speed 6
	Mass 1
	BounceFactor 0.4
	Renderstyle Translucent
	Alpha 0.9
	+DOOMBOUNCE
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +FORCEXYBILLBOARD
	-EXPLODEONWATER
    DeathSound "misc/xdeath1"
	Decal BrutalBloodSplat
	Scale 1.1
    States
    {
    Spawn:
        GUTS ABCD 8
        Loop
    Death:
	   
        GUTS E 1
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Water")
        TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
	    Goto Rest
		
		
	Rest:
		TNT1 A 0
		TNT1 A 0 A_Jump(255, "Rest1", "Rest2")
	Rest1:
        GUTS E 800
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "DoNothing")
        Loop
		
	Rest2:
		GUTS F 800
		TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "DoNothing")
        Loop
	DoNothing:
	TNT1 A 0
	Stop
	
	Water:
	TNT1 A 0
	TNT1 A 0 A_Jump(128, "Water2")
	Goto Water1
	
	Water1:
	GUTS GH 10
	//TNT1 A 0 A_JumpIf(waterlevel == 0, "Death")
	Loop
	
	Water2:
	GUTS IJ 10
	//TNT1 A 0 A_JumpIf(waterlevel == 0, "Death")
	Loop
    }
}

ACTOR Instestin2: Instestin
{
    Speed 3
}


ACTOR XJunk1: XDeath1
{
    +CLIENTSIDEONLY
	+DONTSPLASH
	+DOOMBOUNCE
	BounceFactor 0.5
    Speed 14
	Gravity 0.8
    DeathSound "none"
	SeeSound "none"
	Decal None
    Scale 1.0
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        JNK6 ABCD 3
        Loop
    Death:

        //TNT1 A 0 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
        JNK6 A 2000
        Stop
    Splash:
        TNT1 A 1
		JNK6 A -1
        Stop
    }
}


ACTOR XJunk2: XJunk1
{
    BounceFactor 0.3
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        JNK7 ABCD 3
        Loop
    Death:

        //TNT1 A 0 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
        JNK7 A 2000
        Stop
    Splash:
        TNT1 A 1
		JNK7 A -1
        Stop
    }
}


ACTOR XJunk3: XJunk1
{
    BounceFactor 0.7
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        JNK8 ABCD 3
        Loop
    Death:

        //TNT1 A 0 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
        JNK8 A 2000
        Stop
    Splash:
        TNT1 A 1
		JNK8 A -1
        Stop
    }
}


ACTOR XJunk4: XJunk1
{
    -DOOMBOUNCE
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        JNK4 ABCD 3
        Loop
    Death:

        //TNT1 A 0 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
        JNK4 A 2000
        Stop
    Splash:
        TNT1 A 1
		JNK4 A -1
        Stop
    }
}


ACTOR XJunk5: XJunk1
{
    -DOOMBOUNCE
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        JNK5 ABCD 3
        Loop
    Death:

        //TNT1 A 0 A_SpawnItem("NashGore_BloodSpot",0,0,0,1)
        JNK5 A 2000
        Stop
    Splash:
        TNT1 A 1
		JNK5 A -1
        Stop
    }
}