From ef3b565f6413ccc44c9b185662a148eae3f5288c Mon Sep 17 00:00:00 2001 From: Segrain Date: Sat, 22 Feb 2014 06:53:37 +0300 Subject: [PATCH] Fix for #4458. --- code/game/objects/structures/watercloset.dm | 4 +++- code/modules/mob/living/carbon/human/human.dm | 10 ++++++---- code/modules/mob/living/silicon/robot/robot.dm | 2 +- code/modules/reagents/Chemistry-Reagents.dm | 5 ++++- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 0a9dc69bacd..237ee6c92f1 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -268,10 +268,12 @@ if(H.belt) if(H.belt.clean_blood()) H.update_inv_belt(0) + H.clean_blood(washshoes) else if(M.wear_mask) //if the mob is not human, it cleans the mask without asking for bitflags if(M.wear_mask.clean_blood()) M.update_inv_wear_mask(0) + M.clean_blood() else O.clean_blood() @@ -413,4 +415,4 @@ /obj/structure/sink/puddle/attackby(obj/item/O as obj, mob/user as mob) icon_state = "puddle-splash" ..() - icon_state = "puddle" + icon_state = "puddle" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 97a6987ad9e..998b4f80144 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -47,7 +47,7 @@ if(!dna) dna = new /datum/dna(null) - dna.species=species.name + dna.species=species.name for(var/i=0;i<7;i++) // 2 for medHUDs and 5 for secHUDs hud_list += image('icons/mob/hud.dmi', src, "hudunknown") @@ -1113,10 +1113,12 @@ verbs += /mob/living/carbon/human/proc/bloody_doodle return 1 //we applied blood to the item -/mob/living/carbon/human/clean_blood() +/mob/living/carbon/human/clean_blood(var/clean_feet) .=..() - if(istype(feet_blood_DNA, /list) && feet_blood_DNA.len) + if(clean_feet && !shoes && istype(feet_blood_DNA, /list) && feet_blood_DNA.len) + feet_blood_color = null del(feet_blood_DNA) + update_inv_shoes(1) return 1 /mob/living/carbon/human/get_visible_implants(var/class = 0) @@ -1193,7 +1195,7 @@ if(!new_species) new_species = dna.species else - dna.species = new_species + dna.species = new_species if(species && (species.name && species.name == new_species)) return diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2e03b9ffd04..5b417e40247 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1189,7 +1189,7 @@ if(cleaned_human.shoes) cleaned_human.shoes.clean_blood() cleaned_human.update_inv_shoes(0) - cleaned_human.clean_blood() + cleaned_human.clean_blood(1) cleaned_human << "\red [src] cleans your face!" return diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index c9666d98f00..b48b96d3095 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -962,6 +962,9 @@ datum if(H.shoes) if(H.shoes.clean_blood()) H.update_inv_shoes(0) + else + H.clean_blood(1) + return M.clean_blood() leporazine @@ -3696,4 +3699,4 @@ datum return // Undefine the alias for REAGENTS_EFFECT_MULTIPLER -#undef REM +#undef REM \ No newline at end of file