Opts for the realistic route of making non-border transit turfs simply use normal space turf physics

This commit is contained in:
deathride58
2019-02-23 02:43:18 -05:00
parent 624671bca4
commit ed23ce28ee
2 changed files with 10 additions and 14 deletions

View File

@@ -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()

View File

@@ -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