Files
Aurora.3/code/modules/client/preferences_spawnpoints.dm
FlamingLily 46546eb70f Expands the medbay recovery ward and adds a cryo pod and a spawn point. (#20772)
Off-duty crew and passengers can now spawn in the medbay recovery room,
for that sweet, sweet medical RP.

Vastly expanded the medbay recovery ward, including:
- Cryo pod (duh)
- Nav terminal, to watch the ship fly as the days crawl by
- Sink and hygiene vendor
- dining/general purpose rec table with uno
- MRE vendor, for that sweet, sweet, hospital grade food
- Coffee vendor, for that sweet, sweet, coffee.
- Public access doorway (still needs access to enter, but unrestricted
to exit, so if you spawn there and no one is around, you're not screwed)
- Button to open said public access doorway, for visitors
- Requests console, maintenance panels.

![image](https://github.com/user-attachments/assets/9ed33568-22ea-4c91-b944-cd501d5daf76)
!!Misplaced camera and light in the wall have been fixed!! Rack of
toiletries has been replaced with vendor!!
2025-06-01 10:56:16 +00:00

97 lines
2.7 KiB
Plaintext

/datum/spawnpoint
var/msg //Message to display on the arrivals computer.
var/list/turfs //List of turfs to spawn on.
var/display_name //Name used in preference setup.
var/list/restrict_job = null
var/list/disallow_job = null
/datum/spawnpoint/proc/check_job_spawning(job)
if(restrict_job && !(job in restrict_job))
return FALSE
if(disallow_job && (job in disallow_job))
return FALSE
return TRUE
/datum/spawnpoint/proc/after_join(mob/victim)
return
/datum/spawnpoint/arrivals
display_name = "Arrivals Shuttle"
msg = "is inbound from the NTCC Odin"
disallow_job = list("Merchant")
/datum/spawnpoint/arrivals/New()
..()
msg = "is inbound from the [SSatlas.current_map.dock_name]"
turfs = GLOB.latejoin
/datum/spawnpoint/cryo
display_name = "Cryogenic Storage"
msg = "has completed cryogenic revival"
disallow_job = list("Cyborg", "Merchant")
/datum/spawnpoint/cryo/New()
..()
turfs = GLOB.latejoin_cryo
/datum/spawnpoint/cryo/after_join(mob/victim)
if(!istype(victim))
return
var/area/A = get_area(victim)
for(var/obj/machinery/cryopod/C in A)
if(!C.occupant)
C.set_occupant(victim, 1)
victim.Sleeping(3)
to_chat(victim, SPAN_NOTICE("You are slowly waking up from the cryostasis aboard [SSatlas.current_map.station_name]. It might take a few seconds."))
return
/datum/spawnpoint/cyborg
display_name = "Cyborg Storage"
msg = "has been activated from storage"
restrict_job = list("Cyborg")
/datum/spawnpoint/cyborg/New()
..()
turfs = GLOB.latejoin_cyborg
/datum/spawnpoint/living_quarters_lift
display_name = "Living Quarters Lift"
msg = "is inbound from the living quarters"
disallow_job = list("Cyborg", "Merchant")
/datum/spawnpoint/living_quarters_lift/New()
..()
turfs = GLOB.latejoin_living_quarters_lift
/datum/spawnpoint/living_quarters_lift/after_join(mob/victim)
if(!istype(victim))
return
var/area/A = get_area(victim)
for(var/obj/machinery/cryopod/living_quarters/C in A)
if(!C.occupant)
C.set_occupant(victim, 1)
to_chat(victim, SPAN_NOTICE("You have arrived from the living quarters aboard the [SSatlas.current_map.station_name]."))
return
/datum/spawnpoint/medbay_recovery
display_name = "Medbay Recovery Ward"
msg = "has awoken in the Medbay Recovery Ward"
restrict_job = list("Off-Duty Crew Member", "Passenger")
/datum/spawnpoint/medbay_recovery/New()
..()
turfs = GLOB.latejoin_medbay_recovery
/datum/spawnpoint/medbay_recovery/after_join(mob/victim)
if(!istype(victim))
return
var/area/A = get_area(victim)
for(var/obj/machinery/cryopod/C in A)
if(!C.occupant)
C.set_occupant(victim, 1)
victim.Sleeping(3)
to_chat(victim, SPAN_NOTICE("You are slowly waking up from the medical cryostasis aboard [SSatlas.current_map.station_name]. It might take a few seconds."))
return