diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm
index 16f8dad4bdb..06e98ecf9f4 100644
--- a/code/game/dna/genes/goon_powers.dm
+++ b/code/game/dna/genes/goon_powers.dm
@@ -414,9 +414,6 @@
else
M.stop_pulling()
- if(user.pinned.len)
- failure = 1
-
user.visible_message("[user.name] takes a huge leap!")
playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, 1)
if(failure)
diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm
index da181368cc5..f1fb29ed645 100644
--- a/code/modules/clothing/spacesuits/rig/rig.dm
+++ b/code/modules/clothing/spacesuits/rig/rig.dm
@@ -978,10 +978,6 @@
else
M.stop_pulling()
- if(wearer.pinned.len)
- to_chat(src, "Your host is pinned to a wall by [wearer.pinned[1]]!")
- return 0
-
// AIs are a bit slower than regular and ignore move intent.
wearer_move_delay = world.time + ai_controlled_move_delay
diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm
index 7a12b570201..daeebf8442f 100644
--- a/code/modules/mob/living/carbon/brain/brain_item.dm
+++ b/code/modules/mob/living/carbon/brain/brain_item.dm
@@ -71,9 +71,9 @@
var/obj/item/organ/internal/brain/B = src
if(!special)
var/mob/living/simple_animal/borer/borer = owner.has_brain_worms()
-
if(borer)
- borer.detach() //Should remove borer if the brain is removed - RR
+ borer.leave_host() //Should remove borer if the brain is removed - RR
+
if(owner.mind && !non_primary)//don't transfer if the owner does not have a mind.
B.transfer_identity(user)
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index a5d0ab00a4d..2b35b3ce1a7 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -53,7 +53,6 @@
var/lastpuke = 0
var/unacidable = 0
var/can_strip = 1
- var/list/pinned = list() //List of things pinning this creature to walls (see living_defense.dm)
var/list/languages = list() // For speaking/listening.
var/list/abilities = list() // For species-derived or admin-given powers.
var/list/speak_emote = list("says") // Verbs used when speaking. Defaults to 'say' if speak_emote is null.
diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm
index 6b71afdcadf..32badd09ec0 100644
--- a/code/modules/surgery/organs_internal.dm
+++ b/code/modules/surgery/organs_internal.dm
@@ -160,7 +160,7 @@
current_type = "extract"
var/list/organs = target.get_organs_zone(target_zone)
var/mob/living/simple_animal/borer/B = target.has_brain_worms()
- if(B)
+ if(target_zone == "head" && B)
user.visible_message("[user] begins to extract [B] from [target]'s [parse_zone(target_zone)].",
"You begin to extract [B] from [target]'s [parse_zone(target_zone)]...")
return TRUE
@@ -267,13 +267,13 @@
I.status &= ~ORGAN_CUT_AWAY
else if(current_type == "extract")
-/* var/mob/living/simple_animal/borer/B = target.has_brain_worms()
- if(B && B.victim == target)
+ var/mob/living/simple_animal/borer/B = target.has_brain_worms()
+ if(target_zone == "head" && B && B.host == target)
user.visible_message("[user] successfully extracts [B] from [target]'s [parse_zone(target_zone)]!",
"You successfully extract [B] from [target]'s [parse_zone(target_zone)].")
add_logs(user, target, "surgically removed [B] from", addition="INTENT: [uppertext(user.a_intent)]")
- B.leave_victim()
- return FALSE */
+ B.leave_host()
+ return FALSE
if(I && I.owner == target)
user.visible_message(" [user] has separated and extracts [target]'s [I] with [tool].",
" You have separated and extracted [target]'s [I] with [tool].")