From a419e6706c1e68557d8b5533832234ce6477af56 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 4 Jul 2021 10:51:39 -0700 Subject: [PATCH 1/5] Update handcuffs.dm --- code/game/objects/items/handcuffs.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 9ae8fb80db..aeeb88cf0f 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -1,6 +1,8 @@ /obj/item/restraints breakouttime = 600 var/demoralize_criminals = TRUE // checked on carbon/carbon.dm to decide wheter to apply the handcuffed negative moodlet or not. + /// allow movement at all during breakout + var/allow_breakout_movement = FALSE /obj/item/restraints/suicide_act(mob/living/carbon/user) user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") From 65f22d7e726510a7f9b1a5422d0f7b0aa34eed3a Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 4 Jul 2021 10:52:47 -0700 Subject: [PATCH 2/5] Update handcuffs.dm --- code/game/objects/items/handcuffs.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index aeeb88cf0f..4bb8e5bdf8 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -245,6 +245,7 @@ throwforce = 0 w_class = WEIGHT_CLASS_NORMAL slowdown = 7 + allow_breakout_movement = TRUE breakouttime = 300 //Deciseconds = 30s = 0.5 minute /obj/item/restraints/legcuffs/proc/on_removed() @@ -314,7 +315,7 @@ trap_damage = 0 item_flags = DROPDEL flags_1 = NONE - breakouttime = 25 + breakouttime = 50 /obj/item/restraints/legcuffs/beartrap/energy/New() ..() @@ -330,7 +331,7 @@ . = ..() /obj/item/restraints/legcuffs/beartrap/energy/cyborg - breakouttime = 20 // Cyborgs shouldn't have a strong restraint + breakouttime = 40 // Cyborgs shouldn't have a strong restraint /obj/item/restraints/legcuffs/bola name = "bola" From 2fb5355066d572dabe3a9d5f729d674ced6289f7 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 4 Jul 2021 10:53:17 -0700 Subject: [PATCH 3/5] Update handcuffs.dm --- code/game/objects/items/handcuffs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 4bb8e5bdf8..60538b479b 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -382,7 +382,7 @@ icon_state = "ebola" hitsound = 'sound/weapons/taserhit.ogg' w_class = WEIGHT_CLASS_SMALL - breakouttime = 25 + breakouttime = 50 /obj/item/restraints/legcuffs/bola/energy/on_removed() do_sparks(1, TRUE, src) 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 4/5] 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) From 18fb23bb1f2655b4e6ce3fee0bd9796af9bb42de Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 4 Jul 2021 18:19:31 -0700 Subject: [PATCH 5/5] Update carbon.dm --- code/modules/mob/living/carbon/carbon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 8e4b8026e4..6ad821b5e0 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -395,7 +395,7 @@ if(get_turf(user) != last) last = get_turf(user) passed_in[1] = 0.5 - if(R && !R.allow_breakout_movement) + if(cuffs && !cuffs.allow_breakout_movement) return DO_AFTER_STOP else passed_in[1] = 1