diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 2b2a20df8e9..49b7a85ebd8 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -45,3 +45,13 @@ #define JOB_DISPLAY_ORDER_DETECTIVE 33 #define JOB_DISPLAY_ORDER_SECURITY_OFFICER 34 #define JOB_DISPLAY_ORDER_PRISONER 35 + + +#define DEPARTMENT_SECURITY (1<<0) +#define DEPARTMENT_COMMAND (1<<1) +#define DEPARTMENT_SERVICE (1<<2) +#define DEPARTMENT_CARGO (1<<3) +#define DEPARTMENT_ENGINEERING (1<<4) +#define DEPARTMENT_SCIENCE (1<<5) +#define DEPARTMENT_MEDICAL (1<<6) +#define DEPARTMENT_SILICON (1<<7) diff --git a/code/__DEFINES/station.dm b/code/__DEFINES/station.dm index 1f22593ba3f..8feef00342d 100644 --- a/code/__DEFINES/station.dm +++ b/code/__DEFINES/station.dm @@ -1,3 +1,6 @@ #define STATION_TRAIT_POSITIVE 1 #define STATION_TRAIT_NEUTRAL 2 #define STATION_TRAIT_NEGATIVE 3 + + +#define STATION_TRAIT_ABSTRACT (1<<0) diff --git a/code/controllers/subsystem/processing/station.dm b/code/controllers/subsystem/processing/station.dm index efbc88f6ed0..82d9464f412 100644 --- a/code/controllers/subsystem/processing/station.dm +++ b/code/controllers/subsystem/processing/station.dm @@ -27,6 +27,8 @@ PROCESSING_SUBSYSTEM_DEF(station) /datum/controller/subsystem/processing/station/proc/SetupTraits() for(var/i in subtypesof(/datum/station_trait)) var/datum/station_trait/trait_typepath = i + if(initial(trait_typepath.trait_flags) & STATION_TRAIT_ABSTRACT) + continue //Dont add abstract ones to it selectable_traits_by_types[initial(trait_typepath.trait_type)][trait_typepath] = initial(trait_typepath.weight) var/positive_trait_count = pick(20;0, 5;1, 1;2) diff --git a/code/datums/station_traits/_station_trait.dm b/code/datums/station_traits/_station_trait.dm index 76fb3fa8ad4..f6621a00009 100644 --- a/code/datums/station_traits/_station_trait.dm +++ b/code/datums/station_traits/_station_trait.dm @@ -16,6 +16,8 @@ var/trait_to_give ///What traits are incompatible with this one? var/blacklist + ///Extra flags for station traits such as it being abstract + var/trait_flags /datum/station_trait/New() diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm index 2c7dcc1de64..9d9c0faa829 100644 --- a/code/datums/station_traits/positive_traits.dm +++ b/code/datums/station_traits/positive_traits.dm @@ -114,7 +114,7 @@ /datum/station_trait/quick_shuttle name = "Quick Shuttle" - trait_type = STATION_TRAIT_NEUTRAL + trait_type = STATION_TRAIT_POSITIVE weight = 5 show_in_report = TRUE report_message = "Due to proximity to our supply station, the cargo shuttle will have a quicker flight time to your cargo department/" @@ -123,3 +123,97 @@ /datum/station_trait/quick_shuttle/on_round_start() . = ..() SSshuttle.supply.callTime *= 0.5 + +/datum/station_trait/deathrattle_department + name = "deathrattled department" + trait_type = STATION_TRAIT_POSITIVE + show_in_report = TRUE + trait_flags = STATION_TRAIT_ABSTRACT + blacklist = list(/datum/station_trait/deathrattle_all) + + var/department_to_apply_to + var/department_name = "department" + var/datum/deathrattle_group/deathrattle_group + +/datum/station_trait/deathrattle_department/New() + . = ..() + deathrattle_group = new("[department_name] group") + blacklist += subtypesof(/datum/station_trait/deathrattle_department) - type //All but ourselves + name = "deathrattled [department_name]" + report_message = "All members of [department_name] have received an implant to notify each other if one of them dies. This should help improve job-safety!" + RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, .proc/on_job_after_spawn) + +/datum/station_trait/deathrattle_department/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/living_mob, mob/M, joined_late) + SIGNAL_HANDLER + + if(!(job.departments & department_to_apply_to)) + return + + var/obj/item/implant/deathrattle/implant_to_give = new() + deathrattle_group.register(implant_to_give) + implant_to_give.implant(living_mob, living_mob, TRUE, TRUE) + + +/datum/station_trait/deathrattle_department/service + trait_flags = NONE + weight = 1 + department_to_apply_to = DEPARTMENT_SERVICE + department_name = "Service" + +/datum/station_trait/deathrattle_department/cargo + trait_flags = NONE + weight = 1 + department_to_apply_to = DEPARTMENT_CARGO + department_name = "Cargo" + +/datum/station_trait/deathrattle_department/engineering + trait_flags = NONE + weight = 1 + department_to_apply_to = DEPARTMENT_ENGINEERING + department_name = "Engineering" + +/datum/station_trait/deathrattle_department/command + trait_flags = NONE + weight = 1 + department_to_apply_to = DEPARTMENT_COMMAND + department_name = "Command" + +/datum/station_trait/deathrattle_department/science + trait_flags = NONE + weight = 1 + department_to_apply_to = DEPARTMENT_SCIENCE + department_name = "Science" + +/datum/station_trait/deathrattle_department/security + trait_flags = NONE + weight = 1 + department_to_apply_to = DEPARTMENT_SECURITY + department_name = "Security" + +/datum/station_trait/deathrattle_department/medical + trait_flags = NONE + weight = 1 + department_to_apply_to = DEPARTMENT_MEDICAL + department_name = "Medical" + +/datum/station_trait/deathrattle_all + name = "deathrattled station" + trait_type = STATION_TRAIT_POSITIVE + show_in_report = TRUE + weight = 1 + report_message = "All members of the station have received an implant to notify each other if one of them dies. This should help improve job-safety!" + var/datum/deathrattle_group/deathrattle_group + + +/datum/station_trait/deathrattle_all/New() + . = ..() + deathrattle_group = new("station group") + blacklist = subtypesof(/datum/station_trait/deathrattle_department) + RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, .proc/on_job_after_spawn) + +/datum/station_trait/deathrattle_all/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/living_mob, mob/M, joined_late) + SIGNAL_HANDLER + + var/obj/item/implant/deathrattle/implant_to_give = new() + deathrattle_group.register(implant_to_give) + implant_to_give.implant(living_mob, living_mob, TRUE, TRUE) diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 3ac455146ec..ed919ac8649 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -68,6 +68,9 @@ var/bounty_types = CIV_JOB_BASIC + ///Bitfield of departments this job belongs wit + var/departments = NONE + /// Should this job be allowed to be picked for the bureaucratic error event? var/allow_bureaucratic_error = TRUE diff --git a/code/modules/jobs/job_types/ai.dm b/code/modules/jobs/job_types/ai.dm index 7b2b6990fcc..d80127df98d 100644 --- a/code/modules/jobs/job_types/ai.dm +++ b/code/modules/jobs/job_types/ai.dm @@ -13,6 +13,7 @@ exp_type_department = EXP_TYPE_SILICON display_order = JOB_DISPLAY_ORDER_AI allow_bureaucratic_error = FALSE + departments = DEPARTMENT_SILICON var/do_special_check = TRUE /datum/job/ai/equip(mob/living/carbon/human/H, visualsOnly, announce, latejoin, datum/outfit/outfit_override, client/preference_source = null) diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index aa0a99fde8e..5097a756552 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -13,6 +13,7 @@ Assistant outfit = /datum/outfit/job/assistant antag_rep = 7 paycheck = PAYCHECK_ASSISTANT // Get a job. Job reassignment changes your paycheck now. Get over it. + departments = DEPARTMENT_SERVICE liver_traits = list(TRAIT_GREYTIDE_METABOLISM) diff --git a/code/modules/jobs/job_types/atmospheric_technician.dm b/code/modules/jobs/job_types/atmospheric_technician.dm index 4102410e73e..f41358c0cd4 100644 --- a/code/modules/jobs/job_types/atmospheric_technician.dm +++ b/code/modules/jobs/job_types/atmospheric_technician.dm @@ -21,6 +21,7 @@ display_order = JOB_DISPLAY_ORDER_ATMOSPHERIC_TECHNICIAN bounty_types = CIV_JOB_ENG + departments = DEPARTMENT_ENGINEERING /datum/outfit/job/atmos name = "Atmospheric Technician" diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm index e74f54ff8d3..9ac6fce45ca 100644 --- a/code/modules/jobs/job_types/bartender.dm +++ b/code/modules/jobs/job_types/bartender.dm @@ -15,6 +15,7 @@ paycheck_department = ACCOUNT_SRV display_order = JOB_DISPLAY_ORDER_BARTENDER bounty_types = CIV_JOB_DRINK + departments = DEPARTMENT_SERVICE /datum/outfit/job/bartender name = "Bartender" diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm index 4e85538f34f..5ae2c63b6fb 100644 --- a/code/modules/jobs/job_types/botanist.dm +++ b/code/modules/jobs/job_types/botanist.dm @@ -15,6 +15,7 @@ paycheck_department = ACCOUNT_SRV display_order = JOB_DISPLAY_ORDER_BOTANIST bounty_types = CIV_JOB_GROW + departments = DEPARTMENT_SERVICE /datum/outfit/job/botanist name = "Botanist" diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index e48a23f0757..21fa555fbb3 100755 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -23,6 +23,7 @@ liver_traits = list(TRAIT_ROYAL_METABOLISM) display_order = JOB_DISPLAY_ORDER_CAPTAIN + departments = DEPARTMENT_COMMAND /datum/job/captain/get_access() return get_all_accesses() diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm index 4b1c0cd5372..fe3420953f8 100644 --- a/code/modules/jobs/job_types/cargo_technician.dm +++ b/code/modules/jobs/job_types/cargo_technician.dm @@ -15,6 +15,7 @@ paycheck_department = ACCOUNT_CAR display_order = JOB_DISPLAY_ORDER_CARGO_TECHNICIAN bounty_types = CIV_JOB_RANDOM + departments = DEPARTMENT_CARGO /datum/outfit/job/cargo_tech name = "Cargo Technician" diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm index e7ae010b185..613d38ef8de 100644 --- a/code/modules/jobs/job_types/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain.dm @@ -15,6 +15,7 @@ paycheck_department = ACCOUNT_SRV display_order = JOB_DISPLAY_ORDER_CHAPLAIN + departments = DEPARTMENT_SERVICE /datum/job/chaplain/after_spawn(mob/living/H, mob/M) diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm index e71e93c1cc5..758877f1756 100644 --- a/code/modules/jobs/job_types/chemist.dm +++ b/code/modules/jobs/job_types/chemist.dm @@ -20,6 +20,7 @@ display_order = JOB_DISPLAY_ORDER_CHEMIST bounty_types = CIV_JOB_CHEM + departments = DEPARTMENT_MEDICAL /datum/outfit/job/chemist name = "Chemist" diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm index af3c93ef5e1..4eae471579e 100644 --- a/code/modules/jobs/job_types/chief_engineer.dm +++ b/code/modules/jobs/job_types/chief_engineer.dm @@ -15,6 +15,7 @@ exp_type_department = EXP_TYPE_ENGINEERING outfit = /datum/outfit/job/ce + departments = DEPARTMENT_ENGINEERING | DEPARTMENT_COMMAND access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ATMOSPHERICS, ACCESS_EVA, ACCESS_AUX_BASE, diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index 4731409f751..d4f7af74494 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -15,6 +15,7 @@ exp_type_department = EXP_TYPE_MEDICAL outfit = /datum/outfit/job/cmo + departments = DEPARTMENT_MEDICAL | DEPARTMENT_COMMAND access = list(ACCESS_MEDICAL, ACCESS_PSYCHOLOGY, ACCESS_MORGUE, ACCESS_PHARMACY, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE, ACCESS_MECH_MEDICAL, diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index ebc1343728a..7382d5864e2 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -17,6 +17,7 @@ liver_traits = list(TRAIT_COMEDY_METABOLISM) display_order = JOB_DISPLAY_ORDER_CLOWN + departments = DEPARTMENT_SERVICE /datum/job/clown/after_spawn(mob/living/carbon/human/H, mob/M) diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm index a73db81fdc0..cd39a3d43e4 100644 --- a/code/modules/jobs/job_types/cook.dm +++ b/code/modules/jobs/job_types/cook.dm @@ -19,6 +19,7 @@ display_order = JOB_DISPLAY_ORDER_COOK bounty_types = CIV_JOB_CHEF + departments = DEPARTMENT_SERVICE /datum/outfit/job/cook name = "Cook" diff --git a/code/modules/jobs/job_types/curator.dm b/code/modules/jobs/job_types/curator.dm index 461128e390e..8f4834e0c28 100644 --- a/code/modules/jobs/job_types/curator.dm +++ b/code/modules/jobs/job_types/curator.dm @@ -15,6 +15,7 @@ paycheck_department = ACCOUNT_SRV display_order = JOB_DISPLAY_ORDER_CURATOR + departments = DEPARTMENT_SERVICE /datum/outfit/job/curator name = "Curator" diff --git a/code/modules/jobs/job_types/cyborg.dm b/code/modules/jobs/job_types/cyborg.dm index 36c620ee458..14f9798655e 100644 --- a/code/modules/jobs/job_types/cyborg.dm +++ b/code/modules/jobs/job_types/cyborg.dm @@ -11,6 +11,7 @@ exp_type = EXP_TYPE_CREW display_order = JOB_DISPLAY_ORDER_CYBORG + departments = DEPARTMENT_SILICON /datum/job/cyborg/equip(mob/living/carbon/human/H, visualsOnly = FALSE, announce = TRUE, latejoin = FALSE, datum/outfit/outfit_override = null, client/preference_source = null) if(visualsOnly) diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm index 9808d091cb9..449a9c97a38 100644 --- a/code/modules/jobs/job_types/detective.dm +++ b/code/modules/jobs/job_types/detective.dm @@ -12,6 +12,7 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/detective + departments = DEPARTMENT_SECURITY access = list(ACCESS_SEC_DOORS, ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS, ACCESS_MECH_SECURITY, ACCESS_COURT, ACCESS_BRIG, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_SEC_DOORS, ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS, ACCESS_MECH_SECURITY, ACCESS_COURT, ACCESS_BRIG, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm index df65ec805eb..acf84f77b03 100644 --- a/code/modules/jobs/job_types/geneticist.dm +++ b/code/modules/jobs/job_types/geneticist.dm @@ -10,6 +10,7 @@ exp_requirements = 60 outfit = /datum/outfit/job/geneticist + departments = DEPARTMENT_MEDICAL access = list(ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_MECH_SCIENCE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_ROBOTICS, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE, ACCESS_RND) minimal_access = list(ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_MECH_SCIENCE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM, ACCESS_RND) diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm index 33e4071fd8a..002e932e739 100644 --- a/code/modules/jobs/job_types/head_of_personnel.dm +++ b/code/modules/jobs/job_types/head_of_personnel.dm @@ -15,6 +15,7 @@ exp_type_department = EXP_TYPE_SERVICE outfit = /datum/outfit/job/hop + departments = DEPARTMENT_COMMAND | DEPARTMENT_SERVICE access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_MEDICAL, ACCESS_PSYCHOLOGY, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_EVA, ACCESS_HEADS, diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index d399578b204..b5fdd8bee17 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -15,6 +15,7 @@ exp_type_department = EXP_TYPE_SECURITY outfit = /datum/outfit/job/hos + departments = DEPARTMENT_SECURITY | DEPARTMENT_COMMAND mind_traits = list(TRAIT_DONUT_LOVER) liver_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM, TRAIT_ROYAL_METABOLISM) diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm index 8b0fc510f87..bfb108eab53 100644 --- a/code/modules/jobs/job_types/janitor.dm +++ b/code/modules/jobs/job_types/janitor.dm @@ -15,6 +15,7 @@ paycheck_department = ACCOUNT_SRV display_order = JOB_DISPLAY_ORDER_JANITOR + departments = DEPARTMENT_SERVICE /datum/outfit/job/janitor name = "Janitor" diff --git a/code/modules/jobs/job_types/lawyer.dm b/code/modules/jobs/job_types/lawyer.dm index edf1f0e360b..a4dfbfcd3a4 100644 --- a/code/modules/jobs/job_types/lawyer.dm +++ b/code/modules/jobs/job_types/lawyer.dm @@ -19,6 +19,7 @@ liver_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM) display_order = JOB_DISPLAY_ORDER_LAWYER + departments = DEPARTMENT_SERVICE /datum/outfit/job/lawyer name = "Lawyer" diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index cf7534b12ad..ce74e3aa463 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -18,6 +18,7 @@ display_order = JOB_DISPLAY_ORDER_MEDICAL_DOCTOR bounty_types = CIV_JOB_MED + departments = DEPARTMENT_MEDICAL /datum/outfit/job/doctor name = "Medical Doctor" diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index aa6fe3c8717..e6b7dd647de 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -15,6 +15,7 @@ paycheck_department = ACCOUNT_SRV display_order = JOB_DISPLAY_ORDER_MIME + departments = DEPARTMENT_SERVICE /datum/job/mime/after_spawn(mob/living/carbon/human/H, mob/M) H.apply_pref_name("mime", M.client) diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm index b92b9a4a603..96dfaf37d1e 100644 --- a/code/modules/jobs/job_types/paramedic.dm +++ b/code/modules/jobs/job_types/paramedic.dm @@ -20,6 +20,7 @@ display_order = JOB_DISPLAY_ORDER_PARAMEDIC bounty_types = CIV_JOB_MED + departments = DEPARTMENT_MEDICAL /datum/outfit/job/paramedic name = "Paramedic" diff --git a/code/modules/jobs/job_types/psychologist.dm b/code/modules/jobs/job_types/psychologist.dm index 507842a65d5..5a117db8a1f 100644 --- a/code/modules/jobs/job_types/psychologist.dm +++ b/code/modules/jobs/job_types/psychologist.dm @@ -17,6 +17,7 @@ liver_traits = list(TRAIT_MEDICAL_METABOLISM) display_order = JOB_DISPLAY_ORDER_PSYCHOLOGIST + departments = DEPARTMENT_SERVICE /datum/outfit/job/psychologist name = "Psychologist" diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm index 93489b29b20..3a0ef3d216d 100644 --- a/code/modules/jobs/job_types/quartermaster.dm +++ b/code/modules/jobs/job_types/quartermaster.dm @@ -19,6 +19,7 @@ display_order = JOB_DISPLAY_ORDER_QUARTERMASTER bounty_types = CIV_JOB_RANDOM + departments = DEPARTMENT_CARGO /datum/outfit/job/quartermaster name = "Quartermaster" diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm index ccdba98089a..047f801e1ad 100644 --- a/code/modules/jobs/job_types/research_director.dm +++ b/code/modules/jobs/job_types/research_director.dm @@ -15,6 +15,7 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/rd + departments = DEPARTMENT_SCIENCE | DEPARTMENT_COMMAND access = list(ACCESS_RD, ACCESS_HEADS, ACCESS_RND, ACCESS_GENETICS, ACCESS_MORGUE, ACCESS_TOXINS, ACCESS_TELEPORTER, ACCESS_SEC_DOORS, ACCESS_MECH_SCIENCE, diff --git a/code/modules/jobs/job_types/roboticist.dm b/code/modules/jobs/job_types/roboticist.dm index 9f8aa609485..6974d560a24 100644 --- a/code/modules/jobs/job_types/roboticist.dm +++ b/code/modules/jobs/job_types/roboticist.dm @@ -11,6 +11,7 @@ bounty_types = CIV_JOB_ROBO outfit = /datum/outfit/job/roboticist + departments = DEPARTMENT_SCIENCE access = list(ACCESS_ROBOTICS, ACCESS_RND, ACCESS_TOXINS, ACCESS_TOXINS_STORAGE, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_MECH_SCIENCE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM, ACCESS_XENOBIOLOGY, ACCESS_GENETICS, ACCESS_AUX_BASE) diff --git a/code/modules/jobs/job_types/scientist.dm b/code/modules/jobs/job_types/scientist.dm index 7fe734629ad..de1eb4e3bfa 100644 --- a/code/modules/jobs/job_types/scientist.dm +++ b/code/modules/jobs/job_types/scientist.dm @@ -21,6 +21,7 @@ display_order = JOB_DISPLAY_ORDER_SCIENTIST bounty_types = CIV_JOB_SCI + departments = DEPARTMENT_SCIENCE /datum/outfit/job/scientist name = "Scientist" diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index f079fd13022..9372b6f25ad 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -23,6 +23,7 @@ display_order = JOB_DISPLAY_ORDER_SECURITY_OFFICER bounty_types = CIV_JOB_SEC + departments = DEPARTMENT_SECURITY /datum/job/officer/get_access() var/list/L = list() diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm index d3fbd3628d0..66072891370 100644 --- a/code/modules/jobs/job_types/shaft_miner.dm +++ b/code/modules/jobs/job_types/shaft_miner.dm @@ -16,6 +16,7 @@ display_order = JOB_DISPLAY_ORDER_SHAFT_MINER bounty_types = CIV_JOB_MINE + departments = DEPARTMENT_CARGO /datum/outfit/job/miner name = "Shaft Miner" diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm index 736474a7bf4..390861d6343 100644 --- a/code/modules/jobs/job_types/station_engineer.dm +++ b/code/modules/jobs/job_types/station_engineer.dm @@ -22,6 +22,7 @@ display_order = JOB_DISPLAY_ORDER_STATION_ENGINEER bounty_types = CIV_JOB_ENG + departments = DEPARTMENT_ENGINEERING /datum/outfit/job/engineer name = "Station Engineer" diff --git a/code/modules/jobs/job_types/virologist.dm b/code/modules/jobs/job_types/virologist.dm index 8b919d0cfa7..926735e3083 100644 --- a/code/modules/jobs/job_types/virologist.dm +++ b/code/modules/jobs/job_types/virologist.dm @@ -20,6 +20,7 @@ display_order = JOB_DISPLAY_ORDER_VIROLOGIST bounty_types = CIV_JOB_VIRO + departments = DEPARTMENT_MEDICAL /datum/outfit/job/virologist name = "Virologist" diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index 3c33ff0629f..175807bde86 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -23,6 +23,7 @@ display_order = JOB_DISPLAY_ORDER_WARDEN bounty_types = CIV_JOB_SEC + departments = DEPARTMENT_SECURITY /datum/job/warden/get_access() var/list/L = list()