From 162fb0744b646a9461c7dd34fde60494630f707d Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Mon, 24 Apr 2017 22:42:12 +0400 Subject: [PATCH] straightjacketed people can be handcuffed, straightjackets can be resisted out of in 5 mins --- code/modules/clothing/suits/miscellaneous.dm | 1 + .../mob/living/carbon/alien/humanoid/update_icons.dm | 3 +-- code/modules/mob/living/carbon/carbon.dm | 4 ++++ code/modules/mob/living/carbon/human/human.dm | 8 ++++++++ code/modules/mob/living/carbon/human/update_icons.dm | 3 +-- 5 files changed, 15 insertions(+), 4 deletions(-) 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 93f2d4aeb35..565cdebcee7 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -808,6 +808,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 65cdd7c24d9..08bf95f49fb 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1408,6 +1408,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 4c0088e0157..baf1f2f25e3 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()