//All the liquid gore stuff goes here.

Actor BloodTesting
{
States
{
Spawn:
TNT1 A 1
TNT1 A 0 A_SpawnItem("Blood")
Loop
}
}



actor GibRemoving
{
DamageType GibRemoving
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+NORADIUSDMG
+NOEXTREMEDEATH
-BLOODSPLATTER
+BLOODLESSIMPACT 
+PAINLESS
+FORCERADIUSDMG
PROJECTILE
States
{
Spawn:
TNT1 A 0
        TNT1 A 0 A_Explode(3,40)
Stop
 }
}


actor MegaGibRemoving
{
DamageType GibRemoving
+NOGRAVITY
+NOTELEPORT
+NODAMAGETHRUST
+NORADIUSDMG
+NOEXTREMEDEATH
-BLOODSPLATTER
+BLOODLESSIMPACT 
+PAINLESS
PROJECTILE
States
{
Spawn:
TNT1 A 0
        TNT1 A 0 A_Explode(30,300)
Stop
 }
}



ACTOR TinyBlood
{
 game Doom
 scale 0.2
 speed 7
 health 1
 radius 8
 height 1
  +DontSplash
 Gravity 0.7
	Decal BrutalBloodSplat
   +MISSILE
   +CLIENTSIDEONLY
   +NOTELEPORT
   +NOBLOCKMAP
   +FORCEXYBILLBOARD
        -EXPLODEONWATER
+DOOMBOUNCE
BounceFactor 0.01
    States
    {
     Spawn:
	   TNT1 A 0
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        BLUD Z 500
		Stop
	NoSpawn:
	TNT1 A 0
	Stop
	Splash:
        BLXD A 0
		TNT1 AAA 0 A_CustomMissile ("Underblood1", 7, 0, random (0, 360), 2, random (30, 150))
        stop
     Death:
	    TNT1 A 0
		TNT1 A 0 A_PlaySound("blooddrop3")
        XDT1 EFGHIJKL 2
        stop
    }
}








actor Brutal_XBlood //Replaces Blood
{
Decal BrutalBloodSplat
Renderstyle Translucent
 game Doom
+FORCEXYBILLBOARD
+NOGRAVITY
+THRUACTORS
+CLIENTSIDEONLY
Scale 0.6
Alpha 0.6
Speed 0
Mass 999999
 states
 {
  Spawn:
        BXHT A 0
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		TNT1 A 0 A_CustomMissile ("WaterBloodCHecker", 7, 0, random (0, 360), 2, random (30, 60))
		TNT1 A 0 ACS_ExecuteAlways(799, 0, 0, 0, 0)//Check Blood density
		TNT1 A 0 A_Stop
		BXHT A 1
		BXHT A 1
	Spawn2:
        TNT1 A 0 A_CustomMissile ("Brutal_FlyingXBlood", 7, 0, random (0, 360), 2, random (30, 60))
		TNT1 AAAAAAA 0 A_CustomMissile ("Brutal_FlyingXBloodTrail", 0, 0, random (0, 360), 2, random (0, 90))
		TNT1 A 0 A_Stop
		BXHT ABCDEFG 1
		BXHT GGGGGGGGGGGGGGGGGG 1 A_FadeOut(0.05)
		Stop
	Splash:
        BLXD A 0
		TNT1 AAA 0 A_CustomMissile ("Underblood1", 7, 0, random (0, 360), 2, random (30, 150))
        stop
	LotsOfBlood:
	   TNT1 AAAAAAAA 0 A_CustomMissile ("Brutal_FlyingXBloodFake", 0, 0, random (0, 360), 2, random (0, 90))
       TNT1 A 0 A_CustomMissile ("Brutal_FlyingXBloodLevel3", 7, 0, random (0, 360), 2, random (40, 60))
	   TNT1 A 0 A_CustomMissile ("Brutal_FlyingXBlood", 7, 0, random (0, 360), 2, random (20, 40))
	   TNT1 A 0 A_CustomMissile ("XBloodmistSmall", 0, 0, random (0, 360), 2, random (10, 40))
	   TNT1 A 0 A_CustomMissile ("SuperGoreMistTiny", 0, 0, random (0, 360), 2, random (60, 90))
	   TNT1 AAAA 0 A_CustomMissile ("Brutal_FlyingXBloodTrail", 0, 0, random (0, 360), 2, random (0, 90))
	   BXHT ABCDEFG 1
	   BXHT GGGGGGGGGGGGGGGGGG 1 A_FadeOut(0.05)
	   Stop
	AbsurdBlood:
	   TNT1 A 2
	   TNT1 A 0 A_JumpIfInventory("AnimuGore", 1, "AnimuGore")
	   TNT1 AAAAAAAA 0 A_CustomMissile ("Brutal_FlyingXBloodFake", 0, 0, random (0, 360), 2, random (0, 90))
       TNT1 AAA 0 A_CustomMissile ("Brutal_FlyingXBloodLevel3", 7, 0, random (0, 360), 2, random (10, 50))
	   TNT1 A 0 A_CustomMissile ("Brutal_FlyingXBloodLevel3", 7, 0, random (0, 360), 2, random (40, 60))
	   TNT1 AAA 0 A_CustomMissile ("XBloodmistSmall", 7, 0, random (0, 360), 2, random (30, 90))
	   TNT1 AA 0 A_CustomMissile ("SuperGoreMistSmall", 0, 0, random (0, 360), 2, random (10, 90))
	   TNT1 AAAA 0 A_CustomMissile ("Brutal_FlyingXBloodTrail", 0, 0, random (0, 360), 2, random (0, 90))
	   BXHT ABCDEFG 1
	   BXHT GGGGGGGGGGGGGGGGGG 1 A_FadeOut(0.05)
	   Stop  
	  AnimuGore:
	   TNT1 AAAA 0 A_CustomMissile ("Brutal_FlyingXBloodLevel3", 7, 0, random (0, 360), 2, random (10, 50))
	   TNT1 A 0 A_CustomMissile ("Brutal_FlyingXBloodLevel3", 7, 0, random (0, 360), 2, random (40, 60))
	   TNT1 AAA 0 A_CustomMissile ("XBloodmist", 7, 0, random (0, 360), 2, random (30, 90))
	   TNT1 AA 0 A_CustomMissile ("SuperGoreMistSmall", 0, 0, random (0, 360), 2, random (10, 90))
	   TNT1 AA 0 A_CustomMissile ("XDeath1", 0, 0, random (0, 360), 2, random (0, 360))
	   
	   TNT1 A 0 A_CustomMissile ("SuperGoreSpawner2", 0, 0, random (0, 360), 2, random (10, 90))
	   BXHT ABCDEFG 1
	   BXHT GGGGGGGGGGGGGGGGGG 1 A_FadeOut(0.05)
	   Stop   
	 LowBlood:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile ("Brutal_FlyingXBloodFake", 0, 0, random (0, 360), 2, random (0, 90))
		TNT1 AA 0 A_CustomMissile ("Brutal_FlyingXBloodTrail", 0, 0, random (0, 360), 2, random (0, 90))
		BXHT ABCDEFG 1
		Stop
 }
}

