diff --git a/code/datums/station_traits/negative_traits.dm b/code/datums/station_traits/negative_traits.dm index 99105c2e8a13..06e32585d447 100644 --- a/code/datums/station_traits/negative_traits.dm +++ b/code/datums/station_traits/negative_traits.dm @@ -111,11 +111,13 @@ /datum/station_trait/overflow_job_bureaucracy/get_report() return "[name] - It seems for some reason we put out the wrong job-listing for the overflow role this shift...I hope you like [chosen_job_name]s." +/* monkestation removal: reimplemented in [monkestation\code\datums\station_traits\negative_traits.dm] /datum/station_trait/overflow_job_bureaucracy/proc/set_overflow_job_override(datum/source) SIGNAL_HANDLER var/datum/job/picked_job = pick(SSjob.joinable_occupations) chosen_job_name = lowertext(picked_job.title) // like Chief Engineers vs like chief engineers SSjob.set_overflow_role(picked_job.type) +monkestation end */ /datum/station_trait/slow_shuttle name = "Slow Shuttle" diff --git a/monkestation/code/datums/station_traits/negative_traits.dm b/monkestation/code/datums/station_traits/negative_traits.dm index 83daa150e2a9..0e31a8ba8144 100644 --- a/monkestation/code/datums/station_traits/negative_traits.dm +++ b/monkestation/code/datums/station_traits/negative_traits.dm @@ -5,3 +5,14 @@ show_in_report = TRUE report_message = "The Clown Planet has discovered a weakness in the ID scanners of specific airlocks." trait_to_give = STATION_TRAIT_CLOWN_BRIDGE + +/datum/station_trait/overflow_job_bureaucracy/proc/set_overflow_job_override(datum/source) + SIGNAL_HANDLER + var/datum/job/picked_job + var/list/possible_jobs = SSjob.joinable_occupations.Copy() + while(length(possible_jobs) && !picked_job?.allow_overflow) + picked_job = pick_n_take(possible_jobs) + if(!picked_job) + CRASH("Failed to find valid job to pick for overflow!") + chosen_job_name = lowertext(picked_job.title) // like Chief Engineers vs like chief engineers + SSjob.set_overflow_role(picked_job.type) diff --git a/monkestation/code/modules/blueshield/job.dm b/monkestation/code/modules/blueshield/job.dm index bfc55ecd3142..1bcbfd7ae965 100644 --- a/monkestation/code/modules/blueshield/job.dm +++ b/monkestation/code/modules/blueshield/job.dm @@ -14,6 +14,9 @@ exp_granted_type = EXP_TYPE_CREW config_tag = "BLUESHIELD" + allow_bureaucratic_error = FALSE + allow_overflow = FALSE + outfit = /datum/outfit/job/blueshield plasmaman_outfit = /datum/outfit/plasmaman/blueshield @@ -41,8 +44,7 @@ rpg_title = "Guard" job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN - alt_titles = list( - ) + alt_titles = list() /datum/outfit/job/blueshield name = "Blueshield" diff --git a/monkestation/code/modules/jobs/job_types/_job.dm b/monkestation/code/modules/jobs/job_types/_job.dm new file mode 100644 index 000000000000..99d40467ff26 --- /dev/null +++ b/monkestation/code/modules/jobs/job_types/_job.dm @@ -0,0 +1,3 @@ +/datum/job + /// If this job is eligible to be picked for the overflow station trait or not. + var/allow_overflow = TRUE diff --git a/monkestation/code/modules/jobs/job_types/head_of_security.dm b/monkestation/code/modules/jobs/job_types/head_of_security.dm new file mode 100644 index 000000000000..16f36a11dde7 --- /dev/null +++ b/monkestation/code/modules/jobs/job_types/head_of_security.dm @@ -0,0 +1,2 @@ +/datum/job/head_of_security + allow_overflow = FALSE diff --git a/tgstation.dme b/tgstation.dme index 9c31e5566ae1..03b1a9440bdc 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7101,6 +7101,7 @@ #include "monkestation\code\modules\job_xp\milestones\botany_milestones.dm" #include "monkestation\code\modules\job_xp\preferences\base_preferences.dm" #include "monkestation\code\modules\job_xp\preferences\xp_handlers.dm" +#include "monkestation\code\modules\jobs\job_types\_job.dm" #include "monkestation\code\modules\jobs\job_types\brig_physician.dm" #include "monkestation\code\modules\jobs\job_types\candysalesman.dm" #include "monkestation\code\modules\jobs\job_types\chaplain.dm" @@ -7110,6 +7111,7 @@ #include "monkestation\code\modules\jobs\job_types\ghost.dm" #include "monkestation\code\modules\jobs\job_types\godzilla.dm" #include "monkestation\code\modules\jobs\job_types\gorilla.dm" +#include "monkestation\code\modules\jobs\job_types\head_of_security.dm" #include "monkestation\code\modules\jobs\job_types\security_assistant.dm" #include "monkestation\code\modules\jobs\job_types\skeleton.dm" #include "monkestation\code\modules\jobs\job_types\yellowclown.dm"