diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm
index c6903ff7b4..afa188e9f6 100644
--- a/code/modules/reagents/reagent_containers/rags.dm
+++ b/code/modules/reagents/reagent_containers/rags.dm
@@ -36,15 +36,19 @@
var/reagentlist = pretty_string_from_reagent_list(reagents)
var/log_object = "a damp rag containing [reagentlist]"
if(user.a_intent == INTENT_HARM && !C.is_mouth_covered())
- reagents.reaction(C, INGEST)
- reagents.trans_to(C, 5)
- C.visible_message("[user] has smothered \the [C] with \the [src]!", "[user] has smothered you with \the [src]!", "You hear some struggling and muffled cries of surprise.")
- log_combat(user, C, "smothered", log_object)
+ C.visible_message("[user] is trying to smother \the [C] with \the [src]!", "[user] is trying to smother you with \the [src]!", "You hear some struggling and muffled cries of surprise.")
+ if(do_after(user, 20, target = C))
+ reagents.reaction(C, INGEST)
+ reagents.trans_to(C, 5)
+ C.visible_message("[user] has smothered \the [C] with \the [src]!", "[user] has smothered you with \the [src]!", "You hear some struggling and a heavy breath taken.")
+ log_combat(user, C, "smothered", log_object)
else
- reagents.reaction(C, TOUCH)
- reagents.remove_all(5)
- C.visible_message("[user] has touched \the [C] with \the [src].")
- log_combat(user, C, "touched", log_object)
+ C.visible_message("[user] is trying to wipe \the [C] with \the [src].")
+ if(do_after(user, 20, target = C))
+ reagents.reaction(C, TOUCH)
+ reagents.remove_all(5)
+ C.visible_message("[user] has wiped \the [C] with \the [src].")
+ log_combat(user, C, "touched", log_object)
else if(istype(A) && (src in user))
user.visible_message("[user] starts to wipe down [A] with [src]!", "You start to wipe down [A] with [src]...")