actor BloodHit
{
  height 1
  radius 1
  +THRUACTORS
  Gravity 0.1
  +CLIENTSIDEONLY
  Scale 0.2
  Renderstyle Translucent
  Alpha 0.1
  states
  {
  Spawn:
  TNT1 A 0
  BMST EEE 1 A_FadeIn(0.3)
  BMST E 1
  BMST EEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.04)
    Stop
  }
}

actor Big_Blood : Brutal_XBlood
{
 states
 {
  Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 AAAAAA 0 A_CustomMissile ("Brutal_FlyingXBloodTrail", 15, 0, random (0, 360), 2, random (0, 180))
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Brutal_FlyingXBloodTrail", 0, 0, random (0, 180), 2, random (0, 180))
        BLXD BCD 0
        stop
 }
}


actor 12BloodTrail : Brutal_XBlood
{
 states
 {
  Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 A 0 A_CustomMissile ("Brutal_FlyingXBloodTrail", 15, 0, random (0, 360), 2, random (0, 180))
        stop
 }
}

actor BrainBlood : Brutal_XBlood
{
Decal BrutalBloodSplat
}




ACTOR Brutal_FlyingXBlood 
{
   scale 0.5
   speed 4
   radius 8
   height 1
   Gravity 0.8
   Renderstyle Translucent
   Alpha 0.95
   Decal BrutalBlood
   Mass 1
   +MISSILE   +CLIENTSIDEONLY
   +NOTELEPORT   +NOBLOCKMAP
   +THRUACTORS   +FORCEXYBILLBOARD
   +MOVEWITHSECTOR   +DONTSPLASH
    States
    {
     Spawn:
			TNT1 A 0
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			BLXD ABCD 2
	 Spawn1:
			BLXD E 3
			TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
			loop
	
	Splash:
			BLXD A 0
			TNT1 A 0 A_SpawnItem ("Underblood2")
			stop
		
     Death:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("blooddrop2")
			TNT1 A 0 A_CheckFloor("DeathFloor")
			TNT1 A 1
			Stop
  
		DeathFloor:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx ("Brutal_BloodSpot",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
			Stop
			
    }
}

ACTOR BloodHeightDetect_or: TinyBlood //Doesnt spawns blood pools if it hits the ceiling or walls
{
 -DONTSPLASH
 scale 1.0
 Gravity 1.0
    States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
	   BLUD C 0 ThrustThingZ (0,25,1,0)
        BLXD C 3
        Stop
	Splash:
        BLXD A 0
        stop
     Death:
	    TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("Brutal_Bloodspot", 0, 0, 0, 0, 0, 0, random(0, 360))
		//TNT1 A 0 A_SpawnItem("Brutal_Bloodspot")
		TNT1 A 0 A_PlaySound("blooddrop2")
		//XDT1 EFGHIJK 3 
		TNT1 A 0 A_SpawnItemEx ("MiniBloodDropEffect")
		TNT1 A 0 A_SpawnItemEx ("MiniBloodDropEffect", 12, 12)
		TNT1 A 0 A_SpawnItemEx ("MiniBloodDropEffect", 12, -12)
		TNT1 A 0 A_SpawnItemEx ("MiniBloodDropEffect", -12, 12)
        TNT1 A 0 A_SpawnItemEx ("MiniBloodDropEffect", -12, -12)
		stop
    }
}

ACTOR Brutal_FlyingXBloodMuchFaster: Brutal_FlyingXBlood
{
 speed 18
}

ACTOR Brutal_FlyingXBloodLevel3: Brutal_FlyingXBlood
{
 Scale 1.0
 Speed 7
}

ACTOR Brutal_BloodSpot
{
 game Doom
 radius 2
 height 2
 mass 1
 Health 300
+NOTELEPORT
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+MOVEWITHSECTOR
+FLOORCLIP
+NOTARGET
-SHOOTABLE
+NOBLOOD
+DONTSPLASH
-SOLID
+THRUACTORS
Alpha 0.99
Mass 99999999
Scale 0.5
Decal BrutalBloodSplat
Renderstyle Normal
DamageFactor "TeleportRemover", 100.0
 states
 {
 Spawn:
 TNT1 A 0
 TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
 
  TNT1 A 1
  TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
  TNT1 A 0 A_CheckFloor("SpawnNormally")
  Goto Splash
  
  SpawnNormally:
  //TNT1 A 0 A_SpawnItem("GibRemoving")
  TNT1 A 0
  TNT1 A 0 A_QueueCorpse
  TNT1 A 0 A_Jump(255, "SpawnBFrameOnly", "SpawnCFrameOnly", "SpawnDFrameOnly")
  SpawnAFrameOnly:
  //BPDL A 800//duration
  //TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "FadeA")
  BPDL A -1
  Loop
  SpawnBFrameOnly:
  //BPDL B 800//duration
  //TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "FadeB")
  BPDL B -1
  Loop
  
  FadeA:
  BPDL AAAA 1 A_FadeOut(0.05)
  Stop
  
  FadeB:
  BPDL BBBB 1 A_FadeOut(0.05)
  Stop
  
  SpawnCFrameOnly:
  //BPDL C 800//duration
  //TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "FadeC")
  BPDL C -1
  Loop
  
  SpawnDFrameOnly:
  //BPDL D 800//duration
 // TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "FadeD")
  BPDL D -1
  Loop
  
  FadeC:
  BPDL CCCC 1 A_FadeOut(0.05)
  Stop
  
  FadeD:
  BPDL DDDD 1 A_FadeOut(0.05)
  Stop
  
	Splash:
        BLXD A 0
        stop
		
	Death:
	TNT1 A 0
	TNT1 A 0 A_NoBlocking
	Stop
	
	IsOverLiquid:
		BPDL E 1 A_FadeOut(0.9)
		BPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeIn(0.05)
		BPDL E 400
		BPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeOut(0.05)
		Stop
 }
}



