diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index d921a5c5605..2e07507b06c 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -314,9 +314,17 @@ log_combat(src, M, "grabbed", addition="passive grab") if(!supress_message && !(iscarbon(AM) && HAS_TRAIT(src, TRAIT_STRONG_GRABBER))) - M.visible_message(span_warning("[src] grabs [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!"), \ - span_warning("[src] grabs you [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by your hands":"passively"]!"), null, null, src) - to_chat(src, span_notice("You grab [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!")) + if(ishuman(M)) + var/mob/living/carbon/human/grabbed_human = M + var/grabbed_by_hands = (zone_selected == "l_arm" || zone_selected == "r_arm") && grabbed_human.usable_hands > 0 + M.visible_message(span_warning("[src] grabs [M] [grabbed_by_hands ? "by their hands":"passively"]!"), \ + span_warning("[src] grabs you [grabbed_by_hands ? "by your hands":"passively"]!"), null, null, src) + to_chat(src, span_notice("You grab [M] [grabbed_by_hands ? "by their hands":"passively"]!")) + else + M.visible_message(span_warning("[src] grabs [M] passively!"), \ + span_warning("[src] grabs you passively!"), null, null, src) + to_chat(src, span_notice("You grab [M] passively!")) + if(!iscarbon(src)) M.LAssailant = null else