diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm index 11360bbf115..711305dabad 100644 --- a/code/game/objects/structures/transit_tubes.dm +++ b/code/game/objects/structures/transit_tubes.dm @@ -79,6 +79,8 @@ obj/structure/ex_act(severity) air_contents.nitrogen = MOLES_N2STANDARD air_contents.temperature = T20C + follow_tube() + /obj/structure/transit_tube/New(loc) @@ -92,9 +94,6 @@ obj/structure/ex_act(severity) /obj/structure/transit_tube/station/New(loc) ..(loc) - spawn(automatic_launch_time) - launch_pod() - /obj/structure/transit_tube/station/Bumped(mob/AM as mob|obj) @@ -299,11 +298,14 @@ obj/structure/ex_act(severity) sleep(last_delay) dir = next_dir loc = next_loc // When moving from one tube to another, skip collision and such. + density = current_tube.density if(current_tube && current_tube.should_stop_pod(src, next_dir)) current_tube.pod_stopped(src, dir) break + density = 1 + // If the pod is no longer in a tube, move in a line until stopped or slowed to a halt. // /turf/inertial_drift appears to only work on mobs, and re-implementing some of the // logic allows a gradual slowdown and eventual stop when passing over non-space turfs. @@ -421,7 +423,7 @@ obj/structure/ex_act(severity) /obj/structure/transit_tube/proc/init_dirs() tube_dirs = parse_dirs(icon_state) - if(copytext(icon_state, 1, 3) == "D-") + if(copytext(icon_state, 1, 3) == "D-" || findtextEx(icon_state, "Pass")) density = 0 diff --git a/icons/obj/pipes/transit_tube.dmi b/icons/obj/pipes/transit_tube.dmi index 3f31332c3a3..c1bbf75f6be 100644 Binary files a/icons/obj/pipes/transit_tube.dmi and b/icons/obj/pipes/transit_tube.dmi differ