Files
VOREStation/code/modules/client/preferences_spawnpoints.dm
SatinIsle b90b218e49 hides item tf spawn from spawnpoint options (#17614)
Hides the item tf spawn option, as this is currently not functional. This just comments out the spawn point, so it can be easily reenabled in the future if we decide to use it.
2025-04-27 16:49:01 +02:00

130 lines
3.1 KiB
Plaintext

var/list/spawntypes = list()
/proc/populate_spawn_points()
spawntypes = list()
for(var/type in subtypesof(/datum/spawnpoint))
var/datum/spawnpoint/S = new type()
spawntypes[S.display_name] = S
/proc/get_spawn_points()
if(!LAZYLEN(spawntypes))
populate_spawn_points()
return spawntypes
/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
var/announce_channel = "Common"
var/allow_offmap_spawn = FALSE // add option to allow offmap spawns to a spawnpoint without entirely restricting that spawnpoint
var/allowed_mob_types = JOB_SILICON|JOB_CARBON
/datum/spawnpoint/proc/check_job_spawning(job)
if(restrict_job && !(job in restrict_job))
return 0
if(disallow_job && (job in disallow_job))
return 0
var/datum/job/J = SSjob.get_job(job)
if(!J) // Couldn't find, admin shenanigans? Allow it
return 1
if(J.offmap_spawn && !allow_offmap_spawn && !(job in restrict_job)) // add option to allow offmap spawns to a spawnpoint without entirely restricting that spawnpoint
return 0
if(!(J.mob_type & allowed_mob_types))
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 = GLOB.latejoin
/datum/spawnpoint/gateway
display_name = "Gateway"
msg = "has completed translation from offsite gateway"
/datum/spawnpoint/gateway/New()
..()
turfs = GLOB.latejoin_gateway
/* VOREStation Edit
/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"
allowed_mob_types = JOB_CARBON
/datum/spawnpoint/cryo/New()
..()
turfs = GLOB.latejoin_cryo
/datum/spawnpoint/cyborg
display_name = "Cyborg Storage"
msg = "has been activated from storage"
allowed_mob_types = JOB_SILICON
/datum/spawnpoint/cyborg/New()
..()
turfs = GLOB.latejoin_cyborg
/obj/effect/landmark/arrivals
name = "JoinLateShuttle"
delete_me = 1
/obj/effect/landmark/arrivals/Initialize(mapload)
GLOB.latejoin += loc
. = ..()
GLOBAL_LIST_EMPTY(latejoin_tram)
/obj/effect/landmark/tram
name = "JoinLateTram"
delete_me = 1
/obj/effect/landmark/tram/Initialize(mapload)
GLOB.latejoin_tram += loc // There's no tram but you know whatever man!
. = ..()
/datum/spawnpoint/tram
display_name = "Tram Station"
msg = "will arrive to the station shortly by shuttle"
/datum/spawnpoint/tram/New()
..()
turfs = GLOB.latejoin_tram
/datum/spawnpoint/vore
display_name = "Vorespawn - Prey"
msg = "has arrived on the station"
allow_offmap_spawn = TRUE
/datum/spawnpoint/vore/pred
display_name = "Vorespawn - Pred"
msg = "has arrived on the station"
/*/datum/spawnpoint/vore/itemtf
display_name = "Item TF spawn"
msg = "has arrived on the station"*/
/datum/spawnpoint/vore/New()
..()
turfs = GLOB.latejoin