Small refactor to movement (#31071)

You can now move an object into nullspace, which will call exited on
it's parent and parent area but will not call any entered.

Note that you cannot pass null into forceMove it will crash, instead use
the new proc that will call the underlying logic with a null destination

Some of the force move procs have been refactored to check that their
parent move succeeded before doing updates
This commit is contained in:
oranges
2017-10-01 01:22:35 +13:00
committed by CitadelStationBot
parent fceb289072
commit 384332fe20
2 changed files with 29 additions and 6 deletions
@@ -4,7 +4,9 @@
/mob/living/silicon/forceMove(atom/destination)
. = ..()
update_camera_location(destination)
//Only bother updating the camera if we actually managed to move
if(.)
update_camera_location(destination)
/mob/living/silicon/proc/do_camera_update(oldLoc)
if(!QDELETED(builtInCamera) && oldLoc != get_turf(src))