diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_mining_site.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_mining_site.dmm
index c5074528f1..6161bd8b86 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_mining_site.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_mining_site.dmm
@@ -54,7 +54,10 @@
/area/ruin/lavaland/unpowered)
"m" = (
/obj/structure/mineral_door/wood,
-/obj/effect/decal/cleanable/trail_holder,
+/obj/effect/decal/cleanable/trail_holder{
+ color = "#dc0000";
+ dir = 8
+ },
/turf/open/floor/wood,
/area/ruin/lavaland/unpowered)
"n" = (
@@ -68,7 +71,10 @@
/obj/machinery/light/broken{
dir = 4
},
-/obj/effect/decal/cleanable/trail_holder,
+/obj/effect/decal/cleanable/trail_holder{
+ color = "#dc0000";
+ dir = 6
+ },
/turf/open/floor/wood,
/area/ruin/lavaland/unpowered)
"q" = (
@@ -93,13 +99,33 @@
/turf/open/floor/wood,
/area/ruin/lavaland/unpowered)
"s" = (
-/obj/effect/decal/cleanable/trail_holder,
+/obj/effect/decal/cleanable/trail_holder{
+ color = "#dc0000";
+ dir = 9
+ },
+/turf/open/floor/wood,
+/area/ruin/lavaland/unpowered)
+"x" = (
+/obj/effect/decal/cleanable/trail_holder{
+ color = "#dc0000";
+ dir = 8
+ },
/turf/open/floor/wood,
/area/ruin/lavaland/unpowered)
"N" = (
-/obj/effect/decal/cleanable/trail_holder,
+/obj/effect/decal/cleanable/trail_holder{
+ color = "#dc0000";
+ dir = 8
+ },
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
+"Q" = (
+/obj/effect/decal/cleanable/trail_holder{
+ color = "#dc0000";
+ dir = 6
+ },
+/turf/open/floor/wood,
+/area/ruin/lavaland/unpowered)
(1,1,1) = {"
i
@@ -440,7 +466,7 @@ f
f
f
f
-s
+x
b
b
i
@@ -467,7 +493,7 @@ g
f
f
f
-s
+x
b
b
i
@@ -494,7 +520,7 @@ f
f
f
f
-s
+x
b
b
i
@@ -521,7 +547,7 @@ j
f
f
f
-s
+x
b
b
i
@@ -548,7 +574,7 @@ k
f
f
f
-s
+x
b
b
i
@@ -575,7 +601,7 @@ l
f
f
s
-s
+Q
b
b
i
@@ -627,7 +653,7 @@ i
b
b
b
-s
+x
b
b
b
@@ -654,7 +680,7 @@ i
i
i
b
-s
+x
b
i
i
@@ -681,7 +707,7 @@ i
i
i
b
-s
+x
b
i
i
@@ -708,7 +734,7 @@ i
i
i
b
-s
+x
b
i
i
diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm
index 128c860a6d..bf5c0f55d2 100644
--- a/code/datums/wounds/bones.dm
+++ b/code/datums/wounds/bones.dm
@@ -119,12 +119,20 @@
victim.bleed(blood_bled, TRUE)
if(14 to 19)
victim.visible_message("[victim] spits out a string of blood from the blow to [victim.p_their()] chest!", "You spit out a string of blood from the blow to your chest!", vision_distance=COMBAT_MESSAGE_RANGE)
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
+ if(ishuman(victim))
+ var/mob/living/carbon/human/H = victim
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
victim.bleed(blood_bled)
if(20 to INFINITY)
victim.visible_message("[victim] chokes up a spray of blood from the blow to [victim.p_their()] chest!", "You choke up on a spray of blood from the blow to your chest!", vision_distance=COMBAT_MESSAGE_RANGE)
victim.bleed(blood_bled)
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
+ if(ishuman(victim))
+ var/mob/living/carbon/human/H = victim
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
victim.add_splatter_floor(get_step(victim.loc, victim.dir))
diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm
index b26728c377..434a711109 100644
--- a/code/datums/wounds/pierce.dm
+++ b/code/datums/wounds/pierce.dm
@@ -39,12 +39,20 @@
victim.bleed(blood_bled, TRUE)
if(14 to 19)
victim.visible_message("A small stream of blood spurts from the hole in [victim]'s [limb.name]!", "You spit out a string of blood from the blow to your [limb.name]!", vision_distance=COMBAT_MESSAGE_RANGE)
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
+ if(ishuman(victim))
+ var/mob/living/carbon/human/H = victim
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
victim.bleed(blood_bled)
if(20 to INFINITY)
victim.visible_message("A spray of blood streams from the gash in [victim]'s [limb.name]!", "You choke up on a spray of blood from the blow to your [limb.name]!", vision_distance=COMBAT_MESSAGE_RANGE)
victim.bleed(blood_bled)
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
+ if(ishuman(victim))
+ var/mob/living/carbon/human/H = victim
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir)
victim.add_splatter_floor(get_step(victim.loc, victim.dir))
/datum/wound/pierce/handle_process()
diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm
index 06e4208d71..47820d1e27 100644
--- a/code/game/mecha/equipment/tools/mining_tools.dm
+++ b/code/game/mecha/equipment/tools/mining_tools.dm
@@ -130,7 +130,11 @@
if(isalien(target))
new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target.drop_location(), splatter_dir)
else
- new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir)
+ if(ishuman(target))
+ var/mob/living/carbon/human/H = target
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir, H.dna.species.exotic_blood_color)
+ else
+ new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir)
//organs go everywhere
if(target_part && prob(10 * drill_level))
diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
index d7eeb2789b..543bad1fb8 100644
--- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm
+++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm
@@ -4,6 +4,7 @@
duration = 5
randomdir = FALSE
layer = BELOW_MOB_LAYER
+ color = BLOOD_COLOR_HUMAN // set it to red by default because the actual icons are white
var/splatter_type = "splatter"
/obj/effect/temp_visual/dir_setting/bloodsplatter/Initialize(mapload, set_dir, new_color)