From d28dd83b396f119bdd2d178d8d2540dc96b1d1e2 Mon Sep 17 00:00:00 2001 From: Casper3667 <8396443+Casper3667@users.noreply.github.com> Date: Fri, 11 Feb 2022 21:40:50 +0100 Subject: [PATCH] Fixes some issues with blood on clothing (#13148) Co-authored-by: TGW --- code/modules/clothing/clothing.dm | 16 ++++++++++------ code/modules/mob/living/carbon/human/human.dm | 1 + html/changelogs/BloodFix.yml | 7 +++++++ 3 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 html/changelogs/BloodFix.yml diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index ed6f0910b7c..24ba21d0e8d 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -388,7 +388,7 @@ /obj/item/clothing/gloves/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) var/image/I = ..() - if(blood_DNA) + if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str) var/image/bloodsies = image(H.species.blood_mask, "bloodyhands") bloodsies.color = blood_color I.add_overlay(bloodsies) @@ -614,7 +614,7 @@ /obj/item/clothing/head/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) var/image/I = ..() - if(blood_DNA) + if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str) var/image/bloodsies = image(H.species.blood_mask, icon_state = "helmetblood") bloodsies.color = blood_color bloodsies.appearance_flags = RESET_ALPHA @@ -690,7 +690,7 @@ /obj/item/clothing/mask/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) var/image/I = ..() - if(blood_DNA && has_blood_overlay) + if(blood_DNA && has_blood_overlay && slot != slot_l_hand_str && slot != slot_r_hand_str) var/image/bloodsies = image(H.species.blood_mask, "maskblood") bloodsies.color = blood_color bloodsies.appearance_flags = RESET_ALPHA @@ -851,7 +851,7 @@ /obj/item/clothing/shoes/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) var/image/I = ..() - if(blood_DNA) + if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str) for(var/limb_tag in list(BP_L_FOOT, BP_R_FOOT)) var/obj/item/organ/external/E = H.get_organ(limb_tag) if(E && !E.is_stump()) @@ -888,6 +888,10 @@ /obj/item/clothing/shoes/clothing_class() return "shoes" +/obj/item/clothing/shoes/clean_blood() + . = ..() + track_footprint = 0 + /////////////////////////////////////////////////////////////////////// //Suit /obj/item/clothing/suit @@ -937,7 +941,7 @@ var/image/accessory_image = A.get_accessory_mob_overlay(H) I.add_overlay(accessory_image) - if(blood_DNA) + if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str) var/image/bloodsies = image(icon = H.species.blood_mask, icon_state = "[blood_overlay_type]blood") bloodsies.color = blood_color I.add_overlay(bloodsies) @@ -1021,7 +1025,7 @@ var/image/accessory_image = A.get_accessory_mob_overlay(H) I.add_overlay(accessory_image) - if(blood_DNA) + if(blood_DNA && slot != slot_l_hand_str && slot != slot_r_hand_str) var/image/bloodsies = image(icon = H.species.blood_mask, icon_state = "uniformblood") bloodsies.color = blood_color I.add_overlay(bloodsies) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index b2692cf7fa1..b62a6ed8ade 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1295,6 +1295,7 @@ if(clean_feet && !shoes) footprint_color = null feet_blood_DNA = null + track_footprint = 0 update_inv_shoes(1) if(blood_color) diff --git a/html/changelogs/BloodFix.yml b/html/changelogs/BloodFix.yml new file mode 100644 index 00000000000..cd46c6c9adc --- /dev/null +++ b/html/changelogs/BloodFix.yml @@ -0,0 +1,7 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - bugfix: "Fixed blood overlays on clothes." + - bugfix: "Fixed tracks still being left after cleaning shoes."