/datum/surgery/dethrall name = "dethralling" steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/saw, /datum/surgery_step/dethrall) possible_locs = list("head") /datum/surgery/dethrall/can_start(mob/user, mob/living/carbon/target) return is_thrall(target) /datum/surgery_step/dethrall name = "search head" accept_hand = 1 time = 70 var/obj/item/organ/internal/brain/B = null /datum/surgery_step/dethrall/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) B = target.getorgan(/obj/item/organ/internal/brain) if(B) user.visible_message("[user] begins looking around in [target]'s head.", "You begin looking for foreign influences on [target]'s brain...") /datum/surgery_step/dethrall/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(B) if(!is_thrall(target)) user << "You are unable to locate anything on [target]'s brain." return 1 sleep(30) user.visible_message("[user] begins removing something from [target]'s head.", \ "You begin carefully extracting the tumor...") if(!do_mob(user, target, 50)) if(prob(50)) user.visible_message("[user] slips and rips the tumor out from [target]'s head!", \ "You fumble and tear out [target]'s tumor!") ticker.mode.remove_thrall(target.mind,1) return 1 else user.visible_message("[user] screws up!") return 0 if(target.dna.species.id == "l_shadowling") target << "NOT LIKE THIS!" user.visible_message("[target] suddenly slams upward and knocks down [user]!", \ "[target] suddenly bolts up and slams you with tremendous force!") if(iscarbon(user)) var/mob/living/carbon/C = user C.Weaken(6) C.apply_damage(20, "brute", "chest") else if(issilicon(user)) var/mob/living/silicon/S = user S.Weaken(8) S.apply_damage(20, "brute") playsound(S, 'sound/effects/bang.ogg', 50, 1) return user.visible_message("[user] carefully extracts the tumor from [target]'s brain!", \ "You extract the black tumor from [target]'s head. It quickly shrivels and burns away.") ticker.mode.remove_thrall(target.mind,0) else user << "[target] has no brain!" return 1