diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index b0dcf14933f..f0afc49aa57 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -174,10 +174,6 @@
if(occupant)
user << "\blue The DNA Scanner is already occupied!"
return
-/* if(isrobot(user))
- if(!istype(user:module, /obj/item/weapon/robot_module/medical))
- user << "You do not have the means to do this!"
- return*/
var/mob/living/L = O
if(!istype(L) || L.buckled)
return
@@ -193,7 +189,7 @@
visible_message("[user] puts [L.name] into the DNA Scanner.")
put_in(L)
if(user.pulling == L)
- user.pulling = null
+ user.stop_pulling()
/obj/machinery/dna_scannernew/attackby(var/obj/item/weapon/item as obj, var/mob/user as mob, params)
if(istype(item, /obj/item/weapon/screwdriver))
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index 6a0bd412e8f..96849a2905d 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -98,6 +98,8 @@
C.client.eye = src
C.resting = 1
C.loc = src.loc
+ if (user.pulling == C)
+ user.stop_pulling()
for(var/obj/O in src)
O.loc = src.loc
src.add_fingerprint(user)
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 0035170d4dd..bc4b732d047 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -322,6 +322,11 @@
max_chem = E * 20
min_health = -E * 25
+/obj/machinery/sleeper/relaymove(mob/user as mob)
+ if(user.incapacitated())
+ return 0 //maybe they should be able to get out with cuffs, but whatever
+ go_out()
+
/obj/machinery/sleeper/process()
if(filtering > 0)
if(beaker)
@@ -566,10 +571,6 @@
if(occupant)
user << "The sleeper is already occupied!"
return
-/* if(isrobot(user))
- if(!istype(user:module, /obj/item/weapon/robot_module/medical))
- user << "You do not have the means to do this!"
- return*/
var/mob/living/L = O
if(!istype(L) || L.buckled)
return
@@ -600,7 +601,7 @@
L << "You feel cool air surround you. You go numb as your senses turn inward."
src.add_fingerprint(user)
if(user.pulling == L)
- user.pulling = null
+ user.stop_pulling()
return
return
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index 8419189dee3..9b4bec6516d 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -97,10 +97,6 @@
if(occupant)
user << "\blue The cryo cell is already occupied!"
return
-/* if(isrobot(user))
- if(!istype(user:module, /obj/item/weapon/robot_module/medical))
- user << "You do not have the means to do this!"
- return*/
var/mob/living/L = O
if(!istype(L) || L.buckled)
return
@@ -117,7 +113,7 @@
else
visible_message("[user] puts [L.name] into the cryo cell.")
if(user.pulling == L)
- user.pulling = null
+ user.stop_pulling()
/obj/machinery/atmospherics/unary/cryo_cell/process()
..()