diff --git a/code/modules/mob/living/basic/guardian/guardian_types/support.dm b/code/modules/mob/living/basic/guardian/guardian_types/support.dm index 5ddc07e809b..503dc93b778 100644 --- a/code/modules/mob/living/basic/guardian/guardian_types/support.dm +++ b/code/modules/mob/living/basic/guardian/guardian_types/support.dm @@ -112,6 +112,8 @@ /// Validate whether we can teleport this object /datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon/proc/can_teleport(mob/living/source, atom/movable/target) + if(!istype(target)) // Turfs + return FALSE if (isnull(beacon)) source.balloon_alert(source, "no beacon!") return FALSE @@ -126,7 +128,7 @@ if (target.anchored) target.balloon_alert(source, "it won't budge!") return FALSE - if(beacon.z != target.z) + if((beacon.z != target.z) && !(target.z in SSmapping.get_connected_levels(beacon.z))) target.balloon_alert(source, "too far from beacon!") return FALSE return TRUE