diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2c19a5a9df..173dd91516 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -576,12 +576,14 @@ default behaviour is: if(can_resist()) next_move = world.time + 20 - process_resist() + resist_grab() + if(!weakened && !restrained()) + process_resist() /mob/living/proc/can_resist() //need to allow !canmove, or otherwise neck grabs can't be resisted - //so just check weakened instead. - if(stat || weakened) + //similar thing with weakened and pinning + if(stat) return 0 if(next_move > world.time) return 0 @@ -593,10 +595,6 @@ default behaviour is: escape_inventory(src.loc) return - //resisting grabs (as if it helps anyone...) - if (!restrained()) - resist_grab() - //unbuckling yourself if(buckled) spawn() escape_buckle()