From 33de2bd2f9a6f83a602435e0589271197761b765 Mon Sep 17 00:00:00 2001 From: Ashe Higgs Date: Tue, 16 Jan 2018 15:33:19 -0500 Subject: [PATCH 1/2] Reebe rifts no longer instantly teleport you on collision, and servant blockers also block airflow (#34427) * Portal tweaks, and blocked atmos * Update servant_blocker.dm * Update servant_blocker.dm * Update servant_blocker.dm --- .../clock_cult/clock_effects/city_of_cogs_rift.dm | 8 +++++++- .../clock_cult/clock_effects/servant_blocker.dm | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm b/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm index ab47f1af55..430e4ce5d2 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm @@ -10,7 +10,6 @@ light_power = 3 light_color = "#6A4D2F" - /obj/effect/clockwork/city_of_cogs_rift/singularity_act() return @@ -42,6 +41,13 @@ /obj/effect/clockwork/city_of_cogs_rift/CollidedWith(atom/movable/AM) if(!QDELETED(AM)) + if(isliving(AM)) + var/mob/living/L = AM + if(L.client && !L.incapacitated()) + L.visible_message("[L] starts climbing through [src]...", \ + "You begin climbing through [src]...") + if(!do_after(L, 30, target = L)) + return beckon(AM) /obj/effect/clockwork/city_of_cogs_rift/proc/beckon(atom/movable/AM) diff --git a/code/game/gamemodes/clock_cult/clock_effects/servant_blocker.dm b/code/game/gamemodes/clock_cult/clock_effects/servant_blocker.dm index 47ef4bf476..ee49c0e2c1 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/servant_blocker.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/servant_blocker.dm @@ -4,12 +4,20 @@ desc = "A faintly glowing image of an arrow on the ground. Convenient!" icon_state = "servant_blocker" mouse_opacity = MOUSE_OPACITY_TRANSPARENT + anchored = TRUE density = TRUE + CanAtmosPass = ATMOS_PASS_NO + +/obj/effect/clockwork/servant_blocker/Initialize() + . = ..() + air_update_turf(TRUE) /obj/effect/clockwork/servant_blocker/Destroy(force) if(!force) return + var/turf/T = get_turf(src) . = ..() + T.air_update_turf(TRUE) /obj/effect/clockwork/servant_blocker/CanPass(atom/movable/M, turf/target) var/list/target_contents = M.GetAllContents() + M @@ -17,6 +25,13 @@ if(is_servant_of_ratvar(L) && get_dir(M, src) != dir && L.stat != DEAD) //Unless we're on the side the arrow is pointing directly away from, no-go to_chat(L, "The space beyond here can't be accessed by you or other servants.") return + if(isitem(M)) + var/obj/item/I = M + if(is_servant_of_ratvar(I.thrownby)) //nice try! + return + return TRUE + +/obj/effect/clockwork/servant_blocker/BlockSuperconductivity() return TRUE /obj/effect/clockwork/servant_blocker/singularity_act()