diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm
index b6ac40f2f38..3f576a2d5f0 100644
--- a/code/modules/surgery/implant.dm
+++ b/code/modules/surgery/implant.dm
@@ -133,7 +133,7 @@
/datum/surgery_step/cavity/place_item
- name = "implant object"
+ name = "implant/extract object"
accept_hand = 1
accept_any_item = 1
var/obj/item/IC = null
@@ -212,7 +212,7 @@
/datum/surgery/cavity_implant_rem
name = "implant removal"
- steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/generic/cut_open,/datum/surgery_step/cavity/implant_removal,/datum/surgery_step/cavity/close_space,/datum/surgery_step/generic/cauterize/)
+ steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin,/datum/surgery_step/cavity/implant_removal,/datum/surgery_step/cavity/close_space,/datum/surgery_step/generic/cauterize/)
possible_locs = list("chest","head")//head is for borers..i can put it elsewhere
/datum/surgery/cavity_implant_rem/synth
@@ -250,25 +250,7 @@
/datum/surgery_step/cavity/implant_removal/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
var/obj/item/organ/external/affected = target.get_organ(target_zone)
I = locate(/obj/item/weapon/implant) in target
- if (affected.implants.len)
-
- var/obj/item/obj = affected.implants[1]
-
- user.visible_message(" [user] takes something out of [target]'s [affected.name] with \the [tool].", \
- " You take [obj] out of [target]'s [affected.name]s with \the [tool]." )
- affected.implants -= obj
-
- //Handle possessive brain borers.
- if(istype(obj,/mob/living/simple_animal/borer))
- var/mob/living/simple_animal/borer/worm = obj
- if(worm.controlling)
- target.release_control()
- worm.detatch()
- worm.leave_host()
-
- obj.loc = get_turf(target)
- return 1
- else if(I && (target_zone == "chest")) //implant removal only works on the chest.
+ if(I && (target_zone == "chest")) //implant removal only works on the chest.
user.visible_message("[user] takes something out of [target]'s [affected.name] with \the [tool].", \
"You take [I] out of [target]'s [affected.name]s with \the [tool]." )
@@ -362,11 +344,19 @@
I.forceMove(get_turf(H))
L.implants -= I
+ //Handle possessive brain borers.
+ if(istype(I,/mob/living/simple_animal/borer) && target_zone == "head")
+ var/mob/living/simple_animal/borer/worm = I
+ if(worm.controlling)
+ target.release_control()
+ worm.detatch()
+ worm.leave_host()
+ user.visible_message("a slug like creature wiggles out of [H]'s [target_zone]!")
+
if(objects > 0)
user.visible_message("[user] sucessfully removes [objects] objects from [H]'s [L.limb_name]!", "You sucessfully remove [objects] objects from [H]'s [L.limb_name].")
else
user << "You find no objects embedded in [H]'s [L.limb_name]!"
-
else
user << "You can't find [target]'s [target_zone], let alone any objects embedded in it!"
diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm
index e455e5edf28..e1a238cf6de 100644
--- a/code/modules/surgery/organs/organ_internal.dm
+++ b/code/modules/surgery/organs/organ_internal.dm
@@ -395,7 +395,7 @@
if(!owner)
return
- if((lasthonk > world.time + 60))
+ if(lasthonk > (world.time + 60))
lasthonk = world.time
owner << "HONK"
owner.sleeping = 0
@@ -418,6 +418,7 @@
spawn(20)
if(thingy)
walk(thingy,0)
+ ..()
/obj/item/organ/internal/beard