diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 8c373aa1a78..fdc669a0c40 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -775,13 +775,9 @@ var/list/sacrificed = list() return cultist.buckled = null if (cultist.handcuffed) - cultist.handcuffed.loc = cultist.loc - cultist.handcuffed = null - cultist.update_inv_handcuffed() + cultist.drop_from_inventory(cultist.handcuffed) if (cultist.legcuffed) - cultist.legcuffed.loc = cultist.loc - cultist.legcuffed = null - cultist.update_inv_legcuffed() + cultist.drop_from_inventory(cultist.legcuffed) if (istype(cultist.wear_mask, /obj/item/clothing/mask/muzzle)) cultist.u_equip(cultist.wear_mask) if(istype(cultist.loc, /obj/structure/closet)&&cultist.loc:welded) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 57bb02ce5c3..97e04597dcb 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -256,8 +256,15 @@ buckled = initial(src.buckled) if(iscarbon(src)) var/mob/living/carbon/C = src + + if (C.handcuffed && !initial(C.handcuffed)) + C.drop_from_inventory(C.handcuffed) C.handcuffed = initial(C.handcuffed) + if (C.legcuffed && !initial(C.legcuffed)) + C.drop_from_inventory(C.legcuffed) + C.legcuffed = initial(C.legcuffed) + /mob/living/proc/rejuvenate() // shut down various types of badness @@ -627,8 +634,6 @@ O.show_message("\red [CM] manages to remove the handcuffs!", 1) CM << "\blue You successfully remove \the [CM.handcuffed]." CM.drop_from_inventory(CM.handcuffed) - CM.handcuffed = null - CM.update_inv_handcuffed() else if(CM.legcuffed && CM.canmove && (CM.last_special <= world.time)) CM.next_move = world.time + 100 @@ -766,4 +771,4 @@ loc = target_vent.loc var/area/new_area = get_area(loc) if(new_area) - new_area.Entered(src) \ No newline at end of file + new_area.Entered(src) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 466986b0085..fb6ed08dc56 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -583,18 +583,14 @@ This function completely restores a damaged organ to perfect condition. "\The [owner.handcuffed.name] falls off of [owner.name].",\ "\The [owner.handcuffed.name] falls off you.") - owner.handcuffed.loc = owner.loc - owner.handcuffed = null - owner.update_inv_handcuffed() + owner.drop_from_inventory(owner.handcuffed) if (owner.legcuffed && body_part in list(FOOT_LEFT, FOOT_RIGHT, LEG_LEFT, LEG_RIGHT)) owner.visible_message(\ "\The [owner.legcuffed.name] falls off of [owner.name].",\ "\The [owner.legcuffed.name] falls off you.") - owner.legcuffed.loc = owner.loc - owner.legcuffed = null - owner.update_inv_legcuffed() + owner.drop_from_inventory(owner.legcuffed) /datum/organ/external/proc/bandage() var/rval = 0