realistic transit turfs - transit turfs will now physically throw you out of the transit area instead of simply teleporting you
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user