From 04c874aa6f2ebccacf8d942ea3f1f1b3aa66de74 Mon Sep 17 00:00:00 2001 From: Mechoid Date: Sat, 29 Feb 2020 21:18:22 -0800 Subject: [PATCH] Cutting rigs now retracts all components, to stop the dreaded pseudoprison. --- code/modules/clothing/spacesuits/rig/rig.dm | 18 ++++++++++++++++++ code/modules/surgery/other.dm | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 7b259d59ec..c34e26b41c 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -231,6 +231,24 @@ update_airtight(piece, 0) // Unseal update_icon(1) +/obj/item/weapon/rig/proc/cut_suit() + offline = 2 + canremove = 1 + for(var/obj/item/piece in list(helmet,boots,gloves,chest)) + if(!piece) continue + piece.icon_state = "[suit_state]" + if(airtight) + update_airtight(piece, 0) // Unseal + piece.canremove = 1 + if(istype(loc, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = loc + H.drop_from_inventory(piece) + piece.forceMove(get_turf(src)) + piece.dropped() + piece.canremove = 0 + piece.forceMove(src) + update_icon(1) + /obj/item/weapon/rig/proc/toggle_seals(var/mob/living/carbon/human/M,var/instant) if(sealing) return diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 411ecf75d3..b6ec121adf 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -225,7 +225,7 @@ rig = target.belt if(!istype(rig)) return - rig.reset() + rig.cut_suit() user.visible_message("[user] has cut through the support systems of \the [rig] on [target] with \the [tool].", \ "You have cut through the support systems of \the [rig] on [target] with \the [tool].")