From 3d907490a84773fc2eb38345c01d5f461ec6582e Mon Sep 17 00:00:00 2001 From: datlo Date: Sat, 13 Nov 2021 13:37:30 +0100 Subject: [PATCH] Prevent drawing teleport runes in the gateway (#17086) --- code/game/gamemodes/cult/blood_magic.dm | 2 +- code/game/gamemodes/cult/ritual.dm | 5 +++++ code/game/gamemodes/cult/runes.dm | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/cult/blood_magic.dm b/code/game/gamemodes/cult/blood_magic.dm index 4c7b174749a..036423326e6 100644 --- a/code/game/gamemodes/cult/blood_magic.dm +++ b/code/game/gamemodes/cult/blood_magic.dm @@ -501,7 +501,7 @@ log_game("Teleport spell failed - no other teleport runes") return if(!is_level_reachable(user.z)) - to_chat(user, "You are not in the right dimension!") + to_chat(user, "You are too far away from the station to teleport!") log_game("Teleport spell failed - user in away mission") return diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 47a53ef89c6..cac591e856a 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -139,6 +139,11 @@ to_chat(user, "The veil is not weak enough here to summon a cultist, you must be on station!") return + if(ispath(rune, /obj/effect/rune/teleport)) + if(!is_level_reachable(user.z)) + to_chat(user, "You are too far away from the station to teleport!") + return + var/old_color = user.color // we'll temporarily redden the user for better feedback to fellow cultists. Store this to revert them back. if(narsie_rune) if(!narsie_rune_check(user, A)) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 4a9234ac49f..9129f928888 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -461,7 +461,7 @@ structure_check() searches for nearby cultist structures required for the invoca return if(!is_level_reachable(user.z)) - to_chat(user, "You are not in the right dimension!") + to_chat(user, "You are too far away from the station to teleport!") log_game("Teleport rune failed - user in away mission") fail_invoke() return