diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 643f1756ed4..1fe74e5c85e 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -171,8 +171,8 @@ desc = "A suit that completely restrains the wearer." icon_state = "straight_jacket" item_state = "straight_jacket" - body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS + flags_inv = HIDEGLOVES|HIDEJUMPSUIT /obj/item/clothing/suit/straight_jacket/equipped(var/mob/user, var/slot) if (slot == slot_wear_suit) diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 91f2d508437..e2b93d0fd48 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -26,6 +26,41 @@ else if(legcuffed) spawn() escape_legcuffs() +/mob/living/carbon/human/process_resist() + if (istype(wear_suit, /obj/item/clothing/suit/straight_jacket)) + spawn + escape_jacket() + return + ..() + +/mob/living/carbon/human/proc/escape_jacket() + visible_message( + "\The [src] attempts to escape [wear_suit]!", + "You attempt to escape [wear_suit]. (This will take around 6 minutes and you need to stand still)" + ) + if (!do_after(src, 1.5 MINUTES, act_target = wear_suit)) + return + visible_message( + "\The [src] is shifting in their [wear_suit]!", + "You start to loosen the [wear_suit]." + ) + if (!do_after(src, 1.5 MINUTES, act_target = wear_suit)) + return + visible_message( + "\The [src] is moving in their [wear_suit]!", + "You slip one of your arms out of the [wear_suit]." + ) + if (!do_after(src, 1.5 MINUTES, act_target = wear_suit)) + return + visible_message( + "\The [src] is moving around in their [wear_suit] - it looks like they are about to break out!", + "You start to pull loose the straps on the straightjacket[wear_suit]." + ) + if (do_after(src, 1.5 MINUTES, act_target = wear_suit)) + var/obj/ex_suit = wear_suit + remove_from_mob(wear_suit) + ex_suit.forceMove(get_turf(src)) + /mob/living/carbon/proc/escape_handcuffs() //if(!(last_special <= world.time)) return @@ -182,3 +217,4 @@ visible_message("[usr] manages to unbuckle themself!", "You successfully unbuckle yourself.") buckled.user_unbuckle_mob(src) + diff --git a/html/changelogs/Changelog-Straightjackets.yml b/html/changelogs/Changelog-Straightjackets.yml new file mode 100644 index 00000000000..5d0e080bad2 --- /dev/null +++ b/html/changelogs/Changelog-Straightjackets.yml @@ -0,0 +1,37 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +################################# + +# Your name. +author: Kaedwuff + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Straightjackets can now be escaped from, if you have sufficient time alone, and new sprites have been given to make them more jackety." \ No newline at end of file diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 15b5c08a5a9..33af57a43de 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index b73cc027223..857b9578d21 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