From 2dcaf50d079912d8c4e3123342a4e33ce12e20e0 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 17 Mar 2018 06:21:14 -0700 Subject: [PATCH] Fixes ghost portal teleportation (#36438) * Forced teleportation by portals * Update portals.dm --- code/game/objects/effects/portals.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index a5e435b063..b278ac25c1 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -138,16 +138,16 @@ return ..() /obj/effect/portal/attack_ghost(mob/dead/observer/O) - if(!teleport(O)) + if(!teleport(O, TRUE)) return ..() -/obj/effect/portal/proc/teleport(atom/movable/M) - if(!istype(M) || istype(M, /obj/effect) || (ismecha(M) && !mech_sized) || (!isobj(M) && !ismob(M))) //Things that shouldn't teleport. +/obj/effect/portal/proc/teleport(atom/movable/M, force = FALSE) + if(!force && (!istype(M) || istype(M, /obj/effect) || (ismecha(M) && !mech_sized) || (!isobj(M) && !ismob(M)))) //Things that shouldn't teleport. return var/turf/real_target = get_link_target_turf() if(!istype(real_target)) return FALSE - if(!ismecha(M) && !istype(M, /obj/item/projectile) && M.anchored && !allow_anchored) + if(!force && (!ismecha(M) && !istype(M, /obj/item/projectile) && M.anchored && !allow_anchored)) return if(ismegafauna(M)) message_admins("[M] has used a portal at [ADMIN_COORDJMP(src)] made by [usr].")