mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
Merge pull request #13895 from AffectedArc07/hyperspace-fix
You can no longer teleport to lavaland by walking out of a shuttle
This commit is contained in:
+1
-1
@@ -17,7 +17,7 @@ z4 = lavaland
|
||||
#define MAP_TRANSITION_CONFIG list(\
|
||||
DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL, STATION_CONTACT, REACHABLE, AI_OK)),\
|
||||
DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\
|
||||
DECLARE_LEVEL(MINING, SELFLOOPING, list(REACHABLE, STATION_CONTACT, HAS_WEATHER, ORE_LEVEL, AI_OK)))
|
||||
DECLARE_LEVEL(MINING, SELFLOOPING, list(ORE_LEVEL, REACHABLE, STATION_CONTACT, HAS_WEATHER, AI_OK)))
|
||||
#define USING_MAP_DATUM /datum/map/cyberiad
|
||||
|
||||
#elif !defined(MAP_OVERRIDE)
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ Lovingly ported by Purpose2 to Paradise
|
||||
#define MAP_TRANSITION_CONFIG list(\
|
||||
DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL, STATION_CONTACT, REACHABLE, AI_OK)),\
|
||||
DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\
|
||||
DECLARE_LEVEL(MINING, SELFLOOPING, list(REACHABLE, STATION_CONTACT, HAS_WEATHER, ORE_LEVEL, AI_OK)))
|
||||
DECLARE_LEVEL(MINING, SELFLOOPING, list(ORE_LEVEL, REACHABLE, STATION_CONTACT, HAS_WEATHER, AI_OK)))
|
||||
|
||||
#define USING_MAP_DATUM /datum/map/delta
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ z7 = empty space
|
||||
#define MAP_TRANSITION_CONFIG list(\
|
||||
DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL, STATION_CONTACT, REACHABLE, AI_OK)),\
|
||||
DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\
|
||||
DECLARE_LEVEL(MINING, SELFLOOPING, list(REACHABLE, STATION_CONTACT, HAS_WEATHER, ORE_LEVEL, AI_OK)))
|
||||
DECLARE_LEVEL(MINING, SELFLOOPING, list(ORE_LEVEL, REACHABLE, STATION_CONTACT, HAS_WEATHER, AI_OK)))
|
||||
|
||||
#define USING_MAP_DATUM /datum/map/metastation
|
||||
|
||||
|
||||
@@ -94,8 +94,6 @@
|
||||
var/max = world.maxx-TRANSITIONEDGE
|
||||
var/min = 1+TRANSITIONEDGE
|
||||
|
||||
var/_z = pick(levels_by_trait(REACHABLE)) //select a random space zlevel
|
||||
|
||||
//now select coordinates for a border turf
|
||||
var/_x
|
||||
var/_y
|
||||
@@ -113,7 +111,8 @@
|
||||
_x = rand(min,max)
|
||||
_y = min
|
||||
|
||||
var/turf/T = locate(_x, _y, _z)
|
||||
var/list/levels_available = get_all_linked_levels_zpos()
|
||||
var/turf/T = locate(_x, _y, pick(levels_available))
|
||||
AM.forceMove(T)
|
||||
AM.newtonian_move(dir)
|
||||
|
||||
|
||||
@@ -61,3 +61,16 @@ GLOBAL_LIST_INIT(default_map_traits, MAP_TRANSITION_CONFIG)
|
||||
/proc/level_name_to_num(name)
|
||||
var/datum/space_level/S = GLOB.space_manager.get_zlev_by_name(name)
|
||||
return S.zpos
|
||||
|
||||
/**
|
||||
* Proc to get a list of all the linked-together Z-Levels
|
||||
*
|
||||
* Returns a list of zlevel numbers which can be accessed from travelling space naturally
|
||||
*/
|
||||
/proc/get_all_linked_levels_zpos()
|
||||
var/list/znums = list()
|
||||
for(var/i in GLOB.space_manager.z_list)
|
||||
var/datum/space_level/SL = GLOB.space_manager.z_list[i]
|
||||
if(SL.linkage == CROSSLINKED)
|
||||
znums |= SL.zpos
|
||||
return znums
|
||||
|
||||
Reference in New Issue
Block a user