diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 183cbf4ca8..55b6938a7c 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -477,7 +477,11 @@ src.germ_level = 0 if(istype(blood_DNA, /list)) blood_DNA = null - return 1 + return TRUE + +/atom/proc/on_rag_wipe(var/obj/item/weapon/reagent_containers/glass/rag/R) + clean_blood() + R.reagents.splash(src, 1) /atom/proc/get_global_map_pos() if(!islist(global_map) || isemptylist(global_map)) return diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index 1d32db4888..21fe275785 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -84,6 +84,13 @@ to_chat(user, SPAN_WARNING("You don't have anything on \the [src].")) //if we have help intent and no food scooped up DON'T STAB OURSELVES WITH THE FORK return +/obj/item/weapon/material/kitchen/utensil/on_rag_wipe() + . = ..() + if(reagents.total_volume > 0) + reagents.clear_reagents() + cut_overlays() + return + /obj/item/weapon/material/kitchen/utensil/fork name = "fork" desc = "It's a fork. Sure is pointy." diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm index 301c99b704..b8cd6def43 100644 --- a/code/modules/detectivework/tools/rag.dm +++ b/code/modules/detectivework/tools/rag.dm @@ -98,16 +98,20 @@ if(!reagents.total_volume) to_chat(user, "The [initial(name)] is dry!") else - user.visible_message("\The [user] starts to wipe down [A] with [src]!") - //reagents.splash(A, 1) //get a small amount of liquid on the thing we're wiping. + user.visible_message("[user] starts to wipe [A] with [src].") update_name() if(do_after(user,30)) +<<<<<<< HEAD user.visible_message("\The [user] finishes wiping off the [A]!") A.clean_blood() if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune)) //VOREStation Edit - "Allows rags to clean dirt from turfs" var/turf/T = get_turf(A) if(T) T.clean(src, user) //VOREStation Edit End +======= + user.visible_message("[user] finishes wiping [A]!") + A.on_rag_wipe(src) +>>>>>>> aa25456fcb8... Merge pull request #8236 from Cerebulon/wipedown /obj/item/weapon/reagent_containers/glass/rag/attack(atom/target as obj|turf|area, mob/user as mob , flag) if(isliving(target)) //Leaving this as isliving. @@ -121,7 +125,7 @@ var/mob/living/carbon/human/H = target if(H.head && (H.head.body_parts_covered & FACE)) //Check human head coverage. to_chat(user, "Remove their [H.head] first.") - return + return else if(reagents.total_volume) //Final check. If the rag is not on fire and their face is uncovered, smother target. user.do_attack_animation(src) user.visible_message( diff --git a/code/modules/food/food/drinks.dm b/code/modules/food/food/drinks.dm index 41217df94b..d6bf82f0a3 100644 --- a/code/modules/food/food/drinks.dm +++ b/code/modules/food/food/drinks.dm @@ -38,6 +38,9 @@ qdel(src) return +/obj/item/weapon/reagent_containers/food/drinks/on_rag_wipe(var/obj/item/weapon/reagent_containers/glass/rag/R) + clean_blood() + /obj/item/weapon/reagent_containers/food/drinks/attack_self(mob/user as mob) if(!is_open_container()) open(user)