diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 63944c94077..727947fc814 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -92,6 +92,25 @@ target.clean_blood() return +/obj/item/weapon/reagent_containers/food/snacks/soap/syndie/afterattack(atom/target, mob/user, proximity, params) + if(!proximity || ishuman(target)) return + // I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing. + // So this is a workaround. This also makes more sense from an IC standpoint. ~Carn + if(user.client && (target in user.client.screen)) + to_chat(user, "You need to take that [target.name] off before cleaning it.") + else if(istype(target,/obj/effect/decal/cleanable)) + to_chat(user, "You scrub \the [target.name] out.") + qdel(target) + else + if(target.fingerprints) + target.fingerprints = null + if(target.suit_fibers) + target.suit_fibers = null + to_chat(user, "You FULLY clean \the [target.name].") + target.clean_blood() + target.desc += "\nSomeone cleaned it up to a shine..." + return + /obj/item/weapon/reagent_containers/food/snacks/soap/attack(mob/target, mob/user, def_zone) if(user.a_intent == INTENT_HARM) ..()