From 3509178aa8a4b46a1f6dad3d1345c342be92dcb4 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 1 May 2015 15:13:07 -0400 Subject: [PATCH] More resist refactoring Reorganizes resist a bit more to allow for cleaner inheritance. --- code/modules/mob/living/carbon/resist.dm | 6 +----- code/modules/mob/living/living.dm | 15 +++++++++++---- .../living/simple_animal/borer/borer_captive.dm | 5 ++++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm index 775ef920e8b..95ee36b1f6b 100644 --- a/code/modules/mob/living/carbon/resist.dm +++ b/code/modules/mob/living/carbon/resist.dm @@ -1,9 +1,5 @@ -/mob/living/carbon/resist() - //need to allow !canmove, or otherwise neck grabs can't be resisted - //so just check weakened instead. - if(stat || weakened || next_move > world.time) - return +/mob/living/carbon/process_resist() //drop && roll if(on_fire) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index cb36ac853e4..3bf702b872f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -460,13 +460,20 @@ set name = "Resist" set category = "IC" + if(can_resist()) + next_move = world.time + 20 + 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 || next_move > world.time) - return - - next_move = world.time + 20 + if(stat || weakened) + return 0 + if(next_move > world.time) + return 0 + return 1 +/mob/living/proc/process_resist() //Getting out of someone's inventory. if(istype(src.loc, /obj/item/weapon/holder)) escape_inventory(src.loc) diff --git a/code/modules/mob/living/simple_animal/borer/borer_captive.dm b/code/modules/mob/living/simple_animal/borer/borer_captive.dm index 79e78b4d5e7..25cc18cdd26 100644 --- a/code/modules/mob/living/simple_animal/borer/borer_captive.dm +++ b/code/modules/mob/living/simple_animal/borer/borer_captive.dm @@ -34,7 +34,10 @@ /mob/living/captive_brain/emote(var/message) return -/mob/living/captive_brain/resist() +/mob/living/captive_brain/can_resist() + return !(stat || next_move > world.time) + +/mob/living/captive_brain/process_resist() //Resisting control by an alien mind. if(istype(src.loc,/mob/living/simple_animal/borer)) var/mob/living/simple_animal/borer/B = src.loc