From 1d52dfec1ea101cb11212968866551498d329d93 Mon Sep 17 00:00:00 2001 From: Geeves Date: Sun, 17 Jan 2021 20:37:51 +0200 Subject: [PATCH] Command Cryo (#10994) --- code/controllers/subsystems/job.dm | 9 ++++++++- code/game/objects/effects/landmarks.dm | 4 ++++ code/global.dm | 13 +++++++------ code/modules/client/preferences_spawnpoints.dm | 2 ++ html/changelogs/geeves-command_cryo.yml | 6 ++++++ maps/aurora/aurora-4_mainlevel.dmm | 6 ++++++ 6 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 html/changelogs/geeves-command_cryo.yml diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm index 0e00ee6cc90..bb8593c436e 100644 --- a/code/controllers/subsystems/job.dm +++ b/code/controllers/subsystems/job.dm @@ -660,7 +660,14 @@ if(spawnpos && istype(spawnpos)) if(spawnpos.check_job_spawning(rank)) - H.forceMove(pick(spawnpos.turfs)) + if(istype(spawnpos, /datum/spawnpoint/cryo) && (rank in command_positions)) + var/datum/spawnpoint/cryo/C = spawnpos + if(length(C.command_turfs)) + H.forceMove(pick(C.command_turfs)) + else + H.forceMove(pick(spawnpos.turfs)) + else + H.forceMove(pick(spawnpos.turfs)) . = spawnpos.msg spawnpos.after_join(H) else diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 246df672bb6..9824cdc405d 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -37,6 +37,10 @@ latejoin_cryo += loc delete_me = 1 return + if("JoinLateCryoCommand") + latejoin_cryo_command += loc + delete_me = 1 + return if("JoinLateCyborg") latejoin_cyborg += loc delete_me = 1 diff --git a/code/global.dm b/code/global.dm index 8985488586d..c07d74d10ff 100644 --- a/code/global.dm +++ b/code/global.dm @@ -50,12 +50,13 @@ var/list/wizardstart = list() var/turf/newplayer_start = null //Spawnpoints. -var/list/latejoin = list() -var/list/latejoin_gateway = list() -var/list/latejoin_cryo = list() -var/list/latejoin_cyborg = list() -var/list/latejoin_merchant = list() -var/list/kickoffsloc = list() +var/list/latejoin = list() +var/list/latejoin_gateway = list() +var/list/latejoin_cryo = list() +var/list/latejoin_cryo_command = list() +var/list/latejoin_cyborg = list() +var/list/latejoin_merchant = list() +var/list/kickoffsloc = list() var/list/prisonwarp = list() // Prisoners go to these var/list/holdingfacility = list() // Captured people go here diff --git a/code/modules/client/preferences_spawnpoints.dm b/code/modules/client/preferences_spawnpoints.dm index 0ccb07a846f..c2a23acc1de 100644 --- a/code/modules/client/preferences_spawnpoints.dm +++ b/code/modules/client/preferences_spawnpoints.dm @@ -31,10 +31,12 @@ display_name = "Cryogenic Storage" msg = "has completed cryogenic revival" disallow_job = list("Cyborg", "Merchant") + var/list/command_turfs = list() /datum/spawnpoint/cryo/New() ..() turfs = latejoin_cryo + command_turfs = latejoin_cryo_command /datum/spawnpoint/cryo/after_join(mob/victim) if(!istype(victim)) diff --git a/html/changelogs/geeves-command_cryo.yml b/html/changelogs/geeves-command_cryo.yml new file mode 100644 index 00000000000..127fa2e829f --- /dev/null +++ b/html/changelogs/geeves-command_cryo.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Command members now spawn in the cryogenics section of the bridge." \ No newline at end of file diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index c6b9def2910..affa00d7e44 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -29913,6 +29913,9 @@ /obj/machinery/computer/cryopod{ pixel_y = 28 }, +/obj/effect/landmark{ + name = "JoinLateCryoCommand" + }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/cryo) "aYQ" = ( @@ -30706,6 +30709,9 @@ /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/cryo) "bai" = ( +/obj/effect/landmark{ + name = "JoinLateCryoCommand" + }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/cryo) "baj" = (