mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Adds cyborg-only latejoin spawnpoint
This commit is contained in:
@@ -48,6 +48,10 @@
|
|||||||
latejoin_cryo += loc
|
latejoin_cryo += loc
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
|
if("JoinLateCyborg")
|
||||||
|
latejoin_cyborg += loc
|
||||||
|
del(src)
|
||||||
|
|
||||||
//prisoners
|
//prisoners
|
||||||
if("prisonwarp")
|
if("prisonwarp")
|
||||||
prisonwarp += loc
|
prisonwarp += loc
|
||||||
|
|||||||
@@ -129,6 +129,7 @@ var/list/newplayer_start = list()
|
|||||||
var/list/latejoin = list()
|
var/list/latejoin = list()
|
||||||
var/list/latejoin_gateway = list()
|
var/list/latejoin_gateway = list()
|
||||||
var/list/latejoin_cryo = list()
|
var/list/latejoin_cryo = list()
|
||||||
|
var/list/latejoin_cyborg = list()
|
||||||
|
|
||||||
var/list/prisonwarp = list() //prisoners go to these
|
var/list/prisonwarp = list() //prisoners go to these
|
||||||
var/list/holdingfacility = list() //captured people go here
|
var/list/holdingfacility = list() //captured people go here
|
||||||
|
|||||||
@@ -10,6 +10,17 @@ var/list/spawntypes = list()
|
|||||||
var/msg //Message to display on the arrivals computer.
|
var/msg //Message to display on the arrivals computer.
|
||||||
var/list/turfs //List of turfs to spawn on.
|
var/list/turfs //List of turfs to spawn on.
|
||||||
var/display_name //Name used in preference setup.
|
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/arrivals
|
/datum/spawnpoint/arrivals
|
||||||
display_name = "Arrivals Shuttle"
|
display_name = "Arrivals Shuttle"
|
||||||
@@ -30,7 +41,17 @@ var/list/spawntypes = list()
|
|||||||
/datum/spawnpoint/cryo
|
/datum/spawnpoint/cryo
|
||||||
display_name = "Cryogenic Storage"
|
display_name = "Cryogenic Storage"
|
||||||
msg = "has completed cryogenic revival"
|
msg = "has completed cryogenic revival"
|
||||||
|
disallow_job = list("Cyborg")
|
||||||
|
|
||||||
/datum/spawnpoint/cryo/New()
|
/datum/spawnpoint/cryo/New()
|
||||||
..()
|
..()
|
||||||
turfs = latejoin_cryo
|
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
|
||||||
@@ -315,8 +315,13 @@
|
|||||||
S = spawntypes[spawning_at]
|
S = spawntypes[spawning_at]
|
||||||
|
|
||||||
if(S && istype(S))
|
if(S && istype(S))
|
||||||
character.loc = pick(S.turfs)
|
if(S.check_job_spawning(rank))
|
||||||
join_message = S.msg
|
character.loc = pick(S.turfs)
|
||||||
|
join_message = S.msg
|
||||||
|
else
|
||||||
|
character << "Your chosen spawnpoint ([S.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead."
|
||||||
|
character.loc = pick(latejoin)
|
||||||
|
join_message = "has arrived on the station"
|
||||||
else
|
else
|
||||||
character.loc = pick(latejoin)
|
character.loc = pick(latejoin)
|
||||||
join_message = "has arrived on the station"
|
join_message = "has arrived on the station"
|
||||||
@@ -338,6 +343,8 @@
|
|||||||
//Grab some data from the character prefs for use in random news procs.
|
//Grab some data from the character prefs for use in random news procs.
|
||||||
|
|
||||||
AnnounceArrival(character, rank, join_message)
|
AnnounceArrival(character, rank, join_message)
|
||||||
|
else
|
||||||
|
AnnounceCyborg(character, rank, join_message)
|
||||||
|
|
||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
@@ -349,6 +356,15 @@
|
|||||||
a.autosay("[character.real_name],[rank ? " [rank]," : " visitor," ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer")
|
a.autosay("[character.real_name],[rank ? " [rank]," : " visitor," ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer")
|
||||||
del(a)
|
del(a)
|
||||||
|
|
||||||
|
proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message)
|
||||||
|
if (ticker.current_state == GAME_STATE_PLAYING)
|
||||||
|
var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null)// BS12 EDIT Arrivals Announcement Computer, rather than the AI.
|
||||||
|
if(character.mind.role_alt_title)
|
||||||
|
rank = character.mind.role_alt_title
|
||||||
|
// can't use their name here, since cyborg namepicking is done post-spawn, so we'll just say "A new Cyborg has arrived"/"A new Android has arrived"/etc.
|
||||||
|
a.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer")
|
||||||
|
del(a)
|
||||||
|
|
||||||
proc/LateChoices()
|
proc/LateChoices()
|
||||||
var/mills = world.time // 1/10 of a second, not real milliseconds but whatever
|
var/mills = world.time // 1/10 of a second, not real milliseconds but whatever
|
||||||
//var/secs = ((mills % 36000) % 600) / 10 //Not really needed, but I'll leave it here for refrence.. or something
|
//var/secs = ((mills % 36000) % 600) / 10 //Not really needed, but I'll leave it here for refrence.. or something
|
||||||
|
|||||||
Reference in New Issue
Block a user