diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index bdd2da3c1e2..d2a91da4020 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -57,12 +57,12 @@ return 0 else return 1 - - if(is_sharp(src) && user.a_intent == INTENT_HELP) + var/obj/item/organ/external/O = M.get_organ(user.zone_selected) + if((is_sharp(src) || (isscrewdriver(src) && O.is_robotic())) && user.a_intent == INTENT_HELP) if(!attempt_initiate_surgery(src, M, user)) - return 0 + return FALSE else - return 1 + return TRUE if(force && HAS_TRAIT(user, TRAIT_PACIFISM)) to_chat(user, "You don't want to harm other living beings!") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 1eb3936748d..e0a9001437e 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -16,7 +16,7 @@ emp_act if(check_reflect(def_zone)) // Checks if you've passed a reflection% check visible_message("The [P.name] gets reflected by [src]!", \ "The [P.name] gets reflected by [src]!") - + P.reflect_back(src) return -1 // complete projectile permutation @@ -35,16 +35,6 @@ emp_act return (..(P , def_zone)) -/mob/living/carbon/human/screwdriver_act(mob/user, obj/item/I) - if(!can_operate(src)) //Checks if mob is lying down on table for surgery - return - if(!ismachine(src)) - return - if(user.a_intent != INTENT_HELP) - return - if(attempt_initiate_surgery(I, src, user)) - return TRUE - /mob/living/carbon/human/welder_act(mob/user, obj/item/I) if(user.a_intent != INTENT_HELP) return