ACTOR BD_WaterBloodSpot
{
+CLIENTSIDEONLY
+THRUACTORS
Radius 0
Height 0
Renderstyle Shaded
StencilColor "55 00 00"
Alpha 0.2
 states
 {
 Spawn:
		BPDL E 1 A_FadeOut(0.9)
		BPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeIn(0.02)
		BPDL E 100
		BPDL EEEEEEEEEEEEEEEEEEEE 4 A_FadeOut(0.02)
		Stop
 }
}


actor Giant_BloodSpot: Brutal_BloodSpot
{
 Scale 1.1
 States
 {
	Spawn:
	TNT1 A 0
	TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
	TNT1 A 0 ACS_ExecuteAlways(374)//Check Floortype
	TNT1 A 3
	TNT1 A 0 A_JumpIfInventory("IsOverSlimy", 1, "Disappear")
	TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "Disappear")
	TNT1 A 0 A_JumpIfInventory("IsOverNukage", 1, "Disappear")
	TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "Disappear")
	TNT1 A 0 A_QueueCorpse
	TNT1 A 0 A_SpawnItemEx ("BootSmearerRed",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	Goto SpawnAFrameOnly
	
	Disappear:
		TNT1 A 0
		Stop
	}
}




actor Big_BloodSpot: Giant_BloodSpot
{
 Scale 0.7
}

actor Medium_BloodSpot: Giant_BloodSpot
{
game Doom
Scale 0.4
}

actor Medium_BloodSpot2: Giant_BloodSpot
{
game Doom
Scale 0.4
}



ACTOR CeilBloodLauncher: Brutal_FlyingXBlood
{
    +THRUACTORS
    +BLOODLESSIMPACT 
	-DOOMBOUNCE
	-SKYEXPLODE
	+BOUNCEONWALLS
    damagetype Blood
    Speed 15
    Gravity 0.0
	Radius 1
	Height 1
	Decal BrutalBloodSplat
    States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 A 3
        Stop
	Splash:
        BLXD A 0
        stop
     Death:
  	    TNT1 A 0
		TNT1 A 0 A_CheckCeiling("IsOnCeil")
        TNT1 A 0
        stop
		
	 IsOnCeil:
		TNT1 A 0
		TNT1 A 1 A_SpawnItem("CeilBloodSpot",0,0,0,1)
		Stop
	 Melee:
     Xdeath:
	    TNT1 A 1
        Stop
    }
}

ACTOR CeilBloodLauncherLong: CeilBloodLauncher
{
    States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 A 12
        Stop
    }
}




// Checks if there is a ceiling above, and isn't hitting a monster.
ACTOR CeilBloodChecker: Brutal_FlyingXBlood
{
    +THRUACTORS
    +BLOODLESSIMPACT 
	-SKYEXPLODE
	+BOUNCEONWALLS
	damagetype Blood
	damage 0
	Radius 8
	Height 1
	Speed 400

 Gravity 0.0
	Decal BrutalBloodSuper
    States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 A 4
        Stop
	Splash:
        BLXD A 0
        stop
     Death:
       TNT1 A 1 A_SpawnItem("CeilBloodSpot",0,0,0,1)
                TNT1 A 5
        stop
     Xdeath:
	    TNT1 A 1
        Stop
    }
}


ACTOR CeilBloodCheckerLarge: CeilBloodChecker
{
States
{
     Death:
        TNT1 A 1 A_SpawnItem("CeilBloodSpotLarge",0,0,0,1)
        TNT1 A 5
        stop
}}




ACTOR Detect_CeilBloodSimpler
{
 game Doom
 scale 0.4
 speed 0
 health 1
 radius 1
 height 1
 Gravity 0.0
 damage 0
 Renderstyle Translucent
 Alpha 0.95
	DamageType Blood
   +MISSILE
   +CLIENTSIDEONLY
   +NOTELEPORT
   +NOBLOCKMAP
   +FORCEXYBILLBOARD
   +NODAMAGETHRUST
   +DONTSPLASH
   +NOGRAVITY
    States
    {
     Spawn:
	 TNT1 A 0
	 TNT1 A 0 ThrustThingZ(0,35,0,1)
	 TNT1 A 2
	 Stop
	 Death:
	 TNT1 A 0
	 TNT1 A 0 A_CustomMissile ("CeilBloodChecker", -15, 0, 90, 2, 90)
  Stop
    }
}



ACTOR Detect_CeilBloodSimplerLarge: Detect_CeilBloodSimpler
{
    States
    {
	 Death:
	 TNT1 A 0
	 TNT1 A 0 A_CustomMissile ("CeilBloodCheckerLarge", -15, 0, 90, 2, 90)
  Stop
    }
}


// The Ceil Blood Spot.
actor CeilBloodSpot
{
+MISSILE
+CEILINGHUGGER
-SKYEXPLODE
+THRUACTORS
Height 1
Radius 2
+DontSplash
Mass 0
Scale 0.5
Gravity 0.0
Decal BrutalBloodSplat
Renderstyle Normal
Alpha 0.9
states
{
Spawn:
  BPDL A 1
  TNT1 A 0 A_QueueCorpse
  TNT1 A 0 A_SpawnItem ("DripingBloodLeavesSmallPool")
  TNT1 A 0 A_SpawnItem ("CeilBloodTinyBloodSpawner")
  BPDL A -1
  stop
    }
}
actor CeilBloodSpotLarge: CeilBloodSpot
{
states
{
Spawn:
Goto Crash
Death:
Crash:
  BPDL A 1
  TNT1 A 0 A_QueueCorpse
  TNT1 A 0 A_SpawnItem ("DripingBloodLeavesSmallPool")
  TNT1 A 0 A_SpawnItem ("CeilBloodLargeBloodSpawner")
  BPDL A 1
  BPDL A -1
  stop
	Splash:
        BLXD A 0
        stop
    }
}


