From 75b5be043dccc9476b29f1d58f3bd5402a32c4f8 Mon Sep 17 00:00:00 2001 From: Haha26315 Date: Wed, 14 Sep 2022 20:56:41 -0400 Subject: [PATCH] Fixing small chasm-side bugs. Makes it so items won't fall into chasms multiple times while chasms are doing animations or processing by briefly making the item float. --- _maps/map_files/LayeniaStation/LayeniaStation.dmm | 13 ++++++------- code/datums/components/chasm.dm | 8 ++++++-- hyperstation/code/game/machinery/safety_tether.dm | 3 +++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/_maps/map_files/LayeniaStation/LayeniaStation.dmm b/_maps/map_files/LayeniaStation/LayeniaStation.dmm index 52e26720d..048208603 100644 --- a/_maps/map_files/LayeniaStation/LayeniaStation.dmm +++ b/_maps/map_files/LayeniaStation/LayeniaStation.dmm @@ -91834,15 +91834,14 @@ /turf/closed/wall, /area/storage/D) "ofu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ - name = "air supply pipe" - }, +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 1" +/obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/effect/turf_decal/delivery, -/obj/machinery/power/grounding_rod{ - anchored = 1 +/obj/structure/fans/tiny, +/turf/open/floor/plasteel/dark{ + icon_state = "darkfull_whole_alt" }, -/turf/open/floor/plasteel/dark, -/area/engine/tether) "ofE" = ( /obj/structure/closet/l3closet/scientist, /obj/effect/turf_decal/stripes/line{ diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index e79dfda8d..b4f2609c7 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -97,8 +97,8 @@ /datum/component/chasm/proc/drop(atom/movable/AM) - //Make sure the item is still there after our sleep - if(!AM || QDELETED(AM)) + //Make sure we have an item + if(!AM) return falling_atoms[AM] = (falling_atoms[AM] || 0) + 1 var/turf/T = target_turf @@ -116,6 +116,9 @@ else + //We don't want to drop the same object more than once, so we make it float for the duration of animations, etc + AM.floating = TRUE + // send to oblivion AM.visible_message("[AM] falls into [parent]!", "[oblivion_message]") @@ -185,6 +188,7 @@ if(AM && !QDELETED(AM)) //It's indestructible var/atom/parent = src.parent parent.visible_message("[parent] spits out [AM]!") + AM.floating = FALSE //Stop the thing floating for now AM.alpha = oldalpha AM.color = oldcolor AM.transform = oldtransform diff --git a/hyperstation/code/game/machinery/safety_tether.dm b/hyperstation/code/game/machinery/safety_tether.dm index a2135acb8..37cef19f9 100644 --- a/hyperstation/code/game/machinery/safety_tether.dm +++ b/hyperstation/code/game/machinery/safety_tether.dm @@ -201,6 +201,9 @@ /obj/machinery/safety_tether/proc/bungee_teleport(mob/living/M, turf/open/Target_Turf, oldalpha, oldcolor, oldtransform) + //Give 'em gravity again, was only there to prevent multiple chasm drops + M.floating = FALSE + //Fun sound bites as the machine gears up to teleport M.density = FALSE //Prevents a very unlikely issue where players can move around an invisible but not-yet-teleported tether victim playsound(CENTER_TURF, 'sound/magic/charge.ogg', 100, 1, extrarange = 5)