diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index d72628e2cb7..349d1b246be 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -51,7 +51,7 @@ #define JOB_CLOWN (1<<11) #define JOB_MIME (1<<12) #define JOB_CIVILIAN (1<<13) - +#define JOB_EXPLORER (1<<14) #define JOBCAT_KARMA (1<<3) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index a30799f08b9..d5c5089c8af 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -51,6 +51,7 @@ var/disabilities_allowed = 1 var/transfer_allowed = TRUE // If false, ID computer will always discourage transfers to this job, even if player is eligible + var/hidden_from_job_prefs = FALSE // if true, job preferences screen never shows this job. var/admin_only = 0 var/spawn_ert = 0 diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm index d0064300b62..f2b8cf31671 100644 --- a/code/game/jobs/job/support.dm +++ b/code/game/jobs/job/support.dm @@ -450,3 +450,24 @@ /obj/item/storage/box/lip_stick = 1, /obj/item/storage/box/barber = 1 ) + +/datum/job/explorer + title = "Explorer" + flag = JOB_EXPLORER + department_flag = JOBCAT_SUPPORT + total_positions = 0 + spawn_positions = 0 + supervisors = "the head of personnel" + selection_color = "#dddddd" + access = list(ACCESS_MAINT_TUNNELS, ACCESS_GATEWAY, ACCESS_EVA, ACCESS_EXTERNAL_AIRLOCKS) + minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_GATEWAY, ACCESS_EVA, ACCESS_EXTERNAL_AIRLOCKS) + outfit = /datum/outfit/job/explorer + hidden_from_job_prefs = TRUE + +/datum/outfit/job/explorer + // This outfit is never used, because there are no slots for this job. + // To get it, you have to go to the HOP and ask for a transfer to it. + name = "Explorer" + jobtype = /datum/job/explorer + uniform = /obj/item/clothing/under/color/random + shoes = /obj/item/clothing/shoes/black diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 8ff6b58e5c4..81cc54aa3c3 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -58,7 +58,8 @@ GLOBAL_LIST_INIT(support_positions, list( "Barber", "Magistrate", "Nanotrasen Representative", - "Blueshield" + "Blueshield", + "Explorer" )) GLOBAL_LIST_INIT(supply_positions, list( diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 40005f8fd12..978ba25b8d3 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -25,7 +25,8 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) /datum/job/ntnavyofficer, /datum/job/ntspecops, /datum/job/civilian, - /datum/job/syndicateofficer + /datum/job/syndicateofficer, + /datum/job/explorer // blacklisted so that HOPs don't try prioritizing it, then wonder why that doesn't work ) // Jobs that appear in the list, and you can prioritize, but not open/close slots for var/list/blacklisted_partial = list( diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 569ecd3e3ff..7b3133c0103 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -624,6 +624,9 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts if(job.admin_only) continue + if(job.hidden_from_job_prefs) + continue + index += 1 if((index >= limit) || (job.title in splitJobs)) if((index < limit) && (lastJob != null)) diff --git a/code/modules/modular_computers/file_system/programs/command/card.dm b/code/modules/modular_computers/file_system/programs/command/card.dm index 9067a345d4e..b85fb710e38 100644 --- a/code/modules/modular_computers/file_system/programs/command/card.dm +++ b/code/modules/modular_computers/file_system/programs/command/card.dm @@ -35,7 +35,8 @@ /datum/job/ntnavyofficer, /datum/job/ntspecops, /datum/job/civilian, - /datum/job/syndicateofficer + /datum/job/syndicateofficer, + /datum/job/explorer // blacklisted so that HOPs don't try prioritizing it, then wonder why that doesn't work ) //The scaling factor of max total positions in relation to the total amount of people on board the station in % diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index bbe41ddbe22..df6b8f4de1f 100644 Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