diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 1c10aa36ac..b3e8ea6816 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -595,6 +595,8 @@ H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly." use_obj.canremove = 1 holder.drop_from_inventory(use_obj) + use_obj.loc = get_turf(src) + use_obj.dropped() use_obj.canremove = 0 use_obj.loc = src @@ -648,10 +650,10 @@ for(var/piece in list("helmet","gauntlets","chest","boots")) toggle_piece(piece, H, ONLY_DEPLOY) -/obj/item/weapon/rig/dropped() +/obj/item/weapon/rig/dropped(var/mob/user) ..() for(var/piece in list("helmet","gauntlets","chest","boots")) - toggle_piece(piece, wearer, ONLY_RETRACT) + toggle_piece(piece, user, ONLY_RETRACT) wearer = null //Todo diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index d3b354fe52..535ab47f81 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -70,27 +70,25 @@ check_limb_support() ..() -/obj/item/clothing/suit/space/dropped() - check_limb_support() +/obj/item/clothing/suit/space/dropped(var/mob/user) + check_limb_support(user) ..() // Some space suits are equipped with reactive membranes that support // broken limbs - at the time of writing, only the ninja suit, but // I can see it being useful for other suits as we expand them. ~ Z // The actual splinting occurs in /datum/organ/external/proc/fracture() -/obj/item/clothing/suit/space/proc/check_limb_support() +/obj/item/clothing/suit/space/proc/check_limb_support(var/mob/living/carbon/human/user) // If this isn't set, then we don't need to care. if(!supporting_limbs || !supporting_limbs.len) return - var/mob/living/carbon/human/H = src.loc - - // If the holder isn't human, or the holder IS and is wearing the suit, it keeps supporting the limbs. - if(!istype(H) || H.wear_suit == src) + if(!istype(user) || user.wear_suit == src) return // Otherwise, remove the splints. for(var/datum/organ/external/E in supporting_limbs) E.status &= ~ ORGAN_SPLINTED + user << "The suit stops supporting your [E.display_name]." supporting_limbs = list() \ No newline at end of file