diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index af6bdb26af5..7347e8eb3e9 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -615,10 +615,12 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, return TRUE /mob/living/carbon/restrained() - if(handcuffed) + if(get_restraining_item()) return TRUE - return + return FALSE +/mob/living/carbon/get_restraining_item() + return handcuffed /mob/living/carbon/unEquip(obj/item/I, force) //THIS PROC DID NOT CALL ..() . = ..() //Sets the default return value to what the parent returns. @@ -773,8 +775,8 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump, /mob/living/carbon/resist_buckle() spawn(0) resist_muzzle() - if(restrained()) - var/obj/item/I = handcuffed + var/obj/item/I + if((I = get_restraining_item())) // If there is nothing to restrain him then he is not restrained var/breakouttime = I.breakouttime var/displaytime = breakouttime / 10 changeNext_move(CLICK_CD_BREAKOUT) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index fd4c9f0116e..7060a139a60 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -312,13 +312,10 @@ return 0 ..() -/mob/living/carbon/human/restrained() - if(handcuffed) - return 1 - if(istype(wear_suit, /obj/item/clothing/suit/straight_jacket)) - return 1 - return 0 - +/mob/living/carbon/human/get_restraining_item() + . = ..() + if(!. && istype(wear_suit, /obj/item/clothing/suit/straight_jacket)) + . = wear_suit /mob/living/carbon/human/var/temperature_resistance = T0C+75 diff --git a/code/modules/mob/update_status.dm b/code/modules/mob/update_status.dm index 29bcced144a..1708bcfb7a2 100644 --- a/code/modules/mob/update_status.dm +++ b/code/modules/mob/update_status.dm @@ -48,7 +48,10 @@ /mob/proc/restrained(ignore_grab) // All are created free - return 0 + return FALSE + +/mob/proc/get_restraining_item() + return null // Procs that update other things about the mob