diff --git a/code/__DEFINES/atom_hud.dm b/code/__DEFINES/atom_hud.dm index 2e6f2e7ff39..71fe686c9bb 100644 --- a/code/__DEFINES/atom_hud.dm +++ b/code/__DEFINES/atom_hud.dm @@ -72,3 +72,56 @@ /// cooldown for being shown the images for any particular data hud #define ADD_HUD_TO_COOLDOWN 20 + + +// Security HUD icon_state defines + +#define SECHUD_NO_ID "hudno_id" +#define SECHUD_UNKNOWN "hudunknown" +#define SECHUD_CENTCOM "hudcentcom" + +#define SECHUD_ASSISTANT "hudassistant" +#define SECHUD_ATMOSPHERIC_TECHNICIAN "hudatmospherictechnician" +#define SECHUD_BARTENDER "hudbartender" +#define SECHUD_BOTANIST "hudbotanist" +#define SECHUD_CAPTAIN "hudcaptain" +#define SECHUD_CARGO_TECHNICIAN "hudcargotechnician" +#define SECHUD_CHAPLAIN "hudchaplain" +#define SECHUD_CHEMIST "hudchemist" +#define SECHUD_CHIEF_ENGINEER "hudchiefengineer" +#define SECHUD_CHIEF_MEDICAL_OFFICER "hudchiefmedicalofficer" +#define SECHUD_CLOWN "hudclown" +#define SECHUD_COOK "hudcook" +#define SECHUD_CURATOR "hudcurator" +#define SECHUD_DETECTIVE "huddetective" +#define SECHUD_GENETICIST "hudgeneticist" +#define SECHUD_HEAD_OF_PERSONNEL "hudheadofpersonnel" +#define SECHUD_HEAD_OF_SECURITY "hudheadofsecurity" +#define SECHUD_JANITOR "hudjanitor" +#define SECHUD_LAWYER "hudlawyer" +#define SECHUD_MEDICAL_DOCTOR "hudmedicaldoctor" +#define SECHUD_MIME "hudmime" +#define SECHUD_PARAMEDIC "hudparamedic" +#define SECHUD_PRISONER "hudprisoner" +#define SECHUD_PSYCHOLOGIST "hudpsychologist" +#define SECHUD_QUARTERMASTER "hudquartermaster" +#define SECHUD_RESEARCH_DIRECTOR "hudresearchdirector" +#define SECHUD_ROBOTICIST "hudroboticist" +#define SECHUD_SECURITY_OFFICER "hudsecurityofficer" +#define SECHUD_SCIENTIST "hudscientist" +#define SECHUD_SHAFT_MINER "hudshaftminer" +#define SECHUD_STATION_ENGINEER "hudstationengineer" +#define SECHUD_VIROLOGIST "hudvirologist" +#define SECHUD_WARDEN "hudwarden" + +#define SECHUD_CHEF "hudchef" + +#define SECHUD_DEATH_COMMANDO "huddeathcommando" + +#define SECHUD_EMERGENCY_RESPONSE_TEAM_COMMANDER "hudemergencyresponseteamcommander" +#define SECHUD_SECURITY_RESPONSE_OFFICER "hudsecurityresponseofficer" +#define SECHUD_ENGINEERING_RESPONSE_OFFICER "hudengineeringresponseofficer" +#define SECHUD_MEDICAL_RESPONSE_OFFICER "hudmedicalresponseofficer" +#define SECHUD_RELIGIOUS_RESPONSE_OFFICER "hudreligiousresponseofficer" +#define SECHUD_JANITORIAL_RESPONSE_OFFICER "hudjanitorialresponseofficer" +#define SECHUD_ENTERTAINMENT_RESPONSE_OFFICER "hudentertainmentresponseofficer" diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 24680725286..2d7826b98ee 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -87,14 +87,14 @@ #define JOB_BARBER "Barber" // SKYRAT EDIT ADDITION #define JOB_BOUNCER "Bouncer" // SKYRAT EDIT ADDITION //ERTs +#define JOB_ERT_DEATHSQUAD "Death Commando" #define JOB_ERT_COMMANDER "Emergency Response Team Commander" #define JOB_ERT_OFFICER "Security Response Officer" #define JOB_ERT_ENGINEER "Engineering Response Officer" #define JOB_ERT_MEDICAL_DOCTOR "Medical Response Officer" -#define JOB_ERT_CLOWN "Entertainment Response Officer" #define JOB_ERT_CHAPLAIN "Religious Response Officer" #define JOB_ERT_JANITOR "Janitorial Response Officer" -#define JOB_ERT_DEATHSQUAD "Death Commando" +#define JOB_ERT_CLOWN "Entertainment Response Officer" //CentCom #define JOB_CENTCOM "Central Command" #define JOB_CENTCOM_OFFICIAL "CentCom Official" @@ -208,12 +208,8 @@ #define JOB_REOPEN_ON_ROUNDSTART_LOSS (1<<6) /// If the player with this job can have quirks assigned to him or not. Relevant for new player joinable jobs and roundstart antags. #define JOB_ASSIGN_QUIRKS (1<<7) - -/* Job type datum job_type_flags */ -/// Stating this job is a station job -#define JOB_STATION_JOB (1<<0) -/// Stating this job is a Command/Head of staff job -#define JOB_HEAD_JOB (1<<1) +/// Whether this job can be an intern. +#define JOB_CAN_BE_INTERN (1<<8) #define FACTION_NONE "None" diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 4c6e6992a53..128a1b8ca85 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -198,7 +198,12 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex) new_name += pick(GLOB.last_names) . += new_name if(2) - . += pick(SSjob.station_jobs)//Returns a job. + var/datum/job/job = pick(SSjob.joinable_occupations) + if(job) + . += job.title //Returns a job. + else + stack_trace("Failed to pick(SSjob.joinable_occupations) on generate_code_phrase()") + . += "Bug" safety -= 1 if(2) switch(rand(1,3))//Food, drinks, or places. Only selectable once. diff --git a/code/controllers/subsystem/id_access.dm b/code/controllers/subsystem/id_access.dm index 3b8bb3e035c..2dfa80669bb 100644 --- a/code/controllers/subsystem/id_access.dm +++ b/code/controllers/subsystem/id_access.dm @@ -439,6 +439,7 @@ SUBSYSTEM_DEF(id_access) id_card.trim_icon_override = trim.trim_icon id_card.trim_state_override = trim.trim_state id_card.trim_assignment_override = trim.assignment + id_card.sechud_icon_state_override = trim.sechud_icon_state if(!check_forged || !id_card.forged) id_card.assignment = trim.assignment @@ -455,6 +456,7 @@ SUBSYSTEM_DEF(id_access) id_card.trim_icon_override = null id_card.trim_state_override = null id_card.trim_assignment_override = null + id_card.sechud_icon_state_override = null /** * Adds the accesses associated with a trim to an ID card. diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 48b01faa293..467f9b34512 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -33,15 +33,6 @@ SUBSYSTEM_DEF(job) /// Lazylist of mob:occupation_string pairs. var/list/dynamic_forced_occupations - /// A list of all jobs associated with the station. These jobs also have various icons associated with them including sechud and card trims. - var/list/station_jobs = list() - /// A list of all Head of Staff jobs. - var/list/head_of_staff_jobs = list() - /// A list of additional jobs that have various icons associated with them including sechud and card trims. - var/list/additional_jobs_with_icons = list() - /// A list of jobs associed with Centcom and should use the standard NT Centcom icons. - var/list/centcom_jobs = list() - /** * Keys should be assigned job roles. Values should be >= 1. * Represents the chain of command on the station. Lower numbers mean higher priority. @@ -807,29 +798,6 @@ SUBSYSTEM_DEF(job) /// Builds various lists of jobs based on station, centcom and additional jobs with icons associated with them. /datum/controller/subsystem/job/proc/setup_job_lists() - for(var/datum/job/job as anything in subtypesof(/datum/job)) - if(initial(job.job_type_flags) & JOB_STATION_JOB) - station_jobs |= initial(job.title) - if(initial(job.job_type_flags) & JOB_HEAD_JOB) - head_of_staff_jobs |= initial(job.title) - - additional_jobs_with_icons |= list( - JOB_ERT_COMMANDER, JOB_ERT_OFFICER, JOB_ERT_ENGINEER, JOB_ERT_MEDICAL_DOCTOR, - JOB_ERT_CLOWN, JOB_ERT_CHAPLAIN, JOB_ERT_JANITOR, JOB_ERT_DEATHSQUAD, - JOB_SECURITY_OFFICER_MEDICAL, JOB_SECURITY_OFFICER_ENGINEERING, JOB_SECURITY_OFFICER_SCIENCE, JOB_SECURITY_OFFICER_SUPPLY, - JOB_SECURITY_MEDIC, JOB_SECURITY_SERGEANT, JOB_CIVIL_DISPUTES_OFFICER, - JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_ENGINEERING_GUARD, JOB_CUSTOMS_AGENT, - JOB_BLUESHIELD, JOB_NT_REP, JOB_VANGUARD_OPERATIVE, - JOB_SPACE_POLICE, JOB_SOLGOV, JOB_SOLGOV_LIASON, - JOB_BARBER, - ) - - centcom_jobs |= list( - JOB_CENTCOM, JOB_CENTCOM_OFFICIAL, JOB_CENTCOM_ADMIRAL, JOB_CENTCOM_COMMANDER, JOB_CENTCOM_VIP, - JOB_CENTCOM_BARTENDER, JOB_CENTCOM_CUSTODIAN, JOB_CENTCOM_THUNDERDOME_OVERSEER, JOB_CENTCOM_MEDICAL_DOCTOR, - JOB_CENTCOM_RESEARCH_OFFICER, JOB_CENTCOM_SPECIAL_OFFICER, JOB_CENTCOM_PRIVATE_SECURITY, - ) - job_priorities_to_strings = list( "[JP_LOW]" = "Low Priority", "[JP_MEDIUM]" = "Medium Priority", diff --git a/code/datums/id_trim/_id_trim.dm b/code/datums/id_trim/_id_trim.dm index 9fec9deacea..bce3f2b906b 100644 --- a/code/datums/id_trim/_id_trim.dm +++ b/code/datums/id_trim/_id_trim.dm @@ -4,8 +4,12 @@ var/trim_icon = 'icons/obj/card.dmi' /// Icon state for this trim. Overlayed on advanced ID cards. var/trim_state - /// Job/assignment associated with this trim. Can be transferred to ID cards holding this trim. Decides the card's HUD icon. + /// Job/assignment associated with this trim. Can be transferred to ID cards holding this trim. var/assignment + /// The name of the job for interns. If unset it will default to "[assignment] (Intern)". + var/intern_alt_name = null + /// The icon_state associated with this trim, as it will show on the security HUD. + var/sechud_icon_state = SECHUD_UNKNOWN /// Accesses that this trim unlocks on a card it is imprinted on. These accesses never take wildcard slots and can be added and removed at will. var/list/access = list() diff --git a/code/datums/id_trim/centcom.dm b/code/datums/id_trim/centcom.dm index 971045671f6..de807c9513c 100644 --- a/code/datums/id_trim/centcom.dm +++ b/code/datums/id_trim/centcom.dm @@ -1,28 +1,29 @@ /// Trim for basic Centcom cards. /datum/id_trim/centcom access = list(ACCESS_CENT_GENERAL) - assignment = "Central Command" + assignment = JOB_CENTCOM trim_state = "trim_centcom" + sechud_icon_state = SECHUD_CENTCOM /// Trim for Centcom VIPs /datum/id_trim/centcom/vip access = list(ACCESS_CENT_GENERAL) - assignment = "VIP Guest" + assignment = JOB_CENTCOM_VIP /// Trim for Centcom Custodians. /datum/id_trim/centcom/custodian access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_STORAGE) - assignment = "Custodian" + assignment = JOB_CENTCOM_CUSTODIAN /// Trim for Centcom Thunderdome Overseers. /datum/id_trim/centcom/thunderdome_overseer access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_THUNDER) - assignment = "Thunderdome Overseer" + assignment = JOB_CENTCOM_THUNDERDOME_OVERSEER /// Trim for Centcom Officials. /datum/id_trim/centcom/official access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_WEAPONS) - assignment = "CentCom Official" + assignment = JOB_CENTCOM_OFFICIAL /// Trim for Centcom Interns. /datum/id_trim/centcom/intern @@ -46,21 +47,21 @@ /// Trim for Centcom Bartenders. /datum/id_trim/centcom/bartender access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_BAR) - assignment = "CentCom Bartender" + assignment = JOB_CENTCOM_BARTENDER /// Trim for Centcom Medical Officers. /datum/id_trim/centcom/medical_officer access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_MEDICAL) - assignment = "Medical Officer" + assignment = JOB_CENTCOM_MEDICAL_DOCTOR /// Trim for Centcom Research Officers. /datum/id_trim/centcom/research_officer access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_TELEPORTER, ACCESS_CENT_STORAGE) - assignment = "Research Officer" + assignment = JOB_CENTCOM_RESEARCH_OFFICER /// Trim for Centcom Specops Officers. All Centcom and Station Access. /datum/id_trim/centcom/specops_officer - assignment = "Special Ops Officer" + assignment = JOB_CENTCOM_SPECIAL_OFFICER /datum/id_trim/centcom/specops_officer/New() . = ..() @@ -69,7 +70,7 @@ /// Trim for Centcom (Soviet) Admirals. All Centcom and Station Access. /datum/id_trim/centcom/admiral - assignment = "Admiral" + assignment = JOB_CENTCOM_ADMIRAL /datum/id_trim/centcom/admiral/New() . = ..() @@ -78,7 +79,7 @@ /// Trim for Centcom Commanders. All Centcom and Station Access. /datum/id_trim/centcom/commander - assignment = "CentCom Commander" + assignment = JOB_CENTCOM_COMMANDER /datum/id_trim/centcom/commander/New() . = ..() @@ -87,8 +88,9 @@ /// Trim for Deathsquad officers. All Centcom and Station Access. /datum/id_trim/centcom/deathsquad - assignment = "Death Commando" + assignment = JOB_ERT_DEATHSQUAD trim_state = "trim_ert_commander" + sechud_icon_state = SECHUD_DEATH_COMMANDO /datum/id_trim/centcom/deathsquad/New() . = ..() @@ -106,8 +108,9 @@ /// Trim for ERT Commanders. All station and centcom access. /datum/id_trim/centcom/ert/commander - assignment = "Emergency Response Team Commander" + assignment = JOB_ERT_COMMANDER trim_state = "trim_ert_commander" + sechud_icon_state = SECHUD_EMERGENCY_RESPONSE_TEAM_COMMANDER /datum/id_trim/centcom/ert/commander/New() . = ..() @@ -116,8 +119,9 @@ /// Trim for generic ERT seccies. No universal ID card changing access. /datum/id_trim/centcom/ert/security - assignment = "Security Response Officer" + assignment = JOB_ERT_OFFICER trim_state = "trim_ert_security" + sechud_icon_state = SECHUD_SECURITY_RESPONSE_OFFICER /datum/id_trim/centcom/ert/security/New() . = ..() @@ -126,8 +130,9 @@ /// Trim for generic ERT engineers. No universal ID card changing access. /datum/id_trim/centcom/ert/engineer - assignment = "Engineering Response Officer" + assignment = JOB_ERT_ENGINEER trim_state = "trim_ert_engineering" + sechud_icon_state = SECHUD_ENGINEERING_RESPONSE_OFFICER /datum/id_trim/centcom/ert/engineer/New() . = ..() @@ -136,8 +141,9 @@ /// Trim for generic ERT medics. No universal ID card changing access. /datum/id_trim/centcom/ert/medical - assignment = "Medical Response Officer" + assignment = JOB_ERT_MEDICAL_DOCTOR trim_state = "trim_ert_medical" + sechud_icon_state = SECHUD_MEDICAL_RESPONSE_OFFICER /datum/id_trim/centcom/ert/medical/New() . = ..() @@ -146,8 +152,9 @@ /// Trim for generic ERT chaplains. No universal ID card changing access. /datum/id_trim/centcom/ert/chaplain - assignment = "Religious Response Officer" + assignment = JOB_ERT_CHAPLAIN trim_state = "trim_ert_religious" + sechud_icon_state = SECHUD_RELIGIOUS_RESPONSE_OFFICER /datum/id_trim/centcom/ert/chaplain/New() . = ..() @@ -156,8 +163,9 @@ /// Trim for generic ERT janitors. No universal ID card changing access. /datum/id_trim/centcom/ert/janitor - assignment = "Janitorial Response Officer" + assignment = JOB_ERT_JANITOR trim_state = "trim_ert_janitor" + sechud_icon_state = SECHUD_JANITORIAL_RESPONSE_OFFICER /datum/id_trim/centcom/ert/janitor/New() . = ..() @@ -166,8 +174,9 @@ /// Trim for generic ERT clowns. No universal ID card changing access. /datum/id_trim/centcom/ert/clown - assignment = "Entertainment Response Officer" + assignment = JOB_ERT_CLOWN trim_state = "trim_ert_entertainment" + sechud_icon_state = SECHUD_ENTERTAINMENT_RESPONSE_OFFICER /datum/id_trim/centcom/ert/clown/New() . = ..() diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm index 5af46ec4432..bf0d6e52098 100644 --- a/code/datums/id_trim/jobs.dm +++ b/code/datums/id_trim/jobs.dm @@ -81,6 +81,7 @@ /datum/id_trim/job/assistant assignment = "Assistant" trim_state = "trim_assistant" + sechud_icon_state = SECHUD_ASSISTANT extra_access = list(ACCESS_MAINT_TUNNELS) minimal_access = list() config_job = "assistant" @@ -100,6 +101,7 @@ /datum/id_trim/job/atmospheric_technician //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM assignment = "Atmospheric Technician" trim_state = "trim_atmospherictechnician" + sechud_icon_state = SECHUD_ATMOSPHERIC_TECHNICIAN extra_access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE) minimal_access = list(ACCESS_ATMOSPHERICS, ACCESS_AUX_BASE, ACCESS_CONSTRUCTION, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_MAINT_TUNNELS, ACCESS_MECH_ENGINE, ACCESS_MINERAL_STOREROOM) @@ -110,6 +112,7 @@ /datum/id_trim/job/bartender assignment = "Bartender" trim_state = "trim_bartender" + sechud_icon_state = SECHUD_BARTENDER extra_access = list(ACCESS_HYDROPONICS, ACCESS_KITCHEN, ACCESS_MORGUE) minimal_access = list(ACCESS_BAR, ACCESS_MINERAL_STOREROOM, ACCESS_THEATRE, ACCESS_WEAPONS, ACCESS_SERVICE) config_job = "bartender" @@ -119,6 +122,7 @@ /datum/id_trim/job/botanist assignment = "Botanist" trim_state = "trim_botanist" + sechud_icon_state = SECHUD_BOTANIST extra_access = list(ACCESS_BAR, ACCESS_KITCHEN) minimal_access = list(ACCESS_HYDROPONICS, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_SERVICE) config_job = "botanist" @@ -127,7 +131,9 @@ /datum/id_trim/job/captain assignment = "Captain" + intern_alt_name = "Captain-in-Training" trim_state = "trim_captain" + sechud_icon_state = SECHUD_CAPTAIN config_job = "captain" template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS) job = /datum/job/captain @@ -144,6 +150,7 @@ /datum/id_trim/job/cargo_technician assignment = "Cargo Technician" trim_state = "trim_cargotechnician" + sechud_icon_state = SECHUD_CARGO_TECHNICIAN extra_access = list(ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION) minimal_access = list(ACCESS_CARGO, ACCESS_MAILSORTING, ACCESS_MAINT_TUNNELS, ACCESS_MECH_MINING, ACCESS_MINERAL_STOREROOM) config_job = "cargo_technician" @@ -153,6 +160,7 @@ /datum/id_trim/job/chaplain assignment = "Chaplain" trim_state = "trim_chaplain" + sechud_icon_state = SECHUD_CHAPLAIN extra_access = list() minimal_access = list(ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_MORGUE, ACCESS_THEATRE, ACCESS_SERVICE) config_job = "chaplain" @@ -162,6 +170,7 @@ /datum/id_trim/job/chemist assignment = "Chemist" trim_state = "trim_chemist" + sechud_icon_state = SECHUD_CHEMIST extra_access = list(ACCESS_SURGERY, ACCESS_VIROLOGY) minimal_access = list(ACCESS_CHEMISTRY, ACCESS_MECH_MEDICAL, ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_PHARMACY) config_job = "chemist" @@ -170,7 +179,9 @@ /datum/id_trim/job/chief_engineer assignment = "Chief Engineer" + intern_alt_name = "Chief Engineer-in-Training" trim_state = "trim_chiefengineer" + sechud_icon_state = SECHUD_CHIEF_ENGINEER extra_access = list(ACCESS_TELEPORTER) extra_wildcard_access = list() minimal_access = list(ACCESS_ATMOSPHERICS, ACCESS_AUX_BASE, ACCESS_CE, ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_EVA, @@ -183,7 +194,9 @@ /datum/id_trim/job/chief_medical_officer assignment = "Chief Medical Officer" + intern_alt_name = "Chief Medical Officer-in-Training" trim_state = "trim_chiefmedicalofficer" + sechud_icon_state = SECHUD_CHIEF_MEDICAL_OFFICER extra_access = list(ACCESS_TELEPORTER) extra_wildcard_access = list() minimal_access = list(ACCESS_CHEMISTRY, ACCESS_EVA, ACCESS_HEADS, ACCESS_KEYCARD_AUTH, ACCESS_MAINT_TUNNELS, ACCESS_MECH_MEDICAL, @@ -197,6 +210,7 @@ /datum/id_trim/job/clown assignment = "Clown" trim_state = "trim_clown" + sechud_icon_state = SECHUD_CLOWN extra_access = list() minimal_access = list(ACCESS_THEATRE, ACCESS_SERVICE) config_job = "clown" @@ -206,15 +220,21 @@ /datum/id_trim/job/cook assignment = "Cook" trim_state = "trim_cook" + sechud_icon_state = SECHUD_COOK extra_access = list(ACCESS_BAR, ACCESS_HYDROPONICS) minimal_access = list(ACCESS_KITCHEN, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_SERVICE) config_job = "cook" template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS) job = /datum/job/cook +/datum/id_trim/job/cook/chef + assignment = "Chef" + sechud_icon_state = SECHUD_CHEF + /datum/id_trim/job/curator assignment = "Curator" trim_state = "trim_curator" + sechud_icon_state = SECHUD_CURATOR extra_access = list() minimal_access = list(ACCESS_AUX_BASE, ACCESS_LIBRARY, ACCESS_MINING_STATION, ACCESS_SERVICE) config_job = "curator" @@ -224,6 +244,7 @@ /datum/id_trim/job/detective assignment = "Detective" trim_state = "trim_detective" + sechud_icon_state = SECHUD_DETECTIVE extra_access = list() minimal_access = list(ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS, ACCESS_SEC_DOORS,ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_MECH_SECURITY, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS) @@ -244,6 +265,7 @@ /datum/id_trim/job/geneticist assignment = "Geneticist" trim_state = "trim_geneticist" + sechud_icon_state = SECHUD_GENETICIST extra_access = list(ACCESS_ROBOTICS, ACCESS_TECH_STORAGE, ACCESS_XENOBIOLOGY) minimal_access = list(ACCESS_GENETICS, ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_RND) config_job = "geneticist" @@ -252,7 +274,9 @@ /datum/id_trim/job/head_of_personnel //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM assignment = "Head of Personnel" + intern_alt_name = "Head of Personnel-in-Training" trim_state = "trim_headofpersonnel" + sechud_icon_state = SECHUD_HEAD_OF_PERSONNEL extra_access = list() extra_wildcard_access = list() minimal_access = list(ACCESS_AI_UPLOAD, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_AUX_BASE, ACCESS_BAR, ACCESS_CARGO, ACCESS_CHAPEL_OFFICE, @@ -268,7 +292,9 @@ /datum/id_trim/job/head_of_security //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM assignment = "Head of Security" + intern_alt_name = "Head of Security-in-Training" trim_state = "trim_headofsecurity" + sechud_icon_state = SECHUD_HEAD_OF_SECURITY extra_access = list(ACCESS_TELEPORTER) extra_wildcard_access = list() minimal_access = list(ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_ARMORY, ACCESS_AUX_BASE, ACCESS_BRIG, ACCESS_CONSTRUCTION, ACCESS_COURT, @@ -293,6 +319,7 @@ /datum/id_trim/job/janitor assignment = "Janitor" trim_state = "trim_janitor" + sechud_icon_state = SECHUD_JANITOR extra_access = list() minimal_access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM, ACCESS_SERVICE) config_job = "janitor" @@ -302,6 +329,7 @@ /datum/id_trim/job/lawyer assignment = "Lawyer" trim_state = "trim_lawyer" + sechud_icon_state = SECHUD_LAWYER extra_access = list() minimal_access = list(ACCESS_COURT, ACCESS_LAWYER, ACCESS_SEC_DOORS, ACCESS_SERVICE) config_job = "lawyer" @@ -311,6 +339,7 @@ /datum/id_trim/job/medical_doctor assignment = "Medical Doctor" trim_state = "trim_medicaldoctor" + sechud_icon_state = SECHUD_MEDICAL_DOCTOR extra_access = list(ACCESS_CHEMISTRY, ACCESS_VIROLOGY) minimal_access = list(ACCESS_MECH_MEDICAL, ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_PHARMACY, ACCESS_SURGERY) config_job = "medical_doctor" @@ -320,6 +349,7 @@ /datum/id_trim/job/mime assignment = "Mime" trim_state = "trim_mime" + sechud_icon_state = SECHUD_MIME extra_access = list() minimal_access = list(ACCESS_THEATRE, ACCESS_SERVICE) config_job = "mime" @@ -329,6 +359,7 @@ /datum/id_trim/job/paramedic assignment = "Paramedic" trim_state = "trim_paramedic" + sechud_icon_state = SECHUD_PARAMEDIC extra_access = list(ACCESS_SURGERY) minimal_access = list(ACCESS_AUX_BASE, ACCESS_CARGO, ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_EVA, ACCESS_HYDROPONICS, ACCESS_MAINT_TUNNELS, ACCESS_MECH_MEDICAL, ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_RESEARCH) @@ -339,6 +370,7 @@ /datum/id_trim/job/prisoner assignment = "Prisoner" trim_state = "trim_prisoner" + sechud_icon_state = SECHUD_PRISONER config_job = "prisoner" template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_HOS, ACCESS_CHANGE_IDS) job = /datum/job/prisoner @@ -374,6 +406,7 @@ /datum/id_trim/job/psychologist assignment = "Psychologist" trim_state = "trim_psychologist" + sechud_icon_state = SECHUD_PSYCHOLOGIST extra_access = list() minimal_access = list(ACCESS_MEDICAL, ACCESS_PSYCHOLOGY, ACCESS_SERVICE) config_job = "psychologist" @@ -383,6 +416,7 @@ /datum/id_trim/job/quartermaster //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM assignment = "Quartermaster" trim_state = "trim_quartermaster" + sechud_icon_state = SECHUD_QUARTERMASTER extra_access = list() minimal_access = list(ACCESS_AUX_BASE, ACCESS_CARGO, ACCESS_MAILSORTING, ACCESS_MAINT_TUNNELS, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_MINING, ACCESS_QM, ACCESS_RC_ANNOUNCE, ACCESS_VAULT) @@ -392,7 +426,9 @@ /datum/id_trim/job/research_director assignment = "Research Director" + intern_alt_name = "Research Director-in-Training" trim_state = "trim_researchdirector" + sechud_icon_state = SECHUD_RESEARCH_DIRECTOR extra_access = list() extra_wildcard_access = list() minimal_access = list(ACCESS_AI_UPLOAD, ACCESS_AUX_BASE, ACCESS_EVA, ACCESS_GATEWAY, ACCESS_GENETICS, ACCESS_HEADS, ACCESS_KEYCARD_AUTH, @@ -408,6 +444,7 @@ /datum/id_trim/job/roboticist assignment = "Roboticist" trim_state = "trim_roboticist" + sechud_icon_state = SECHUD_ROBOTICIST extra_access = list(ACCESS_GENETICS, ACCESS_ORDNANCE, ACCESS_ORDNANCE_STORAGE, ACCESS_XENOBIOLOGY) minimal_access = list(ACCESS_AUX_BASE, ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_RND, ACCESS_ROBOTICS, ACCESS_TECH_STORAGE) @@ -418,6 +455,7 @@ /datum/id_trim/job/scientist assignment = "Scientist" trim_state = "trim_scientist" + sechud_icon_state = SECHUD_SCIENTIST extra_access = list(ACCESS_GENETICS, ACCESS_ROBOTICS) minimal_access = list(ACCESS_AUX_BASE, ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_ORDNANCE, ACCESS_ORDNANCE_STORAGE, ACCESS_RESEARCH, ACCESS_RND, ACCESS_XENOBIOLOGY) @@ -429,6 +467,7 @@ /datum/id_trim/job/security_officer //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM assignment = "Security Officer" trim_state = "trim_securityofficer" + sechud_icon_state = SECHUD_SECURITY_OFFICER extra_access = list(ACCESS_FORENSICS_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE) minimal_access = list(ACCESS_BRIG, ACCESS_COURT, ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_MECH_SECURITY, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS) @@ -473,6 +512,7 @@ /datum/id_trim/job/shaft_miner assignment = "Shaft Miner" trim_state = "trim_shaftminer" + sechud_icon_state = SECHUD_SHAFT_MINER extra_access = list(ACCESS_CARGO, ACCESS_MAINT_TUNNELS, ACCESS_QM) minimal_access = list(ACCESS_AUX_BASE, ACCESS_MAILSORTING, ACCESS_MECH_MINING, ACCESS_MINERAL_STOREROOM, ACCESS_MINING, ACCESS_MINING_STATION) @@ -489,6 +529,7 @@ /datum/id_trim/job/station_engineer assignment = "Station Engineer" trim_state = "trim_stationengineer" + sechud_icon_state = SECHUD_STATION_ENGINEER extra_access = list(ACCESS_ATMOSPHERICS) minimal_access = list(ACCESS_AUX_BASE, ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_MAINT_TUNNELS, ACCESS_MECH_ENGINE, ACCESS_MINERAL_STOREROOM, ACCESS_TCOMSAT, ACCESS_TECH_STORAGE) @@ -499,6 +540,7 @@ /datum/id_trim/job/virologist assignment = "Virologist" trim_state = "trim_virologist" + sechud_icon_state = SECHUD_VIROLOGIST extra_access = list(ACCESS_CHEMISTRY, ACCESS_MORGUE, ACCESS_SURGERY) minimal_access = list(ACCESS_MEDICAL, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_VIROLOGY) config_job = "virologist" diff --git a/code/datums/id_trim/ruins.dm b/code/datums/id_trim/ruins.dm index 8fb944cffd8..67fdee55f7f 100644 --- a/code/datums/id_trim/ruins.dm +++ b/code/datums/id_trim/ruins.dm @@ -63,7 +63,7 @@ /// Trim for various Centcom corpses. /datum/id_trim/centcom/corpse/private_security - assignment = "Private Security Force" + assignment = JOB_CENTCOM_PRIVATE_SECURITY access = list(ACCESS_CENT_CAPTAIN, ACCESS_CENT_GENERAL, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_STORAGE, ACCESS_SECURITY, ACCESS_MECH_SECURITY) /// Trim for various Centcom corpses. diff --git a/code/datums/mind.dm b/code/datums/mind.dm index f1e7033ab8d..7f7467f0e0c 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -501,7 +501,7 @@ A.admin_remove(usr) if (href_list["role_edit"]) - var/new_role = input("Select new role", "Assigned role", assigned_role.title) as null|anything in sort_list(SSjob.station_jobs) + var/new_role = input("Select new role", "Assigned role", assigned_role.title) as null|anything in sort_list(SSjob.name_occupations) if(isnull(new_role)) return var/datum/job/new_job = SSjob.GetJob(new_role) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 1971bbd684b..b22363891f9 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -936,8 +936,10 @@ What a mess.*/ if((istype(active1, /datum/data/record) && L.Find(rank))) temp = "
Rank:
" temp += "" else tgui_alert(usr, "You do not have the required rank to do this!") @@ -947,8 +949,19 @@ What a mess.*/ switch(href_list["choice"]) if("Change Rank") if(active1) - active1.fields["rank"] = strip_html(href_list["rank"]) - active1.fields["trim"] = active1.fields["rank"] + var/text = strip_html(href_list["rank"]) + var/path = text2path(text) + if(ispath(path)) + var/rank = SSid_access.station_job_templates[path] + if(rank) + active1.fields["rank"] = rank + active1.fields["trim"] = active1.fields["rank"] + else + message_admins("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid path: [path]") + log_game("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid path: [path]") + else if(!isnull(text)) + message_admins("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid value: [text]") + log_game("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid value: [text]") if("Change Criminal Status") if(active2) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 65a3ea27051..e9cf05b6f51 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -715,18 +715,22 @@ if(is_intern) if(assignment) - assignment_string = (assignment in SSjob.head_of_staff_jobs) ? " ([assignment]-in-Training)" : " (Intern [assignment])" + assignment_string = trim?.intern_alt_name || "Intern [assignment]" else - assignment_string = " (Intern)" + assignment_string = "Intern" else - assignment_string = " ([assignment])" + assignment_string = assignment - name = "[name_string][assignment_string]" + name = "[name_string] ([assignment_string])" /// Returns the trim assignment name. /obj/item/card/id/proc/get_trim_assignment() return trim?.assignment || assignment +/// Returns the trim sechud icon state. +/obj/item/card/id/proc/get_trim_sechud_icon_state() + return trim?.sechud_icon_state || SECHUD_UNKNOWN + /obj/item/card/id/away name = "\proper a perfectly generic identification card" desc = "A perfectly generic identification card. Looks like it could use some flavor." @@ -819,8 +823,10 @@ var/trim_icon_override /// If this is set, will manually override the icon state for the trim. Intended for admins to VV edit and chameleon ID cards. var/trim_state_override - /// If this is set, will manually override the trim's assignmment for SecHUDs. Intended for admins to VV edit and chameleon ID cards. + /// If this is set, will manually override the trim's assignmment as it appears in the crew monitor and elsewhere. Intended for admins to VV edit and chameleon ID cards. var/trim_assignment_override + /// If this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards. + var/sechud_icon_state_override = null /obj/item/card/id/advanced/Initialize(mapload) . = ..() @@ -847,7 +853,7 @@ var/intern_threshold = (CONFIG_GET(number/use_low_living_hour_intern_hours) * 60) || (CONFIG_GET(number/use_exp_restrictions_heads_hours) * 60) || INTERN_THRESHOLD_FALLBACK_HOURS * 60 var/playtime = user.client.get_exp_living(pure_numeric = TRUE) - if((intern_threshold >= playtime) && (user.mind?.assigned_role.title in SSjob.station_jobs)) + if((intern_threshold >= playtime) && (user.mind?.assigned_role.job_flags & JOB_CAN_BE_INTERN)) is_intern = TRUE update_label() return @@ -922,12 +928,17 @@ /obj/item/card/id/advanced/get_trim_assignment() if(trim_assignment_override) return trim_assignment_override - else if(ispath(trim)) + + if(ispath(trim)) var/datum/id_trim/trim_singleton = SSid_access.trim_singletons_by_path[trim] return trim_singleton.assignment return ..() +/// Returns the trim sechud icon state. +/obj/item/card/id/advanced/get_trim_sechud_icon_state() + return sechud_icon_state_override || ..() + /obj/item/card/id/advanced/silver name = "silver identification card" desc = "A silver card which shows honour and dedication." @@ -974,7 +985,7 @@ icon_state = "card_centcom" worn_icon_state = "card_centcom" assigned_icon_state = "assigned_centcom" - registered_name = "Central Command" + registered_name = JOB_CENTCOM registered_age = null trim = /datum/id_trim/centcom wildcard_slots = WILDCARD_LIMIT_CENTCOM @@ -987,31 +998,31 @@ trim = /datum/id_trim/centcom/ert /obj/item/card/id/advanced/centcom/ert - registered_name = "Emergency Response Team Commander" + registered_name = JOB_ERT_COMMANDER trim = /datum/id_trim/centcom/ert/commander /obj/item/card/id/advanced/centcom/ert/security - registered_name = "Security Response Officer" + registered_name = JOB_ERT_OFFICER trim = /datum/id_trim/centcom/ert/security /obj/item/card/id/advanced/centcom/ert/engineer - registered_name = "Engineering Response Officer" + registered_name = JOB_ERT_ENGINEER trim = /datum/id_trim/centcom/ert/engineer /obj/item/card/id/advanced/centcom/ert/medical - registered_name = "Medical Response Officer" + registered_name = JOB_ERT_MEDICAL_DOCTOR trim = /datum/id_trim/centcom/ert/medical /obj/item/card/id/advanced/centcom/ert/chaplain - registered_name = "Religious Response Officer" + registered_name = JOB_ERT_CHAPLAIN trim = /datum/id_trim/centcom/ert/chaplain /obj/item/card/id/advanced/centcom/ert/janitor - registered_name = "Janitorial Response Officer" + registered_name = JOB_ERT_JANITOR trim = /datum/id_trim/centcom/ert/janitor /obj/item/card/id/advanced/centcom/ert/clown - registered_name = "Entertainment Response Officer" + registered_name = JOB_ERT_CLOWN trim = /datum/id_trim/centcom/ert/clown /obj/item/card/id/advanced/black @@ -1025,7 +1036,7 @@ /obj/item/card/id/advanced/black/deathsquad name = "\improper Death Squad ID" desc = "A Death Squad ID card." - registered_name = "Death Commando" + registered_name = JOB_ERT_DEATHSQUAD trim = /datum/id_trim/centcom/deathsquad wildcard_slots = WILDCARD_LIMIT_DEATHSQUAD diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index a1834860472..96aeee268fe 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -107,20 +107,4 @@ /obj/item/proc/get_sechud_job_icon_state() var/obj/item/card/id/id_card = GetID() - if(!id_card) - return "hudno_id" - - var/card_assignment = id_card.get_trim_assignment() - - // Is this one of the jobs with dedicated HUD icons? - if(card_assignment in SSjob.station_jobs) - return "hud[ckey(card_assignment)]" - if(card_assignment in SSjob.additional_jobs_with_icons) - return "hud[ckey(card_assignment)]" - - // If not, is it one of the jobs that should use the NT logo? - if(card_assignment in SSjob.centcom_jobs) - return "hudcentcom" - - // If none of the above apply, job name is unknown. - return "hudunknown" + return id_card?.get_trim_sechud_icon_state() || SECHUD_NO_ID diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index f8bcced39da..8613979302c 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -102,10 +102,7 @@ /// List of family heirlooms this job can get with the family heirloom quirk. List of types. var/list/family_heirlooms - /// All values = (JOB_STATION_JOB | JOB_HEAD_JOB) - var/job_type_flags = NONE - - /// All values = (JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_ASSIGN_QUIRKS) + /// All values = (JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN) var/job_flags = NONE /// Multiplier for general usage of the voice of god. diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index 28f7333b926..fa477917b44 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -34,8 +34,7 @@ Assistant /obj/item/crowbar/large = 1 ) - job_type_flags = JOB_STATION_JOB - 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_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 rpg_title = "Lout" /datum/outfit/job/assistant diff --git a/code/modules/jobs/job_types/atmospheric_technician.dm b/code/modules/jobs/job_types/atmospheric_technician.dm index 33ade274535..894cd1c708d 100644 --- a/code/modules/jobs/job_types/atmospheric_technician.dm +++ b/code/modules/jobs/job_types/atmospheric_technician.dm @@ -35,8 +35,7 @@ /obj/item/grenade/gas_crystal/nitrous_oxide_crystal = 5, ) - job_type_flags = JOB_STATION_JOB - 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_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 rpg_title = "Aeromancer" /datum/outfit/job/atmos diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm index 665858906d0..03eef61755e 100644 --- a/code/modules/jobs/job_types/bartender.dm +++ b/code/modules/jobs/job_types/bartender.dm @@ -29,8 +29,7 @@ /obj/item/stack/sheet/mineral/uranium = 10, ) - job_type_flags = JOB_STATION_JOB - 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_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 rpg_title = "Tavernkeeper" /datum/job/bartender/award_service(client/winner, award) diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm index d64eb302773..43893211cb6 100644 --- a/code/modules/jobs/job_types/botanist.dm +++ b/code/modules/jobs/job_types/botanist.dm @@ -31,8 +31,7 @@ /obj/item/food/monkeycube/bee = 2 ) - job_type_flags = JOB_STATION_JOB - 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_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 rpg_title = "Gardener" /datum/outfit/job/botanist diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 1b2bed38d68..d32e0bc75fe 100755 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -40,8 +40,7 @@ /obj/item/toy/captainsaid/collector = 20 ) - job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN rpg_title = "Star Duke" voice_of_god_power = 1.4 //Command staff has authority diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm index c15e885844b..2c424c1f2be 100644 --- a/code/modules/jobs/job_types/cargo_technician.dm +++ b/code/modules/jobs/job_types/cargo_technician.dm @@ -33,8 +33,7 @@ /obj/item/gun/ballistic/rifle/boltaction = 1 ) rpg_title = "Merchantman" - job_type_flags = JOB_STATION_JOB - 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_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 | JOB_CAN_BE_INTERN /datum/outfit/job/cargo_tech diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm index 5c93e436d58..ff901d2fd4d 100644 --- a/code/modules/jobs/job_types/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain.dm @@ -31,8 +31,7 @@ /obj/item/toy/plush/ratplush = 1 ) rpg_title = "Paladin" - job_type_flags = JOB_STATION_JOB - 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_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 | JOB_CAN_BE_INTERN voice_of_god_power = 2 //Chaplains are very good at speaking with the voice of god diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm index 799de25a287..0670eea63c6 100644 --- a/code/modules/jobs/job_types/chemist.dm +++ b/code/modules/jobs/job_types/chemist.dm @@ -35,8 +35,7 @@ /obj/item/paper/secretrecipe = 1 ) rpg_title = "Alchemist" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/chemist diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm index b5f6662d465..cdf6117c44d 100644 --- a/code/modules/jobs/job_types/chief_engineer.dm +++ b/code/modules/jobs/job_types/chief_engineer.dm @@ -43,8 +43,7 @@ /obj/effect/spawner/random/engineering/tool_advanced = 3 ) rpg_title = "Head Crystallomancer" - job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN voice_of_god_power = 1.4 //Command staff has authority diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index 56f76dbd4f8..b886a3a8f5a 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -40,8 +40,7 @@ ) family_heirlooms = list(/obj/item/storage/firstaid/ancient/heirloom) rpg_title = "High Cleric" - job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN voice_of_god_power = 1.4 //Command staff has authority diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index a0f0e70a8fd..d8ca846f6bb 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -32,8 +32,7 @@ family_heirlooms = list(/obj/item/bikehorn/golden) rpg_title = "Jester" - job_type_flags = JOB_STATION_JOB - 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_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 veteran_only = TRUE // SKYRAT EDIT ADDITION diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm index 0da4460827f..8cbeada5cc4 100644 --- a/code/modules/jobs/job_types/cook.dm +++ b/code/modules/jobs/job_types/cook.dm @@ -28,8 +28,7 @@ family_heirlooms = list(/obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/kitchen/rollingpin, /obj/item/clothing/head/chefhat) rpg_title = "Tavern Chef" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/job/cook/New() @@ -88,7 +87,7 @@ name = "Cook" jobtype = /datum/job/cook - id_trim = /datum/id_trim/job/cook + id_trim = /datum/id_trim/job/cook/chef uniform = /obj/item/clothing/under/rank/civilian/chef suit = /obj/item/clothing/suit/toggle/chef backpack_contents = list( @@ -107,6 +106,7 @@ var/datum/job/cook/J = SSjob.GetJobType(jobtype) if(J) // Fix for runtime caused by invalid job being passed if(J.cooks>0)//Cooks + id_trim = /datum/id_trim/job/cook suit = /obj/item/clothing/suit/apron/chef head = /obj/item/clothing/head/soft/mime if(!visualsOnly) diff --git a/code/modules/jobs/job_types/curator.dm b/code/modules/jobs/job_types/curator.dm index 23e79d9ca3b..8318ac8e537 100644 --- a/code/modules/jobs/job_types/curator.dm +++ b/code/modules/jobs/job_types/curator.dm @@ -23,8 +23,7 @@ family_heirlooms = list(/obj/item/pen/fountain, /obj/item/storage/dice) - job_type_flags = JOB_STATION_JOB - 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_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 voice_of_god_silence_power = 3 rpg_title = "Veteran Adventurer" diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm index 4113a9f4476..6d9eb1a3808 100644 --- a/code/modules/jobs/job_types/detective.dm +++ b/code/modules/jobs/job_types/detective.dm @@ -41,8 +41,7 @@ family_heirlooms = list(/obj/item/reagent_containers/food/drinks/bottle/whiskey) rpg_title = "Thiefcatcher" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/detective diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm index 5ab3a3162a9..76e3628bde0 100644 --- a/code/modules/jobs/job_types/geneticist.dm +++ b/code/modules/jobs/job_types/geneticist.dm @@ -29,8 +29,7 @@ family_heirlooms = list(/obj/item/clothing/under/shorts/purple) rpg_title = "Genemancer" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/geneticist diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm index aa109f7f136..b93bc59fc4e 100644 --- a/code/modules/jobs/job_types/head_of_personnel.dm +++ b/code/modules/jobs/job_types/head_of_personnel.dm @@ -40,8 +40,7 @@ family_heirlooms = list(/obj/item/reagent_containers/food/drinks/trophy/silver_cup) rpg_title = "Guild Questgiver" - job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN voice_of_god_power = 1.4 //Command staff has authority diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index 2c16950d368..05a1bf1fa97 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -35,8 +35,7 @@ family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law) rpg_title = "Guard Leader" - job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN voice_of_god_power = 1.4 //Command staff has authority diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm index d29ab0533ab..6da67c51043 100644 --- a/code/modules/jobs/job_types/janitor.dm +++ b/code/modules/jobs/job_types/janitor.dm @@ -28,8 +28,7 @@ /obj/item/lightreplacer = 10 ) rpg_title = "Groundskeeper" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/janitor diff --git a/code/modules/jobs/job_types/lawyer.dm b/code/modules/jobs/job_types/lawyer.dm index 8b1317a09cb..bb58f241dce 100644 --- a/code/modules/jobs/job_types/lawyer.dm +++ b/code/modules/jobs/job_types/lawyer.dm @@ -26,8 +26,7 @@ rpg_title = "Magistrate" family_heirlooms = list(/obj/item/gavelhammer, /obj/item/book/manual/wiki/security_space_law) - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/lawyer diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index 6cfe125a564..0d6910b2392 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -36,8 +36,7 @@ /obj/effect/spawner/random/medical/memeorgans = 1 ) rpg_title = "Cleric" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/doctor diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index bccee757f01..71956c5e300 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -29,8 +29,7 @@ /obj/item/book/mimery = 1, ) rpg_title = "Fool" - job_type_flags = JOB_STATION_JOB - 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_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 voice_of_god_power = 0.5 //Why are you speaking voice_of_god_silence_power = 3 diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm index dd082a31160..33dfda64ab8 100644 --- a/code/modules/jobs/job_types/paramedic.dm +++ b/code/modules/jobs/job_types/paramedic.dm @@ -35,8 +35,7 @@ /obj/item/reagent_containers/hypospray/medipen/survival/luxury = 5 ) rpg_title = "Corpse Runner" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/paramedic diff --git a/code/modules/jobs/job_types/prisoner.dm b/code/modules/jobs/job_types/prisoner.dm index 1fe60778b87..dcc82868553 100644 --- a/code/modules/jobs/job_types/prisoner.dm +++ b/code/modules/jobs/job_types/prisoner.dm @@ -23,8 +23,7 @@ family_heirlooms = list(/obj/item/pen/blue) rpg_title = "Defeated Miniboss" - job_type_flags = JOB_STATION_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN /datum/outfit/job/prisoner diff --git a/code/modules/jobs/job_types/psychologist.dm b/code/modules/jobs/job_types/psychologist.dm index 79491f8ba6d..b8c51861940 100644 --- a/code/modules/jobs/job_types/psychologist.dm +++ b/code/modules/jobs/job_types/psychologist.dm @@ -31,8 +31,7 @@ /obj/item/gun/syringe = 1 ) rpg_title = "Snake Oil Salesman" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/psychologist diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm index f0c0f466473..e5506c1767e 100644 --- a/code/modules/jobs/job_types/quartermaster.dm +++ b/code/modules/jobs/job_types/quartermaster.dm @@ -35,8 +35,7 @@ /obj/item/circuitboard/machine/emitter = 3 ) rpg_title = "Steward" - job_type_flags = JOB_STATION_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN /datum/job/quartermaster/after_spawn(mob/living/carbon/human/H, mob/M) //SKYRAT EDIT - Gubman 3.1 diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm index 724f6d52bc5..7625ce1edfe 100644 --- a/code/modules/jobs/job_types/research_director.dm +++ b/code/modules/jobs/job_types/research_director.dm @@ -41,8 +41,7 @@ family_heirlooms = list(/obj/item/toy/plush/slimeplushie) rpg_title = "Archmagister" - job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN voice_of_god_power = 1.4 //Command staff has authority diff --git a/code/modules/jobs/job_types/roboticist.dm b/code/modules/jobs/job_types/roboticist.dm index 9011b0ac546..9c5d69013cd 100644 --- a/code/modules/jobs/job_types/roboticist.dm +++ b/code/modules/jobs/job_types/roboticist.dm @@ -31,8 +31,7 @@ family_heirlooms = list(/obj/item/toy/plush/pkplush) rpg_title = "Necromancer" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/job/roboticist/New() diff --git a/code/modules/jobs/job_types/scientist.dm b/code/modules/jobs/job_types/scientist.dm index be164f6e952..e0c67d36669 100644 --- a/code/modules/jobs/job_types/scientist.dm +++ b/code/modules/jobs/job_types/scientist.dm @@ -31,8 +31,7 @@ /obj/item/camera_bug = 1 ) rpg_title = "Thaumaturgist" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/scientist diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index 51a0f29b9a7..657544c5ce7 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -39,8 +39,7 @@ /obj/item/melee/baton/security/boomerang/loaded = 1 ) rpg_title = "Guard" - job_type_flags = JOB_STATION_JOB - 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_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 GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT_SCIENCE, SEC_DEPT_SUPPLY)) diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm index d6907f64743..5d7b303e0c2 100644 --- a/code/modules/jobs/job_types/shaft_miner.dm +++ b/code/modules/jobs/job_types/shaft_miner.dm @@ -24,8 +24,7 @@ family_heirlooms = list(/obj/item/pickaxe/mini, /obj/item/shovel) rpg_title = "Adventurer" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/miner diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm index 326829d87d9..6be9573da74 100644 --- a/code/modules/jobs/job_types/station_engineer.dm +++ b/code/modules/jobs/job_types/station_engineer.dm @@ -35,8 +35,7 @@ /obj/item/clothing/head/hardhat/red/upgraded = 1 ) rpg_title = "Crystallomancer" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/engineer diff --git a/code/modules/jobs/job_types/virologist.dm b/code/modules/jobs/job_types/virologist.dm index adb55bfb621..1b874b20ff3 100644 --- a/code/modules/jobs/job_types/virologist.dm +++ b/code/modules/jobs/job_types/virologist.dm @@ -36,8 +36,7 @@ /obj/item/stack/sheet/mineral/uranium = 5, ) rpg_title = "Plague Doctor" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/virologist diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index be84fbe629a..09dee9ccb83 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -40,8 +40,7 @@ /obj/item/storage/box/rubbershot = 10 ) rpg_title = "Jailor" - job_type_flags = JOB_STATION_JOB - job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS + job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN /datum/outfit/job/warden diff --git a/code/modules/unit_tests/traitor.dm b/code/modules/unit_tests/traitor.dm index 4c08001dc19..850e315e28d 100644 --- a/code/modules/unit_tests/traitor.dm +++ b/code/modules/unit_tests/traitor.dm @@ -1,8 +1,14 @@ /datum/unit_test/traitor/Run() var/datum/dynamic_ruleset/roundstart/traitor/traitor_ruleset = allocate(/datum/dynamic_ruleset/roundstart/traitor) - var/list/possible_jobs = SSjob.station_jobs.Copy() - possible_jobs -= traitor_ruleset.protected_roles - possible_jobs -= traitor_ruleset.restricted_roles + var/list/possible_jobs = list() + var/list/restricted_roles = traitor_ruleset.restricted_roles + for(var/datum/job/job as anything in SSjob.joinable_occupations) + if(!(job.job_flags & JOB_CREW_MEMBER)) + continue + var/rank = job.title + if(rank in restricted_roles) + continue + possible_jobs += rank for(var/job_name in possible_jobs) var/datum/job/job = SSjob.GetJob(job_name) diff --git a/icons/mob/huds/hud.dmi b/icons/mob/huds/hud.dmi index 592c7594730..e8fdb47d2b0 100644 Binary files a/icons/mob/huds/hud.dmi and b/icons/mob/huds/hud.dmi differ diff --git a/modular_skyrat/modules/blueshield/code/blueshield.dm b/modular_skyrat/modules/blueshield/code/blueshield.dm index 19756cf5ba9..df05ea001c6 100644 --- a/modular_skyrat/modules/blueshield/code/blueshield.dm +++ b/modular_skyrat/modules/blueshield/code/blueshield.dm @@ -41,7 +41,6 @@ ) veteran_only = TRUE - job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB 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 /datum/outfit/job/blueshield diff --git a/modular_skyrat/modules/brigoff/code/brigoff.dm b/modular_skyrat/modules/brigoff/code/brigoff.dm index c84d8c9e395..1e4302afb04 100644 --- a/modular_skyrat/modules/brigoff/code/brigoff.dm +++ b/modular_skyrat/modules/brigoff/code/brigoff.dm @@ -35,8 +35,8 @@ ) rpg_title = "Bailiff" family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law, /obj/item/clothing/head/beret/sec) - job_type_flags = JOB_STATION_JOB - 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_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 /datum/job/brigoff/after_spawn(mob/living/carbon/human/H, mob/M) . = ..() diff --git a/modular_skyrat/modules/exp_corps/code/expeditionary_trooper.dm b/modular_skyrat/modules/exp_corps/code/expeditionary_trooper.dm index 78819399f29..05901df4c42 100644 --- a/modular_skyrat/modules/exp_corps/code/expeditionary_trooper.dm +++ b/modular_skyrat/modules/exp_corps/code/expeditionary_trooper.dm @@ -29,7 +29,7 @@ family_heirlooms = list(/obj/item/binoculars) veteran_only = TRUE - job_type_flags = JOB_STATION_JOB + 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 /datum/job/expeditionary_trooper/after_spawn(mob/living/carbon/human/H, mob/M) diff --git a/modular_skyrat/modules/goofsec/code/department_guards.dm b/modular_skyrat/modules/goofsec/code/department_guards.dm index 01639a7bd0c..de5b7ee4280 100644 --- a/modular_skyrat/modules/goofsec/code/department_guards.dm +++ b/modular_skyrat/modules/goofsec/code/department_guards.dm @@ -99,8 +99,8 @@ /obj/item/clothing/mask/whistle = 5, /obj/item/melee/baton/security/boomerang/loaded = 1 ) - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/orderly name = "Orderly" // You forgot your vaccine *flexes muscles* @@ -167,8 +167,7 @@ /obj/item/clothing/mask/whistle = 5, /obj/item/melee/baton/security/boomerang/loaded = 1 ) - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/science_guard name = "Science Guard" @@ -237,8 +236,7 @@ /obj/item/clothing/mask/whistle = 5, /obj/item/melee/baton/security/boomerang/loaded = 1 ) - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/bouncer name = "Bouncer" // That ID looks a little suspect, pal. You ain't on the list, beat it. @@ -311,8 +309,7 @@ /obj/item/clothing/mask/whistle = 5, /obj/item/melee/baton/security/boomerang/loaded = 1 ) - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/customs_agent name = "Customs Agent" @@ -379,8 +376,7 @@ /obj/item/clothing/mask/whistle = 5, /obj/item/melee/baton/security/boomerang/loaded = 1 ) - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/engineering_guard name = "Engineering Guard" diff --git a/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_representative.dm b/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_representative.dm index 42e569d3085..094dac30161 100644 --- a/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_representative.dm +++ b/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_representative.dm @@ -38,7 +38,6 @@ ) veteran_only = TRUE - job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS /datum/job/nanotrasen_representative/after_spawn(mob/living/H, mob/M, latejoin) diff --git a/modular_skyrat/modules/salon/code/barber.dm b/modular_skyrat/modules/salon/code/barber.dm index 57a82dd03c8..3d0b0c27df4 100644 --- a/modular_skyrat/modules/salon/code/barber.dm +++ b/modular_skyrat/modules/salon/code/barber.dm @@ -21,8 +21,7 @@ ) family_heirlooms = list(/obj/item/hairbrush/comb, /obj/item/razor) - job_type_flags = JOB_STATION_JOB - 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_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 /datum/outfit/job/barber diff --git a/modular_skyrat/modules/sec_haul/code/security_medic/security_medic.dm b/modular_skyrat/modules/sec_haul/code/security_medic/security_medic.dm index 901c07568a5..6fb7cad8676 100644 --- a/modular_skyrat/modules/sec_haul/code/security_medic/security_medic.dm +++ b/modular_skyrat/modules/sec_haul/code/security_medic/security_medic.dm @@ -42,8 +42,7 @@ /obj/item/reagent_containers/hypospray/medipen/survival/luxury = 5 ) rpg_title = "Battle Cleric" - job_type_flags = JOB_STATION_JOB - 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_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 /datum/job/security_medic/after_spawn(mob/living/carbon/human/H, mob/M) . = ..()