[MIRROR] Soap & clean proc refactor (#10989)

Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-06-02 10:18:12 -07:00
committed by GitHub
parent 6badc27205
commit 4558eaab04
39 changed files with 465 additions and 327 deletions

View File

@@ -446,7 +446,7 @@
..()
if(iscarbon(M))
var/mob/living/carbon/C = M
C.clean_blood(TRUE)
C.wash(CLEAN_SCRUB)
if(istype(M, /mob/living/simple_mob/vore/aggressive/macrophage)) // Big ouch for viruses
var/mob/living/simple_mob/macrophage = M
@@ -454,7 +454,7 @@
/datum/reagent/space_cleaner/touch_obj(var/obj/O)
..()
O.clean_blood()
O.wash(CLEAN_SCRUB)
/datum/reagent/space_cleaner/touch_turf(var/turf/T)
..()
@@ -462,7 +462,7 @@
if(istype(T, /turf/simulated))
var/turf/simulated/S = T
S.dirt = 0
T.clean_blood()
T.wash(CLEAN_SCRUB)
for(var/obj/effect/O in T)
if(istype(O,/obj/effect/rune) || istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay))
qdel(O)
@@ -477,32 +477,32 @@
/datum/reagent/space_cleaner/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
if(M.r_hand)
M.r_hand.clean_blood()
M.r_hand.wash(CLEAN_SCRUB)
if(M.l_hand)
M.l_hand.clean_blood()
M.l_hand.wash(CLEAN_SCRUB)
if(M.wear_mask)
if(M.wear_mask.clean_blood())
if(M.wear_mask.wash(CLEAN_SCRUB))
M.update_inv_wear_mask(0)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(alien == IS_SLIME)
M.adjustToxLoss(rand(5, 10))
if(H.head)
if(H.head.clean_blood())
if(H.head.wash(CLEAN_SCRUB))
H.update_inv_head(0)
if(H.wear_suit)
if(H.wear_suit.clean_blood())
if(H.wear_suit.wash(CLEAN_SCRUB))
H.update_inv_wear_suit(0)
else if(H.w_uniform)
if(H.w_uniform.clean_blood())
if(H.w_uniform.wash(CLEAN_SCRUB))
H.update_inv_w_uniform(0)
if(H.shoes)
if(H.shoes.clean_blood())
if(H.shoes.wash(CLEAN_SCRUB))
H.update_inv_shoes(0)
else
H.clean_blood(1)
H.wash(CLEAN_SCRUB)
return
M.clean_blood()
M.wash(CLEAN_SCRUB)
/datum/reagent/space_cleaner/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_SLIME)