From 04587f4af63df8d87aa74560934145ee5eebbb1c Mon Sep 17 00:00:00 2001 From: Matt Atlas Date: Mon, 14 Mar 2022 14:11:33 +0100 Subject: [PATCH] fixes bugs with the leaning --- code/modules/mob/living/carbon/human/human.dm | 6 +++--- code/modules/multiz/movement.dm | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index d32f03e74b9..8eeb58a1b9d 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -2154,7 +2154,7 @@ var/turf/above = GetAbove(src) if(TURF_IS_MIMICING(above)) z_eye = new /atom/movable/z_observer/z_up(src, src) - to_chat(src, "You look up.") + visible_message(SPAN_NOTICE("[src] looks up."), SPAN_NOTICE("You look up.")) reset_view(z_eye) return to_chat(src, "You can see \the [above ? above : "ceiling"].") @@ -2174,14 +2174,14 @@ var/turf/T = get_turf(src) if(TURF_IS_MIMICING(T) && HasBelow(T.z)) z_eye = new /atom/movable/z_observer/z_down(src, src) - to_chat(src, "You look down.") + visible_message(SPAN_NOTICE("[src] looks below."), SPAN_NOTICE("You look below.")) reset_view(z_eye) return else T = get_step(T, dir) if(TURF_IS_MIMICING(T) && HasBelow(T.z)) z_eye = new /atom/movable/z_observer/z_down(src, src, TRUE) - to_chat(src, "You lean over to look down in front of you.") + visible_message(SPAN_NOTICE("[src] leans over to look below."), SPAN_NOTICE("You lean over to look below.")) reset_view(z_eye) return to_chat(src, "You can see \the [T ? T : "floor"].") diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm index d57098d9541..b1ce02cc106 100644 --- a/code/modules/multiz/movement.dm +++ b/code/modules/multiz/movement.dm @@ -780,12 +780,15 @@ anchored = TRUE mouse_opacity = FALSE var/mob/living/owner + var/tile_shifted = FALSE /atom/movable/z_observer/Initialize(mapload, var/mob/living/user, var/tile_shift = FALSE) . = ..() owner = user if(tile_shift) - step(get_step(owner, owner.dir)) + var/turf/T = get_step(owner, owner.dir) + forceMove(T) + tile_shifted = TRUE follow() moved_event.register(owner, src, /atom/movable/z_observer/proc/follow) @@ -802,8 +805,8 @@ qdel(src) /atom/movable/z_observer/z_down/follow() - forceMove(get_step(owner, DOWN)) - var/turf/T = get_turf(owner) + forceMove(get_step(tile_shifted ? src : owner, DOWN)) + var/turf/T = get_turf(tile_shifted ? get_step(owner, owner.dir) : owner) if(T && (T.flags & MIMIC_BELOW)) return owner.reset_view(null)