From 51feae135452a230c684f7e47697796d3f939773 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Sun, 24 Mar 2019 22:28:07 +0100 Subject: [PATCH 1/2] fixed the borg handcuffing being inconsistent and did some refactoring --- code/game/objects/items/weapons/handcuffs.dm | 47 +++++++++----------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 7c26e5c405e..dd2461f68cb 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -26,8 +26,12 @@ if((CLUMSY in user.mutations) && prob(50) && (!ignoresClumsy)) to_chat(user, "Uh... how do those things work?!") - apply_cuffs(user,user) - + apply_cuffs(user, user) + return + + cuff(C, user) + +/obj/item/restraints/handcuffs/proc/cuff(mob/living/carbon/C, mob/user, remove_src = TRUE) if(ishuman(C)) var/mob/living/carbon/human/H = C if(!H.has_left_hand() || !H.has_right_hand()) @@ -40,26 +44,31 @@ playsound(loc, cuffsound, 30, 1, -2) if(do_mob(user, C, 30)) - apply_cuffs(C,user) + apply_cuffs(C, user, remove_src) to_chat(user, "You handcuff [C].") if(istype(src, /obj/item/restraints/handcuffs/cable)) - feedback_add_details("handcuffs","C") + feedback_add_details("handcuffs", "C") else - feedback_add_details("handcuffs","H") + feedback_add_details("handcuffs", "H") add_attack_logs(user, C, "Handcuffed ([src])") else to_chat(user, "You fail to handcuff [C].") -/obj/item/restraints/handcuffs/proc/apply_cuffs(mob/living/carbon/target, mob/user) +/obj/item/restraints/handcuffs/proc/apply_cuffs(mob/living/carbon/target, mob/user, remove_src = TRUE) if(!target.handcuffed) - user.drop_item() + if(remove_src) + user.drop_item() if(trashtype) target.handcuffed = new trashtype(target) - qdel(src) + if(remove_src) + qdel(src) else - loc = target - target.handcuffed = src + if(remove_src) + loc = target + target.handcuffed = src + else + target.handcuffed = new type(loc) target.update_handcuffed() return @@ -170,23 +179,7 @@ /obj/item/restraints/handcuffs/cable/zipties/cyborg/attack(mob/living/carbon/C, mob/user) if(isrobot(user)) - if(ishuman(C)) - var/mob/living/carbon/human/H = C - if(!(H.get_organ("l_hand") || H.get_organ("r_hand"))) - to_chat(user, "How do you suggest handcuffing someone with no hands?") - return - if(!C.handcuffed) - playsound(loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2) - C.visible_message("[user] is trying to put zipties on [C]!", \ - "[user] is trying to put zipties on [C]!") - if(do_mob(user, C, 30)) - if(!C.handcuffed) - C.handcuffed = new /obj/item/restraints/handcuffs/cable/zipties/used(C) - C.update_handcuffed() - to_chat(user, "You handcuff [C].") - add_attack_logs(user, C, "Handcuffed (ziptie-cuffed)") - else - to_chat(user, "You fail to handcuff [C].") + cuff(C, user, FALSE) /obj/item/restraints/handcuffs/cable/zipties/used desc = "A pair of broken zipties." From cc8e076ae5706f597aadb0473747601a0f0eb786 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Mon, 25 Mar 2019 20:19:42 +0100 Subject: [PATCH 2/2] alternative. 1 handed cuffing --- code/game/objects/items/weapons/handcuffs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index dd2461f68cb..6fa0c875333 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -34,7 +34,7 @@ /obj/item/restraints/handcuffs/proc/cuff(mob/living/carbon/C, mob/user, remove_src = TRUE) if(ishuman(C)) var/mob/living/carbon/human/H = C - if(!H.has_left_hand() || !H.has_right_hand()) + if(!(H.has_left_hand() || H.has_right_hand())) to_chat(user, "How do you suggest handcuffing someone with no hands?") return