ACTOR CeilBloodTinyBloodSpawner: TinyBlood
{
+NOGRAVITY
+THRUACTORS
+NOCLIP
    States
    {
     Spawn:
		  TNT1 A 0
		  TNT1 A 1 A_SpawnItemEx ("DripingBloodLeavesSmallPool", random (-5, 5), random (-5, 5))
		  TNT1 AAAAAAAAAAAAAA 5 A_SpawnItemEx ("BloodDripingFromCeiling", random (-5, 5), random (-5, 5))
		  TNT1 AAAAAAAAAAAAAA 10 A_SpawnItemEx ("BloodDripingFromCeiling", random (-5, 5), random (-5, 5))
		  TNT1 AAAAAAAAAAAAAA 16 A_SpawnItemEx ("BloodDripingFromCeiling", random (-5, 5), random (-5, 5))
		  TNT1 AAAAAAAAAAAAAA 24 A_SpawnItem ("BloodDripingFromCeiling")
		  stop
    }
}

ACTOR CeilBloodLargeBloodSpawner: TinyBlood
{
+NOGRAVITY
+THRUACTORS
+NOCLIP
Scale 0.5
    States
    {
     Spawn:
		  TNT1 A 0
		  TNT1 A 1 A_SpawnItemEx ("DripingBloodLeavesSmallPool", random (-5, 5), random (-5, 5))
		  TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 A_SpawnItemEx ("BloodDripingFromCeilingBig", random (-5, 5), random (-5, 5))
		  TNT1 AAAAAAAAAAAAAA 10 A_SpawnItemEx ("BloodDripingFromCeilingBig", random (-5, 5), random (-5, 5))
		  TNT1 AAAAAAAAAAAAAA 15 A_SpawnItemEx ("BloodDripingFromCeiling", random (-5, 5), random (-5, 5))
		  TNT1 AAAAAAAAAAAAAA 20 A_SpawnItemEx ("BloodDripingFromCeiling", random (-5, 5), random (-5, 5))
		  stop
    }
}

ACTOR BloodDripingFromCeiling: TinyBlood
{
+DOOMBOUNCE
+THRUACTORS
+CLIENTSIDEONLY
-FORCEXYBILLBOARD
+FORCEYBILLBOARD
BounceFactor 0.1
    States
    {
     Spawn:
       TNT1 A 0
	   BPDL A 0 ThrustThingZ(0,300,0,1)
	   TNT1 A 0 A_Jump(230, "NoSpawn")
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        BLUD Z 500
        loop
    }
}


ACTOR BloodDripingFromCeilingBig: TinyBlood
{
+DOOMBOUNCE
-FORCEXYBILLBOARD
+FORCEYBILLBOARD
BounceFactor 0.1
XScale 0.4
YScale 0.8
    States
    {
     Spawn:
       TNT1 A 0
	   BPDL A 0 ThrustThingZ(0,300,0,1)
	   TNT1 A 0 A_Jump(160, "NoSpawn")
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        BLUD Z 500
        loop
    }
}
		

ACTOR DripingBlood: TinyBlood
{
-FORCEXYBILLBOARD
+FORCEYBILLBOARD
 scale 0.3
    States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        BLUD Z 4
        loop
	Splash:
        BLXD A 0
        stop
     Death:
	 TNT1 A 0
	 TNT1 A 0 A_PlaySound("blooddrop2")
     XDT1 EFGHIJKL 2
        stop
    }
}


ACTOR DripingBloodLeavesPool: TinyBlood
{
-FORCEXYBILLBOARD
+FORCEYBILLBOARD
 scale 0.3
    States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        BLUD Z 4
        loop
	Splash:
        BLXD A 0
        stop
     Death:
	    TNT1 A 0
		TNT1 A 0 A_SpawnItem("Medium_BloodSpot")
		TNT1 A 0 A_PlaySound("blooddrop2")
        XDT1 EFGHIJKL 2
        stop
    }
}

ACTOR DripingBloodLeavesSmallPool: DripingBloodLeavesPool
{
-FORCEXYBILLBOARD
+FORCEYBILLBOARD
+DONTSPLASH
States
{
     Death:
	    TNT1 A 0
		TNT1 A 0 A_SpawnItem("Minuscle_BloodSpot")
		TNT1 A 0 A_PlaySound("blooddrop2")
        XDT1 EFGHIJKL 2
        stop
    }
}





actor Brutal_FlyingXBloodTrail
{
game Doom
 scale 0.4
 mass 1
  renderstyle Translucent
  alpha 0.5
Decal BrutalBloodSplat
+NOTELEPORT
+NOBLOCKMAP
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+MISSILE
+THRUACTORS
+DOOMBOUNCE
+DontSplash
Gravity 0.4
Speed 2
 states
 {
  Spawn:
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  BXHT ABCDEFG 1
  BXHT GGGGGGGGGGGGGGGGGGG 1 A_FadeOut(0.02)
  stop
Death:
TNT1 A 0
Stop

	Splash:
        BLXD A 0
		TNT1 A 0 A_SpawnItem ("Underblood2")
        stop

 }
}


actor Brutal_FlyingXBloodTrail5 : Brutal_FlyingXBloodTrail
{
Decal None
}

actor BloodTr: Brutal_FlyingXBloodTrail
{
Speed 4
  alpha 0.7
scale 1.1
 states
 {
  Spawn:
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  BTRL ABCD 4
  stop
 }
 }

actor BloodTr2: Brutal_FlyingXBloodTrail
{
Speed 4
  alpha 0.7
scale 1.1
-NOGRAVITY
Gravity 0.6
 states
 {
  Spawn:
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  BTRL ABCD 4
  stop
  Death:
  TNT1 A 0
  Stop
 }
 }

actor BloodTr3: Brutal_FlyingXBloodTrail
{
Speed 6
  alpha 0.7
scale 1.1
-NOGRAVITY
Gravity 0.9
 states
 {
  Spawn:
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  BTRL ABCD 6
  stop
 }
 }

actor BloodTr95: Brutal_FlyingXBloodTrail
{
Speed 4
  alpha 0.7
scale 1.1
-NOGRAVITY
Gravity 0.7
 states
 {
  Spawn:
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  BTRL ABCD 7
  stop
  Death:
  TNT1 A 0
  Stop
 }
 }


actor BloodTr255: Brutal_FlyingXBloodTrail
{
Speed 2
  alpha 0.5
scale 1.0
-NOGRAVITY
+THRUACTORS
Gravity 0.3
 states
 {
  Spawn:
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  BTRL ABCD 3
  stop
  Death:
  TNT1 A 2
  Stop
 }
 }
 
