diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index ad207bb5e5..7dcf27ce4b 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -41,22 +41,12 @@ /turf/open/space/transit/border/east dir = EAST -/turf/open/space/transit/Entered(atom/movable/AM, atom/OldLoc) +/turf/open/space/transit/border/Entered(atom/movable/AM, atom/OldLoc) ..() - if(!locate(/obj/structure/lattice) in src && !SSshuttle.is_in_shuttle_bounds(src)) + if(!locate(/obj/structure/lattice) in src) throw_atom(AM) /turf/open/space/transit/proc/throw_atom(atom/movable/AM) - if(!AM || istype(AM, /obj/docking_port)) - return - if(AM.loc != src) - return - if(AM.throwing) - return - var/turf/T = get_ranged_target_turf(src, turn(dir, 180), 10) - AM.safe_throw_at(T, 10, 1, null, FALSE) - -/turf/open/space/transit/border/throw_atom(atom/movable/AM) set waitfor = FALSE if(!AM || istype(AM, /obj/docking_port)) return @@ -91,8 +81,8 @@ var/turf/T = locate(_x, _y, _z) AM.forceMove(T) - var/turf/throwturf = get_ranged_target_turf(T, dir, 10) - AM.safe_throw_at(throwturf, 10, 4, null, FALSE) + var/turf/throwturf = get_ranged_target_turf(T, dir, 1) + AM.safe_throw_at(throwturf, 1, 4, null, FALSE) /turf/open/space/transit/CanBuildHere() diff --git a/code/modules/mapping/space_management/space_reservation.dm b/code/modules/mapping/space_management/space_reservation.dm index eee6a7e1cd..43fe69d633 100644 --- a/code/modules/mapping/space_management/space_reservation.dm +++ b/code/modules/mapping/space_management/space_reservation.dm @@ -22,6 +22,12 @@ SSmapping.used_turfs -= i SSmapping.reserve_turfs(v) +/datum/turf_reservation/transit/Release() + for(var/turf/open/space/transit/T in reserved_turfs) + for(var/atom/movable/AM in T) + T.throw_atom(AM) + . = ..() + /datum/turf_reservation/proc/Reserve(width, height, zlevel) if(width > world.maxx || height > world.maxy || width < 1 || height < 1) return FALSE