diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 1cb0ee3baad..11d4cd89856 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -692,16 +692,53 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) /mob/living/carbon/human/clean_blood() - if(gloves) - if(gloves.clean_blood()) - clean_blood() - update_inv_gloves() - gloves.germ_level = 0 - else - ..() // Clear the Blood_DNA list - if(bloody_hands) + . = ..() + if(head) + if(head.clean_blood()) + update_inv_head() + if(wear_suit) + if(wear_suit.clean_blood()) + update_inv_wear_suit() + else if(w_uniform) + if(w_uniform.clean_blood()) + update_inv_w_uniform() + if(!(wear_suit && wear_suit.flags_inv & HIDEGLOVES)) + if(gloves) + if(gloves.clean_blood()) + update_inv_gloves() + gloves.germ_level = 0 + else if(bloody_hands) bloody_hands = 0 update_inv_gloves() + if(!(wear_suit && wear_suit.flags_inv & HIDESHOES)) + if(shoes) + if(shoes.clean_blood()) + update_inv_shoes() + else + feet_blood_color = null + qdel(feet_blood_DNA) + bloody_feet = list(BLOOD_STATE_HUMAN = 0, BLOOD_STATE_XENO = 0, BLOOD_STATE_NOT_BLOODY = 0) + blood_state = BLOOD_STATE_NOT_BLOODY + update_inv_shoes() + if(!(head && head.flags_inv & HIDEMASK)) + if(wear_mask) + if(wear_mask.clean_blood()) + update_inv_wear_mask() + else if(lip_style) + lip_style = null + update_body() + if(glasses && !(wear_mask && wear_mask.flags_inv & HIDEEYES)) + if(glasses.clean_blood()) + update_inv_glasses() + if(l_ear && !(wear_mask && wear_mask.flags_inv & HIDEEARS)) + if(l_ear.clean_blood()) + update_inv_ears() + if(r_ear && !(wear_mask && wear_mask.flags_inv & HIDEEARS)) + if(r_ear.clean_blood()) + update_inv_ears() + if(belt) + if(belt.clean_blood()) + update_inv_belt() update_icons() //apply the now updated overlays to the mob diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index a529dc3a6e7..1a5b275bc01 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -403,75 +403,7 @@ L.ExtinguishMob() L.adjust_fire_stacks(-20) //Douse ourselves with water to avoid fire more easily to_chat(L, "You've been drenched in water!") - if(iscarbon(O)) - var/mob/living/carbon/M = O - if(M.r_hand) - M.r_hand.clean_blood() - if(M.l_hand) - M.l_hand.clean_blood() - if(M.back) - if(M.back.clean_blood()) - M.update_inv_back(0) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/washgloves = 1 - var/washshoes = 1 - var/washmask = 1 - var/washears = 1 - var/washglasses = 1 - - if(H.wear_suit) - washgloves = !(H.wear_suit.flags_inv & HIDEGLOVES) - washshoes = !(H.wear_suit.flags_inv & HIDESHOES) - - if(H.head) - washmask = !(H.head.flags_inv & HIDEMASK) - washglasses = !(H.head.flags_inv & HIDEEYES) - washears = !(H.head.flags_inv & HIDEEARS) - - if(H.wear_mask) - if(washears) - washears = !(H.wear_mask.flags_inv & HIDEEARS) - if(washglasses) - washglasses = !(H.wear_mask.flags_inv & HIDEEYES) - - if(H.head) - if(H.head.clean_blood()) - H.update_inv_head(0,0) - if(H.wear_suit) - if(H.wear_suit.clean_blood()) - H.update_inv_wear_suit(0,0) - else if(H.w_uniform) - if(H.w_uniform.clean_blood()) - H.update_inv_w_uniform(0,0) - if(H.gloves && washgloves) - if(H.gloves.clean_blood()) - H.update_inv_gloves(0,0) - if(H.shoes && washshoes) - if(H.shoes.clean_blood()) - H.update_inv_shoes(0,0) - if(H.wear_mask && washmask) - if(H.wear_mask.clean_blood()) - H.update_inv_wear_mask(0) - if(H.glasses && washglasses) - if(H.glasses.clean_blood()) - H.update_inv_glasses(0) - if(H.l_ear && washears) - if(H.l_ear.clean_blood()) - H.update_inv_ears(0) - if(H.r_ear && washears) - if(H.r_ear.clean_blood()) - H.update_inv_ears(0) - if(H.belt) - if(H.belt.clean_blood()) - H.update_inv_belt(0) - 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) - - else - O.clean_blood() + L.clean_blood() if(isturf(loc)) var/turf/tile = loc diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 7d1073fbdb2..b7ad8fabddc 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1162,16 +1162,6 @@ //returns 1 if made bloody, returns 0 otherwise -/mob/living/carbon/human/clean_blood(var/clean_feet) - .=..() - if(clean_feet && !shoes && istype(feet_blood_DNA, /list) && feet_blood_DNA.len) - feet_blood_color = null - qdel(feet_blood_DNA) - bloody_feet = list(BLOOD_STATE_HUMAN = 0, BLOOD_STATE_XENO = 0, BLOOD_STATE_NOT_BLOODY = 0) - blood_state = BLOOD_STATE_NOT_BLOODY - update_inv_shoes(1) - return 1 - /mob/living/carbon/human/cuff_resist(obj/item/I) if(HULK in mutations) say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index cbc768cdd02..9f5cc5127c0 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -609,7 +609,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) overlays_standing[ID_LAYER] = mutable_appearance('icons/mob/mob.dmi', "id", layer = -ID_LAYER) apply_overlay(ID_LAYER) -/mob/living/carbon/human/update_inv_gloves(var/update_icons=1) +/mob/living/carbon/human/update_inv_gloves() remove_overlay(GLOVES_LAYER) if(client && hud_used) var/obj/screen/inventory/inv = hud_used.inv_slots[slot_gloves] @@ -735,7 +735,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) overlays_standing[EARS_LAYER] = mutable_appearance('icons/mob/ears.dmi', "[t_type]", layer = -EARS_LAYER) apply_overlay(EARS_LAYER) -/mob/living/carbon/human/update_inv_shoes(var/update_icons=1) +/mob/living/carbon/human/update_inv_shoes() remove_overlay(SHOES_LAYER) if(client && hud_used) var/obj/screen/inventory/inv = hud_used.inv_slots[slot_shoes] @@ -844,7 +844,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) apply_overlay(BELT_LAYER) -/mob/living/carbon/human/update_inv_wear_suit(var/update_icons=1) +/mob/living/carbon/human/update_inv_wear_suit() remove_overlay(SUIT_LAYER) if(client && hud_used) var/obj/screen/inventory/inv = hud_used.inv_slots[slot_wear_suit] @@ -919,7 +919,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) client.screen += wear_pda wear_pda.screen_loc = ui_pda -/mob/living/carbon/human/update_inv_wear_mask(var/update_icons = 1) +/mob/living/carbon/human/update_inv_wear_mask() ..() remove_overlay(FACEMASK_LAYER) if(client && hud_used) @@ -955,7 +955,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) apply_overlay(FACEMASK_LAYER) -/mob/living/carbon/human/update_inv_back(var/update_icons=1) +/mob/living/carbon/human/update_inv_back() ..() remove_overlay(BACK_LAYER) if(back) @@ -1000,7 +1000,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) apply_overlay(LEGCUFF_LAYER) -/mob/living/carbon/human/update_inv_r_hand(var/update_icons=1) +/mob/living/carbon/human/update_inv_r_hand() ..() remove_overlay(R_HAND_LAYER) if(r_hand) @@ -1019,7 +1019,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) apply_overlay(R_HAND_LAYER) -/mob/living/carbon/human/update_inv_l_hand(var/update_icons=1) +/mob/living/carbon/human/update_inv_l_hand() ..() remove_overlay(L_HAND_LAYER) if(l_hand) diff --git a/code/modules/reagents/chemistry/reagents/water.dm b/code/modules/reagents/chemistry/reagents/water.dm index c6960aac916..186315ecc56 100644 --- a/code/modules/reagents/chemistry/reagents/water.dm +++ b/code/modules/reagents/chemistry/reagents/water.dm @@ -83,37 +83,7 @@ M.adjustToxLoss(rand(5, 10)) /datum/reagent/space_cleaner/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) - if(iscarbon(M)) - var/mob/living/carbon/C = M - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.lip_style) - H.lip_style = null - H.update_body() - if(C.r_hand) - C.r_hand.clean_blood() - if(C.l_hand) - C.l_hand.clean_blood() - if(C.wear_mask) - if(C.wear_mask.clean_blood()) - C.update_inv_wear_mask(0) - if(ishuman(M)) - var/mob/living/carbon/human/H = C - if(H.head) - if(H.head.clean_blood()) - H.update_inv_head(0,0) - if(H.wear_suit) - if(H.wear_suit.clean_blood()) - H.update_inv_wear_suit(0,0) - else if(H.w_uniform) - if(H.w_uniform.clean_blood()) - H.update_inv_w_uniform(0,0) - if(H.shoes) - if(H.shoes.clean_blood()) - H.update_inv_shoes(0,0) - M.clean_blood() - ..() - + M.clean_blood() /datum/reagent/blood data = list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=null,"blood_colour"="#A10808","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null, "dna" = null)