actor BloodTr255G: Brutal_FlyingXBloodTrail
{
Speed 3
  alpha 0.6
scale 0.7
-NOGRAVITY
Gravity 0.8
 states
 {
  Spawn:
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  BTRL ABCD 3
  stop
  Death:
  TNT1 A 0
  Stop
 }
 }

actor Brutal_FlyingXBloodFaster: Brutal_FlyingXBloodTrail
{
Speed 4
 states
 {
  Spawn:
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  //BTRL ABCD 6
  BLXD ABCDEFFFFFF 3
  stop
 }
}

actor Brutal_FlyingXBloodTrail16: Brutal_FlyingXBloodTrail
{
  renderstyle Translucent
  alpha 0.4
}


actor BonePieces : Blood
{
Decal BrutalBloodSplat
 game Doom
+FORCEXYBILLBOARD
 states
 {
  Spawn:
    TNT1 AA 0 A_CustomMissile ("LSpart3", 15, 0, random (0, 360), 2, random (0, 160))
    TNT1 A 0 A_CustomMissile ("LSpart1", 15, 0, random (0, 360), 2, random (0, 160))
  stop
 }
}

ACTOR BloodJuice
{
    Radius 1
    Height 1
	Alpha 0.5
	Scale 4.4
	Gravity 0.01
	Speed 0.2
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
    States
    {
    Spawn:
        BLXD A 1
        Goto Death
	Death:
	    BLXD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.01)
		Stop
    }
}

actor FatalityBlood: Brutal_FlyingXBlood
{
 Speed 14
}


actor DeadBlood
{
Decal BrutalBloodSplat
 game Doom
+FORCEXYBILLBOARD
+GHOST
+NOBLOCKMAP
+NOGRAVITY
+NOCLIP
+DONTSPLASH
Scale 0.6
Renderstyle Translucent
Alpha 0.9
 states
 {
  Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  Spawn:
		TNT1 AA 0 A_CustomMissile ("Brutal_FlyingXBloodFake", 0, 0, random (0, 360), 2, random (0, 90))
        BXHT ABCDEFG 1
  	    stop
	Splash:
        BLXD A 0
        stop
 }
}

ACTOR GoreBloodFly: Brutal_FlyingXBlood
{
 speed 10
}





























ACTOR WallRedBlood
{
 game Doom
 scale 0.6
 speed 7
 health 1
 radius 8
 height 1
 Gravity 0.7
 damage 0
	DamageType Blood
	Decal BrutalBloodSmearer
   +MISSILE
   +CLIENTSIDEONLY
   +NOTELEPORT
   +NOBLOCKMAP
   +THRUACTORS
    States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 ABCD 4
        loop
	Splash:
        BLXD A 0
        stop
     Death:
  	    TNT1 A 3
        stop
    }
}


ACTOR SuperWallRedBlood: WallRedBlood
{
 speed 32
 Gravity 0.1
 Decal BrutalBloodSuper
     States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 ABCD 1
        Stop
	
}
}


ACTOR ShortWallRedBlood: WallRedBlood
{
 speed 2
 Gravity 1
 Radius 24
 Height 12
     States
    {
     Spawn:
       TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        TNT1 A 3
        Stop
	Death:
	    TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("Brutal_FlyingXBloodFakeNoDecal", 0, 0, random (0, 360), 2, random (0, 90))
		TNT1 A 0 A_SpawnItem("Brutal_BloodSpot",0,0,0,1)
		TNT1 A 0 A_PlaySound("HEDBON")
	    TNT1 A 20
		Stop
}
}


























ACTOR MediumInfiniteBlood: Brutal_FlyingXBlood
{
    States
    {
     Death:
  	    //TNT1 A 0 A_CustomMissile ("SmallBloodSplasher", 0, 0, random (0, 360), 2, random (0, 160))
				TNT1 A 0 A_PlaySound("blooddrop")
        TNT1 A 0 A_SpawnItem ("Medium_BloodSpot", 1)
        TNT1 A 0  
    }
}

actor BloodDying : Brutal_XBlood
{
 states
 {
  Spawn:
        //TNT1 AAAAA 0 A_CustomMissile ("BloodTr2", 7, 0, random (0, 360), 2, random (0, 180))
        //TNT1 AAAAAAAAAAA 0 A_CustomMissile ("BloodTr2", 0, 0, random (0, 180), 2, random (0, 180))
		TNT1 AAAAAAA 0 A_CustomMissile ("BloodTr255", 0, 0, random (0, 360), 2, random (0, 360))
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
        //TNT1 A 0 A_CustomMissile ("CeilBloodLauncher", -1, 0, random (0, 360), 2, random (50, 130))
		//TNT1 AA 0 A_CustomMissile ("WallRedBlood", 0, 0, random (0, 360), 2, random (0, 160))
  	    TNT1 A 0 A_SpawnItem ("BloodHit")
		TNT1 A 0 A_SpawnItem ("Brutal_FlyingXBlood")
        BLXD BCD 0
        stop
	Splash:
        BLXD A 0
        stop
 }
}




actor Minuscle_BloodSpot//: Brutal_BloodSpot
{
Scale 0.25
}








ACTOR MiniBloodDropEffect
{
    +CLIENTSIDEONLY
	+NOBLOCKMAP
	+FLOORCLIP
	Scale 0.4
    States
    {
    Spawn:
		XDT1 EFGHIJK 2
		Stop
    Stop
    }
}











actor SawBlood : Brutal_XBlood Replaces AxeBlood
{
-ALLOWPARTICLES 
Speed 0
 states
 {
  Spawn:
        TNT1 A 0
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0
		TNT1 A 0 A_CheckSight("None")
		TNT1 A 0 Radius_Quake (2, 2, 0, 2, 0)
		TNT1 A 0 A_RadiusGive("ChainsawHitRed", 200, RGF_PLAYERS | RGF_MONSTERS , 1)
		TNT1 A 0 A_RadiusGive("PowerBloodOnVisor", 200, RGF_PLAYERS | RGF_MONSTERS , 1)
		TNT1 A 0 ACS_ExecuteAlways(799, 0, 0, 0, 0)//Check Blood density
		TNT1 A 0 A_Stop
		TNT1 A 2
		Goto Spawn2
	Melee:	
		TNT1 A 0 A_GiveToTarget("BloodSplasherz", 1)
		TNT1 A 10
        stop
	Splash:
        BLXD A 0
		TNT1 AAA 0 A_CustomMissile ("Underblood1", 7, 0, random (0, 360), 2, random (30, 150))
        stop
	None:
		TNT1 A 1
		TNT1 A 0
		Stop
 }
}

