diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 5fa64e5ab5..22a0da2cf6 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -645,7 +645,7 @@ attempt_resist_grab(FALSE) // Return as we should only resist one thing at a time. Give clickdelay if the grab wasn't passive. return old_gs? TRUE : FALSE - + // unbuckling yourself. stops the chain if you try it. if(buckled && last_special <= world.time) log_combat(src, buckled, "resisted buckle") @@ -668,19 +668,22 @@ resist_fire() //stop, drop, and roll // Give clickdelay return TRUE + if(resting) //cit change - allows resisting out of resting resist_a_rest() // ditto // DO NOT GIVE CLCIKDELAY - resist_a_rest() handles spam prevention. Somewhat. return FALSE - if(last_special <= world.time) - resist_restraints() //trying to remove cuffs. - // DO NOT GIVE CLICKDELAY - last_special handles this. - return FALSE + if(CHECK_MOBILITY(src, MOBILITY_USE) && resist_embedded()) //Citadel Change for embedded removal memes - requires being able to use items. // DO NOT GIVE DEFAULT CLICKDELAY - This is a combat action. changeNext_move(CLICK_CD_MELEE) return FALSE + if(last_special <= world.time) + resist_restraints() //trying to remove cuffs. + // DO NOT GIVE CLICKDELAY - last_special handles this. + return FALSE + /// Proc to resist a grab. moving_resist is TRUE if this began by someone attempting to move. Return FALSE if still grabbed/failed to break out. Use this instead of resist_grab() directly. /mob/proc/attempt_resist_grab(moving_resist, forced, log = TRUE) if(!pulledby) //not being grabbed