diff --git a/code/game/objects/items/policetape.dm b/code/game/objects/items/policetape.dm
index bd222c52dbb..9b1f27dea1b 100644
--- a/code/game/objects/items/policetape.dm
+++ b/code/game/objects/items/policetape.dm
@@ -166,7 +166,7 @@ var/list/tape_roll_applications = list()
/obj/item/tape/attack_hand(mob/user as mob)
if (user.a_intent == I_HELP && src.allowed(user))
- user.show_viewers("\blue [user] lifts [src], allowing passage.")
+ user.visible_message("[user] lifts [src], allowing passage.", "You lift [src], allowing passage.")
src.density = 0
spawn(200)
src.density = 1
@@ -180,7 +180,7 @@ var/list/tape_roll_applications = list()
if(user.a_intent == I_HELP && ((!can_puncture(W) && src.allowed(user))))
to_chat(user, "You can't break the [src] with that!")
return
- user.show_viewers("\blue [user] breaks the [src]!")
+ user.visible_message("[user] breaks the [src]!", "You break the [src]!")
var/dir[2]
var/icon_dir = src.icon_state
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index a6b19ebbea5..42a2541f0bf 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -320,7 +320,7 @@
return
step_towards(O, src.loc)
if(user != O)
- user.show_viewers("[user] stuffs [O] into [src]!")
+ user.visible_message("[user] stuffs [O] into [src]!", "You stuff [O] into [src]!")
src.add_fingerprint(user)
/obj/structure/closet/attack_ai(mob/user)
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 77afb5e2665..ed3c9bc5014 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -192,7 +192,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return 0
/mob/dead/observer/can_use_hands() return 0
-/mob/dead/observer/is_active() return 0
/mob/dead/observer/Stat()
..()
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 90fed057057..1556211cb5b 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1923,3 +1923,6 @@
if(U.accessories)
for(var/obj/item/clothing/accessory/A in U.accessories)
. |= A.GetAccess()
+
+/mob/living/carbon/human/is_mechanical()
+ return ..() || (species.flags & ALL_RPARTS) != 0
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 5d88814440b..e6fc318335b 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -355,4 +355,7 @@
/mob/living/silicon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash/noise)
if(affect_silicon)
- return ..()
\ No newline at end of file
+ return ..()
+
+/mob/living/silicon/is_mechanical()
+ return 1
\ No newline at end of file
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index e5661f10ea5..872350d6d9e 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -903,13 +903,8 @@ var/list/slot_equipment_priority = list( \
/mob/proc/can_use_hands()
return
-/mob/proc/is_active()
- return (0 >= usr.stat)
-
/mob/proc/is_mechanical()
- if(mind && (mind.assigned_role == "Cyborg" || mind.assigned_role == "AI"))
- return 1
- return istype(src, /mob/living/silicon) || get_species() == "Machine"
+ return mind && (mind.assigned_role == "Cyborg" || mind.assigned_role == "AI")
/mob/proc/is_ready()
return client && !!mind
@@ -936,19 +931,9 @@ var/list/slot_equipment_priority = list( \
/mob/proc/get_gender()
return gender
-/mob/proc/see(message)
- if(!is_active())
- return 0
- to_chat(src, message)
- return 1
-
/mob/proc/is_muzzled()
return 0
-/mob/proc/show_viewers(message)
- for(var/mob/M in viewers())
- M.see(message)
-
/mob/Stat()
..()
diff --git a/code/modules/mob/spirit/spirit.dm b/code/modules/mob/spirit/spirit.dm
index a9b10f8224f..a8667567d03 100644
--- a/code/modules/mob/spirit/spirit.dm
+++ b/code/modules/mob/spirit/spirit.dm
@@ -25,7 +25,7 @@ mob/spirit
var/follow_target = null
-mob/spirit/is_active()
+mob/spirit/proc/is_active()
if (client && client.inactivity <= 10 * 60 * 10)
return TRUE
return FALSE