actor BloodSPlatterReplacer : Brutal_XBlood Replaces BloodSplatter
{
}


ACTOR Brutal_FlyingXBloodSaw: Brutal_FlyingXBlood 
{
 Alpha 0.3
 Speed 0.5
 Gravity 0.3
    States
    {
     Spawn:
	 //BLXD ABCD 2
	 TNT1 A 0
	 TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
	 BLXD BC 2
	 TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
	 TNT1 A 0 A_Jump(255, "Spawn1", "Spawn2")
	 Spawn1:
		BLXD EEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.03)
		Stop
	Xdeath:	
	Death:
	Splash:
        BLXD A 0
		TNT1 A 0 A_SpawnItem ("Underblood2")
	TNT1 A 10
  Stop
    }
}

actor GrowingBloodPool: Brutal_BloodSpot
{
 var int user_bloodpoolsize;
 game Doom
 radius 1
 height 1
 mass 1
 Health 600
  RenderStyle Normal
  Alpha 0.99
 +NOTELEPORT
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+MOVEWITHSECTOR
+FLOORCLIP
+MISSILE
+DONTSPLASH
Scale 0.3
Decal BrutalBloodSplat
 states
 {
 Spawn:
 TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  TNT5 A 1
  TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
  TNT1 A 0 A_SpawnItemEx ("BootSmearerRed",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
  TNT5 A 2
  TNT5 A 1 A_SetScale(0.33, 0.33)
  TNT5 A 1 A_SetScale(0.36, 0.36)
  TNT5 A 1 A_SetScale(0.39, 0.39)
  TNT5 A 1 A_SetScale(0.42, 0.42)
  TNT5 A 1 A_SetScale(0.45, 0.45)
  TNT5 A 1 A_SetScale(0.48, 0.48)
  TNT5 A 1 A_SetScale(0.50, 0.50)
  
  TNT5 A 2 A_SetScale(0.53, 0.53)
  TNT5 A 2 A_SetScale(0.56, 0.56)
  TNT5 A 2 A_SetScale(0.59, 0.59)
  TNT5 A 2 A_SetScale(0.62, 0.62)
  TNT5 A 2 A_SetScale(0.65, 0.65)
  TNT5 A 2 A_SetScale(0.68, 0.68)
  TNT5 A 2 A_SetScale(0.70, 0.70)
  
  
  TNT5 A 3 A_SetScale(0.73, 0.73)
  TNT5 A 3 A_SetScale(0.76, 0.76)
  TNT5 A 3 A_SetScale(0.79, 0.79)
  TNT5 A 3 A_SetScale(0.82, 0.82)
  TNT5 A 3 A_SetScale(0.85, 0.85)
  TNT5 A 3 A_SetScale(0.88, 0.88)
  TNT5 A 3 A_SetScale(0.90, 0.90)
  
  TNT5 A 3 A_SetScale(0.93, 0.93)
  TNT5 A 3 A_SetScale(0.96, 0.96)
  TNT5 A 3 A_SetScale(0.99, 0.99)
  TNT5 A 3 A_SetScale(1.02, 1.02)
  TNT5 A 3 A_SetScale(1.05, 1.05)
  TNT5 A 3 A_SetScale(1.08, 1.08)
  TNT5 A 3 A_SetScale(1.11, 1.11)
  
 TNT1 A 0 A_QueueCorpse
 Live:
  TNT5 A 900//duration
  TNT1 A 0 A_JumpIfInventory("lowgraphicsmode", 1, "Splash")
  TNT5 A -1
  Stop
	Splash:
        BLXD A 0
        stop
 }
}


ACTOR GrowingBloodTrails
{
 game Doom
 radius 1
 height 1
 mass 100
  RenderStyle Translucent
  //StencilColor "52 00 00"
  Alpha 0.9999
 +NOTELEPORT
 +NOBLOCKMAP
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+MOVEWITHSECTOR
+FLOORCLIP
+MISSILE
+DONTSPLASH
Scale 0.5
Decal BrutalBloodSplat
 states
 {
 Spawn:
 TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
 TNT1 A 0 A_SpawnItem("GrowingSmallBloodSpot")
 TNT1 A 0 A_SetAngle(random(16, -16) + angle)
 TNT1 A 2 A_Recoil(-1)
 TNT1 A 0 A_Stop
 TNT1 A 1
 TNT1 A 0 A_Jump(4, "Death")
 Loop
 Death:
 Crash:
 TNT1 A 0 A_SpawnItem("GrowingSmallBloodSpot")
  stop
	Splash:
        BLXD A 0
        stop
 }
}


ACTOR GrowingSmallBloodSpot
{
 game Doom
 radius 1
 height 1
 mass 1
  RenderStyle Normal
  Alpha 0.9999
 +NOTELEPORT
 +NOBLOCKMAP
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+MOVEWITHSECTOR
+FLOORCLIP
+MISSILE
+DONTSPLASH
XScale 0.05
YScale 0.02
Decal BrutalBloodSplat
 states
 {
 Spawn:
 TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
 //XDT1 ABCD 8 
  //loop
 Death:
 Crash:
 //Check if the Blood is underwater. If yes, disappear
  TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
  //Check if blood is over water. If yes, disappear.
  //Randomize blood texture:
  TNT1 A 0 ThrustThingZ(0,5,0,1)
  BLXD M 9009
  stop
	Splash:
        BLXD A 0
        stop
 }
}

ACTOR Brutal_LiquidBlood: Brutal_FlyingXBlood 
{
 speed 3
 scale 0.2
 gravity 0.6
 decal "BrutalBloodSmearSmall"
    States
    {
     Spawn:
     BLXD A 1 A_SpawnItem("Brutal_LiquidBloodTrail")
     Loop
	 Death:
  	   TNT1 A 0 A_PlaySound("blooddrop")
	   XDT1 FGHIJKL 2
	   TNT1 A 0
       Stop
    }
}


ACTOR Brutal_LiquidBlood2: Brutal_FlyingXBlood 
{
 speed 4
 scale 0.4
 gravity 0.6
 decal "None"
    States
    {
     Spawn:
     BLXD A 1 A_SpawnItem("Brutal_LiquidBloodTrail")
     Loop
	 Death:
  	   TNT1 A 0 A_PlaySound("blooddrop")
	   XDT1 FGHIJKL 2
	   TNT1 A 0
       Stop
    }
}

ACTOR Brutal_LiquidBlood3: Brutal_FlyingXBlood 
{
decal "None"
Speed 3
    States
    {
     Spawn:
     BLXD A 1 A_SpawnItem("Brutal_LiquidBloodTrail")
     Loop
	 Death:
  	   TNT1 A 0 A_PlaySound("blooddrop")
	   TNT1 A 0 A_CheckFloor("SpawnFloor")
	   TNT1 A 4
	   Stop
	  
	 SpawnFloor:
	   tnt1 a 0 A_SPawnItem("Brutal_BloodSpot")
	   XDT1 FGHIJKL 2
	   TNT1 A 0
       Stop
    }
}



ACTOR Brutal_LiquidBloodFast: Brutal_LiquidBlood2
{
 speed 8
}

ACTOR Brutal_LiquidBloodTrail: Brutal_FlyingXBlood 
{
 scale 0.4
 gravity 0.4
    States
    {
     Spawn:
	 TNT1 A 0
     BRTL ABCDEEEEE 2
	 Stop
	 Death:
	   TNT1 A 0
       Stop
    }
}

ACTOR XDeath1Trail: Brutal_FlyingXBlood 
{
 scale 0.8
 gravity 1
 Speed 0
    States
    {
     Spawn:
	 TNT1 A 0
     BLXD ABCDEF 2
	 Stop
	 Death:
	   TNT1 A 0
       Stop
    }
}






ACTOR Brutal_FlyingXBloodFake 
{
 game Doom
 scale 0.5
 speed 3
 health 1
 radius 8
 height 1
 Gravity 0.3
 damage 0
 Renderstyle Translucent
 Alpha 0.95
	DamageType Blood
	Decal BrutalBloodSplat
   +MISSILE
   +CLIENTSIDEONLY
   +NOTELEPORT
   +NOBLOCKMAP
    +BLOODLESSIMPACT 
   +FORCEXYBILLBOARD
   +NODAMAGETHRUST
   +MOVEWITHSECTOR
   +CORPSE
   +DONTSPLASH
   +THRUACTORS
   Mass 1
    States
    {
     Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		BLXD KKKKKKKKKKKK 1 A_FadeOut(0.05)
        Stop
	Splash:
        BLXD A 0
		TNT1 A 0 A_SpawnItem ("Underblood2")
        stop
	Death:
	    TNT1 A 10
		Stop
    }
}



ACTOR Brutal_FlyingXBloodFakeNoDecal: Brutal_FlyingXBloodFake 
{
 decal "none"
}



ACTOR BloodHitSpray: Brutal_FlyingXBlood 
{
 decal "none"
 Scale 0.4
 +NOGRAVITY
 Speed 2
 Renderstyle Translucent
 Alpha 0.9
 States
 {
 Spawn:
		BLXD AB 1
	 TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
	 TNT1 A 0 A_Jump(255, "Spawn1", "Spawn2")
	 Spawn1:
		BLXD TTTTTTTTTTTTTTTTTTTT 1 A_FadeOut(0.1)
        loop
	Spawn2:
		BLXD UUUUUUUUUUUUUUUUUUUU 1 A_FadeOut(0.1)
        loop
	Death:
	TNT1 A 0
	Stop
}
}

ACTOR RegularBloodHitEffect: Brutal_FlyingXBloodFake 
{
 scale 0.8
 Speed 1
 States
	{
	Spawn:
		BLXD ABCDJ 2
		Stop
		}
}






actor Cyberdemon_Blood : Blood
{
Decal BrutalBloodSplat
 game Doom
+FORCEXYBILLBOARD
+GHOST
+NOBLOCKMAP
+NOGRAVITY
+NOCLIP
+DONTSPLASH
-ALLOWPARTICLES 
Speed 0
 states
 {
  Spawn:
        TNT1 A 0
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		TNT1 A 0 A_CustomMissile ("Brutal_FlyingXBlood", 7, 0, random (0, 360), 2, random (0, 360))
		TNT1 AAAA 0 A_CustomMissile ("Brutal_FlyingXBloodTrail", 0, 0, random (0, 360), 2, random (0, 90))
		TNT1 A 0 A_SpawnItem ("RicoChet")
		//TNT1 A 0 A_SpawnItem ("BloodHit")
        BLXD BCD 0
        stop
	Splash:
        BLXD A 0
		TNT1 AAA 0 A_CustomMissile ("Underblood1", 7, 0, random (0, 360), 2, random (30, 150))
        stop
 }
}







actor XBloodmist : Brutal_FlyingXBlood
{
decal BrutalBloodSuper
+MISSILE +NOTELEPORT +NOBLOCKMAP +NOBLOCKMONST +DONTSPLASH +CLIENTSIDEONLY +THRUACTORS +BOUNCEONWALLS
scale    0.8
radius    2
height    2
speed    8
Gravity 0.4
RenderStyle    Translucent
alpha 0.5
states
{
Spawn:
TNT1 A 0
MXBL ABCDEFGH 1
MXBL HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_FadeOut(0.005)
Stop

Less:
//MSBL DEFGH 1
//MSBL HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_FadeOut(0.02)
TNT1 AA 1
Stop

Death:
TNT1 A 0
TNT1 A 0 A_CheckFloor("Disappear")
MXBL HHHHHHHH 1 A_FadeOut(0.1)
Stop

Vanish:
Disappear:
TNT1 A 2
Stop
}
}


actor XBloodmistBig : XBloodmist
{
scale    0.9
speed    4
GRAVITY 0.4
}


actor XBloodmistSmall : XBloodmist
{
scale    0.45
Gravity 0.8
}


actor XBloodmistExtraBig : XBloodmist
{
scale    1.4
}


actor XBloodmistLarge2 : XBloodmist
{
scale    1.2
Gravity 0.8
}


actor XBloodmistLarge : XBloodmist
{
scale    0.95
}

actor XBloodmistXXBig : XBloodmist
{
scale    2.2
GRAVITY 0.2
}


ACTOR Splattered_Small: Brutal_BloodSpot
{
 states
 {
 Spawn:
TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
 //TNT1 A 0 Acs_executealways(373, 0, 0, 0, 0)//Check if is under a liquid
    TNT1 A 0 A_FaceTarget
	TNT1 A 2
    TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "Splash")
	TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "Splash")
	TNT1 A 0 A_JumpIfInventory("IsOverlava", 1, "Splash")
	TNT1 A 0 A_SpawnItemEx ("BootSmearerRed",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	BPDL A -1
	Stop
 }
}


