Merge pull request #8032 from deathride58/immersivetransitturfs

Makes transit areas physically throw you out of the transit area instead of simply teleporting you
This commit is contained in:
kevinz000
2019-02-27 16:02:58 -08:00
committed by GitHub
4 changed files with 39 additions and 4 deletions
+3 -1
View File
@@ -435,11 +435,13 @@ GLOBAL_LIST_EMPTY(the_station_areas)
GLOB.the_gateway.awaygate = new_gate
GLOB.the_gateway.wait = world.time
/datum/controller/subsystem/mapping/proc/RequestBlockReservation(width, height, z, type = /datum/turf_reservation, turf_type_override)
/datum/controller/subsystem/mapping/proc/RequestBlockReservation(width, height, z, type = /datum/turf_reservation, turf_type_override, border_type_override)
UNTIL(initialized && !clearing_reserved_turfs)
var/datum/turf_reservation/reserve = new type
if(turf_type_override)
reserve.turf_type = turf_type_override
if(border_type_override)
reserve.borderturf = border_type_override
if(!z)
for(var/i in levels_by_trait(ZTRAIT_RESERVED))
if(reserve.Reserve(width, height, i))
+6 -1
View File
@@ -443,17 +443,22 @@ SUBSYSTEM_DEF(shuttle)
*/
var/transit_path = /turf/open/space/transit
var/border_path = /turf/open/space/transit/border
switch(travel_dir)
if(NORTH)
transit_path = /turf/open/space/transit/north
border_path = /turf/open/space/transit/border/north
if(SOUTH)
transit_path = /turf/open/space/transit/south
border_path = /turf/open/space/transit/border/south
if(EAST)
transit_path = /turf/open/space/transit/east
border_path = /turf/open/space/transit/border/east
if(WEST)
transit_path = /turf/open/space/transit/west
border_path = /turf/open/space/transit/border/west
var/datum/turf_reservation/proposal = SSmapping.RequestBlockReservation(transit_width, transit_height, null, /datum/turf_reservation/transit, transit_path)
var/datum/turf_reservation/proposal = SSmapping.RequestBlockReservation(transit_width, transit_height, null, /datum/turf_reservation/transit, transit_path, border_path)
if(!istype(proposal))
return FALSE