From 1620aa46da0ed673dd4f49dfa9010e208b9fbeaf Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 4 Jul 2021 10:55:02 -0700 Subject: [PATCH] Update carbon.dm --- code/modules/mob/living/carbon/carbon.dm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index e4d6f5253e..8e4b8026e4 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -358,7 +358,7 @@ return I.item_flags |= BEING_REMOVED breakouttime = I.breakouttime - var/datum/cuffbreak_checker/cuffbreak_checker = new(get_turf(src)) + var/datum/cuffbreak_checker/cuffbreak_checker = new(get_turf(src), istype(I, /obj/item/restraints)? I : null) if(!cuff_break) visible_message("[src] attempts to remove [I]!") to_chat(src, "You attempt to remove [I]... (This will take around [DisplayTimeText(breakouttime)] and you need to stand still.)") @@ -384,16 +384,22 @@ /datum/cuffbreak_checker var/turf/last + var/obj/item/restraints/cuffs -/datum/cuffbreak_checker/New(turf/initial_turf) +/datum/cuffbreak_checker/New(turf/initial_turf, obj/item/restraints/R) last = initial_turf + if(R) + cuffs = R /datum/cuffbreak_checker/proc/check_movement(atom/user, delay, atom/target, time_left, do_after_flags, required_mobility_flags, required_combat_flags, mob_redirect, stage, initially_held_item, tool, list/passed_in) if(get_turf(user) != last) last = get_turf(user) passed_in[1] = 0.5 + if(R && !R.allow_breakout_movement) + return DO_AFTER_STOP else passed_in[1] = 1 + return DO_AFTER_CONTINUE /mob/living/carbon/proc/uncuff() if (handcuffed)