diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index d992a46245..19f18f9973 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -636,14 +636,15 @@ else if(canmove) if(on_fire) resist_fire() //stop, drop, and roll - else if(resting) //cit change - allows resisting out of resting + return + if(resting) //cit change - allows resisting out of resting resist_a_rest() // ditto - else if(iscarbon(src)) //Citadel Change for embedded removal memes - var/mob/living/carbon/C = src - if(!C.handcuffed && !C.legcuffed) - return TRUE - else if(last_special <= world.time) + return + if(resist_embedded()) //Citadel Change for embedded removal memes + return + if(last_special <= world.time) resist_restraints() //trying to remove cuffs. + return /mob/proc/resist_grab(moving_resist) diff --git a/modular_citadel/code/modules/mob/living/carbon/human/human.dm b/modular_citadel/code/modules/mob/living/carbon/human/human.dm index 70bac64825..bb8d4a5f4a 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/human.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/human.dm @@ -13,18 +13,19 @@ /mob/living/carbon/human/species/xeno race = /datum/species/xeno -/mob/living/carbon/human/resist() - . = ..() - if(wear_suit && wear_suit.breakouttime)//added in human cuff breakout proc +/mob/living/proc/resist_embedded() + return + +/mob/living/carbon/human/resist_embedded() + if(handcuffed || legcuffed || (wear_suit && wear_suit.breakouttime)) return - if(.) - if(canmove && !on_fire) - for(var/obj/item/bodypart/L in bodyparts) - if(istype(L) && L.embedded_objects.len) - for(var/obj/item/I in L.embedded_objects) - if(istype(I) && I.w_class >= WEIGHT_CLASS_NORMAL) //minimum weight class to insta-ripout via resist - remove_embedded_unsafe(L, I, src, 1.5) //forcefully call the remove embedded unsafe proc but with extra pain multiplier. if you want to remove it less painfully, examine and remove it carefully. - return FALSE //Hands are occupied + if(canmove && !on_fire) + for(var/obj/item/bodypart/L in bodyparts) + if(istype(L) && L.embedded_objects.len) + for(var/obj/item/I in L.embedded_objects) + if(istype(I) && I.w_class >= WEIGHT_CLASS_NORMAL) //minimum weight class to insta-ripout via resist + remove_embedded_unsafe(L, I, src, 1.5) //forcefully call the remove embedded unsafe proc but with extra pain multiplier. if you want to remove it less painfully, examine and remove it carefully. + return TRUE //Hands are occupied return /mob/living/carbon/human/proc/remove_embedded_unsafe(obj/item/bodypart/L, obj/item/I, mob/user, painmul = 1)