diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm
index 586b624260..122e1aa4cd 100644
--- a/code/modules/multiz/movement.dm
+++ b/code/modules/multiz/movement.dm
@@ -3,34 +3,38 @@
set category = "IC"
if(zMove(UP))
- to_chat(usr, "You move upwards.")
+ to_chat(src, "You move upwards.")
/mob/verb/down()
set name = "Move Down"
set category = "IC"
if(zMove(DOWN))
- to_chat(usr, "You move down.")
+ to_chat(src, "You move down.")
/mob/proc/zMove(direction)
if(eyeobj)
return eyeobj.zMove(direction)
if(!can_ztravel())
- to_chat(usr, "You lack means of travel in that direction.")
+ to_chat(src, "You lack means of travel in that direction.")
return
+ var/turf/start = loc
+ if(!istype(start))
+ to_chat(src, "You are unable to move from here.")
+ return 0
+
var/turf/destination = (direction == UP) ? GetAbove(src) : GetBelow(src)
-
if(!destination)
- to_chat(usr, "There is nothing of interest in this direction.")
+ to_chat(src, "There is nothing of interest in this direction.")
+ return 0
+
+ if(!start.CanZPass(src, direction))
+ to_chat(src, "\The [start] is in the way.")
return 0
- var/turf/start = get_turf(src)
- if(!start.CanZPass(src, direction))
- to_chat(usr, "\The [start] is in the way.")
- return 0
if(!destination.CanZPass(src, direction))
- to_chat(usr, "\The [destination] blocks your way.")
+ to_chat(src, "\The [destination] blocks your way.")
return 0
var/area/area = get_area(src)
@@ -46,12 +50,12 @@
to_chat(src, "You gave up on pulling yourself up.")
return 0
else
- to_chat(usr, "Gravity stops you from moving upward.")
+ to_chat(src, "Gravity stops you from moving upward.")
return 0
for(var/atom/A in destination)
if(!A.CanPass(src, start, 1.5, 0))
- to_chat(usr, "\The [A] blocks you.")
+ to_chat(src, "\The [A] blocks you.")
return 0
Move(destination)
return 1
@@ -61,14 +65,14 @@
if(destination)
forceMove(destination)
else
- to_chat(usr, "There is nothing of interest in this direction.")
+ to_chat(src, "There is nothing of interest in this direction.")
/mob/observer/eye/zMove(direction)
var/turf/destination = (direction == UP) ? GetAbove(src) : GetBelow(src)
if(destination)
setLoc(destination)
else
- to_chat(usr, "There is nothing of interest in this direction.")
+ to_chat(src, "There is nothing of interest in this direction.")
/mob/proc/can_ztravel()
return 0