ACTOR Splattered_Large: Brutal_BloodSpot
{
 states
 {
 Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
   TNT1 A 0 A_CheckFloor("Live")
   Goto Splash
   
  Live: 
    TNT1 A 0
    TNT1 A 0 Acs_executealways(374, 0, 0, 0, 0)//Check if is under a liquid
	TNT1 A 4
    TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "BD_WaterBloodSpot")
	TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "BD_WaterBloodSpot")
	TNT1 A 0 A_JumpIfInventory("IsOverlava", 1, "BD_WaterBloodSpot")
	TNT1 A 0 A_SpawnItemEx ("BootSmearerRed",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_QueueCorpse
	BPDL A -1
	Stop
	
 BD_WaterBloodSpot:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("BD_WaterBloodSpot")
	Stop
 }
}




ACTOR RedBloodFootPrintLeft: GrowingBloodPool
{
Scale 0.09
+CLIENTSIDEONLY
Renderstyle Shaded
StencilColor "55 00 00"
 states
 {
 Spawn:
 Death:
 Crash:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
	TNT1 A 0 Acs_executealways(373, 0, 0, 0, 0)//Check if is under a liquid
	TNT1 A 4
	TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
    TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "Splash")
	TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "Splash")
	TNT1 A 0 A_JumpIfInventory("IsOverlava", 1, "Splash")
	TNT1 A 0 A_CheckFloor("ShowUp")
	Goto Splash
	ShowUp:
	TNT1 A 0
	TNT1 A 0 A_QueueCorpse
	BPDL A 200
	TNT1 A 0 A_JumpIfInventory("LowGraphicsMode", 1, "Splash")
	BPDL A -1
	Stop
	Splash:
	TNT1 A 0
	Stop	
 }
}


