Fixes ghost portal teleportation (#36438)

* Forced teleportation by portals

* Update portals.dm
This commit is contained in:
kevinz000
2018-03-17 08:22:46 -05:00
committed by CitadelStationBot
parent 13709a7d34
commit 2dcaf50d07
+4 -4
View File
@@ -138,16 +138,16 @@
return ..() return ..()
/obj/effect/portal/attack_ghost(mob/dead/observer/O) /obj/effect/portal/attack_ghost(mob/dead/observer/O)
if(!teleport(O)) if(!teleport(O, TRUE))
return ..() return ..()
/obj/effect/portal/proc/teleport(atom/movable/M) /obj/effect/portal/proc/teleport(atom/movable/M, force = FALSE)
if(!istype(M) || istype(M, /obj/effect) || (ismecha(M) && !mech_sized) || (!isobj(M) && !ismob(M))) //Things that shouldn't teleport. if(!force && (!istype(M) || istype(M, /obj/effect) || (ismecha(M) && !mech_sized) || (!isobj(M) && !ismob(M)))) //Things that shouldn't teleport.
return return
var/turf/real_target = get_link_target_turf() var/turf/real_target = get_link_target_turf()
if(!istype(real_target)) if(!istype(real_target))
return FALSE 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 return
if(ismegafauna(M)) if(ismegafauna(M))
message_admins("[M] has used a portal at [ADMIN_COORDJMP(src)] made by [usr].") message_admins("[M] has used a portal at [ADMIN_COORDJMP(src)] made by [usr].")