mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Arrivals shuttle now moves automatically to and from the station. People still spawn onboard if they join the round with arrivals selected in preferences. The shuttle is completely automated and will go to the station if someone boards it, and leave if nobody is onboard. Changes some tape code so it can be mapped in. Sadly the mapmerger is broken so the map file diff is massive.
68 lines
1.6 KiB
Plaintext
68 lines
1.6 KiB
Plaintext
var/list/spawntypes = list()
|
|
|
|
/proc/populate_spawn_points()
|
|
spawntypes = list()
|
|
for(var/type in typesof(/datum/spawnpoint)-/datum/spawnpoint)
|
|
var/datum/spawnpoint/S = new type()
|
|
spawntypes[S.display_name] = S
|
|
|
|
/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
|
|
|
|
proc/check_job_spawning(job)
|
|
if(restrict_job && !(job in restrict_job))
|
|
return 0
|
|
|
|
if(disallow_job && (job in disallow_job))
|
|
return 0
|
|
|
|
return 1
|
|
|
|
/datum/spawnpoint/proc/get_spawn_position()
|
|
return get_turf(pick(turfs))
|
|
|
|
/datum/spawnpoint/arrivals
|
|
display_name = "Arrivals Shuttle"
|
|
msg = "will arrive to the station shortly by shuttle"
|
|
|
|
/datum/spawnpoint/arrivals/New()
|
|
..()
|
|
turfs = latejoin
|
|
|
|
/datum/spawnpoint/gateway
|
|
display_name = "Gateway"
|
|
msg = "has completed translation from offsite gateway"
|
|
|
|
/datum/spawnpoint/gateway/New()
|
|
..()
|
|
turfs = latejoin_gateway
|
|
|
|
/datum/spawnpoint/elevator
|
|
display_name = "Elevator"
|
|
msg = "has arrived from the residential district"
|
|
|
|
/datum/spawnpoint/elevator/New()
|
|
..()
|
|
turfs = latejoin_elevator
|
|
|
|
/datum/spawnpoint/cryo
|
|
display_name = "Cryogenic Storage"
|
|
msg = "has completed cryogenic revival"
|
|
disallow_job = list("Cyborg")
|
|
|
|
/datum/spawnpoint/cryo/New()
|
|
..()
|
|
turfs = latejoin_cryo
|
|
|
|
/datum/spawnpoint/cyborg
|
|
display_name = "Cyborg Storage"
|
|
msg = "has been activated from storage"
|
|
restrict_job = list("Cyborg")
|
|
|
|
/datum/spawnpoint/cyborg/New()
|
|
..()
|
|
turfs = latejoin_cyborg |