diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index d05982ac4fa..5d25cf95c2d 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -527,6 +527,7 @@ flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL flags_size = ONESIZEFITSALL strip_delay = 60 + breakouttime = 3000 /obj/item/clothing/suit/ianshirt name = "worn shirt" diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm index 898d23de066..0d6545d0a0f 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm @@ -103,8 +103,7 @@ t_suit = "armor" standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "[t_suit]blood") - if(istype(wear_suit, /obj/item/clothing/suit/straight_jacket)) - unEquip(handcuffed) + if(wear_suit.breakouttime) drop_r_hand() drop_l_hand() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 9d1dace166b..5911c04f563 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -806,6 +806,10 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, legcuffed = null update_inv_legcuffed() return + else + unEquip(I) + I.dropped() + return return 1 else to_chat(src, "You fail to remove [I]!") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index cc2458c7cf4..1c012655cdc 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1406,6 +1406,14 @@ if(..()) unEquip(I) +/mob/living/carbon/human/resist_restraints() + if(wear_suit && wear_suit.breakouttime) + changeNext_move(CLICK_CD_BREAKOUT) + last_special = world.time + CLICK_CD_BREAKOUT + cuff_resist(wear_suit) + else + ..() + /mob/living/carbon/human/get_visible_implants(var/class = 0) var/list/visible_implants = list() diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 20d6a717cde..1cb97bb3e19 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -964,8 +964,7 @@ var/global/list/damage_icon_parts = list() standing = image("icon" = 'icons/mob/suit.dmi', "icon_state" = "[wear_suit.icon_state]") - if( istype(wear_suit, /obj/item/clothing/suit/straight_jacket) ) - unEquip(handcuffed) + if(wear_suit.breakouttime) drop_l_hand() drop_r_hand()