ACTOR RedBloodFootPrintRight: GrowingBloodPool
{
Scale 0.09
+CLIENTSIDEONLY
Renderstyle Shaded
StencilColor "55 00 00"
 states
 {
 Spawn:
 Death:
 Crash:
	TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
	TNT1 A 0 Acs_executealways(373, 0, 0, 0, 0)//Check if is under a liquid
	TNT1 A 4
	TNT1 A 0 ACS_ExecuteAlways(798, 0, 0, 0, 0)//Check Effects
    TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "Splash")
	TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "Splash")
	TNT1 A 0 A_JumpIfInventory("IsOverlava", 1, "Splash")
	TNT1 A 0 A_CheckFloor("ShowUp")
	Goto Splash
	ShowUp:
	TNT1 A 0
	TNT1 A 0 A_QueueCorpse
	BPDL A 200
	TNT1 A 0 A_JumpIfInventory("LowGraphicsMode", 1, "Splash")
	BPDL A -1
	Stop
Splash:
TNT1 A 0
Stop
 }
}


ACTOR BootSmearerRed: GrowingBloodPool
{
MONSTER
-SOLID
+NOCLIP
+THRUACTORS
-COUNTKILL
+LOOKALLAROUND
-FRIENDLY
Radius 0
Height 0
 states
 {
 Spawn:
 TNT1 A 0
 //TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
 TNT1 A 1 A_Look
 Goto See
  
  See:
    TNT1 A 1 A_Chase("","")
	TNT1 A 0 A_Die("LookForPlayer")
 Death:	
 Death.LookForPlayer:
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 8 A_JumpIfCloser(60, "SmearBootsWithRedBlood")
	Stop
SmearBootsWithRedBlood:
	TNT1 A 0 A_GiveToTarget("BootsSmearedWithRedBlood", 8)
	BPDL A 0
	Stop
 }
}




ACTOR BootSmearerBlue: GrowingBloodPool
{
MONSTER
-SOLID
+NOCLIP
+THRUACTORS
-COUNTKILL
+LOOKALLAROUND
-FRIENDLY
Radius 0
Height 0
 states
 {
 Spawn:
 TNT1 A 0
 //TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
 TNT1 A 1 A_Look
 Goto See
  
  See:
    TNT1 A 1 A_Chase("","")
	TNT1 A 0 A_Die("LookForPlayer")
 Death:	
 Death.LookForPlayer:
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 8 A_JumpIfCloser(60, "SmearBootsWithRedBlood")
	Stop
SmearBootsWithRedBlood:
	TNT1 A 0 A_GiveToTarget("BootsSmearedWithBlueBlood", 8)
	BPDL A 0
	Stop
 }
}


ACTOR BootSmearerGreen: GrowingBloodPool
{
MONSTER
-SOLID
+NOCLIP
+THRUACTORS
-COUNTKILL
+LOOKALLAROUND
-FRIENDLY
Radius 0
Height 0
 states
 {
 Spawn:
 TNT1 A 0
 //TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
 TNT1 A 1 A_Look
 Goto See
  
  See:
    TNT1 A 1 A_Chase("","")
	TNT1 A 0 A_Die("LookForPlayer")
 Death:	
 Death.LookForPlayer:
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 8 A_JumpIfCloser(60, "SmearBootsWithRedBlood")
	Stop
SmearBootsWithRedBlood:
	TNT1 A 0 A_GiveToTarget("BootsSmearedWithGreenBlood", 8)
	BPDL A 0
	Stop
 }
}



actor ArachnotronBlood: SawBlood
{
 states
 {
  
  HitMetal:
	   TNT1 A 1
	   TNT1 A 0 A_SpawnItem("HitPuff")
	   Stop
    SPAWN:
		tnt1 a 1
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Splash")
		TNT1 A 0 A_JumpIf((z - floorz) > 45, 1)
	Goto HitMetal
		TNT1 A 0
		TNT1 A 0 A_RadiusGive("ChainsawHitRed", 200, RGF_PLAYERS | RGF_MONSTERS , 1)
		TNT1 A 0 A_RadiusGive("PowerBloodOnVisor", 200, RGF_PLAYERS | RGF_MONSTERS , 1)
		TNT1 A 0 ACS_ExecuteAlways(799, 0, 0, 0, 0)//Check Blood density
		TNT1 A 2
		Goto Spawn2
 }
}


