mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 04:51:32 +01:00
Runtime Map Loading (#3597)
changes: Maps are no longer compiled in, instead loaded directly from the DMMs at runtime. Z level defines have been moved from the config to map datums. Unit tests now use typecaches. DMMS now actually works. DMMS has been updated slightly. DMMS is now capable of loading simple lists of non-text types. DMMS is now faster when loading many types without mapped in attributes and when loading area instances. Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid. Holodeck presets are now defined on the map datum. Atmos machinery now uses Initialize().
This commit is contained in:
@@ -9,7 +9,7 @@ var/datum/controller/subsystem/processing/pipenet/SSpipenet
|
||||
NEW_SS_GLOBAL(SSpipenet)
|
||||
|
||||
/datum/controller/subsystem/processing/pipenet/Initialize(timeofday)
|
||||
for (var/obj/machinery/atmospherics/machine in SSmachinery.processing_machines)
|
||||
for (var/obj/machinery/atmospherics/machine in SSmachinery.all_machines)
|
||||
machine.build_network()
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
@@ -27,7 +27,7 @@ var/datum/controller/subsystem/processing/shuttle/shuttle_controller
|
||||
/datum/controller/subsystem/processing/shuttle/Initialize(timeofday)
|
||||
var/datum/shuttle/ferry/shuttle
|
||||
|
||||
// Escape shuttle and pods
|
||||
// Escape shuttle.
|
||||
shuttle = new/datum/shuttle/ferry/emergency()
|
||||
shuttle.location = 1
|
||||
shuttle.warmup_time = 10
|
||||
@@ -46,72 +46,6 @@ var/datum/controller/subsystem/processing/shuttle/shuttle_controller
|
||||
if(!shuttle)
|
||||
log_debug("Escape shuttle does not exist!")
|
||||
|
||||
shuttle = new/datum/shuttle/ferry/escape_pod()
|
||||
shuttle.location = 0
|
||||
shuttle.warmup_time = 0
|
||||
shuttle.area_station = locate(/area/shuttle/escape_pod1/station)
|
||||
shuttle.area_offsite = locate(/area/shuttle/escape_pod1/centcom)
|
||||
shuttle.area_transition = locate(/area/shuttle/escape_pod1/transit)
|
||||
shuttle.docking_controller_tag = "escape_pod_1"
|
||||
shuttle.dock_target_station = "escape_pod_1_berth"
|
||||
//shuttle.dock_target_offsite = "escape_pod_1_recovery"
|
||||
shuttle.transit_direction = NORTH
|
||||
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN + rand(-30, 60) //randomize this so it seems like the pods are being picked up one by one
|
||||
shuttles["Escape Pod 1"] = shuttle
|
||||
START_PROCESSING(shuttle_controller, shuttle)
|
||||
|
||||
shuttle = new/datum/shuttle/ferry/escape_pod()
|
||||
shuttle.location = 0
|
||||
shuttle.warmup_time = 0
|
||||
shuttle.area_station = locate(/area/shuttle/escape_pod2/station)
|
||||
shuttle.area_offsite = locate(/area/shuttle/escape_pod2/centcom)
|
||||
shuttle.area_transition = locate(/area/shuttle/escape_pod2/transit)
|
||||
shuttle.docking_controller_tag = "escape_pod_2"
|
||||
shuttle.dock_target_station = "escape_pod_2_berth"
|
||||
//shuttle.dock_target_offsite = "escape_pod_2_recovery"
|
||||
shuttle.transit_direction = NORTH
|
||||
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN + rand(-30, 60) //randomize this so it seems like the pods are being picked up one by one
|
||||
shuttles["Escape Pod 2"] = shuttle
|
||||
START_PROCESSING(shuttle_controller, shuttle)
|
||||
|
||||
shuttle = new/datum/shuttle/ferry/escape_pod()
|
||||
shuttle.location = 0
|
||||
shuttle.warmup_time = 0
|
||||
shuttle.area_station = locate(/area/shuttle/escape_pod3/station)
|
||||
shuttle.area_offsite = locate(/area/shuttle/escape_pod3/centcom)
|
||||
shuttle.area_transition = locate(/area/shuttle/escape_pod3/transit)
|
||||
shuttle.docking_controller_tag = "escape_pod_3"
|
||||
shuttle.dock_target_station = "escape_pod_3_berth"
|
||||
//shuttle.dock_target_offsite = "escape_pod_3_recovery"
|
||||
shuttle.transit_direction = EAST
|
||||
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN + rand(-30, 60) //randomize this so it seems like the pods are being picked up one by one
|
||||
shuttles["Escape Pod 3"] = shuttle
|
||||
START_PROCESSING(shuttle_controller, shuttle)
|
||||
|
||||
//There is no pod 4, apparently.
|
||||
|
||||
/*shuttle = new/datum/shuttle/ferry/escape_pod()
|
||||
shuttle.location = 0
|
||||
shuttle.warmup_time = 0
|
||||
shuttle.area_station = locate(/area/shuttle/escape_pod5/station)
|
||||
shuttle.area_offsite = locate(/area/shuttle/escape_pod5/centcom)
|
||||
shuttle.area_transition = locate(/area/shuttle/escape_pod5/transit)
|
||||
shuttle.docking_controller_tag = "escape_pod_5"
|
||||
shuttle.dock_target_station = "escape_pod_5_berth"
|
||||
shuttle.dock_target_offsite = "escape_pod_5_recovery"
|
||||
shuttle.transit_direction = EAST //should this be WEST? I have no idea.
|
||||
shuttle.move_time = SHUTTLE_TRANSIT_DURATION_RETURN + rand(-30, 60) //randomize this so it seems like the pods are being picked up one by one
|
||||
process_shuttles += shuttle
|
||||
shuttles["Escape Pod 5"] = shuttle*/
|
||||
|
||||
//give the emergency shuttle controller it's shuttles
|
||||
emergency_shuttle.shuttle = shuttles["Escape"]
|
||||
emergency_shuttle.escape_pods = list(
|
||||
shuttles["Escape Pod 1"],
|
||||
shuttles["Escape Pod 2"],
|
||||
shuttles["Escape Pod 3"]
|
||||
)
|
||||
|
||||
// Supply shuttle
|
||||
shuttle = new/datum/shuttle/ferry/supply()
|
||||
shuttle.location = 1
|
||||
@@ -141,132 +75,5 @@ var/datum/controller/subsystem/processing/shuttle/shuttle_controller
|
||||
|
||||
SSarrivals.shuttle = shuttle
|
||||
|
||||
// Admin shuttles.
|
||||
shuttle = new()
|
||||
shuttle.location = 1
|
||||
shuttle.warmup_time = 10
|
||||
shuttle.area_offsite = locate(/area/shuttle/transport1/centcom)
|
||||
shuttle.area_station = locate(/area/shuttle/transport1/station)
|
||||
shuttle.docking_controller_tag = "centcom_shuttle"
|
||||
shuttle.dock_target_station = "centcom_shuttle_dock_airlock"
|
||||
shuttle.dock_target_offsite = "centcom_shuttle_bay"
|
||||
shuttles["Centcom"] = shuttle
|
||||
START_PROCESSING(shuttle_controller, shuttle)
|
||||
|
||||
shuttle = new()
|
||||
shuttle.location = 1
|
||||
shuttle.warmup_time = 10 //want some warmup time so people can cancel.
|
||||
shuttle.area_offsite = locate(/area/shuttle/administration/centcom)
|
||||
shuttle.area_station = locate(/area/shuttle/administration/station)
|
||||
shuttle.docking_controller_tag = "admin_shuttle"
|
||||
shuttle.dock_target_station = "admin_shuttle_dock_airlock"
|
||||
shuttle.dock_target_offsite = "admin_shuttle_bay"
|
||||
shuttles["Administration"] = shuttle
|
||||
START_PROCESSING(shuttle_controller, shuttle)
|
||||
|
||||
// Merchant Shuttle
|
||||
|
||||
shuttle = new()
|
||||
shuttle.location = 1
|
||||
shuttle.warmup_time = 10
|
||||
shuttle.area_offsite = locate(/area/merchant_ship/start)
|
||||
shuttle.area_station = locate(/area/merchant_ship/docked)
|
||||
shuttle.docking_controller_tag = "merchant_shuttle"
|
||||
shuttle.dock_target_station = "merchant_shuttle_dock"
|
||||
shuttle.dock_target_offsite = "merchant_station"
|
||||
shuttles["Merchant"] = shuttle
|
||||
START_PROCESSING(shuttle_controller, shuttle)
|
||||
|
||||
|
||||
/*// Public shuttles
|
||||
shuttle = new()
|
||||
shuttle.warmup_time = 10
|
||||
shuttle.area_offsite = locate(/area/shuttle/constructionsite/site)
|
||||
shuttle.area_station = locate(/area/shuttle/constructionsite/station)
|
||||
shuttle.docking_controller_tag = "engineering_shuttle"
|
||||
shuttle.dock_target_station = "engineering_dock_airlock"
|
||||
shuttle.dock_target_offsite = "edock_airlock"
|
||||
shuttles["Engineering"] = shuttle
|
||||
process_shuttles += shuttle
|
||||
|
||||
shuttle = new()
|
||||
shuttle.warmup_time = 10
|
||||
shuttle.area_offsite = locate(/area/shuttle/mining/outpost)
|
||||
shuttle.area_station = locate(/area/shuttle/mining/station)
|
||||
shuttle.docking_controller_tag = "mining_shuttle"
|
||||
shuttle.dock_target_station = "mining_dock_airlock"
|
||||
shuttle.dock_target_offsite = "mining_outpost_airlock"
|
||||
shuttles["Mining"] = shuttle
|
||||
process_shuttles += shuttle
|
||||
|
||||
shuttle = new()
|
||||
shuttle.warmup_time = 10
|
||||
shuttle.area_offsite = locate(/area/shuttle/research/outpost)
|
||||
shuttle.area_station = locate(/area/shuttle/research/station)
|
||||
shuttle.docking_controller_tag = "research_shuttle"
|
||||
shuttle.dock_target_station = "research_dock_airlock"
|
||||
shuttle.dock_target_offsite = "research_outpost_dock"
|
||||
shuttles["Research"] = shuttle
|
||||
process_shuttles += shuttle*/
|
||||
|
||||
// ERT Shuttle
|
||||
var/datum/shuttle/ferry/multidock/specops/ERT = new()
|
||||
ERT.location = 0
|
||||
ERT.warmup_time = 10
|
||||
ERT.area_offsite = locate(/area/shuttle/specops/station) //centcom is the home station, the Exodus is offsite
|
||||
ERT.area_station = locate(/area/shuttle/specops/centcom)
|
||||
ERT.docking_controller_tag = "specops_shuttle_port"
|
||||
ERT.docking_controller_tag_station = "specops_shuttle_port"
|
||||
ERT.docking_controller_tag_offsite = "specops_shuttle_fore"
|
||||
ERT.dock_target_station = "specops_centcom_dock"
|
||||
ERT.dock_target_offsite = "specops_dock_airlock"
|
||||
shuttles["Special Operations"] = ERT
|
||||
START_PROCESSING(shuttle_controller, ERT)
|
||||
|
||||
//Skipjack.
|
||||
var/datum/shuttle/multi_shuttle/VS = new/datum/shuttle/multi_shuttle()
|
||||
VS.origin = locate(/area/skipjack_station/start)
|
||||
|
||||
VS.destinations = list(
|
||||
"Surface of the station" = locate(/area/skipjack_station/surface),
|
||||
"Under the station" = locate(/area/skipjack_station/under),
|
||||
"Above the station" = locate(/area/skipjack_station/above),
|
||||
"Mining caverns" = locate(/area/skipjack_station/cavern)
|
||||
)
|
||||
|
||||
VS.announcer = "NDV Icarus"
|
||||
VS.arrival_message = "Attention, [station_short], we just tracked a small target bypassing our defensive perimeter. Can't fire on it without hitting the station - you've got incoming visitors, like it or not."
|
||||
VS.departure_message = "Your guests are pulling away, [station_short] - moving too fast for us to draw a bead on them. Looks like they're heading out of the system at a rapid clip."
|
||||
VS.interim = locate(/area/skipjack_station/transit)
|
||||
|
||||
VS.warmup_time = 0
|
||||
shuttles["Skipjack"] = VS
|
||||
|
||||
//Nuke Ops shuttle.
|
||||
var/datum/shuttle/multi_shuttle/MS = new/datum/shuttle/multi_shuttle()
|
||||
MS.origin = locate(/area/syndicate_station/start)
|
||||
MS.start_location = "Mercenary Base"
|
||||
|
||||
MS.destinations = list(
|
||||
"Surface of the station" = locate(/area/syndicate_station/surface),
|
||||
"Above the station" = locate(/area/syndicate_station/above),
|
||||
"Under the station" = locate(/area/syndicate_station/under),
|
||||
"Mining caverns" = locate(/area/syndicate_station/caverns),
|
||||
"Arrivals dock" = locate(/area/syndicate_station/arrivals_dock)
|
||||
)
|
||||
|
||||
MS.docking_controller_tag = "merc_shuttle"
|
||||
MS.destination_dock_targets = list(
|
||||
"Mercenary Base" = "merc_base",
|
||||
"Arrivals dock" = "nuke_shuttle_dock_airlock"
|
||||
)
|
||||
|
||||
MS.announcer = "NDV Icarus"
|
||||
MS.arrival_message = "Attention, [station_short], you have a large signature approaching the station - looks unarmed to surface scans. We're too far out to intercept - brace for visitors."
|
||||
MS.departure_message = "Your visitors are on their way out of the system, [station_short], burning delta-v like it's nothing. Good riddance."
|
||||
MS.interim = locate(/area/syndicate_station/transit)
|
||||
|
||||
MS.warmup_time = 0
|
||||
shuttles["Mercenary"] = MS
|
||||
|
||||
current_map.setup_shuttles()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user